Forge Home

ccs_software

Configure CCS Software

8,985 downloads

57 latest version

Version information

  • 2.10.0 (latest)
  • 2.9.0
  • 2.8.1
  • 2.8.0
  • 2.7.0
  • 2.6.0
  • 2.5.0
  • 2.4.0
  • 2.3.0
  • 2.2.2
  • 2.2.1
  • 2.2.0
  • 2.1.0
  • 2.0.0
  • 1.4.0
  • 1.3.0
  • 1.2.1
  • 1.2.0
  • 1.1.4
  • 1.1.3
  • 1.1.2
released Apr 22nd 2025
This version is compatible with:
  • Puppet Enterprise 2025.2.x, 2025.1.x, 2023.8.x, 2023.7.x, 2023.6.x, 2023.5.x, 2023.4.x, 2023.3.x, 2023.2.x, 2023.1.x, 2023.0.x, 2021.7.x, 2021.6.x, 2021.5.x, 2021.4.x, 2021.3.x, 2021.2.x, 2021.1.x, 2021.0.x
  • Puppet >= 7.0.0 < 9.0.0
  • ,

Start using this module

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

Add this module to your Puppetfile:

mod 'lsst-ccs_software', '2.10.0'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add lsst-ccs_software
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install lsst-ccs_software --version 2.10.0

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

lsst/ccs_software — version 2.10.0 Apr 22nd 2025

ccs_software

Build Status

Table of Contents

  1. Overview
  2. Description
  3. Setup - The basics of getting started with ccs_software
  4. Usage - Configuration options and additional functionality
  5. Reference - An under-the-hood peek at what the module is doing and how

Overview

This module manages installations of Camera Control System (CCS) software.

Description

The ccs_software module can optionally manage one or more installations.

Setup

What ccs_software affects

  • install.py script
  • ccs /scripts/
  • /lsst link
  • clone(s) of the package-list repo
  • ccs etc directory
  • ccs log directory
  • [optional] /installations/ of ccs software
  • [optional] systemd service units for ccs applications

Setup Requirements

Usage

Absolute Minimal Example / If you want to manually create installations

When the ccs_software class is included with no parameters it will create directories, install the install.py script, etc. but it will not create a CCS installation.

accounts::user { 'ccs': }
accounts::user { 'ccsadm': }
include ccs_software

Example profile

This is an example of minimal profile that provides the requirements listed in Setup requirements. The intent is that the majority of configuration to the ccs_software class be provided via hiera data.

class profile::ccs::common {
  include ccs_software
  include accounts
  include java_artisanal

  Class['java_artisanal']
  -> Class['ccs_software']

  accounts::user { 'ccs':
    uid => 62000,
    gid => 62000,
  }
  accounts::user { 'ccsadm':
    uid => 62001,
    gid => 62001,
  }
}

Installation(s)

This example creates two installations at the paths /opt/lsst/ccs/master and /opt/lsst/ccs/e4a8224. Where master and e4a8224 are refs in the lsst-camera-dh/dev-package-lists.

---
classes:
  - "profile::ccs::common"

ccs_software::hostname: "comcam-mcm"  # not required if `comcam-mcm` is the real hostname
ccs_software::env: "ComCam"
ccs_software::installations:
  master: {}
  e4a8224: {},

The literal invocations of the install.py command would be something like:

/opt/lsst/release/bin/install.py --ccs_inst_dir /opt/lsst/ccs/master /opt/lsst/ccsadm/package-lists/master/ComCam/comcam-mcm/ccsApplications.txt

and

/opt/lsst/release/bin/install.py --ccs_inst_dir /opt/lsst/ccs/e4a8224 /opt/lsst/ccsadm/package-lists/e4a8224/ComCam/comcam-mcm/ccsApplications.txt

Note that a separate clone of the dev-package-lists repo is created for each installation.

Service(s)

This example will create a systemd service unit named comcam-mcm that executes /opt/lsst/ccs/dev/bin/comcam-mcm.

classes:
  - "profile::ccs::common"

ccs_software::env: "ComCam"
ccs_software::installations:
  e4a8224:
    aliases:
      - "dev"
ccs_software::services:
  dev:
    - "comcam-mcm"

Desktop

classes:
  - "profile::ccs::common"

ccs_software::desktop: true  # default is false

Multiple Installations sharing a git clone

This may be an efficiency optimization for simulating a large number of hosts on a single node.

---
classes:
  - "profile::ccs::common"

ccs_software::base_path: "/opt/lsst"
ccs_software::env: "ComCam"
ccs_software::installations:
  test-mcm:
    repo_path: "%{lookup('ccs_software::base_path')}/ccsadm/package-lists/e4a8224"
    repo_ref: "e4a8224"
    hostname: "comcam-mcm"
  test-fp:
    repo_path: "%{lookup('ccs_software::base_path')}/ccsadm/package-lists/e4a8224"
    repo_ref: "e4a8224"
    hostname: "comcam-fp01"
ccs_software::services:
  test-mcm:
    - "comcam-mcm"
  test-fp:
    - "comcam-fp01"

Force git clone update

In the event that a git clone has local changes, and the vcsrepo type is having trouble updating it, setting the force_git flag will cause the clones to be deleted and re-cloned on every puppet run. This flag should generally only be set temporarily to resolve a known issue.

---
classes:
  - "profile::ccs::common"

ccs_software::env: "ComCam"
ccs_software::force_git: true
ccs_software::installations:
  master: {}

Pedantic Example

---
classes:
  - "profile::ccs::common"

ccs_software::base_path: "/opt/lsst"
ccs_software::etc_path: "/etc/ccs"
ccs_software::log_path: "/var/log/ccs"
ccs_software::user: "ccs"
ccs_software::group: "ccs"
ccs_software::adm_user: "ccsadm"
ccs_software::adm_group: "ccsadm"
ccs_software::pkglist_repo_url: "https://github.com/lsst-camera-dh/dev-package-lists" # overriden in installations hash
ccs_software::release_repo_url: "https://github.com/lsst-it/release"
ccs_software::release_repo_ref: "IT-2233/working"
ccs_software::env: ~ # overriden in installations hash
ccs_software::hostname: "%{lookup(facts.hostname)}" # overidden in installations hash
ccs_software::desktop: false
ccs_software::git_force: false
ccs_software::installations:
  test1:
    repo_path: "%{lookup('ccs_software::base_path')}/ccsadm/package-lists/test1"
    repo_url: "https://github.com/lsst-camera-dh/dev-package-lists"
    repo_ref: "e4a8224"
    env: "ComCam"
    hostname: "comcam-mcm"
    aliases:
      - "dev"
  test42:
    repo_path: "%{lookup('ccs_software::base_path')}/ccsadm/package-lists/test42"
    repo_url: "https://github.com/lsst-camera-dh/dev-package-lists"
    repo_ref: "e4a8224"
    env: "IR2"
    hostname: "lsst-dc01"
    aliases:
      - "prod"
ccs_software::services:
  dev:
    - "comcam-mcm"
  prod:
    - "lsst-dc01"

Reference

See REFERENCE.