I have the following in my tasks/main.yml

Enter code here.- name: Check if NetworkManager is running
  shell: "systemctl status NetworkManager"
  register: nm_status
  changed_when: false
  ignore_errors: yes
  when: ansible_distribution_major_version == '7'

- name: debug
  debug:
    var: nm_status.stdout

For one particular server (cent7) the stdout is as follows:

Enter codok: [cent7] => {
    "nm_status.stdout": "● NetworkManager.service - Network Manager\n   
Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; disabled; 
vendor preset: enabled)\n   Active: inactive (dead) since Wed 2017-08-30 
12:31:32 EDT; 5min ago\n     Docs: man:NetworkManager(8)\n  Process: 27717 
ExecStart=/usr/sbin/NetworkManager --no-daemon (code=exited, 
status=0/SUCCESS)\n Main PID: 27717 (code=exited, status=0/SUCCESS)\n\nAug 
30 12:31:31 cent7 NetworkManager[27717]: <info>  [1504110691.5721] device 
(enp0s3): link connected\nAug 30 12:31:31 cent7 NetworkManager[27717]: 
<info>  [1504110691.5730] manager: (enp0s3): new Ethernet device 
(/org/freedesktop/NetworkManager/Devices/2)\nAug 30 12:31:31 cent7 
NetworkManager[27717]: <info>  [1504110691.5734] device (enp0s8): link 
connected\nAug 30 12:31:31 cent7 NetworkManager[27717]: <info> 
 [1504110691.5743] manager: (enp0s8): new Ethernet device 
(/org/freedesktop/NetworkManager/Devices/3)\nAug 30 12:31:31 cent7 
NetworkManager[27717]: <info>  [1504110691.5747] manager: startup 
complete\nAug 30 12:31:32 cent7 systemd[1]: Stopping Network 
Manager...\nAug 30 12:31:32 cent7 NetworkManager[27717]: <info> 
 [1504110692.5205] caught SIGTERM, shutting down normally.\nAug 30 12:31:32 
cent7 NetworkManager[27717]: <info>  [1504110692.5217] device (enp0s3): 
released from master device bond0\nAug 30 12:31:32 cent7 
NetworkManager[27717]: <info>  [1504110692.5221] device (enp0s8): released 
from master device bond0\nAug 30 12:31:32 cent7 systemd[1]: Stopped Network 
Manager."
}
e here...

I call the handler(s) through "Networking"
My handlers/main.yml currently is as follows:

Enter code here...---
# handlers file for dns_update
- name: Networking
  debug:
  changed_when: true
  notify:
    - 6 network restart
    - 7 network restart
    - 7 NetworkManager restart

- name: ensure stopped
  service:
    name: NetworkManager
    state: stopped

- name: 6 network restart
  service:
    name: network
    state: restarted
  when: ansible_distribution_major_version == '6' and not 
ansible_distribution_major_version == '7'

- name: 7 network restart
  service:
    name: network
    state: restarted
  when: (ansible_distribution_major_version == '7') and 
('"NetworkManager.service; 
disabled" in nm_status.stdout')
  notify: ensure stopped

- name: 7 NetworkManager restart
  service:
    name: NetworkManager
    state: restarted
  when: (ansible_distribution_major_version == '7') and 
('"NetworkManager.service; 
disabled" not in nm_status.stdout')

The reason for 3 different network restarts is to handle cent/rhel{6,7} 
servers.  Some of the version 7 boxes have NetworkManager running, and some 
do not

Results for my cent7 box:


RUNNING HANDLER [dns_update : Networking] 
************************************************************************************************************************************************************************************************
ok: [cent7] => {
    "msg": "Hello world!"
}

RUNNING HANDLER [dns_update : 6 network restart] 
*****************************************************************************************************************************************************************************************
skipping: [cent7]

RUNNING HANDLER [dns_update : 7 network restart] 
*****************************************************************************************************************************************************************************************
changed: [cent7]

RUNNING HANDLER [dns_update : 7 NetworkManager restart] 
**********************************************************************************************************************************************************************************
changed: [cent7]

RUNNING HANDLER [dns_update : ensure stopped] 
********************************************************************************************************************************************************************************************
changed: [cent7]

I expected it to only run "7 network restart" and "ensure stopped"
I only have the "ensure stopped" in there because the former seems to be 
starting NetworkManager despite being disabled.  In addition, I don't know 
why "7 NetworkManager restart" is executing as the nm_status.stdout DOES 
contain "NetworkManager.status disabled;"

I must be missing something, have a syntax error, or am encountering some 
sort of a bug.  I would appreciate any feedback.

Version info:
 # ansible --version
ansible 2.3.1.0
  config file = /etc/ansible/ansible.cfg
  configured module search path = Default w/o overrides
  python version = 2.7.5 (default, Nov  6 2016, 00:28:07) [GCC 4.8.5 
20150623 (Red Hat 4.8.5-11)]

-- 
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/854f4137-a5e2-4ebf-9bf8-ab510bbd0e4f%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to