Cool. Do you have the whole process automated with Ansible?

On Mar 10, 2014, at 04:26 , Scott Anderson <[email protected]> wrote:

> We're going to use a different means of updating our instances:
> 
> 1) Update the application AMI offline
> 2) Change the autoscaler to use the new AMI
> 3) Gracefully down and kill the old AMI instances in the ELB
> 4) The ELB will start up new AMI instances as the old ones die
> 5) Profit!
> 
> -scott
> 
> On Mar 9, 2014, at 11:55 PM, C. S. <[email protected]> wrote:
> 
>> We've had issues with this module too (1.4.x)...
>> 
>> The main issue being that it de-registeres the instance from the ELB and 
>> doesn't store which ELB is removed it from anywhere. So if there is a 
>> failure before the re-register, you have to manually add it back to the ELB 
>> pool (and it breaks autoscale in the mean time). I wonder if the module 
>> should update an EC2 tag on the instance first, so it knows how to put it 
>> back on subsequent runs if it couldn't re-register it in a previous run.
>> 
>> Our workaround was to de-register and immediately re-register the instance 
>> with the ELB so that just the healthcheck gets reset while we update an 
>> instance's app. Additionally we had add retries to the module, since we 
>> occasionally will get throttled by the AWS APIs.
>> 
>> Here is the algorithm that AWS recommends for their APIs:
>> http://docs.aws.amazon.com/general/latest/gr/api-retries.html
>> 
>> On Feb 20, 2014, at 10:18 , Alexander Popov <[email protected]> 
>> wrote:
>> 
>>> I observed similar issue with ec2_group and ec2_vpc (while creating 
>>> subnets, route tables, associations, etc.) 
>>> 
>>> On Friday, February 14, 2014 12:35:27 PM UTC-5, Scott Anderson wrote:
>>> Are there other modules that behave in this fashion as well?
>>> 
>>> If so a generic retry loop that takes a callable for checking state might 
>>> be useful as a bit of refactoring.
>>> 
>>> -scott
>>> 
>>> On Thursday, February 13, 2014 4:26:12 PM UTC-5, Bruce Pennypacker wrote:
>>> while not timeout_exceeded:
>>>     get_instance_state
>>>     if InService:
>>>       return success;
>>>     else if instance_error AND timeout_exceeded:
>>>       return error;
>>>     sleep 1
>>> 
>>> return timeout
>>> 
>>> Any comments/suggestions about this, especially from other folks using the 
>>> ec2_elb module?
>>> 
>>> -Bruce
>>> 
>>> 
>>> 
>>> -- 
>>> You received this message because you are subscribed to the Google Groups 
>>> "Ansible Project" group.
>>> To unsubscribe from this group and stop receiving emails from it, send an 
>>> email to [email protected].
>>> To post to this group, send email to [email protected].
>>> For more options, visit https://groups.google.com/groups/opt_out.
>> 
>> 
>> -- 
>> You received this message because you are subscribed to a topic in the 
>> Google Groups "Ansible Project" group.
>> To unsubscribe from this topic, visit 
>> https://groups.google.com/d/topic/ansible-project/qG9Thrx100A/unsubscribe.
>> To unsubscribe from this group and all its topics, send an email to 
>> [email protected].
>> To post to this group, send email to [email protected].
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/ansible-project/417B2C4B-A192-4BE2-8EDC-47AF986AABEC%40yahoo.com.
>> For more options, visit https://groups.google.com/d/optout.
> 
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Ansible Project" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected].
> To post to this group, send email to [email protected].
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/ansible-project/4B57EFC7-46ED-4CD2-9F02-2D11166FABF7%40gmail.com.
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/90D49F8D-F169-4D7A-9993-F7C06AAB2170%40yahoo.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to