ansible.openmanage/tasks/main.yml

156 lines
5.1 KiB
YAML
Raw Normal View History

2018-11-23 15:19:21 +01:00
---
# .. vim: foldmarker=[[[,]]]:foldmethod=marker
#
# tasks file for openmanage
2018-11-23 15:19:21 +01:00
# Manage repository [[[1
## Add repository
- name: Add OpenManage repository
apt_repository:
2021-09-01 11:52:45 +02:00
update_cache: false
2018-11-23 15:19:21 +01:00
repo: '{{ item.repo }}'
mode: '{{ item.mode | d(omit) }}'
filename: '{{ item.filename | d(omit) }}'
state: '{{ item.state | d("present") }}'
with_flattened:
- '{{ openmanage__repositories }}'
register: openmanage__register_repositories
until: openmanage__register_repositories is success
2018-11-23 15:19:21 +01:00
## Add repository key
### Don't remove the APT key, cause differents repos can have the same key
2018-11-23 15:19:21 +01:00
- name: Add OpenManage repo key
apt_key:
url: '{{ item.key_url | d(omit) }}'
id: '{{ item.key_id | d(omit) }}'
2019-04-10 14:23:21 +02:00
keyring: '/etc/apt/trusted.gpg.d/linux.dell.com.gpg'
2018-11-23 15:19:21 +01:00
keyserver: '{{ item.key_keyserver | d(omit) }}'
with_flattened:
- '{{ openmanage__repositories }}'
register: openmanage__register_key
until: openmanage__register_key is success
when: (openmanage__deploy_state == "present")
2018-11-23 15:19:21 +01:00
## Update cache
- name: Update APT cache
apt:
2021-09-01 11:52:45 +02:00
update_cache: '{{ true
if (openmanage__register_key is changed or
openmanage__register_repositories is changed)
else
2021-09-01 11:52:45 +02:00
false }}'
2019-02-27 14:34:12 +01:00
register: openmanage__register_update
until: openmanage__register_update is success
when: (openmanage__deploy_state == "present")
# Manage packages [[[1
2018-11-26 12:04:12 +01:00
## Manage depencies packages
- name: Ensure dependencies are present
package:
name: '{{ item }}'
state: "present"
install_recommends: '{{ openmanage__install_recommends | bool }}'
with_flattened:
- '{{ openmanage__dep_packages | to_nice_json }}'
2019-02-27 14:17:58 +01:00
register: pkg_dep_result
until: pkg_dep_result is success
2018-11-26 12:04:12 +01:00
when: (openmanage__deploy_state == "present")
## Manage Debian Stretch (or Ubuntu Xenial) specific packages
- name: "Ensure 910 specific packages (Stretch|Xenial) are in there desired state"
package:
name: '{{ item }}'
state: "present"
install_recommends: '{{ openmanage__install_recommends | bool }}'
with_flattened:
- '{{ openmanage__stretch_packages | to_nice_json }}'
register: pkg_stretch_result
until: pkg_stretch_result is success
when: (openmanage__deploy_state == "present" and
( (ansible_distribution == "Debian" and ansible_distribution_major_version is version("9", "<=")) or
2020-09-23 15:49:59 +02:00
(ansible_distribution == "Ubuntu" and ansible_distribution_version is version("16.04", "<="))))
## Manage base system packages
- name: Ensure base packages are in there desired state
package:
name: '{{ item }}'
state: '{{ "present" if (openmanage__deploy_state == "present") else "absent" }}'
install_recommends: '{{ openmanage__install_recommends | bool }}'
with_flattened:
- '{{ openmanage__base_packages | to_nice_json }}'
2019-02-27 14:17:58 +01:00
register: pkg_base_result
until: pkg_base_result is success
2018-11-26 11:53:23 +01:00
## Manage OMSA webgui packages
- name: Ensure OMSA-webgui packages are in there desired state
package:
name: '{{ item }}'
state: '{{ "present" if (openmanage__deploy_state == "present") and
(openmanage__webgui_state == "present")
else "absent" }}'
install_recommends: '{{ openmanage__install_recommends | bool }}'
with_flattened:
- '{{ openmanage__webgui_packages | to_nice_json }}'
register: pkg_webgui_result
until: pkg_webgui_result is success
notify: ['restart webgui service']
## Remove all OpenManage packages if requested
2020-09-21 17:03:38 +02:00
- name: Gather the Package facts
package_facts:
manager: auto
- name: Ensure to remove OpenManage related packages if requested
package:
name: 'srvadmin*'
state: "absent"
register: pkg_remove_result
until: pkg_remove_result is success
2020-09-21 17:03:38 +02:00
when:
- (openmanage__deploy_state == "absent")
- "'srvadmin' in ansible_facts.packages"
2018-11-26 11:53:23 +01:00
# Executable [[[1
## Fix some permissions
- name: Ensure Executables can be run
file:
path: /opt/dell/srvadmin/sbin/racadm-wrapper-idrac7
mode: 0755
2018-12-03 15:46:48 +01:00
when: (openmanage__deploy_state == "present")
2018-11-26 14:14:24 +01:00
## Fix RAC1170 error
- name: Fix libssl error RAC1170
file:
src: "/usr/lib/x86_64-linux-gnu/libssl.so.1.0.2"
path: "/opt/dell/srvadmin/lib64/libssl.so"
2018-11-26 14:14:24 +01:00
state: link
when: (openmanage__deploy_state == "present" and
( (ansible_distribution == "Debian" and ansible_distribution_major_version is version("9", "<=")) or
2020-09-23 15:49:59 +02:00
(ansible_distribution == "Ubuntu" and ansible_distribution_version is version("16.04", "<="))))
## Manage symlinks for OpenManage/racadm apps
- name: Ensure some Executables are in PATH
file:
src: "/opt/dell/srvadmin/sbin/{{ item }}"
path: "/bin/{{ item }}"
state: "link"
with_items:
- 'omconfig'
- 'omexec'
- 'omreport'
- 'omupdate'
- 'racadm'
when: (openmanage__deploy_state == "present")
- name: Remove Executables symlinks
file:
path: "/bin/{{ item }}"
state: "absent"
with_items:
- 'omconfig'
- 'omexec'
- 'omreport'
- 'omupdate'
- 'racadm'
when: (openmanage__deploy_state == "absent")