Forge Home

epics_gateway

Puppet module for EPICS Channel Access Gatway

3,475 downloads

856 latest version

5.0 quality score

We run a couple of automated
scans to help you access a
module's quality. Each module is
given a score based on how well
the author has formatted their
code and documentation and
modules are also checked for
malware using VirusTotal.

Please note, the information below
is for guidance only and neither of
these methods should be considered
an endorsement by Puppet.

Version information

  • 1.1.2 (latest)
  • 1.1.1
  • 1.1.0
released Dec 10th 2020
This version is compatible with:
  • Puppet Enterprise 2019.8.x, 2019.7.x, 2019.5.x, 2019.4.x, 2019.3.x, 2019.2.x, 2019.1.x, 2019.0.x, 2018.1.x
  • Puppet >= 5.5.0 < 7.0.0

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation
  • Direct download

Add this module to your Puppetfile:

mod 'mark0n-epics_gateway', '1.1.2'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add mark0n-epics_gateway
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install mark0n-epics_gateway --version 1.1.2

Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.

Download

Documentation

mark0n/epics_gateway — version 1.1.2 Dec 10th 2020

This Puppet module installs and configures the EPICS Channel Access Gateway. The gateway is run in 'procServ' to ease maintenance. The gateway can be started/stopped as a systemd service.

Note that there is a non-instance specific part which is only needed once for each host acting as a Channel Access gateway and an instance-specific part which is needed for each instance of the gateway. The general part can be found in class epics_gateway whereas epics_gateway::gateway needs to be instantiated for each gateway instance that should be run on the managed machine.

Examples that require multiple gateway instances on a single machine include:

a) A gateway machine providing access to an accelerator network as well as to an experimental network from the office network (three networks). b) A gateway machine that provides access back and forth between an accelerator network and an experimental network (thus acting as a forward and reverse gateway).

Examples

Make PVs from 192.168.1.xxx and 192.168.2.xxx available on 192.168.3.xxx:

include 'epics_gateway'

vcsrepo { '/etc/epics/cagateway-192.168.1.xxx':
  ...
}

vcsrepo { '/etc/epics/cagateway-192.168.2.xxx':
  ...
}

epics_gateway::gateway { '192.168.1.xxx':
  server_ip => '192.168.3.1',
  client_ip => '192.168.1.255',
  require   => Package['ioclogserver'],
  subscribe => Vcsrepo['/etc/epics/cagateway-192.168.1.xxx'],
}

epics_gateway::gateway { '192.168.2.xxx':
  server_ip => '192.168.3.1',
  client_ip => '192.168.2.255',
  require   => Package['ioclogserver'],
  subscribe => Vcsrepo['/etc/epics/cagateway-192.168.2.xxx'],
}

Contact

Author: Martin Konrad