Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support differential updates for outscale_load_balancer_vms #54

Closed
outscale-age opened this issue Jan 21, 2022 · 1 comment · Fixed by #345 · May be fixed by #55
Closed

Support differential updates for outscale_load_balancer_vms #54

outscale-age opened this issue Jan 21, 2022 · 1 comment · Fixed by #345 · May be fixed by #55
Assignees
Labels
enhancement New feature or request
Milestone

Comments

@outscale-age
Copy link

Current Terraform Version

Terraform 1.0.4 / Plugin 0.5.1

Use-cases

In resource outscale_load_balancer_vms, backend_vm_ids is a List. When there are changes to this list, there is a replacement of the resource, which trigger the Deregister of all backends, and then the register of all backends. This can disrupt the service in entirety when adding just one host.

Furthermore, because it's a list of VM IDs, the ID is not known before the VM is created, so there is a certain time between De-register and re-registering for backends that were there before.

Attempted Solutions

Creating one attachment resource by VM is tricky, because you have to map each attachment to a VM, and you cannot use the instance id in the for_each label.

Proposal

Add a differential update feature for the outscale_load_balancer_vms ressource, that works by reading the existing backends, filtering them with the "expected" backends, and then calculating a differential update (Register new backends, Deregister old backends), avoiding changes for backends that did not move, or backends that are not managed by this resource.

References

None known

@outscale-toa
Copy link
Member

Hello @outscale-age ,

Thanks for reaching us, we are looking at your issue

Best regards,

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment