On 29.11.2018 06:21, Andy Smith wrote:
> Is there a way to apply a tag to all of the import_tasks statements
> in a role's tasks/main.yml file without stating it on every
> import_tasks line?
>
> That is, given a directory structure a bit like this:
>
> .
> ├── roles
> │ ├── some_server
> │ │ └── tasks
> │ │ ├── configure_this.yml
> │ │ ├── create_that.yml
> │ │ ├── main.yml
> │ │ └── other_config.yml
> │ ├── other_role
> . .
> .
> └── site.yml
>
> site.yml:
>
> - hosts: all
> roles:
> - {
> role: some_server,
> tags: some_server,
> }
That's what you're do here, add tag some_server on all task in the role
role_server.
> - {
> role: other_role,
> tags: other_role,
> }
And this will add tag other_role on all tasks in the role.
> And roles/some_server/tasks/main.yml:
>
> - import_tasks: configure_this.yml
> - import_tasks: create_that.yml
> - import_tasks: other_config.yml
>
> If I tried to conditionally apply only tag "some_server" then it
> does process roles/some_server/tasks/main.yml but not any of the
> imports within it.
>
> If I add a tag attribute to each of those imports, i.e.:
>
> - import_tasks: configure_this.yml tags=some_server
> - import_tasks: create_that.yml tags=some_server
> - import_tasks: other_config.yml tags=some_server
Since you are setting the tag on the role in the play, you don't need to
tag it here again.
--
Kai Stian Olstad