Install a flexlm daemon
Go to file
Jeremy Gardais b4b3631f29 Add a way to provide vendor daemon for licences 2018-02-27 08:32:20 +01:00
defaults Add a way to provide vendor daemon for licences 2018-02-27 08:32:20 +01:00
files/usr/local/bin Copy `lmgrd` and `lmutil` binaries 2018-02-23 14:32:08 +01:00
handlers Ensure to enable the service and reload list of systemd units 2018-02-23 16:22:47 +01:00
meta Init repo 2018-02-23 11:18:33 +01:00
tasks Add a way to provide vendor daemon for licences 2018-02-27 08:32:20 +01:00
templates/etc/systemd/system Possibility to set working directory and licence file in the service unit 2018-02-23 16:37:38 +01:00
tests Init repo 2018-02-23 11:18:33 +01:00
.travis.yml Init repo 2018-02-23 11:18:33 +01:00
CHANGELOG.md Add a way to provide vendor daemon for licences 2018-02-27 08:32:20 +01:00
README.md Add a way to provide vendor daemon for licences 2018-02-27 08:32:20 +01:00

README.md

Flexlm

  1. Overview
  2. Role Variables
  3. Example Playbook
  4. Configuration
  5. Development
  6. License
  7. Author Information

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 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/" }}'

Configuration

This role will:

  • Copy the lmgrd and lmutil 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.

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

WTFPL

Author Information

Jérémy Gardais