Has anyone made any further progress on this yet?

On Monday, March 23, 2015 at 4:41:24 PM UTC-7, Steven Truong wrote:
>
> Thanks for the tips.  I tried this and this worked but to only some 
> extents.  
>
> What do I meant by that and here are the steps that you can repeat to see 
> the potential issue of this ec2_group module.
>
> 1. I started out with a vars yml file that has about 9 different IP 
> addresses/32
>
> ---
> aws_vpc_id: vpc-...
> aws_secret_key: zUxxx....xxx
> aws_access_key: Axx....xxx
> sg_group_name_ssh: ext-ssh-prod
>
> allowed_ssh_hosts:
>  - 
>  - 
>  - 
>  - 
>  - 
>  - 
>  - 
>  -
>  - 
>
> 2. Created the modules tasks/main.yml
> - name: generate rules
> template: src=security_rules.j2 dest={{ ansible_path 
> }}/roles/aws_sg_ext_ssh/vars/ext_ssh_prod.rules
>   when: aws_vpc_id == 'vpc-....'
>
> - name: load vars
> include_vars: ext_ssh_prod.rules
>   when: aws_vpc_id == 'vpc-.......'
>
> - name: ssh access rules
> ec2_group:
> name: "{{ sg_group_name_ssh | mandatory }}"
> description: Allow ssh access from outside of AWS
> vpc_id: "{{ aws_vpc_id | mandatory }}"
> region: us-east-1
> aws_secret_key: "{{ aws_secret_key | mandatory }}"
> aws_access_key: "{{ aws_access_key | mandatory }}"
> purge_rules: true
> rules: "{{ ext_ssh_prod_rules }}"
>   when: aws_vpc_id == 'vpc-.....'
>
> 3. Created the template:
> ext_ssh_prod_rules:
> {% for host in allowed_ssh_hosts %}
> - 
>    proto: tcp
>    from_port: 22
>    to_port: 22
>    cidr_ip: {{ host }}
> {% endfor %}
>
> 4. Created the playbook
> - hosts: localhost
>   vars_files:
>     - vars/vpc_prod_east.yml
>   roles:
>     - aws_sg_ext_ssh
>
> 5. Applied the playbook and things worked as expected.  I saw 9 rules 
> created in the security group
> 6. Added 8.8.8.8/32 to the end of the ext_ssh_prod_rules
> 7. Applied the playbook again and a rule was added for 8.8.8.8/32
> 8. Removed 8.8.8.8/32 from ext_ssh_prod_rules
> 9. Applied the playbook again and now the rule for 8.8.8.8/32 was not 
> there but 3 more rules also were not there either.  So for some reasons the 
> 3 rules got deleted.
>
> I checked the intermediate roles/vars/ext_ssh_prod.rules every single time 
> and the output has always been correct with either 9 or 10 entries (when 
> 8.8.8.8/32 was addeded).
>
> So in order for us to use this reliably I must apply the playbook again 
> TWICE after removing an IP address.  
>
> I consider this as a bug and will look at the src codes to see what is the 
> situation there.
>
> Cheers and Ansible rocks.
>
>
> On Monday, June 9, 2014 at 1:50:33 PM UTC-7, Jaime Gago wrote:
>
>> Hey there,
>> I'm trying to write a playbook that gets the latest Pingdom probe servers 
>> IPs and add updates an EC2 Security groups rules with those IPs, but I'm 
>> failing are iterating the IPs in the rule and only the latest IPs is added 
>> (I'm replacing instead of appending). I opened an ticket on github (1) but 
>> because I hadn't detailed out the whole use case it got closed without 
>> really answering the issue; so I thought I'd post here see what others are 
>> thinking. 
>> I'm not sure whether I'm trying to hard to fit this into a playbook as I 
>> have this working via a script, now of course I could call the script 
>> itself but that IMHO would defeat the purpose of using Ansible in the first 
>> place.
>> I understand why the playbook fails to append the rules but I haven't 
>> been able to figure out a way around other than modifying the ec2_group 
>> module itself.
>>
>> J.
>> (1) https://github.com/ansible/ansible/issues/7584
>>
>>

-- 
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/b342e5ea-c070-41d8-8128-96724c4aec1b%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to