Project

General

Profile

Actions

Idea #6884

closed

[Deployment] Plan addition of init scripts to Arvados daemon packages

Added by Brett Smith over 8 years ago. Updated over 8 years ago.

Status:
Resolved
Priority:
Normal
Assigned To:
-
Category:
Deployment
Target version:
-
Start date:
08/05/2015
Due date:
Story points:
1.0

Description

This is a planning story. The expected outcome is more well-specified stories.

Background: Right now our install docs usually suggest you use runit to supervise daemon processes. This has several downsides:

  • It repeatedly complicates the install instructions with infrastructure that could be added to the packages directly.
  • runit is unfamiliar to many users, which adds to the difficulty of system deployment and maintenance.
  • runit is not readily available on CentOS 6, and possibly other versions.

Questions the planning process should answer:

  • What supervisors do we need to support? I assume sysvinit and systemd. It's probably relatively easy to support runit since we have most of the scripts written already. Any others? Ubuntu 12.04 has Upstart, but apparently with some level of sysvinit compatibility, which makes it seem lower-priority to me.
  • How should we support multiple supervisors? One option that seems to have support is to have the package install a script for the distro's native init, but include other scripts in /usr/share/doc (or wherever). We can consider other options.
  • [Others? See the discussion starting at 6663 note 30 for some deployment background and desired functionality.]

It would be cleanest to have a separate story for every daemon package, although hopefully once we have one or two under our belts, the rest will go much more quickly.

Implementation notes

Nico has investigated using pleaserun to generate scripts. Generally it makes templates that you'd rather check in to Git and maintain by hand. Trying to coax it to generate scripts that are ready for production seems like more trouble than it's worth.

The goal is to have all of these read necessary configuration from the same place; e.g., a configuration file in /etc/default or /etc/sysconfig.


Related issues

Related to Arvados - Feature #6034: [Deployment] Add sysvinit script to the keepproxy packageRejectedNico César10/14/2015Actions
Actions

Also available in: Atom PDF