I am working on creating an AWS infrastructure based on Ansible. 
I have a playbook which creates an RDS instance. When I run the playbook 
standalone it executes perfectly & creates RDS instance. However when that 
playbook is called by another playbook using the 

> 
include: rds.yml 

It gives the following error

 TASK: [create mysql RDS instance] 
********************************************* 
failed: [localhost -> 127.0.0.1] => {"failed": true, "parsed": false}
Traceback (most recent call last):

  File 
"/home/rahul/.ansible/tmp/ansible-tmp-1424469014.33-157847268952956/rds", 
line 2419, in <module>
    main()
  
 File 
"/home/rahul/.ansible/tmp/ansible-tmp-1424469014.33-157847268952956/rds", 
line 468, in main
    params["vpc_security_groups"] = vpc_security_groups.split(',')
AttributeError: 'dict' object has no attribute 'split'
FATAL: all hosts have already failed -- aborting



The ansible playbook for RDS which I am using is as follows

    ---
    - hosts: localhost
      gather_facts: no
      vars_files:
       - ../group_vars/dev_vpc
       - ../group_vars/dev_sg
       - ../hosts_vars/ec2_info
       - ../hosts_vars/rds_info
      vars:
        instance_type: db.m1.medium
        db_engine: MySQL
        engine_version: 5.6.19a
        subnet: dev-subnet-group
        iops: 1000
        db_name: dev_rds
      tasks:
       - name: Creating RDS subnet group
         local_action:
         module: rds_subnet_group
         state: present
         name: "{{ subnet }}"
         region: "{{ region }}"
         description: Subnet Group for RDS instance
         subnets:
           - "{{ PrivateSubnetA }}"
           - "{{ PrivateSubnetB }}"
     - name: create mysql RDS instance
       local_action:
         module: rds
         command: create
         instance_name: dev-rds
         region: "{{ region }}"
         size: 100
         instance_type: "{{ instance_type }}"
         db_engine: "{{ db_engine }}"
         engine_version: "{{ engine_version }}"
         subnet: "{{ subnet }}"
         multi_zone: yes
         db_name: "{{ db_name }}"
         username: "{{ username }}"
         password: "{{ pass }}"
         vpc_security_groups: "{{ sg_mysql  }}"
         iops: "{{ iops }}"  


I have searched a lot on the internet and wasn't able to find a correct 
answer. Can anyone point out my mistake. Thank you


adding task debug: var=sg_mysql gives the following result

ok: [localhost] => { "var": { "sg_mysql": { "changed": false, "group_id": 
"sg-d73012b2", "invocation": { "module_args": "", "module_name": 
"ec2_group" } } } }

-- 
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/893b651c-96bf-461a-91f1-d68c142f92cc%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to