From b81bc242ac6d334cb04e2fef07aa93c358fa7a0c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gardais=20J=C3=A9r=C3=A9my?= Date: Mon, 26 Nov 2018 11:48:59 +0100 Subject: [PATCH] Install base packages for all racadm usage --- CHANGELOG.md | 1 + README.md | 4 +++- defaults/main.yml | 27 ++++++++++++++++++++++++++- tasks/main.yml | 10 ++++++++++ 4 files changed, 40 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 56ac16f..329f6f0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,3 +4,4 @@ ### Features * Add linux.dell.com repo * Set "present" state for Dell hardware +* Install base packages for all racadm usage diff --git a/README.md b/README.md index fb5df1c..e825f02 100644 --- a/README.md +++ b/README.md @@ -16,8 +16,9 @@ A role to manage Openmanage installation and configuration. * ** openmanage__repositories** : List of APT repositories that can provide OpenManage. Each entry is a dict [default : `See default/main.yml`]. -* **openmanage__base_packages** : List of base packages in order to provide Openmanage [default : `openmanage`]. * **openmanage__deploy_state** : The desired state this role should achieve. [default for Dell hardware : `present`]. +* **openmanage__install_recommends** : If recommended packages should be install. [default : `False`]. +* **openmanage__base_packages** : List of base packages for all racadm base usage [default : `See default/main.yml`]. ## Example Playbook @@ -34,6 +35,7 @@ openmanage__repositories** : List of APT repositories that can provide OpenMan This role will : * Add an APT repository in order to provide OpenManage. +* Install basic packages for all racadm usage. ## Development diff --git a/defaults/main.yml b/defaults/main.yml index b6743bb..e098dc4 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -32,7 +32,7 @@ openmanage__repositories: else "absent" }}' # ]]] # ]]] -# Packages and installation [[[ +# Installation and Packages [[[ # ----------------------------- # .. envvar:: openmanage__deploy_state [[[ @@ -49,4 +49,29 @@ openmanage__deploy_state: '{{ "present" if (ansible_system_vendor is search("Dell")) else "absent" }}' # ]]] +# .. envvar:: openmanage__install_recommends [[[ +# +# If recommended packages should be install ? Possible options : +# +# ``False`` +# Default. +# +# ``True`` +# +openmanage__install_recommends: False + # ]]] +# .. envvar:: openmanage__base_packages [[[ +# +# List of base packages to install. +# +openmanage__base_packages: + - 'srvadmin-base' + - 'srvadmin-idracadm7' + - 'srvadmin-idrac-ivmcli' + - 'srvadmin-idrac-vmcli' + - 'srvadmin-omcommon' + - 'srvadmin-server-cli' + - 'srvadmin-server-snmp' + - 'srvadmin-storageservices' + # ]]] # ]]] diff --git a/tasks/main.yml b/tasks/main.yml index 0ffaca4..6bbb670 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -33,3 +33,13 @@ when: (openmanage__deploy_state == "present") and (openmanage__register_repositories.changed or openmanage__register_key.changed) + +# Manage packages [[[1 +## 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 }}'