Thanks James. All the instances terminated are due to being marked *Unhealthy* by terminate_batch().
I am using the changes from this PR: https://github.com/ansible/ansible-modules-core/pull/589, combined with the fixes in PR 601. Rationale: I need `lc_check=no` to cause all instances to get replaced. With the current way it is written in the module lc_check only works if the active if an instance has a different Launch Config than the one assigned to the ASG. Upon further consideration, I should add a new option instead of overloading the meaning of lc_check. On Wednesday, March 25, 2015 at 8:02:12 AM UTC-7, James Martin wrote: > > Looking forward to the github issue -- make sure you take a look at the > autoscale group and the ELB in the AWS console and see if it gives a > description why the instances were terminated. I've seen cases where > things did not come online fast enough and the ELB marks them as unhealthy > and the ASG terminates them. > > Thanks, > > James > > On Wednesday, March 25, 2015 at 9:36:17 AM UTC-4, [email protected] > wrote: >> >> For Ansible 1.9-develop Pull request 601 >> <https://github.com/ansible/ansible-modules-core/pull/601> had the fix >> for Issue 383, which does affect our production ASG about every two weeks >> or so. We use the ec2_asg module to refresh our ASG instances 3 times a >> day. >> >> I was eager to test. In doing so, I noticed that the >> replace_all_instances or replace_instances options cause extra set of >> scaling events. Has anyone else who uses either replace_ option see this >> happen? See below for the screen shot which demonstrates the behavior. >> >> We have one instance in two different Availability Zones. So we use a >> batch size of two (actually a formula based upon the length of the >> availability_zones list of the ASG). >> >> Interesting... I just tested with batch_size: 1. The extra set of >> scaling events was 1. I.e. one new instance launched and one new instance >> terminated. >> >> The batch_size logic is broken. I am going open an Issue in >> *ansible-modules-core*, but welcome others to note their experience >> here. I'll update this topic with a link to the Issue, too. >> >> - name: Retrieve Auto Scaling Group properties >> local_action: >> module: ec2_asg >> name: "{{ asg_name }}" >> state: present >> health_check_type: ELB >> register: result_asg >> >> - name: Auto Scaling Group properties >> debug: var=result_asg >> >> - name: Replace current instances with fresh instances >> local_action: >> module: ec2_asg >> name: "{{ asg_name }}" >> state: present >> min_size: "{{ result_asg.min_size }}" >> max_size: "{{ result_asg.max_size }}" >> desired_capacity: "{{ result_asg.desired_capacity }}" >> health_check_type: "{{ result_asg.health_check_type }}" >> lc_check: no >> replace_all_instances: yes >> replace_batch_size: "{{ result_asg.availability_zones | length() >> }}" >> >> >> >> >> >> 1. and 2. are expected. a. - d. are extra scaling events. >> >> >> <https://lh3.googleusercontent.com/-1bvOCHDYhjU/VRK3Bkz1O-I/AAAAAAAAACs/RCDKklA7Hkc/s1600/EC2_Management_Console.jpg> >> > -- 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/dd1ae654-b895-4f10-82bb-fba365b02aef%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
