4.7 KiB
4.7 KiB
Flexlm
Overview
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__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
]. - flexlm__lmutil_source : Source of the
lmutil
bin to send [default :usr/local/bin/lmutil
]. - flexlm__lmutil_path : The place to store
lmutil
bin [default :/usr/local/bin/lmutil
]. - flexlm__user_name : Username used to launch
lmgrd
[default :flexlm
]. - flexlm__licence_file : Licence file to deserve [default :
/opt/flexlm/VENDOR/licence.lic
]. - flexlm__licences : Lists to manage vendor daemon and licence files [default :
[]
]. - flexlm__service_manage : If Licence Manager service should be managed with this role [default :
True
]. - flexlm__service_enabled : If Licence Manager service should be enable at startup [default :
True
]. - flexlm__service_name : Service name [default :
flexlm
]. - flexlm__service_description : Description of the systemd unit [default :
flexlm Licence Manager
]. - flexlm__service_working_directory : Working directory of the systemd unit [default :
/opt/flexlm/VENDOR
]. - flexlm__service_unit_path : Systemd unit path [default :
/etc/systemd/system/{{ flexlm__service_name }}.service
]. - flexlm__service_unit_content : Template used to generate the previous file [default :
etc/systemd/system/flexlm.service.j2
].
Example Playbook
- Manage Flexlm with defaults vars :
- hosts: serverXYZ
roles:
- role: ipr-cnrs.flexlm
- Manage Flexlm to provide Intel Fortran :
- hosts: intel-lm
roles:
- role: ipr-cnrs.flexlm
flexlm__service_working_directory: '/opt/intel/bin'
flexlm__licence_file: '/opt/intel/etc/license.lic'
flexlm__service_description: 'Licence Manager for Intel Fortran'
- Manage Flexlm to provide Matlab Licence and vendor daemon :
- hosts: matlab-lm
roles:
- role: ipr-cnrs.flexlm
flexlm__service_working_directory: '/opt/matlab/bin'
flexlm__licence_file: '/opt/matlab/etc/license.lic'
flexlm__service_description: 'Licence Manager for Matlab'
flexlm__licences:
- name: matlab
bin_path: '/opt/matlab/bin'
bin_src: '{{ inventory_dir + "/../resources/service/matlab-lm/bin/" }}'
lic_path: '/opt/matlab/etc/licence.lic' # need to be a file
lic_src: '{{ inventory_dir + "/../resources/host/matlab-lm.domain/etc/licence.lic" }}' # need to be a file
Configuration
This role will :
- Copy the
lmgrd
andlmutil
binaries to the client. - Create a specific user to launch daemon.
- Set up a systemd service. Thanks to Kalebo instructions.
- Copy vendor daemon binaries to the host if specified.
- Copy licence file to the host if specified.
The lmgrd
and lmutil
binaries comes from Mathworks in version flexlm__lmgrd_version.
Development
This source code comes from our Gogs instance and the Github repo exist just to be able to send the role to Ansible Galaxy…
But feel free to send issue/PR anywhere :)
Thanks to this hook, Github automatically got updates from our Gogs instance :)
License
Author Information
Jérémy Gardais
- Source : on IPR's Gogs
- IPR (Institut de Physique de Rennes)