dj-wasabi/ansible-zabbix-server

"always" tag in role hinders it usage with ansible-playbook -t

MVKozlov opened this issue · 3 comments

subj
without 'always'

>ansible-playbook -i production zabbix.yml -t zabbix_backup_cron --list-tasks

playbook: zabbix.yml

  play #1 (monitoring-server): monitoring-server        TAGS: []
    tasks:
      include   TAGS: [mysql]
      include   TAGS: [mysql]
      include   TAGS: [apache]
      include   TAGS: [apache]
      include   TAGS: [zabbix-server]
      include   TAGS: [zabbix-server]
      add backup task for zabbix db     TAGS: [zabbix_backup_cron]

and with 'always'

>ansible-playbook -i production zabbix.yml -t zabbix_backup_cron --list-tasks

playbook: zabbix.yml

  play #1 (monitoring-server): monitoring-server        TAGS: []
    tasks:
      include   TAGS: [mysql]
      include   TAGS: [mysql]
      include   TAGS: [apache]
      include   TAGS: [apache]
      include   TAGS: [zabbix-server]
      include   TAGS: [zabbix-server]
      dj-wasabi.zabbix-server : RedHat | Set short version name TAGS: [always, zabbix-server]
      dj-wasabi.zabbix-server : RedHat | Use Zabbix package name        TAGS: [always, zabbix-server]
      dj-wasabi.zabbix-server : RedHat | Use EPEL package name  TAGS: [always, zabbix-server]
      dj-wasabi.zabbix-server : RedHat | Set some facts EPEL    TAGS: [always, zabbix-server]
      dj-wasabi.zabbix-server : RedHat | Set some facts Zabbix  TAGS: [always, zabbix-server]
      dj-wasabi.zabbix-server : RedHat | Set facts for Zabbix 3.0       TAGS: [always, zabbix-server]
      dj-wasabi.zabbix-server : RedHat | Install basic repo file        TAGS: [always, zabbix-server]
      dj-wasabi.zabbix-server : RedHat | Installing zabbix-server-{{ database_type }}   TAGS: [always, zabbix-server]
      dj-wasabi.zabbix-server : RedHat | Install zabbix-web-{{ database_type }} TAGS: [always, zabbix-server]
      dj-wasabi.zabbix-server : RedHat | Install apache vhost   TAGS: [always, zabbix-server]
      dj-wasabi.zabbix-server : RedHat | Install Ansible module dependencies    TAGS: [always, zabbix-server]
      dj-wasabi.zabbix-server : RedHat | Install Mysql Client package RHEL7     TAGS: [always, zabbix-server]
      dj-wasabi.zabbix-server : RedHat | Install Mysql Client package RHEL5 - 6 TAGS: [always, zabbix-server]
      dj-wasabi.zabbix-server : RedHat | Install PostgreSQL client package      TAGS: [always, zabbix-server]
      dj-wasabi.zabbix-server : RedHat | Install related SELinux package        TAGS: [always, zabbix-server]
      dj-wasabi.zabbix-server : RedHat | Enable httpd_can_connect_zabbix SELinux boolean        TAGS: [always, zabbix-server]
      dj-wasabi.zabbix-server : RedHat | Enable zabbix_can_network SELinux boolean      TAGS: [always, zabbix-server]
      dj-wasabi.zabbix-server : Debian | Set some facts TAGS: [always, config, init, zabbix-server]
      dj-wasabi.zabbix-server : Debian | Set some facts for Zabbix 3+   TAGS: [always, config, init, zabbix-server]
...

moreover, with always tag play fail with error

>ansible-playbook -i production zabbix.yml -t zabbix_backup_cron
....
TASK [dj-wasabi.zabbix-server : Debian | install apache vhost] *********************************************************************************************************************************************
fatal: [myserver.msk.termika.ru]: FAILED! => {"changed": false, "failed": true, "msg": "AnsibleUndefinedVariable: 'apachectl_version' is undefined"}

because

- name: "Get Apache version"
- name: "Set correct apache_version"

not running

I moved all zabbix-web related tasks to a separate role found on https://github.com/dj-wasabi/ansible-zabbix-web. So both tasks you mention needs the 'always' tags is what you mean?

no, I mean always should not be present in role because when playbook played with -t tag, (for example to skip all zabbix stuff) some tasks from zabbix role still played.

always tag has been removed from the role.