systemd/systemd-centos-ci

Name: systemd-centos-ci

Owner: systemd

Description: CI scripts for CentOS downstream testing

Created: 2016-02-22 13:25:19.0

Updated: 2018-04-08 12:13:28.0

Pushed: 2018-01-23 08:45:07.0

Homepage: null

Size: 41

Language: Shell

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

About

This project contains code to build, install and test systemd on test machines provisioned from a pool provided by the CentOS CI project, using their Duffy API.

Setup

The code in this repository is used from two sides; the slave control host (named slave01 in the CentOS CI environment), and on the provisioned machines themselves.

On the slave control host, the entry point for running new tests is called slave-control.py. This script uses Duffy to provision new machines, and then uses SSH to log into them and run scripts from the slave/ subdirectory.

Duffy

Quoting their Wiki,

Duffy is the middle layer running ci.centos.org that manages the provisioning, maintenance and teardown / rebuild of the Nodes (physical hardware for now, VMs coming soon) that are used to run the tests in the CI Cluster.

This project contains code to provision a new machine from the pool, and to either release one specific one or all of them.

See below for the usage of this tool.

Usage

The only script end users should be accessing is slave-control.py on the slave01 host.

slave-control.py --help
e: slave-control.py [-h] [--ver VER] [--arch ARCH] [--host HOST] [--pr PR]
                    [--keep] [--kill-host KILL_HOST] [--kill-all-hosts]
                    [--debug]

onal arguments:
, --help            show this help message and exit
ver VER             CentOS version
arch ARCH           Architecture
host HOST           Use an already provisioned build host
pr PR               Pull request ID
keep                Do not kill provisioned build host
kill-host KILL_HOST
                    Mark a provisioned host as done and bail out
kill-all-hosts      Mark all provisioned hosts as done and bail out
debug               Enable debug output

When called without parameters, it will build the current systemd master branch. The --keep option is helpful during development.

Jenkins glue

This script and the Jenkins execution environment are glued together with the following trivial shell script:

in/sh

=

 "$CHANGE_ID" ]; then
ARGS="$ARGS --pr $CHANGE_ID "


home/systemd/systemd-centos-ci

ave-control.py $ARGS

Manually running the tests

otstrap
install -q -y git
clone https://github.com/systemd/systemd-centos-ci
emd-centos-ci/slave/bootstrap.sh pr:pr-number # for example pr:4456
emctl reboot

stsuite
emd-centos-ci/slave/testsuite.sh
emctl reboot

stem-tests
ystemd-centos-ci/slave; ./system-tests.sh
emctl poweroff

This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.