The 0.5.2 version being used so far as default, has a lot of kernel bugs that were fixed in the new version, so updating it to 0.6.2. Change-Id: Icd7330f4f58f1815d9f5b48ffd0a80277568023b
4.4 KiB
Use python-tempestconf with a profile.yaml file
A profile.yaml
is helpful mainly in jobs running on
different versions of OpenStack, because arguments for
python-tempestconf
may differ in each OpenStack version.
Using the --profile
argument those jobs can use a
profile.yaml
file for each OpenStack version which makes
the code of those jobs much clearer and more readable, as for example
they contain less if else statements, ...
Note
Apart from --deployer-input
config file which specifies
content of a tempest.conf, profile.yaml
file defines
arguments which are passed to python-tempestconf
, see CLI documentation.
Warning
If this argument is used, other arguments cannot be defined, it means, user uses either CLI arguments or profile.yaml file.
Generating a sample profile.yaml file
$ discover-tempest-config --generate-profile ./etc/profile.yaml
$ cat ./etc/profile.yaml
collect_timing: false
create: false
create_accounts_file: null
debug: false
deployer_input: null
endpoint_type: null
generate_profile: ./etc/profile.yaml
http_timeout: null
image: http://download.cirros-cloud.net/0.6.2/cirros-0.6.2-x86_64-disk.img
image_disk_format: qcow2
insecure: false
network_id: null
no_default_deployer: false
non_admin: false
os_api_version: null
os_auth_type: password
os_auth_url: null
os_cacert: null
os_cert: null
os_cloud: null
os_default_domain_id: null
os_default_domain_name: null
os_domain_id: null
os_domain_name: null
os_endpoint_override: null
os_endpoint_type: null
os_interface: public
os_key: null
os_password: null
os_project_domain_id: null
os_project_domain_name: null
os_project_id: null
os_project_name: null
os_region_name: null
os_service_name: null
os_service_type: null
os_system_scope: null
os_trust_id: null
os_user_domain_id: null
os_user_domain_name: null
os_user_id: null
os_username: null
out: etc/tempest.conf
test_accounts: null
timeout: 600
verbose: false
append: {}
#identity.username: username
#network-feature-enabled.api_extensions:
# - dvr
# - extension
overrides: {}
#identity.username: username
#identity.password:
# - my_password
#network-feature-enabled.api_extensions:
# - dvr
# - extension
remove: {}
#identity.username: username
#network-feature-enabled.api_extensions:
# - dvr
# - extension
Note
The generated sample of a profile.yaml
file contains all
python-tempestconf
arguments set to their default values.
That means, that you can remove arguments you didn't
modify to keep the file simple and more readable.
python-tempestconf
accepts both of the following inputs,
so you can use what suits you better, either strings or lists:
create: True
out: ./etc/tempest.conf
deployer-input: ./deploy.txt
no-default-deployer: False
overrides:
identity.username: my_override
identity.password: my_password
network-feature-enabled.api_extensions: all
volume-feature-enabled.api_extensions: dvr,mine
remove:
auth.identity: username
network-feature-enabled.api_extensions: ''
volume-feature-enabled.api_extensions: dvr,mine
create: True
out: ./etc/tempest.conf
deployer-input: ./deploy.txt
no-default-deployer: False
overrides:
identity.username: my_override
identity.password:
- my_password
network-feature-enabled.api_extensions:
- all
volume-feature-enabled.api_extensions:
- dvr
- mine
remove:
auth.identity: username
network-feature-enabled.api_extensions:
- ''
volume-feature-enabled.api_extensions:
- dvr
- mine
Using profile.yaml file
After you've created your customized profile.yaml
file,
let's say in ./etc/profile.yaml
, use it as follows:
$ discover-tempest-config --profile ./etc/profile.yaml