Example 2: Manual management of services
In the list lp_service, it is possible to set more parameters compared to the list lp_service_auto. What parameters can be used depends on the module that will be used
lp_service_module: auto
lp_service:
- enabled: true
name: smartmontools
state: stopped
- enabled: true
name: udev
state: stopped
use: service
By default the variable lp_service_module is set to auto. In this case, the OS native service manager ansible_service_mgr is used.
Create a playbook
shell> cat lp.yml
- hosts: test_01
become: true
roles:
- vbotka.linux_postinstal
Create variables
Create the file host_vars/test_01/lp-service.yml and declare the list of services lp_service that shall be managed by this task
shell> cat host_vars/test_01/lp-service.yml
lp_service:
- enabled: true
name: smartmontools
state: started
use: auto
- enabled: true
name: udev
state: started
use: service
Show variables
shell> ansible-playbook lp.yml -t lp_service_debug -e lp_service_debug=True
...
TASK [vbotka.linux_postinstall : service: Debug] ***********************************************
ok: [test_01] =>
msg: |-
ansible_os_family: Debian
ansible_service_mgr: systemd
lp_service_sanity: False
lp_service_module: auto
lp_service_module_valid: ['auto', 'service', 'systemd', 'sysvinit']
lp_service:
- enabled: true
name: smartmontools
state: started
use: auto
- enabled: true
name: udev
state: started
use: service
lp_service_auto:
- smart
- udev
Manage the services and show the results
shell> ansible-playbook lp.yml -t lp_service_manual -e lp_service_debug=true
...
TASK [vbotka.linux_postinstall : service: Manual management set module auto] *******************
ok: [test_01]
TASK [vbotka.linux_postinstall : service: Include systemd] *************************************
included: /export/home/admin/.ansible/roles/vbotka.linux_postinstall/tasks/fn/service-systemd.yml for test_01
TASK [vbotka.linux_postinstall : service:systemd: enable/disable] ******************************
ok: [test_01] => (item=smartmontools enabled: True)
ok: [test_01] => (item=udev enabled: True)
TASK [vbotka.linux_postinstall : service:systemd: Debug] ***************************************
included: /export/home/admin/.ansible/roles/vbotka.linux_postinstall/tasks/fn/service-debug.yml for test_01
TASK [vbotka.linux_postinstall : service: Debug management full results] ***********************
skipping: [test_01]
TASK [vbotka.linux_postinstall : service: Debug management selected results] *******************
ok: [test_01] =>
msg: |-
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
changed: False
item:
enabled: true
name: smartmontools
use: auto
name: smartmontools
enabled: True
state: UNDEFINED
msg: UNDEFINED
invocation:
daemon_reexec: false
daemon_reload: false
enabled: true
force: null
masked: null
name: smartmontools
no_block: false
scope: system
state: null
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
changed: False
item:
enabled: true
name: udev
use: service
name: udev
enabled: True
state: UNDEFINED
msg: UNDEFINED
invocation:
daemon_reexec: false
daemon_reload: false
enabled: true
force: null
masked: null
name: udev
no_block: false
scope: system
state: null
TASK [vbotka.linux_postinstall : service:systemd: Flush handlers] ******************************
TASK [vbotka.linux_postinstall : service:systemd: mask/unmask] *********************************
skipping: [test_01]
TASK [vbotka.linux_postinstall : service:systemd: Debug] ***************************************
skipping: [test_01]
TASK [vbotka.linux_postinstall : service:systemd: Flush handlers] ******************************
skipping: [test_01]
TASK [vbotka.linux_postinstall : service:systemd: all] *****************************************
ok: [test_01] => (item=smartmontools enabled: True masked: auto state: started)
ok: [test_01] => (item=udev enabled: True masked: service state: started)
TASK [vbotka.linux_postinstall : service:systemd: Debug] ***************************************
included: /export/home/admin/.ansible/roles/vbotka.linux_postinstall/tasks/fn/service-debug.yml for test_01
TASK [vbotka.linux_postinstall : service: Debug management full results] ***********************
skipping: [test_01]
TASK [vbotka.linux_postinstall : service: Debug management selected results] *******************
ok: [test_01] =>
msg: |-
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
changed: False
item:
enabled: true
name: smartmontools
state: started
use: auto
name: smartmontools
enabled: True
state: started
msg: UNDEFINED
invocation:
daemon_reexec: false
daemon_reload: false
enabled: true
force: null
masked: null
name: smartmontools
no_block: false
scope: system
state: started
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
changed: False
item:
enabled: true
name: udev
state: started
use: service
name: udev
enabled: True
state: started
msg: UNDEFINED
invocation:
daemon_reexec: false
daemon_reload: false
enabled: true
force: null
masked: null
name: udev
no_block: false
scope: system
state: started
TASK [vbotka.linux_postinstall : service: Flush handlers] **************************************