Commit 2be8feeb by Bruce Pennypacker

Changed behavior of deregister. If an instance is not found in the ELB then…

Changed behavior of deregister.  If an instance is not found in the ELB then simply return 'changed=false'.  Otherwise always remove the instance from the ELB no matter what state its currently in.
parent 632eb183
......@@ -129,18 +129,20 @@ class ElbManager:
for lb in self.lbs:
initial_state = self._get_instance_health(lb) if wait else None
if initial_state and initial_state.state == 'InService':
lb.deregister_instances([self.instance_id])
else:
if initial_state is None:
# The instance isn't registered with this ELB so just
# return unchanged
return
lb.deregister_instances([self.instance_id])
# The ELB is changing state in some way. Either an instance that's
# InService is moving to OutOfService, or an instance that's
# already OutOfService is being deregistered.
self.changed = True
if wait:
self._await_elb_instance_state(lb, 'OutOfService', initial_state, timeout)
else:
# We cannot assume no change was made if we don't wait
# to find out
self.changed = True
def register(self, wait, enable_availability_zone, timeout):
"""Register the instance for all ELBs and wait for the ELB
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment