Hello all,
I have managed to sort out this issue. I had an old version of
Python-Jinja2 in my virtual environment. Once upgraded it resolved.
Thanks
On Wednesday, October 24, 2018 at 10:08:49 AM UTC+1, Kishore Ponniah wrote:
>
> Hello all,
>
> This is the continuation of my other Post creating direct connect gateway.
> This is the same but using assume roles and cross-account deployment. I
> have added loops but there are 2 sections which are not working (debug role
> arns & assume cross account roles). Can some one help?
>
> Error:
> TASK [debug role arns]
> ************************************************************************************************************************************************************************************************************
> task path:
> /home/ec2-user/environment/aws-rxgt-mgmt-platform/ansible/rxgt-ps-rxgtmgmt-playbook.yaml:29
> fatal: [infrastructure]: FAILED! => {
> "msg": "template error while templating string: no filter named 'map'.
> String: {{ rxgt_identity_account['deploy_accounts']|map('extract',
> rxgt_identity_account['account_config'])|list }}"
> }
>
> =======================================================
> Main playbook:
>
> ---
> # This playbook builds Network infrastructure in all configured accounts
> - name: Install/Update RXGT Mgmt account CF templates
> hosts: infrastructure
> tasks:
>
> - name: Install/Update RXGT PS cross account CF templates
> hosts: infrastructure
> tasks:
> - name: get sts session token
> sts_session_token:
> duration_seconds: "{{ sts_session_duration | default(3600) }}"
> mfa_serial_nunber: "{{ sts_mfa_serial_number | default(omit) }}"
> mfa_token: "{{ sts_mfa_token | default(omit) }}"
> register: sts_session_token
> when: with_sts
> tags:
> rxgt-ps-mgmt-stack-deploy
>
> - name: retrieve sts credentials
> set_fact:
> sts_access_key: "{{ sts_session_token.sts_creds.access_key }}"
> sts_secret_key: "{{ sts_session_token.sts_creds.secret_key }}"
> sts_session_token: "{{ sts_session_token.sts_creds.session_token
> }}"
> when: with_sts
> tags:
> rxgt-ps-mgmt-stack-deploy
>
> - name: debug role arns
> debug:
> msg: "Assuming role: {{ account_config.sts_role_arn }}"
> verbosity: 1
> loop: "{{ rxgt_identity_account['deploy_accounts']|map('extract',
> rxgt_identity_account['account_config'])|list }}"
> loop_control:
> loop_var: account_config
> label: "{{ account_config.sts_role_arn }}"
> tags:
> rxgt-ps-mgmt-stack-deploy
>
> - name: assume cross account roles
> sts_assume_role:
> role_arn: "{{ account_config.sts_role_arn }}"
> role_session_name: "ansibledeploy"
> duration_seconds: "{{ sts_session_duration | default(3600) }}"
> aws_access_key: "{{ sts_access_key | default(omit) }}"
> aws_secret_key: "{{ sts_secret_key | default(omit) }}"
> security_token: "{{ sts_session_token | default(omit) }}"
> mfa_serial_nunber: "{{ sts_mfa_serial_number | default(omit) }}"
> mfa_token: "{{ sts_mfa_token | default(omit) }}"
> loop: "{{ rxgt_identity_account['deploy_accounts']|map('extract',
> rxgt_identity_account['account_config'])|list }}"
> loop_control:
> loop_var: account_config
> label: "{{ account_config.sts_role_arn }}"
> register: assumed_roles_with_account_config
> tags:
> rxgt-ps-mgmt-stack-deploy
>
> - name: create rxgt-ps-mgmt-direct-connect-gateway stack
> aws_direct_connect_gateway:
> state: present
> region: "{{ account_config.1 }}"
> aws_access_key: "{{ account_config.0.sts_creds.access_key }}"
> aws_secret_key: "{{ account_config.0.sts_creds.secret_key }}"
> security_token: "{{ account_config.0.sts_creds.session_token }}"
> name: "{{
> rxgt_identity_account.account_config.rxgtmgmt.stacks['rxgt-ps-mgmt-direct-connect-gateway'].
> params.name }}"
> amazon_asn: "{{
> rxgt_identity_account.account_config.rxgtmgmt.stacks['rxgt-ps-mgmt-direct-connect-gateway'].params.amazon_asn
>
> }}"
> loop: "{{
> assumed_roles_with_account_config.results|subelements('account_config.regions',
>
> skip_missing=True) }}"
> loop_control:
> loop_var: account_config
> label: "{{ account_config.0.account_config.account_alias }}:{{
> account_config.1 }}"
> register: created_aws_direct_connect_gateway
> tags:
> rxgt-ps-mgmt-stack-deploy
>
>
> - name: debug stack outputs
> vars:
> msg: "{{ account_config | to_nice_yaml }}"
> debug:
> msg: "{{ msg.split('\n') }}"
> verbosity: 0
> loop: "{{
> assumed_roles_with_account_config.results|subelements('account_config.regions',
>
> skip_missing=True) }}"
> loop_control:
> loop_var: account_config
> label: "{{ account_config.0.account_config.account_alias }}:{{
> account_config.1 }}"
> tags:
> - 'never'
> - 'debug'
> - rxgt-ps-mgmt-stack-deploy
>
> =======================================================
> account_config.yaml
>
> ---
> ansible_python_interpreter: "{{ lookup('env', 'VIRTUAL_ENV') }}/bin/python"
> rxgt_identity_account:
> deploy_accounts:
> - XXXXXX
>
> account_config:
> XXXXXX:
> id: XXXXXXXX
> account_alias: XXXXXX
> sts_role_arn:
> arn:aws:iam::XXXXXXXXXXXX:role/xxxx/xx/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
> pass_role_arn: ""
> regions:
> - eu-west-1
> stacks:
> rxgt-ps-mgmt-direct-connect-gateway:
> params:
> name: rxgtmgmt-dxgw
> amazon_asn: 65000
> override_tags:
> rx:billing:service-name: identity
> rx:billing:environment-name: xxxxxx
>
>
--
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/5eaae63b-1008-457d-93ae-61dda99da7c8%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.