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
User | Most Recent Commit | # Commits |
---|
Other Committers
User | Most Recent Commit | # Commits |
---|
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.
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.
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.
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.
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
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