How to configure provider’s credentials¶
mrack supports several providers by using popular libraries without overriding how credentials are handled. That means every provider must be configured differently and according to its library.
This guide explains how you can configure those credentials including pointers to original resources where you can find more info about that.
AWS¶
mrack uses boto3 library to interact with AWS, thus you can follow the
instructions from Boto’s documentation
The most straightforward way is to use a shared config file. Its default location
is ~/.aws/config/credentials. You can override it by setting the AWS_CONFIG_FILE
environment variable.
aws_access_key_id=ACCESS_KEY_ID
aws_secret_access_key=SECRET_ACCESS_KEY
region=eu-central-1
retries=
max_attempts=5
mode=standard
OpenStack¶
Before calling mrack you must define some environment variables or source the
OpenStack RC file provided by your instance.
$ source myproject-openrc.sh
$ mrack up
Instructions on where you can find the RC file are available here
Beaker¶
Under the beaker section of your provisioning-config.yaml file you must
set client_conf pointing to your Beaker client configuration. E.g:
beaker:
strategy: retry
max_retry: 3
distros:
fedora-33: Fedora-33%
fedora-32: Fedora-32%
client_conf: /etc/beaker/client.conf
keypair: id_rsa.pub
reserve_duration: 86400
server_role: idm_ci_bkr_server
timeout: 240
More info about Beaker client configuration is available here
Note
You will need to set the URL of your Beaker server without trailing slash and then configure how your Beaker client authenticates with the Beaker server. You can use either password authentication or Kerberos authentication.
Virt¶
Virt provider requires testcloud library prepared and installed. If mrack is installed via rpms then installation of the testcloud images is done automatically.
If mrack is installed via pip then:
$ sudo dnf install testcloud
User needs to be part of a testcloud group for successful provisioning.
$ sudo usermod -a -G testcloud $USER
Provisioning config enablement:
virt:
strategy: abort
images:
fedora-32: https://download.fedoraproject.org/pub/fedora/linux/releases/32/Cloud/x86_64/images/Fedora-Cloud-Base-32-1.6.x86_64.qcow2
fedora-33: https://download.fedoraproject.org/pub/fedora/linux/releases/33/Cloud/x86_64/images/Fedora-Cloud-Base-33-1.2.x86_64.qcow2
options: # defaults for undefined groups
ram: 1024 # in MiB
disksize: 10 # in GiB
groups: # per-group overrides, similar to flavors
ipaserver:
ram: 2560
ad:
ram: 3072