Tobiko Configuration Guide¶
This document describes how to configure Tobiko.
Configure Tobiko Framework¶
In order to make sure Tobiko tools can connect to OpenStack services via Rest API configuration parameters can be passed either via environment variables or via a ini configuration file (referred here as tobiko.conf). Please look at Authentication Methods for more details.
To be able to execute scenario test cases there some OpenStack resources that has to be created before running test cases. Please look at Setup Required Resources for more details.
Tobiko tries to load tobiko.conf file from one of below locations:
user home directory:
Tobiko can configure logging system to write messages to a log file. You can edit below options in tobiko.conf to enable it as below:
[DEFAULT] # Whenever to allow debugging messages to be written out or not debug = true # Name of the file where log messages will be appended. log_file = tobiko.log # The base directory used for relative log_file paths. log_dir = .
Tobiko uses OpenStack client to connect to OpenStack services.
Authentication Environment Variables¶
To configure how Tobiko can connect to services you can use the same environment variables you would use for OpenStack Python client CLI.
Currently supported variables are:
# Identity API version export OS_IDENTITY_API_VERSION=3 # URL to be used to connect to OpenStack Irentity Rest API service export OS_AUTH_URL=http://10.0.0.109:5000/v3 # Authentication username (name or ID) export OS_USERNAME=admin export OS_USER_ID=... # Authentication password export OS_PASSWORD=... # Project-level authentication scope (name or ID) export OS_PROJECT_NAME=admin export OS_TENANT_NAME=admin export OS_PROJECT_ID=... export OS_TENANT_ID=... # Domain-level authorization scope (name or ID) export OS_DOMAIN_NAME=Default export OS_DOMAIN_ID=... # Domain name or ID containing user export OS_USER_DOMAIN_NAME=Default export OS_USER_DOMAIN_ID=... # Domain name or ID containing project export OS_PROJECT_DOMAIN_NAME=Default export OS_PROJECT_DOMAIN_ID=... # ID of the trust to use as a trustee user export OS_TRUST_ID=...
You can also configure the same authentication parameters by editing ‘keystone’ section in tobiko.conf file. For example:
[keystone] # Identity API version api_version = 3 # URL to be used to connect to OpenStack Irentity Rest API service auth_url=http://10.0.0.109:5000/v3 # Authentication username (name or ID) username = admin # Authentication password password = ... # Project-level authentication scope (name or ID) project_name = admin # Domain-level authorization scope (name or ID) domain = default # Domain name or ID containing user user_domain_name = default # Domain name or ID containing prject project_domain_name = default # ID of the trust to use as a trustee user trust_id = ...
Proxy Server Configuration¶
The first thing to make sure is Tobiko can reach OpenStack services. In case OpenStack is not directly accessible from where test cases or Tobiko CLI are executed it is possible to use an HTTP proxy server running on a network that is able to reach all OpenStack Rest API service. This can be performed by using below standard environment variables:
export http_proxy=http://<proxy-host>:<proxy-port>/ export https_proxy=http://<proxy-host>:<proxy-port>/ export no_proxy=127.0.0.1,...
For convenience it is also possible to specify the same parameters via tobiko.conf:
[http] http_proxy = http://<proxy-host>:<proxy-port>/ https_proxy = http://<proxy-host>:<proxy-port>/ no_proxy = 127.0.0.1,...
Because Tobiko test cases could execute local commands (like for example ping) to reach network services we have to specify in tobiko.conf file a shell (like OpenSSH client) to be used instead of the default local one (‘/bin/sh’):
[shell] command = /usr/bin/ssh <proxy-host>
Please make sure it is possible to execute commands on local system without having to pass a password:
/usr/bin/ssh <proxy-host> echo 'Yes it works!'
To archive it please follow one of the many guides available on Internet .
Setup Required Resources¶
To be able to execute Tobiko scenario test cases there some OpenStack resources that has to be created before running test cases.
Install required Python OpenStack clients:
pip install --upgrade \ -c https://opendev.org/openstack/requirements/raw/branch/master/upper-constraints.txt \ python-openstackclient \ python-neutronclient
You need to make sure Authentication Environment Variables are properly set:
source openstackrc openstack network list
Add reference to the network where Tobiko should create floating IP instances in tobiko.conf file:
[neutron] floating_network = public
Skipping resources creation¶
In some cases, for example when Tobiko is run after upgrade of cloud, it may be expected
that resources used for tests should be already created. Tobiko should not try to create
resources than and just run tests using what is already created.
To configure Tobiko to not create test resources, environment variable
can be used:
If this is set to
1 then Tobiko will not try to create resources like VMs,
networks, routers or images and just run validation of what is exists in the cloud already.