Giter VIP home page Giter VIP logo

puppet-antelope's People

Contributors

abrust-ucsd avatar decibelhertz avatar geoffdavis avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

puppet-antelope's Issues

Add support for running ald_proxy as a service

From the BRTT man page notes_licensing(5):

A special program, ald_proxy, is part of the standard distribution and is included to provide a license proxy mechanism. This program, like the other licensing programs, is statically linked, does not require an Antelope license to run and does not depend in any way on the Antelope distribution and can therefore be run on any host computer with or without an installed Antelope distribution or license. ald_proxy provides an internet proxy for connections to external Antelope license servers. This would be used in a very secure environment in which most of the Antelope host computers had no access to the outside internet. ald_proxy would be run on a machine outside of the firewall on port 6599 and would connect to license servers in the normal manner using all of the configuration environment variables. Hosts inside the firewall would connect to ald_proxy through the use of the ANTELOPE_LICENSE_SERVER_ADDRS environment variable which would be set to the proxy host address. A single hole in the firewall to the proxy host computer would be the only necessary outside connection.

Clients can also use an Antelope parameter file called license_env.pf to control the ANTELOPE_LICENSE_SERVER_ADDRS variable.

The ald_proxy process does not need to run inside of an rtexec process, and really doesn't need a site.pf, so it's a prime candidate for creating it's own service instance.

For clients, there probably ought to be some hooks to control license_env.pf at the distribution level, similar to the antelope::versioned_site_pf defined type that ships with this module already.

Allow for inter-rtexec instance dependencies

The stock antelope init script as provided by BRTT makes the assumption that multiple rtexec instances on a server are not tightly coupled - that is, any of the rtexec instances can be started stopped independently of one another. Based on this assumption, the init script starts and stops all rtexec instances in parallel.

This leads to problems when a process in one rtexec instance runs processes that have hard-dependencies on a process supervised by another rtexec process. An example of this is:

  • system 1, named admin, runs the Datascope Database ID Server, dbids
  • system 2, named project, runs database writing processes, such as orb2db, orb2dbt, orb2wf

What happens is that the admin rtexec will stop dbids before the database writing processes have a chance to finish their write operations. Once dbids stops responding, orb2db and friends will wait indefinitely until it returns. The project rtexec will wait a timeout interval and then forcibly terminate (SIGKILL) orb2db, resulting in database gaps.

A workaround would be to combine the admin and project realtime systems, and make use of rtexec's Shutdown_order parameter, but there are situations where that isn't desirable.

One solution is to add an option to the current SYSV init script that makes it start and stop systems sequentially. Another would be to do this using SystemD on EL7 systems. See GH-2 for the EL7 work.

Support for Puppet 4

This module needs to be made compatible with Puppet 4. Various fixups are required due to language changes, including replacing all empty string checks with undef. The puppet-lint checker doesn't really get all of these, just variable assignments.

Support for EL7

This module needs to work on CentOS 7 / RedHat Enterprise Linux (RHEL) 7.

The biggest change that this will entail is converting the system init script from SYSV format to the SystemD manifest format.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.