--- # .. vim: foldmarker=[[[,]]]:foldmethod=marker # # tasks file for fusioninventory - name: Include package list per OS include_vars: "{{ lookup('first_found', params) }}" vars: params: files: - '{{ ansible_distribution }}.yml' - '{{ ansible_os_family }}.yml' paths: - 'vars' # Manage fusioninventory related packages [[[1 - name: Ensure related packages are installed package: name: '{{ (fusioninventory__agent_depend_packages|d([]) + fusioninventory__agent_recommend_packages|d([]) + fusioninventory__agent_extra_packages|d([])) | flatten }}' state: 'present' register: pkg_dep_result until: pkg_dep_result is success when: ((fusioninventory__agent_package_url|length > 0) and (fusioninventory__agent_deploy_state == "present")) # Manage agent package [[[1 # Specific tasks per OS will be in the include otherwise below - name: Include tasks per OS include: "{{ lookup('first_found', params) }}" vars: params: files: - '{{ ansible_distribution }}.yml' - '{{ ansible_os_family }}.yml' - name: Ensure fusioninventory-agent package from REPOS package: name: '{{ fusioninventory__agent_packages | flatten }}' state: '{{ "present" if (fusioninventory__agent_deploy_state == "present") else "absent" }}' register: pkg_agent_repo_result until: pkg_agent_repo_result is success when: fusioninventory__agent_package_url|length == 0 # Manage agent configuration file [[[1 - name: Create Fusioninventory-agent configuration template: src: '{{ fusioninventory__agent_conf_src }}' dest: "/etc/fusioninventory/agent.cfg" owner: root group: root mode: '0644' when: fusioninventory__agent_deploy_state == "present" notify: ['restart fusioninventory-agent service'] - name: Ensure the service is in the correct state service: name: "{{ fusioninventory__agent_service_name }}" state: "{{ fusioninventory__agent_service_status }}" enabled: "{{ fusioninventory__agent_service_enabled }}" 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 }}"