Configuration

Configuration is managed with dynaconf. The defaults and annotations for the available settings can be observed in config/settings.toml.

The easiest way to configure rookcheck is to provide overrides via environment variables.

The environment variables are capitalised and prefixed with ROOKCHECK_. For example, to change where rookcheck creates files (known as workspace_dir in settings.toml), you can set ROOKCHECK_WOKRSPACE_DIR=….

Start by copying the example configuration.env:

cp configuration.env .env
vim .env # Make any changes needed

Amazon Web Services (AWS) EC2 specifics

The AWS driver is implemented using the boto3 library.

Tox will install the library for you, but you’ll need to configure the credentials in ~/.aws/credentials. The easiest way to do that is by running aws configure if you already have the AWS CLI installed.

See the boto3 configuration documentation for full details.

The driver will set up a VPC and create all of the necessary resources inside of that.

Please note that the image id for the nodes differs depending on the AWS region that you are using. You may also need to accept any licenses for the images that you are using (as the same user as the configured credentials). For example, you can subscribe to the openSUSE Leap image here. After you have subscribed to the image, you can follow the links to “continue to configuration”, then after selecting your expected region, you should be able to see the AMI ID.

OpenStack provider specifics

If you are using OpenStack you can use your clouds.yaml configuration file and reference a cloud defined in that file with OS_CLOUD

export OS_CLOUD=my-cloud

libvirt provider specifics

For using libvirt as a hardware backend, a qcow2 image which includes cloud-init is needed.

Then some environment variables are needed:

export ROOKCHECK_HARDWARE_PROVIDER='LIBVIRT'