Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot run playbook with tags to run only part of the playbook #100

Open
RobertFloor opened this issue Sep 21, 2023 · 1 comment
Open

Cannot run playbook with tags to run only part of the playbook #100

RobertFloor opened this issue Sep 21, 2023 · 1 comment
Labels
enhancement New feature or request

Comments

@RobertFloor
Copy link

SUMMARY

We want to run tasks that only change users or queues on our production brokers. Even if the user changes other settings it only should change the tasks with the tag. I see that the playbook has support for tags but for us this is not running correctly.

ISSUE TYPE
  • Bug Report
ANSIBLE VERSION
❯ ansible --version
ansible [core 2.15.3]
  config file = /home/robert/AMQ-Ansible-config/ansible-configuration/ansible.cfg
  configured module search path = ['/home/robert/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /home/linuxbrew/.linuxbrew/Cellar/ansible/8.3.0/libexec/lib/python3.11/site-packages/ansible
  ansible collection location = /home/robert/.ansible/collections:/usr/share/ansible/collections
  executable location = /home/linuxbrew/.linuxbrew/bin/ansible
  python version = 3.11.5 (main, Aug 24 2023, 12:23:19) [GCC 11.4.0] (/home/linuxbrew/.linuxbrew/Cellar/ansible/8.3.0/libexec/bin/python)
  jinja version = 3.1.2
  libyaml = True
COLLECTION VERSION
# /home/linuxbrew/.linuxbrew/Cellar/ansible/8.3.0/libexec/lib/python3.11/site-packages/ansible_collections
Collection                                Version
----------------------------------------- -------
amazon.aws                                6.3.0
ansible.netcommon                         5.1.2
ansible.posix                             1.5.4
ansible.utils                             2.10.3
ansible.windows                           1.14.0
arista.eos                                6.0.1
awx.awx                                   22.6.0
azure.azcollection                        1.16.0
check_point.mgmt                          5.1.1
chocolatey.chocolatey                     1.5.1
cisco.aci                                 2.7.0
cisco.asa                                 4.0.1
cisco.dnac                                6.7.3
cisco.intersight                          1.0.27
cisco.ios                                 4.6.1
cisco.iosxr                               5.0.3
cisco.ise                                 2.5.14
cisco.meraki                              2.15.3
cisco.mso                                 2.5.0
cisco.nso                                 1.0.3
cisco.nxos                                4.4.0
cisco.ucs                                 1.10.0
cloud.common                              2.1.4
cloudscale_ch.cloud                       2.3.1
community.aws                             6.2.0
community.azure                           2.0.0
community.ciscosmb                        1.0.6
community.crypto                          2.15.0
community.digitalocean                    1.24.0
community.dns                             2.6.0
community.docker                          3.4.8
community.fortios                         1.0.0
community.general                         7.3.0
community.google                          1.0.0
community.grafana                         1.5.4
community.hashi_vault                     5.0.0
community.hrobot                          1.8.1
community.libvirt                         1.2.0
community.mongodb                         1.6.1
community.mysql                           3.7.2
community.network                         5.0.0
community.okd                             2.3.0
community.postgresql                      2.4.3
community.proxysql                        1.5.1
community.rabbitmq                        1.2.3
community.routeros                        2.9.0
community.sap                             1.0.0
community.sap_libs                        1.4.1
community.skydive                         1.0.0
community.sops                            1.6.4
community.vmware                          3.9.0
community.windows                         1.13.0
community.zabbix                          2.1.0
containers.podman                         1.10.2
cyberark.conjur                           1.2.0
cyberark.pas                              1.0.19
dellemc.enterprise_sonic                  2.2.0
dellemc.openmanage                        7.6.1
dellemc.powerflex                         1.7.0
dellemc.unity                             1.7.1
f5networks.f5_modules                     1.25.1
fortinet.fortimanager                     2.2.1
fortinet.fortios                          2.3.1
frr.frr                                   2.0.2
gluster.gluster                           1.0.2
google.cloud                              1.2.0
grafana.grafana                           2.1.5
hetzner.hcloud                            1.16.0
hpe.nimble                                1.1.4
ibm.qradar                                2.1.0
ibm.spectrum_virtualize                   1.12.0
infinidat.infinibox                       1.3.12
infoblox.nios_modules                     1.5.0
inspur.ispim                              1.3.0
inspur.sm                                 2.3.0
junipernetworks.junos                     5.2.0
kubernetes.core                           2.4.0
lowlydba.sqlserver                        2.1.0
microsoft.ad                              1.3.0
netapp.aws                                21.7.0
netapp.azure                              21.10.0
netapp.cloudmanager                       21.22.0
netapp.elementsw                          21.7.0
netapp.ontap                              22.7.0
netapp.storagegrid                        21.11.1
netapp.um_info                            21.8.0
netapp_eseries.santricity                 1.4.0
netbox.netbox                             3.13.0
ngine_io.cloudstack                       2.3.0
ngine_io.exoscale                         1.0.0
ngine_io.vultr                            1.1.3
openstack.cloud                           2.1.0
openvswitch.openvswitch                   2.1.1
ovirt.ovirt                               3.1.2
purestorage.flasharray                    1.20.0
purestorage.flashblade                    1.12.1
purestorage.fusion                        1.6.0
sensu.sensu_go                            1.14.0
servicenow.servicenow                     1.0.6
splunk.es                                 2.1.0
t_systems_mms.icinga_director             1.33.1
telekom_mms.icinga_director               1.34.1
theforeman.foreman                        3.12.0
vmware.vmware_rest                        2.3.1
vultr.cloud                               1.8.0
vyos.vyos                                 4.1.0
wti.remote                                1.0.5

# /home/robert/.ansible/collections/ansible_collections
Collection                                Version
----------------------------------------- -------
ansible.posix                             1.5.4
community.general                         6.0.1
middleware_automation.amq                 1.3.11
middleware_automation.common              1.1.2
middleware_automation.redhat_csp_download 1.2.2
STEPS TO REPRODUCE
❯ ansible-playbook -i hostfiles/dev/AMQ-dev-cluster.yml -e activemq_version="7.11.1" playbooks/install-broker-dev.yml  --list-tasks --tags install

playbook: playbooks/install-broker-dev.yml

  play #1 (all): Playbook for Red Hat AMQ Broker        TAGS: []
    tasks:
      middleware_automation.amq.activemq : Validating arguments against arg spec 'main' TAGS: [always]
      middleware_automation.amq.activemq : Include install tasks        TAGS: [install]
❯ ansible-playbook -i hostfiles/dev/AMQ-dev-cluster.yml -e activemq_version="7.11.1" playbooks/install-broker-dev.yml  -v --tags "install"
Using /home/robert/AMQ-Ansible-config/ansible-configuration/ansible.cfg as config file

PLAY [Playbook for Red Hat AMQ Broker] *************************************************************************************************************************************************************************************************************************************************

TASK [Gathering Facts] *****************************************************************************************************************************************************************************************************************************************************************
ok: [amq1]
ok: [amq2]

TASK [middleware_automation.amq.activemq : Validating arguments against arg spec 'main'] ***********************************************************************************************************************************************************************************************
ok: [amq1] => changed=false
  msg: The arg spec validation passed
  validate_args_context:
    argument_spec_name: main
    name: activemq
    path: /home/robert/.ansible/collections/ansible_collections/middleware_automation/amq/roles/activemq
    type: role
ok: [amq2] => changed=false
  msg: The arg spec validation passed
  validate_args_context:
    argument_spec_name: main
    name: activemq
    path: /home/robert/.ansible/collections/ansible_collections/middleware_automation/amq/roles/activemq
    type: role

TASK [middleware_automation.amq.activemq : Include install tasks] **********************************************************************************************************************************************************************************************************************
included: /home/robert/.ansible/collections/ansible_collections/middleware_automation/amq/roles/activemq/tasks/install.yml for amq1, amq2

PLAY RECAP *****************************************************************************************************************************************************************************************************************************************************************************
amq1                       : ok=3    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0
amq2                       : ok=3    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0

❯ ansible-playbook -i hostfiles/dev/AMQ-dev-cluster.yml -e activemq_version="7.11.1" playbooks/install-broker-dev.yml  -v --tags "users"
Using /home/robert/AMQ-Ansible-config/ansible-configuration/ansible.cfg as config file

PLAY [Playbook for Red Hat AMQ Broker] *************************************************************************************************************************************************************************************************************************************************

TASK [Gathering Facts] *****************************************************************************************************************************************************************************************************************************************************************
ok: [amq2]
ok: [amq1]

TASK [middleware_automation.amq.activemq : Validating arguments against arg spec 'main'] ***********************************************************************************************************************************************************************************************
ok: [amq1] => changed=false
  msg: The arg spec validation passed
  validate_args_context:
    argument_spec_name: main
    name: activemq
    path: /home/robert/.ansible/collections/ansible_collections/middleware_automation/amq/roles/activemq
    type: role
ok: [amq2] => changed=false
  msg: The arg spec validation passed
  validate_args_context:
    argument_spec_name: main
    name: activemq
    path: /home/robert/.ansible/collections/ansible_collections/middleware_automation/amq/roles/activemq
    type: role

PLAY RECAP *****************************************************************************************************************************************************************************************************************************************************************************
amq1                       : ok=2    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0
amq2                       : ok=2    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0

❯ ansible-playbook -i hostfiles/dev/AMQ-dev-cluster.yml -e activemq_version="7.11.1" playbooks/install-broker-dev.yml  -v --tags "systemd"
Using /home/robert/AMQ-Ansible-config/ansible-configuration/ansible.cfg as config file

PLAY [Playbook for Red Hat AMQ Broker] *************************************************************************************************************************************************************************************************************************************************

TASK [Gathering Facts] *****************************************************************************************************************************************************************************************************************************************************************
ok: [amq1]
ok: [amq2]

TASK [middleware_automation.amq.activemq : Validating arguments against arg spec 'main'] ***********************************************************************************************************************************************************************************************
ok: [amq2] => changed=false
  msg: The arg spec validation passed
  validate_args_context:
    argument_spec_name: main
    name: activemq
    path: /home/robert/.ansible/collections/ansible_collections/middleware_automation/amq/roles/activemq
    type: role
ok: [amq1] => changed=false
  msg: The arg spec validation passed
  validate_args_context:
    argument_spec_name: main
    name: activemq
    path: /home/robert/.ansible/collections/ansible_collections/middleware_automation/amq/roles/activemq
    type: role

TASK [middleware_automation.amq.activemq : Include systemd tasks] **********************************************************************************************************************************************************************************************************************
included: /home/robert/.ansible/collections/ansible_collections/middleware_automation/amq/roles/activemq/tasks/systemd.yml for amq1, amq2

PLAY RECAP *****************************************************************************************************************************************************************************************************************************************************************************
amq1                       : ok=3    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0
amq2                       : ok=3    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0
EXPECTED RESULTS

We expect that the tasks included such as firewall or user are executed fully. now it seems only the include task is executed.

ACTUAL RESULTS

Included tasks are not ran.

@RanabirChakraborty RanabirChakraborty added hacktoberfest hacktoberfest issues from contributors and removed hacktoberfest hacktoberfest issues from contributors labels Sep 21, 2023
@guidograzioli guidograzioli added the enhancement New feature or request label Nov 14, 2023
@michie1
Copy link

michie1 commented Aug 14, 2024

As a workaround, you could use ansible.builtin.import_role with the name of the role and the name of the tasks specified in tasks_from to run only parts of the playbook.

@guidograzioli guidograzioli added the hacktoberfest hacktoberfest issues from contributors label Aug 22, 2024
@guidograzioli guidograzioli removed the hacktoberfest hacktoberfest issues from contributors label Nov 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants