Multiarch support in ci.centos.org
We have a set of hardware (aarch64, and ppc64le) dedicated to multiarch testing in CI. This hardware is divided up into virtual machines that are managed through the Duffy node provisioner. Currently multiarch support is only available with CentOS 7.
Multiarch Status
|
Status |
aarch64 |
In Production |
ppc64le |
In Production |
ppc64 |
Depricated |
If you'd like to skip directly to an example, here is a sample duffy call:
# Ask for a small ppc64le machine from duffy $ curl http://admin.ci.centos.org:8080/Node/get?key=asdf-1234-5678&ver=7&arch=ppc64le&flavor=small
Flavors
Flavors are templates used to describe the resource sizing (CPU, RAM, Disk, etc.) for each type of machine. The multiarch flavors are based off of the flavors in CICO Cloud.
Flavor Sizes
|
vCPU |
RAM (in MB) |
Disk (in GB) |
tiny |
1 |
1024 |
10 |
small |
2 |
3875 |
20 |
medium |
4 |
7750 |
40 |
lram.tiny |
4 |
11444 |
10 |
lram.small |
8 |
15258 |
20 |
xram.tiny |
4 |
22888 |
10 |
xram.small |
4 |
38750 |
20 |
xram.medium |
8 |
77550 |
40 |
xram.large |
8 |
177500 |
40 |
Details on the current pool count are at https://wiki.centos.org/QaWiki/CI/Duffy
Number of machines available by flavor and architecture
ppc64le
OS |
Release |
Flavors |
Standby Nodes |
CentOS |
7 |
medium |
5 |
CentOS |
8 |
medium |
5 |
CentOS |
8-stream |
medium |
6 |
aarch64
OS |
Release |
Flavors |
Standby Nodes |
CentOS |
7 |
tiny |
2 |
CentOS |
7 |
small |
2 |
CentOS |
7 |
medium |
3 |
CentOS |
8 |
tiny |
1 |
CentOS |
8 |
medium |
5 |
CentOS |
8-stream |
medium |
2 |
Asking for a machine from Duffy
You may ask for a multiarch machine from duffy just like a regular x86_64/i686 node.
Duffy Default values if not specified in the API call
attribute |
Default Value |
flavor |
small |
ver |
7 |
Using CURL
# Ask for a machine from duffy $ curl https://admin.ci.centos.org:8080/Node/get?key=<your_api_key>&arch=<arch>&flavor=<flavor>
Using cicoclient
This will be ready as soon as multi-arch support is merged into cicoclient https://github.com/CentOS/python-cicoclient/pull/14
$ cico node get --arch <arch> --flavor <flavor>