2
0
Fork 0

Merge branch 'Yoda-BZH-service-cron'

This commit is contained in:
Jeremy Gardais 2023-08-07 15:43:02 +02:00
commit b5bdf41a76
Signed by: jegardai
GPG Key ID: E759BAA22501AF32
4 changed files with 85 additions and 0 deletions

View File

@ -2,6 +2,7 @@
### Enhancement ### Enhancement
* Upgrade package version from URL from 2.4 to 2.6 (thanks to @roumano - issue #15). * Upgrade package version from URL from 2.4 to 2.6 (thanks to @roumano - issue #15).
* Allow running the agent with a cron job instead of the service (thanks to @yodabzh - issue #18)
* Allow service to be managed, (thanks to @yodabzh - issue #17). * Allow service to be managed, (thanks to @yodabzh - issue #17).
### Fix ### Fix

View File

@ -27,6 +27,17 @@ A role to manage FusionInventory agent installation and configuration.
* **fusioninventory__agent_service_status**: Service state, can be started, stopped, restarted, reloaded [default : `started`]. * **fusioninventory__agent_service_status**: Service state, can be started, stopped, restarted, reloaded [default : `started`].
* **fusioninventory__agent_service_enabled**: Service status, can be enabled (`true`) or disabled (`false`) [default: `true`]. * **fusioninventory__agent_service_enabled**: Service status, can be enabled (`true`) or disabled (`false`) [default: `true`].
## Cron variables
* **fusioninventory__agent_conf_cron**: Enable (`"present"`) or disable (`"absent"`) a job cron to run the agent [default: `"absent"`].
* **fusioninventory__agent_conf_cron_day**: Which days should the agent be ran [default: `"*"`].
* **fusioninventory__agent_conf_cron_hour**: Which hours should the agent be ran [default: `"23"`].
* **fusioninventory__agent_conf_cron_minute**: Which minutes should the agent be ran [default: `"0"`].
* **fusioninventory__agent_conf_cron_month**: Which months should the agent be ran [default: `"*"`].
* **fusioninventory__agent_conf_cron_weekday**: Which weekdays should the agent be ran [default: `"*"`].
* **fusioninventory__agent_conf_cron_user**: Which user should the agent be ran under [default: `"root"`].
* **fusioninventory__agent_conf_command**: The command should cron run [default: `"sleep $(( RANDOM \\% 3600 )); /usr/bin/fusioninventory-agent"`].
### Config Specific Variables ### Config Specific Variables
Some variables used to generate FusionInventery agent.cfg file from Ansible template: Some variables used to generate FusionInventery agent.cfg file from Ansible template:

View File

@ -72,7 +72,66 @@ fusioninventory__agent_service_enabled: true
fusioninventory__agent_service_manage: true fusioninventory__agent_service_manage: true
# ]]] # ]]]
# Cron configuration [[[
# -----------------------------
# .. envvar:: fusioninventory__agent_conf_cron [[[
#
# Instead of running as an agent, run by cron. Can be "absent" or "present"
#
fusioninventory__agent_conf_cron: "absent"
# ]]] # ]]]
# .. envvar:: fusioninventory__agent_conf_cron_day [[[
#
# Which days should the agent be ran
#
fusioninventory__agent_conf_cron_day: "*"
# ]]]
# .. envvar:: fusioninventory__agent_conf_cron_hour [[[
#
# Which hours should the agent be ran
#
fusioninventory__agent_conf_cron_hour: "23"
# ]]]
# .. envvar:: fusioninventory__agent_conf_cron_minute [[[
#
# Which minutes should the agent be ran
#
fusioninventory__agent_conf_cron_minute: "0"
# ]]]
# .. envvar:: fusioninventory__agent_conf_cron_month [[[
#
# Which months should the agent be ran
#
fusioninventory__agent_conf_cron_month: "*"
# ]]]
# .. envvar:: fusioninventory__agent_conf_cron_weekday [[[
#
# Which weekdays should the agent be ran
#
fusioninventory__agent_conf_cron_weekday: "*"
# ]]]
# .. envvar:: fusioninventory__agent_conf_cron_user [[[
#
# Which user should the agent be ran under
#
fusioninventory__agent_conf_cron_user: "root"
# ]]]
# .. envvar:: fusioninventory__agent_conf_command [[[
#
# The command should cron run
#
fusioninventory__agent_conf_command: "sleep $(( RANDOM \\% 3600 )); /usr/bin/fusioninventory-agent"
# ]]]
# ]]]
# Configuration [[[ # Configuration [[[
# ----------------------------- # -----------------------------

View File

@ -63,3 +63,17 @@
state: "{{ fusioninventory__agent_service_status }}" state: "{{ fusioninventory__agent_service_status }}"
enabled: "{{ fusioninventory__agent_service_enabled }}" enabled: "{{ fusioninventory__agent_service_enabled }}"
when: fusioninventory__agent_deploy_state == "present" when: fusioninventory__agent_deploy_state == "present"
- name: "Create cron entry when needed"
cron:
name: fusion-inventory-oneshot
cron_file: fusion-inventory-oneshot
day: "{{ fusioninventory__agent_conf_cron_day }}"
hour: "{{ fusioninventory__agent_conf_cron_hour }}"
minute: "{{ fusioninventory__agent_conf_cron_minute }}"
month: "{{ fusioninventory__agent_conf_cron_month }}"
weekday: "{{ fusioninventory__agent_conf_cron_weekday }}"
user: "{{ fusioninventory__agent_conf_cron_user }}"
state: "{{ fusioninventory__agent_conf_cron }}"
job: "{{ fusioninventory__agent_conf_command }}"