"Unfortunately this results in a strange behaviour, when the common role
will be executed it will also try to run on the RDS server which is not
possible since RDS instances have only mysql access and no ssh"

I would not apply those roles to those hosts and not try to talk to
machines that don't have SSH.



On Mon, Oct 27, 2014 at 11:49 AM, Nicolas G <[email protected]> wrote:

> Hi All,
>
> I'm using the bellow config in order to deploy Ansible in AWS with no
> problem , the *db* servers are actually *RDS* instances and the rest is
> all EC2 instances.
>
> ### inventory hosts file:
>
> [db]
> db1.example.com ansible_connection=local
>
> [web]
> web1.example.com
> web2.example.com
> web3.example.com
>
> [app]
> app1.example.com
> app2.example.com
> app3.example.com
>
> ### db.yml
> - hosts: db
>   *connection: local*
>   gather_facts: false
>   roles:
>     - { role : db , tags: [ 'db-role' ] }
>
>
> ### web.yml
> - hosts: web
>   roles:
>     - { role : common , tags: [ 'common-role' ] }
>     - { role : web, tags: [ 'web-role' ] }
>
> ### app.yml
> - hosts: app
>   roles:
>     - { role : common , tags: [ 'common-role' ] }
>     - { role : app, tags: [ 'app-role' ] }
>
>
>
> ### site.yml
> - include: db.yml
> - include: web.yml
> - include: app.yml
>
>
> Unfortunately with this approach the common role will be executed in two
> runs "serialised", one for the *web* playbook and one for the *app*
> playbook. Because I have many servers and various kind of roles, in order
> to improve the deployment time I have removed the common role from the
> *web* and *app* playbooks and created a *common.yml* playbook included in
> the site.yml file so ALL servers will execute the common role at the same
> time in parallel :
>
> # common.yml
> - hosts: all
>   roles:
>     - { role : common , tags: [ 'common-role' ] }
>
> ### site.yml
> - include: common.yml
> - include: db.yml
> - include: web.yml
> - include: app.yml
>
>
>
> Unfortunately this results in a strange behaviour, when the common role
> will be executed it will also try to run on the RDS server which is not
> possible since RDS instances have only mysql access and no ssh. This end up
> running the common role in the local controller system where I'm running
> Ansible from.. I guess this happens because of the *connection: local *I
> have defined in the db.yml playbook.
>
> How can I avoid the common role from running locally ?
>
> Regards,
> N.
>
>  --
> 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/0580175f-f1a3-4f7d-a99d-1f22f97fbe53%40googlegroups.com
> <https://groups.google.com/d/msgid/ansible-project/0580175f-f1a3-4f7d-a99d-1f22f97fbe53%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>

-- 
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/CA%2BnsWgzV6%3DRyHBrJ2mcM6rMRsMsvfGDZgsp3pq7e-kDuPqfayA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to