Como registrar um var em uma ou outra tarefa

Esta coleção de tarefas não funciona como eu esperava:

- name: Find out whether syslog-ng is installed (yum)
  tags: syslog_forwarding
  command: yum -q list installed syslog-ng
  register: syslog_ng_check
  failed_when: False
  changed_when: False
  when: ansible_pkg_mgr == 'yum'

- name: Find out whether syslog-ng is installed (apt)
  tags: syslog_forwarding
  command: dpkg -s syslog-ng
  register: syslog_ng_check
  failed_when: False
  changed_when: False
  when: ansible_pkg_mgr == 'apt'

- name: Configure syslog-ng to forward all logs to syslog servers (apt)
  tags: syslog_forwarding
  template:
    src: syslog_ng_forward_all.conf.j2
    dest: /etc/syslog-ng/conf.d/syslog_forward.conf
  notify: restart syslog_ng
  when: syslog_ng_check is defined and syslog_ng_check.rc == 0

- name: Configure syslog-ng to forward all logs to syslog servers (yum)
  tags: syslog_forwarding
  template:
    src: syslog_ng_forward_all.conf.j2
    dest: /etc/syslog-ng/conf.d/syslog_forward.conf
  notify: restart syslog_ng
  when: syslog_ng_check is defined and syslog_ng_check.rc == 0

Eu queria primeiro descobrir sesyslog-ng foi instalado no sistema (o sistema pode ser umCentOS ou umDebian/Ubuntu) e, em seguida, aja de acordo (coloque um arquivo de configuração) quando for o caso, e mantenha a tarefa de colocar a distribuição do arquivo de configuração independente. O que descobri é que, se a primeira tarefa retornar 0 e definirsyslog-ng-check.rc para 0, a segunda tarefa a torna indefinida novamente (ou pelo menos vazia), mesmo que a tarefa seja ignorada (pois nenhum sistema pode estar usandoyum eapt ao mesmo tempo, pelo menos não o meu).

Claro, eu poderia registrar variáveis diferentes para cadayum eapt verificações, mas então eu precisaria de mais lógica na minha cláusula when: que eu queria evitar.

Alguma boa idéia sobre este?

questionAnswers(2)

yourAnswerToTheQuestion