I actually tackle this another way. I write provisioning playbooks (not a role) that will create the server on the provider. And then when it's finished, run some bootstrapping steps. After that is done, use add_host to add it to the right group and then include the role-level playbook.
This way the roles don't need to know anything about provisioning. The step to provision new servers is a different command and as soon as a server is provisioned it's handed off to the appropriate roles to get it configured. And because our inventory is dynamic the new server will be included in subsequent runs too. On Tue, Jul 22, 2014 at 4:32 PM, itarchmerc <[email protected]> wrote: > What would be the best method to add reusable provisioning steps to existing > roles? I am looking to try and accomplish the following: > > Ideally this could be it's own role, or in some way reusable so I could tie > it to any role > It would pull in all the needed parameters from group or host vars > It would only be called if I sent something like ansible-playbook -e > "provision=yes", otherwise the role would run as written without > provisioning an instance > I would like a way to easily extend this for additional providers (e.g. EC2, > VMWare, GCE, etc) > > I have been able to add provisioning steps into an existing role by using a > separate task, but I feel like there is a better and more reusable way to > approach this. Please let me know if additional clarification is needed. > Thanks. > > -- > 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/0c4abae5-44b8-45fc-b825-95d45933d24d%40googlegroups.com. > 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/CAJQqANd%3DS%2B8_Qo1iUoH07118iU64ePhmPz8b-bEDuS3mTrGw2A%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
