From 394b2ecdb5d343afeb638c3820a6284644160508 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gardais=20J=C3=A9r=C3=A9my?= Date: Tue, 27 Feb 2018 14:05:07 +0100 Subject: [PATCH] Set a var to manage the state of the deployment by this role --- CHANGELOG.md | 3 +++ README.md | 5 ++--- defaults/main.yml | 32 +++++++++++++++++++++++++++----- tasks/main.yml | 13 ++++++------- 4 files changed, 38 insertions(+), 15 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c42e56c..677481d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,9 @@ * Manage services for the lists var (flexlm__licences). * Allow to manage several licences on a same host (close #1). +### Enhancements +* Set a var to manage the state of the deployment by this role. + ## v1.0 ### Features diff --git a/README.md b/README.md index 84f0a80..5d06e35 100644 --- a/README.md +++ b/README.md @@ -15,9 +15,8 @@ A role to manage Flexlm daemon. ## Role Variables -* **flexlm__packages_state** : State of package(s) [default : `present`]. -* **flexlm__packages_manage** : If package(s) should be managed with this role [default : `True`]. -* **flexlm__dependent_packages** : List of additional packages requested as 'flexlm' dependencies [default : `lsb-core`, `unzip`] +* **flexlm__required_packages** : List of required packages requested as 'flexlm' dependencies [default : `lsb-core`] +* **flexlm__deploy_state** : The desired state this role should achieve. [default : `present`]. * **flexlm__lmgrd_version** : Version of `lmgrd` to use [default : `11.14.0.1`]. * **flexlm__lmgrd_source** : Source of the `lmgrd` bin to send [default : `usr/local/bin/lmgrd`]. * **flexlm__lmgrd_path** : The place to store `lmgrd` bin [default : `/usr/local/bin/lmgrd`]. diff --git a/defaults/main.yml b/defaults/main.yml index cecceca..5d7570d 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -1,10 +1,31 @@ --- -# defaults file for flexlm +# .. vim: foldmarker=[[[,]]]:foldmethod=marker -# packages -flexlm__packages_state: 'present' -flexlm__packages_manage: True -flexlm__dependent_packages: [ 'lsb-core', 'unzip' ] +# ipr-cnrs.flexlm default variables [[[ +# ====================================== + +# Packages and installation [[[ +# ----------------------------- + +# .. envvar:: flexlm__base_packages [[[ +# +# List of base packages to install. +flexlm__required_packages: + - 'lsb-core' + # ]]] +# .. envvar:: flexlm__deploy_state [[[ +# +# What is the desired state which this role should achieve? Possible options: +# +# ``present`` +# Default. Ensure that flexlm is installed and configured as requested. +# +# ``absent`` +# Ensure that flexlm is uninstalled and it's configuration is removed. +# +flexlm__deploy_state: 'present' + # ]]] + # ]]] # bin flexlm__lmgrd_version: '11.14.0.1' @@ -33,3 +54,4 @@ flexlm__service_manage: True flexlm__service_enabled: True flexlm__service_unit_content: 'etc/systemd/system/flexlm.service.j2' + # ]]] diff --git a/tasks/main.yml b/tasks/main.yml index f31974c..bf32db4 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -1,17 +1,16 @@ --- +# .. vim: foldmarker=[[[,]]]:foldmethod=marker +# # tasks file for flexlm -# package {{{ -- name: INSTALL FlexLM packages +# Manage required system packages [[[1 +- name: Ensure required packages are in there desired state package: name: '{{ item }}' - state: '{{ flexlm__packages_state }}' + state: '{{ "present" if (flexlm__deploy_state == "present") else "absent" }}' install_recommends: False with_flattened: - - '{{ flexlm__dependent_packages }}' - when: flexlm__packages_manage - -# }}} + - '{{ flexlm__required_packages }}' # user - name: Create flexlm user