I tried this test again after upgrading to 1.7 and the behavior is the same: the task is listed as changed and the handler as NOTIFIED, but it is skipped
On Tuesday, 12 August 2014 13:33:12 UTC-5, Michael DeHaan wrote: > > So the first thing I notice is this ticket was filed on 1.6.2. > > The current released version of Ansible is 1.7.0, have you checked on the > latest? > > Not saying this is not a thing, but would save us time and we'd appreciate > the updated report. > > Thanks! > > > > > On Tue, Aug 12, 2014 at 1:09 PM, Andrew Martin <[email protected] > <javascript:>> wrote: > >> Hello, >> >> See https://github.com/ansible/ansible/issues/8559 for additional >> details, but in brief I have 3 roles: >> >> roles/apache2/meta/main.yml: >> >>> --- >>> allow_duplicates: yes >> >> >> roles/apache2-php/meta/main.yml: >> >>> --- >>> allow_duplicates: yes >>> dependencies: >>> - { role: apache2 } >> >> >> roles/apache2-ssl/meta/main.yml: >> >>> --- >> >> allow_duplicates: yes >> >> dependencies: >>> - { role: apache2-php, when: include_php == True } >>> - { role: apache2, when: include_php == False } >> >> >> I would like to be able to use the apache2-ssl role in a playbook and >> have it recursively call the apache2-php and apache2 dependent roles. This >> works for the most part, except with handlers in the base apache2 role. >> Even with allow_duplicates: yes everywhere, when I call the apache2-ssl >> role with include_php == False, the "reload apache" handler still gets >> skipped: >> >> excerpt from roles/apache2/tasks/main.yml: >> >>> - name: copy apache configuration (12.04) >>> template: src=000-default.j2 >>> dest=/etc/apache2/sites-enabled/000-default >>> when: ansible_distribution_version == "12.04" >>> notify: reload apache2 >> >> >> excerpt from roles/apache2/handlers/main.yml: >> >>> - name: reload apache2 >>> service: name=apache2 state=reloaded enabled=true >> >> >> The handler is NOTIFIED, but skipped: >> >>> NOTIFIED: [apache2 | reload apache2] >>> ****************************************** >>> skipping: [apachetest] >> >> I think this occurs because the first dependent role, apache2-php, is >> skipped because include_php is False. It then recusively marks all tasks >> and handlers in apache2-php and apache2 as skipped, and then when it goes >> to apache2 a second time (when it hits the second dependent role), it is >> already marked as skipped and so the handler doesn't execute. Any ideas on >> what is going on here, and how to fix it? >> >> Thanks! >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Ansible Project" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected] <javascript:>. >> To post to this group, send email to [email protected] >> <javascript:>. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/ansible-project/0f5254b0-4f0c-4f2b-89d4-3a920aad986b%40googlegroups.com >> >> <https://groups.google.com/d/msgid/ansible-project/0f5254b0-4f0c-4f2b-89d4-3a920aad986b%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> For more options, visit https://groups.google.com/d/optout. >> > > -- You received this message because you are subscribed to the Google Groups "Ansible Project" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/c51015b5-e62a-4841-bc58-e3cf70eaf793%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
