Error provisioning RDS instance

2,347 views
Skip to first unread message

Guy Knights

unread,
Jul 14, 2015, 6:23:45 PM7/14/15
to ansible...@googlegroups.com
I'm getting the following error when I use the rds module:

failed: [localhost] => {"failed": true, "parsed": false}
Traceback (most recent call last):
  File "/Users/guy/.ansible/tmp/ansible-tmp-1436911513.8-147068920945542/rds", line 2822, in <module>
    main()
  File "/Users/guy/.ansible/tmp/ansible-tmp-1436911513.8-147068920945542/rds", line 1012, in main
    invocations[module.params.get('command')](module, conn)
  File "/Users/guy/.ansible/tmp/ansible-tmp-1436911513.8-147068920945542/rds", line 645, in create_db_instance
    result = conn.get_db_instance(instance_name)
  File "/Users/guy/.ansible/tmp/ansible-tmp-1436911513.8-147068920945542/rds", line 415, in get_db_instance
    raise e
boto.exception.JSONResponseError: JSONResponseError: 400 Bad Request
{'RequestId': '673d1f59-2a74-11e5-af29-2dbda5511805', 'Error': {'Message': 'The parameter Filter: db-instance-id is not a valid identifier. Identifiers must begin with a letter; must contain only ASCII letters, digits, and hyphens; and must not end with a hyphen or contain two consecutive hyphens.', 'Code': 'InvalidParameterValue', 'Type': 'Sender'}}


FATAL: all hosts have already failed -- aborting

The task config is as follows:

    - name: provision rds master
      rds:
        command: create
        instance_name: "{{ wl_name }}_db_master"
        db_engine: MySQL
        db_name: "{{ db_name }}"
        instance_type: db.m3.large
        username: "{{ db_username }}"
        password: "{{ wl_name}}_db_password"
        size: 50
        wait: yes
        wait_timeout: 600
        multi_zone: no
        subnet: "{{ wl_name }}-rds-sg"
        tags:
          Application: "{{ wl_name }}"
          Environment: prod
        region: us-west-1

I guess it's a problem with the lookup to check if the instance already exists, but I'm not sure what it's supposed to be using as the lookup parameter. Does anyone know why it's wrong, and how to fix it?

Thanks,
Guy

Baraa Basata

unread,
Jul 15, 2015, 1:15:24 PM7/15/15
to ansible...@googlegroups.com
The error message here is the RDS API, and it suggests to me that the instance_name contains invalid characters. The API response says that RDS instance identifiers must have "only ASCII letters, digits, and hyphens; and must not end with a hyphen or contain two consecutive hyphens".

The underscore character that you have in the instance_name is not in that list of valid characters.

-Baraa

Guy Knights

unread,
Jul 15, 2015, 7:26:36 PM7/15/15
to ansible...@googlegroups.com
Ahhh.....thank you! That was the issue after all. I changed the instance name and it fixed the problem. I was confused because it was talking about parameter filters.

Thanks again,
Guy

--
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/xT1lOWalxYs/unsubscribe.
To unsubscribe from this group and all its topics, send an email to ansible-proje...@googlegroups.com.
To post to this group, send email to ansible...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/3386be62-9541-4003-889b-02fee49e8826%40googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages