fix golint check error.
This commit is contained in:
parent
7e046f51db
commit
7f01bb1abd
|
@ -10,23 +10,36 @@ import (
|
|||
)
|
||||
|
||||
const (
|
||||
// Instance status pending
|
||||
InstanceStatusPending = "pending"
|
||||
// Instance status running
|
||||
InstanceStatusRunning = "running"
|
||||
// Instance status stopped
|
||||
InstanceStatusStopped = "stopped"
|
||||
// Instance status suspended
|
||||
InstanceStatusSuspended = "suspended"
|
||||
// Instance status terminated
|
||||
InstanceStatusTerminated = "terminated"
|
||||
// Instance Status ceased
|
||||
InstanceStatusCeased = "ceased"
|
||||
|
||||
// LoadBalancer status pending
|
||||
LoadBalancerStatusPending = "pending"
|
||||
// LoadBalancer status active
|
||||
LoadBalancerStatusActive = "active"
|
||||
// LoadBalancer status stopped
|
||||
LoadBalancerStatusStopped = "stopped"
|
||||
// LoadBalancer status suspended
|
||||
LoadBalancerStatusSuspended = "suspended"
|
||||
// LoadBalancer status deleted
|
||||
LoadBalancerStatusDeleted = "deleted"
|
||||
// LoadBalancer status ceased
|
||||
LoadBalancerStatusCeased = "ceased"
|
||||
|
||||
defaultOpTimeout = 180*time.Second
|
||||
)
|
||||
|
||||
// QingCloud IaaS Advanced Client
|
||||
type QingCloudClient interface {
|
||||
RunInstance(arg *service.RunInstancesInput) (*service.Instance, error)
|
||||
DescribeInstance(instanceID string) (*service.Instance, error)
|
||||
|
@ -37,6 +50,7 @@ type QingCloudClient interface {
|
|||
WaitInstanceStatus(instanceID string, status string) (*service.Instance, error)
|
||||
}
|
||||
|
||||
// NewClient return a new QingCloudClient
|
||||
func NewClient(config *config.Config, zone string) (QingCloudClient, error) {
|
||||
qcService, err := service.Init(config)
|
||||
if err != nil {
|
||||
|
@ -68,6 +82,7 @@ type client struct {
|
|||
zone string
|
||||
}
|
||||
|
||||
// RunInstance
|
||||
func (c *client) RunInstance(input *service.RunInstancesInput) (*service.Instance, error) {
|
||||
|
||||
output, err := c.InstanceService.RunInstances(input)
|
||||
|
@ -75,7 +90,7 @@ func (c *client) RunInstance(input *service.RunInstancesInput) (*service.Instanc
|
|||
return nil, err
|
||||
}
|
||||
if len(output.Instances) == 0 {
|
||||
return nil, errors.New("Create instance response error.")
|
||||
return nil, errors.New("Create instance response error")
|
||||
}
|
||||
jobID := output.JobID
|
||||
jobErr := c.waitJob(*jobID)
|
||||
|
@ -94,6 +109,7 @@ func (c *client) RunInstance(input *service.RunInstancesInput) (*service.Instanc
|
|||
return ins, nil
|
||||
}
|
||||
|
||||
// DescribeInstance
|
||||
func (c *client) DescribeInstance(instanceID string) (*service.Instance, error) {
|
||||
input := &service.DescribeInstancesInput{Instances: []*string{&instanceID}}
|
||||
output, err := c.InstanceService.DescribeInstances(input)
|
||||
|
@ -101,11 +117,12 @@ func (c *client) DescribeInstance(instanceID string) (*service.Instance, error)
|
|||
return nil, err
|
||||
}
|
||||
if len(output.InstanceSet) == 0 {
|
||||
return nil, fmt.Errorf("Instance with id [%s] not exist.", instanceID)
|
||||
return nil, fmt.Errorf("Instance with id [%s] not exist", instanceID)
|
||||
}
|
||||
return output.InstanceSet[0], nil
|
||||
}
|
||||
|
||||
// StartInstance
|
||||
func (c *client) StartInstance(instanceID string) error {
|
||||
input := &service.StartInstancesInput{Instances: []*string{&instanceID}}
|
||||
output, err := c.InstanceService.StartInstances(input)
|
||||
|
@ -121,6 +138,7 @@ func (c *client) StartInstance(instanceID string) error {
|
|||
return err
|
||||
}
|
||||
|
||||
// StopInstance
|
||||
func (c *client) StopInstance(instanceID string, force bool) error {
|
||||
var forceParam int
|
||||
if force {
|
||||
|
@ -142,6 +160,7 @@ func (c *client) StopInstance(instanceID string, force bool) error {
|
|||
return err
|
||||
}
|
||||
|
||||
// RestartInstance
|
||||
func (c *client) RestartInstance(instanceID string) error {
|
||||
input := &service.RestartInstancesInput{Instances: []*string{&instanceID}}
|
||||
output, err := c.InstanceService.RestartInstances(input)
|
||||
|
@ -157,6 +176,7 @@ func (c *client) RestartInstance(instanceID string) error {
|
|||
return err
|
||||
}
|
||||
|
||||
// TerminateInstance
|
||||
func (c *client) TerminateInstance(instanceID string) error {
|
||||
input := &service.TerminateInstancesInput{Instances: []*string{&instanceID}}
|
||||
output, err := c.InstanceService.TerminateInstances(input)
|
||||
|
@ -176,6 +196,7 @@ func (c *client) waitJob(jobID string) error {
|
|||
return WaitJob(c.JobService, jobID, c.OperationTimeout, c.WaitInterval)
|
||||
}
|
||||
|
||||
// WaitInstanceStatus
|
||||
func (c *client) WaitInstanceStatus(instanceID string, status string) (*service.Instance, error) {
|
||||
return WaitInstanceStatus(c.InstanceService, instanceID, status, c.OperationTimeout, c.WaitInterval)
|
||||
}
|
||||
|
|
|
@ -8,6 +8,7 @@ import (
|
|||
"github.com/yunify/qingcloud-sdk-go/utils"
|
||||
)
|
||||
|
||||
// WaitJob wait the job with this jobID finish
|
||||
func WaitJob(jobService *service.JobService, jobID string, timeout time.Duration, waitInterval time.Duration) error {
|
||||
logger.Debug("Waiting for Job [%s] finished", jobID)
|
||||
return utils.WaitForSpecificOrError(func() (bool, error) {
|
||||
|
@ -45,11 +46,12 @@ func describeInstance(instanceService *service.InstanceService, instanceID strin
|
|||
return nil, err
|
||||
}
|
||||
if len(output.InstanceSet) == 0 {
|
||||
return nil, fmt.Errorf("Instance with id [%s] not exist.", instanceID)
|
||||
return nil, fmt.Errorf("Instance with id [%s] not exist", instanceID)
|
||||
}
|
||||
return output.InstanceSet[0], nil
|
||||
}
|
||||
|
||||
// WaitInstanceStatus wait the instance with this instanceID to expect status
|
||||
func WaitInstanceStatus(instanceService *service.InstanceService, instanceID string, status string, timeout time.Duration, waitInterval time.Duration) (ins *service.Instance, err error) {
|
||||
logger.Debug("Waiting for Instance [%s] status [%s] ", instanceID, status)
|
||||
errorTimes := 0
|
||||
|
@ -57,12 +59,11 @@ func WaitInstanceStatus(instanceService *service.InstanceService, instanceID str
|
|||
i, err := describeInstance(instanceService, instanceID)
|
||||
if err != nil {
|
||||
logger.Error("DescribeInstance [%s] error : [%s]", instanceID, err.Error())
|
||||
errorTimes += 1
|
||||
errorTimes ++
|
||||
if errorTimes > 3 {
|
||||
return false, err
|
||||
} else {
|
||||
return false, nil
|
||||
}
|
||||
return false, nil
|
||||
}
|
||||
if i.Status != nil && *i.Status == status {
|
||||
if i.TransitionStatus != nil && *i.TransitionStatus != "" {
|
||||
|
@ -78,6 +79,7 @@ func WaitInstanceStatus(instanceService *service.InstanceService, instanceID str
|
|||
return
|
||||
}
|
||||
|
||||
// WaitInstanceNetwork wait the instance with this instanceID network become ready
|
||||
func WaitInstanceNetwork(instanceService *service.InstanceService, instanceID string, timeout time.Duration, waitInterval time.Duration) (ins *service.Instance, err error) {
|
||||
logger.Debug("Waiting for IP address to be assigned to Instance [%s]", instanceID)
|
||||
err = utils.WaitForSpecificOrError(func() (bool, error) {
|
||||
|
@ -109,6 +111,7 @@ func describeLoadBalancer(lbService *service.LoadBalancerService, loadBalancerID
|
|||
return output.LoadBalancerSet[0], nil
|
||||
}
|
||||
|
||||
// WaitLoadBalancerStatus wait the loadBalancer with this loadBalancerID to expect status
|
||||
func WaitLoadBalancerStatus(lbService *service.LoadBalancerService, loadBalancerID string, status string, timeout time.Duration, waitInterval time.Duration) (lb *service.LoadBalancer, err error) {
|
||||
logger.Debug("Waiting for LoadBalancer [%s] status [%s] ", loadBalancerID, status)
|
||||
errorTimes := 0
|
||||
|
@ -116,12 +119,11 @@ func WaitLoadBalancerStatus(lbService *service.LoadBalancerService, loadBalancer
|
|||
i, err := describeLoadBalancer(lbService, loadBalancerID)
|
||||
if err != nil {
|
||||
logger.Error("DescribeLoadBalancer [%s] error : [%s]", loadBalancerID, err.Error())
|
||||
errorTimes += 1
|
||||
errorTimes ++
|
||||
if errorTimes > 3 {
|
||||
return false, err
|
||||
} else {
|
||||
return false, nil
|
||||
}
|
||||
return false, nil
|
||||
}
|
||||
if i.Status != nil && *i.Status == status {
|
||||
if i.TransitionStatus != nil && *i.TransitionStatus != "" {
|
||||
|
|
|
@ -5,6 +5,7 @@ import (
|
|||
"time"
|
||||
)
|
||||
|
||||
// WaitForSpecificOrError wait a function return true or error.
|
||||
func WaitForSpecificOrError(f func() (bool, error), timeout time.Duration, waitInterval time.Duration) error {
|
||||
ticker := time.NewTicker(waitInterval)
|
||||
defer ticker.Stop()
|
||||
|
@ -27,12 +28,14 @@ func WaitForSpecificOrError(f func() (bool, error), timeout time.Duration, waitI
|
|||
}
|
||||
}
|
||||
|
||||
// WaitForSpecific wait a function return true.
|
||||
func WaitForSpecific(f func() bool, timeout time.Duration, waitInterval time.Duration) error {
|
||||
return WaitForSpecificOrError(func() (bool, error) {
|
||||
return f(), nil
|
||||
}, timeout, waitInterval)
|
||||
}
|
||||
|
||||
// WaitFor wait a function return true.
|
||||
func WaitFor(f func() bool) error {
|
||||
return WaitForSpecific(f, 180*time.Second, 3*time.Second)
|
||||
}
|
||||
|
|
|
@ -13,7 +13,7 @@ func TestWaitForSpecificOrError(t *testing.T){
|
|||
timeout := 1000*time.Millisecond
|
||||
times := 0
|
||||
err := WaitForSpecificOrError(func() (bool, error) {
|
||||
times += 1
|
||||
times ++
|
||||
println("times", times)
|
||||
if times == 3 {
|
||||
return true, nil
|
||||
|
@ -25,7 +25,7 @@ func TestWaitForSpecificOrError(t *testing.T){
|
|||
|
||||
times = 0
|
||||
err = WaitForSpecificOrError(func() (bool, error) {
|
||||
times += 1
|
||||
times ++
|
||||
println("times", times)
|
||||
if times == 3 {
|
||||
return false, errors.New("error")
|
||||
|
@ -37,7 +37,7 @@ func TestWaitForSpecificOrError(t *testing.T){
|
|||
|
||||
times = 0
|
||||
err = WaitForSpecificOrError(func() (bool, error) {
|
||||
times += 1
|
||||
times ++
|
||||
println("times", times)
|
||||
return false, nil
|
||||
}, timeout, waitInterval)
|
||||
|
|
Loading…
Reference in New Issue