Skip to content

lbl-camera/epics-ansible-role

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ansible Role: EPICS

main

This Ansible role installs the EPICS Base, selected EPICS support modules, areadetector, and areadetector iocs on Debian and RedHat/CentOS-based systems.

Requirements

  • Ansible 2.9+
  • Git

Example Playbook

This example playbook will the ADAndor IOC and all epics components required to support it.

- name: epics
  hosts: all
  roles:
    - role: epics
      vars:
      areadetector_iocs:
        ADAndor: master

An example inventory.ini and playbook.yaml are included. Note that the default install path is /epics, therefore the install must be run with escalated privileges (or the install dir modified).

$ ansible-playbook -i inventory.ini playbook.yaml

Role Variables

Location Variables

These variables should be defined in your playbook or inventory:

Variable Description Default
epics_dir Directory to install EPICS /epics
epics_version EPICS Base version to install R7.0.8.1
epics_host_arch Target architecture for EPICS (e.g., linux-x86_64) Auto-detected

Support Modules

Support modules required for areadetector will be installed by default. You change the selection of which support modules to install, and their versions, by setting install_modules, for example:

install_modules:
  asyn: "R4-44"

Support modules are installed in the order specified. This is important, as there are cross-dependencies. See the defaults in defaults/main.yml for a typical install sequence.

Dependency Variables

Variable Description Default
use_tirpc Uses libtirpc as a provider of RPC related symbols (recommended on newer environments) yes
use_xml2 Uses libxml2 as a provider of xml related symbols (recommended on newer environments) yes

IOC Variables

By default, no areadetector IOCs will be installed. You must specify desired iocs (and versions) in the areadetector_iocs variable.

areadetector_iocs:
  ADAndor: master

For Developers

To accelerate local development of this role, you may use act to run the test workflow locally in an isolated docker container. The steps for this are:

  • Install Docker Desktop
  • Download act and extract into this project directory
  • Run ./act
  • (First run only) Select the "Medium" image as the default

Act then execute the workflow in an isolated environment, running the playbook at .github/playbooks/test-playbook.yaml.


This repo was forked from infn-epics/epics-ansible-role, which provides a role for installing epics base and certain support IOCs. This repo is an extension and refactoring of that to support areadetector and IOC installation.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages