This is the README of the DCI RHEL agent. It will allow one to schedule a job, run the appropriate installation steps, run the specified tests and finally return the tests results back to the DCI API. So both Partners and Red Hat engineers can troubleshoot together.
- Partner/Customer will use RHEL 7.6 or higher.
- Partner/Customer has a valid configuration to install RHEL using DHCP/PXE/Kickstart.
- Partner/Customer has minimal hardware lab to be installed and wiped through DCI workflow.
Jumpbox can be a physical server or a virtual machine. In any case, it must:
- Be running the latest stable RHEL release and registered via RHSM.
- Have at least 160GB of free space available in
- Access to Internet
- Be able to connect following Web urls:
- Have a stable internal IP
- Be able to reach the lab servers using (mandadory, but not limited to):
- Serial-Over-LAN or other remote console (details & software to be provided by the partner)
- Be reachable by the lab servers using:
DCI needs to download RHEL new snapshots regularly (=~ 4GB each).
We strongly advise the partner to give access to the jumpbox to Red Hat team. This way, Red Hat engineers will be able to help to do the initial setup and troubleshoot potential issues.
Please note that the Jumpbox acts as a
controller node, therefore it is NOT wiped/deployed after each
dci-rhel-agent run (unlike hardware lab servers).
dci-rhel-agent use Beaker service to deploy RHEL automatically.
Every user needs to create his account in DCI by connecting to
https://www.distributed-ci.io using @redhat.com SSO account.
User account will be created in DCI database at the first connection.
Please contact us back when you reach this step, to be assigned in the correct organisation.
A RemoteCI in DCI terms is a platform and its jumpbox.
One simply specifies a label, and a resource will be created with an ID and an API_TOKEN that will let one authenticate to run jobs.
Only the admins of a team can create a RemoteCI. If you are not an admin of your team, please contact her to ensure the RemoteCI is adequately created.
Once the remoteci is ready, one can download its authentication file on the Download rc file column in the RemoteCI section in the UI.
The file is called
remotecirc.sh, please rename it to
dcirc.sh for the
The agent comes in form of a RPM called
dci-rhel-agent. In order to install
it one needs to install the
#> yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm #> yum -y install https://packages.distributed-ci.io/dci-release.el7.noarch.rpm #> yum -y install dci-rhel-agent
There are two main configuration files:
This file contents your lab credential (also kwnown as RemoteCI in DCI web interface). As
explained in RemoteCI credential, an admin of the
team should have created a Remote CI, downloaded the relative
remotecirc.sh file and renamed it locally on the Jumpbox to
The file content should looks like:
"https://api.distributed-ci.io/" DCI_CLIENT_ID=remoteci/<remoteci_id> DCI_API_SECRET=>remoteci_api_secret> export DCI_CS_URL export DCI_CLIENT_ID export DCI_API_SECRETDCI_CS_URL=
|topic||True||String||Name of the topic the agent should run|
|local_repo||True||Path||Path to directory where components will be stored|
Some users might want to skip the certification tests suite. This can be done via
settings.yml file by adding
dci-rhel-agent, please use
systemctl start dci-rhel-agent.
Apache License, Version 2.0 (see LICENSE file)
Email: Distributed-CI Team email@example.com IRC: #distributed-ci on Freenode