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.
For more options, visit https://groups.google.com/d/optout.