Install a flexlm daemon
Go to file
Jeremy Gardais 212ea834b5 Ensure to install requirements on Debian Stretch 2020-05-06 17:18:34 +02:00
defaults Upgrade lmgrd and lmutil binaries to 11.16.2.1 2019-10-08 10:16:04 +02:00
files/usr/local/bin Upgrade lmgrd and lmutil binaries to 11.16.2.1 2019-10-08 10:16:04 +02:00
handlers Fix E503 Task that run when changed should likely be handlers 2019-02-26 17:30:43 +01:00
meta Set empty dependencies line to fix Galaxy warning 2018-08-06 15:25:43 +02:00
tasks Ensure to install requirements on Debian Stretch 2020-05-06 17:18:34 +02:00
templates/etc/systemd/system Allow to manage the RestartSec parameter of the unit 2018-02-27 16:07:27 +01:00
tests Init repo 2018-02-23 11:18:33 +01:00
vars Ensure to install requirements on Debian Stretch 2020-05-06 17:18:34 +02:00
.travis.yml Init repo 2018-02-23 11:18:33 +01:00
CHANGELOG.md Ensure to install requirements on Debian Stretch 2020-05-06 17:18:34 +02:00
README.md Upgrade lmgrd and lmutil binaries to 11.16.2.1 2019-10-08 10:16:04 +02:00

README.md

Flexlm

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

Overview

A role to manage Flexlm daemon and licence/binaries files.

Role Variables

  • 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.16.2.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__service_unit_content: Template used to generate the previous file [default: etc/systemd/system/flexlm.service.j2].
  • flexlm__licences: Lists to manage vendor daemon and licence files [default: []].

Example Playbook

  • Manage Flexlm to provide Intel Fortran (without binaries):
- hosts: intel-lm
  roles:
    - role: ipr-cnrs.flexlm
      flexlm__licences:
        - name: intel
          description: 'flexlm Licence Manager for Matlab'
          bin_path: '/opt/intel/bin'
          lic_path: '/opt/matlab/etc/licence.lic'          # need to be a file
  • Manage Flexlm to provide Matlab Licence and vendor daemon binaries:
- hosts: matlab-lm
  roles:
    - role: ipr-cnrs.flexlm
      flexlm__licences:
        - name: matlab
          description: 'flexlm Licence Manager for 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 and lmutil binaries to the client.
  • Create a specific user to launch daemon.
  • Set up a systemd service (flexlm-item.name). Thanks to Kalebo instructions.
  • Copy vendor daemon binaries to the host if source is specified.
  • Copy licence file to the host if source is specified.
  • Create a symlink (/usr/tmp) to /tmp to avoid error.

The lmgrd and lmutil binaries comes from Mathworks in version flexlm__lmgrd_version.

Known Issues

  • If a value of one licence change in flexlm__licences var, all services will be restarted.

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