Valve GFX CI's executor
Project description
Executor
TODO: Document the rest of the executor
MarsDB
MarsDB is the database for all the runtime data of the CI instance:
- List of PDUs connected
- List of test machines
- List of Gitlab instances where to expose the test machines
Its location is set using the MARS_DB_FILE
environment variable, and is
live-editable. This means you can edit the file directly and changes will
be reflected instantly in the executor.
New machines will be added automatically when POSTing or PUTing to the
/api/v1/machine/
REST endpoint, but they won't be useable until
Here is an annotated sample file, where AUTO
means you should not be
modifying this value (and all children of it) while MANUAL
means that
you are expected to set these values. All the other values should be
machine-generated, for example using the machine_registration
container:
pdus: # List of all the power delivery units (MANUAL)
APC: # Name of the PDU
driver: apc_masterswitch # The [driver of your PDU](pdu/README.md)
config: # The configuration of the driver (driver-dependent)
hostname: 10.0.0.2
duts: # List of all the test machines
de:ad:be:ef:ca:fe: # MAC address of the machine
base_name: gfx9 # Most significant characteristic of the machine. Basis of the auto-generated name
tags: # List of tags representing the machine
- amdgpu:architecture:GCN5.1
- amdgpu:family:RV
- amdgpu:codename:RENOIR
- amdgpu:gfxversion:gfx9
- amdgpu:APU
- amdgpu:pciid:0x1002:0x1636
ip_address: 192.168.0.42 # IP address of the machine
local_tty_device: ttyUSB0 # Test machine's serial port to talk to the gateway
gitlab: # List of GitLab instances to expose this runner on
freedesktop: # Parameters for the `freedesktop` GitLab instance
token: <token> # Token given by the registration process (AUTO)
exposed: true # Should this machine be exposed on `freedesktop`? (MANUAL)
pdu: APC # Name of the PDU to contact to turn ON/OFF this machine (MANUAL)
pdu_port_id: 1 # ID of the port where the machine is connected (MANUAL)
pdu_off_delay: 30 # How long should the PDU port be off when rebooting the machine? (MANUAL)
ready_for_service: true # The machine has been tested and can now be used by users (AUTO)
is_retired: false # The user specified that the machine is no longer in use
first_seen: 2021-12-22 16:57:08.146275 # When was the machine first seen in CI (AUTO)
gitlab: # Configuration of anything related to exposing the machines on GitLab (MANUAL)
freedesktop: # Name of the gitlab instance
url: https://gitlab.freedesktop.org/ # URL of the instance
registration_token: <token> # Registration token, as found in your GitLab project/group/instance settings
expose_runners: true # Expose the test machines on this instance? Handy for quickly disabling all machines
maximum_timeout: 21600 # Maximum timeout allowed for any job running on our test machines
gateway_runner: # Expose a runner that will run locally, and not on test machines
token: <token> # Token given by the registration process (AUTO)
exposed: true # Should the gateway runner be exposed?
Frequently asked questions
How do I move runners from one GitLab project to another?
First, we need to remove the runners from the current project:
- Open MarsDB's config file
- Find the gitlab instance in your configuration file
- Set
expose_runners
to false - Save and exit your text editor
Don't forget to exit, as the config file will change. Now let's expose the runners to the new project:
- Re-open MarsDB's config file
- Find the gitlab instance in your configuration file
- Set the new registration token
- Set
expose_runners
to true - Save and exit your text editor
That's it!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file valve_gfx_ci.executor.server-0.0.1.tar.gz
.
File metadata
- Download URL: valve_gfx_ci.executor.server-0.0.1.tar.gz
- Upload date:
- Size: 47.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.5.0 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 42d9a3709bbb9f9605b328287fed1c95ed9abb836868afac1281d98d11d83318 |
|
MD5 | 3815e2608fbed218a16a9363d55d0ce6 |
|
BLAKE2b-256 | 33db5d62b3d172f4907ae9c41fb905af65433855a1cc7a2e447185423ee8e950 |
File details
Details for the file valve_gfx_ci.executor.server-0.0.1-py3-none-any.whl
.
File metadata
- Download URL: valve_gfx_ci.executor.server-0.0.1-py3-none-any.whl
- Upload date:
- Size: 53.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.5.0 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9b49b3adcf88b10ea85fefc4790dcb156c022117bdf9c9c6b13b9737a4aaef0f |
|
MD5 | b59750cf2a9afe725c5cca049f5d9e12 |
|
BLAKE2b-256 | 99d62c90e517ae456c57c6939deb8f4fab0cb96e304dc90539cfdd686c42d855 |