diff --git a/pool-agent/.gitignore b/pool-agent/.gitignore new file mode 100644 index 0000000..a01d5b7 --- /dev/null +++ b/pool-agent/.gitignore @@ -0,0 +1 @@ +pool-agent diff --git a/pool-agent/cmd/agent.go b/pool-agent/cmd/agent.go index efb3939..28fddde 100644 --- a/pool-agent/cmd/agent.go +++ b/pool-agent/cmd/agent.go @@ -264,7 +264,11 @@ func (a *Agent) deleteInstance(i api.Instance) error { } a.deletingInstances[i.Name] = struct{}{} defer delete(a.deletingInstances, i.Name) - stopOp, err := a.Client.UpdateInstanceState(i.Name, api.InstanceStatePut{Action: "stop", Timeout: -1, Force: true}, "") + _, etag, err := a.Client.GetInstance(i.Name) + if err != nil { + return fmt.Errorf("get instance %q: %w", i.Name, err) + } + stopOp, err := a.Client.UpdateInstanceState(i.Name, api.InstanceStatePut{Action: "stop", Timeout: -1, Force: true}, etag) if err != nil { return fmt.Errorf("failed to stop instance %q: %+v", i.Name, err) }