How to handle services with associated data changing with time ?
25 views
Skip to first unread message
Christophe Meessen
unread,
Jan 20, 2016, 9:12:29 AM1/20/16
Reply to author
Sign in to reply to author
Forward
Sign in to forward
Delete
You do not have permission to delete messages in this group
Copy link
Report message
Show original message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to Ansible Project
Apparently I need the concept of method or specific action on a role and I don't how to implement it.
Consider a service with associated data changing in time on a remote host.
I need to perform three distinct actions on this service.
1. install or update to code and configuration 2. backup the associated data 3. restore the associated data from the backup
All three actions can be implemented by ansible.
But I don't see how to pack them in one role. This is because (as I understood) invoking a role executes only one action defined in roles/X/tasks/main.yml.
That's Ok for Install let say. But how could I add the set of tasks to do a backup or a restore ?
I thought we could use tags for that, but the problem is that by default (without specifying a tag on the playbook invocation) the special tag 'all' is used which result in executing all tasks. This would be a mess if the install, backup and restore tasks are all called if the user forgot to specify a tag.
One thing that could save my day is if it was possible to define a default tag different from 'all' in the ansible configuration ? I could the define the default tag ass 'install' or 'install,config' that will ensure that the tasks tagged as 'backup' or 'restore' are not executed. I couldn't find such an option in the ansible configure documentation.
Otherwise is there a solution with the existing code ?
Brian Coca
unread,
Jan 20, 2016, 9:18:13 AM1/20/16
Reply to author
Sign in to reply to author
Forward
Sign in to forward
Delete
You do not have permission to delete messages in this group
Copy link
Report message
Show original message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to Ansible Project
> But I don't see how to pack them in one role. This is because (as I
> understood) invoking a role executes only one action defined in
> roles/X/tasks/main.yml.
not true, all tasks defined in main.yml get executed.
--
Brian Coca
Christophe Meessen
unread,
Jan 20, 2016, 9:38:44 AM1/20/16
Reply to author
Sign in to reply to author
Forward
Sign in to forward
Delete
You do not have permission to delete messages in this group
Copy link
Report message
Show original message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to Ansible Project
Yes sorry. That was what I mean. There is only one file main.yml that is always invoked and all tasks in it are executed.
Brian Coca
unread,
Jan 20, 2016, 9:40:04 AM1/20/16
Reply to author
Sign in to reply to author
Forward
Sign in to forward
Delete
You do not have permission to delete messages in this group
Copy link
Report message
Show original message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to Ansible Project
tasks in that file can be conditional, you can also have includes