python-tempestconf doesn't provide any way how to define a
different flavor memory and disk size but provides an option
for defining a custom image (not cirros which is default).
However, when using custom image the default flavor size is
Therefore the review adds two arguments which can be used
for defining flavor minimum memory and minimum disk size.
The review also edits the documentation and fixes a few typos.
Upload new images and flavours with random number generator
device . It prevents the tests failing due to an image
not ready for login error and can improve image boot time.
manila's devstack plugin now defaults to run the api behind a
uwsgi reverse proxy. Disable that in this job and maintain
compatability with the previous configuration which uses the
wsgi interpreter built in to manila.
The review adds code which sets microversions for compute
The change also adds method for filtering microversions
to service base class. In order to save one query, the
new filtering method doesn't query the cloud for versions,
it reuses the version response from the previous query
by set_versions method.
The rest of services listed in the SERVICE_NAMES got
a class implementation under config_tempest/services
directory in order to remove the hardcoded list of
services - SERVICE_NAMES.
By implementing this method we will decrease dependency
on SERVICE_NAMES. python-tempestconf loops over any
service which has a class implementation under
config_tempest/services directory. Therefore we can easily
set service availability in the loop by calling
set_availability method which sets appropriate values in
[service_available] section of tempest.conf.
This review also fixes the problem with not taking
service's versions into account when setting service
tripleo-ci-centos-7-standalone-os-tempest adds the ability to test
os_tempest role with python-tempestconf, It needs to be gated here
so that it's implementation does not break the stuff.
There's a mismatch with Manila api microversions which leads to
many failures in tempest tests.
In order to resolve that issue the parameters 'min_api_microversion'
and 'max_api_microversion' should be added to tempest.conf.
It seems nova has changed defaults on who can create zero-sized
disk instances  and now os_tempest jobs failed with
Only volume-backed servers are allowed for flavors with zero disk.
Changing the disk to 1 fixes the same.
The gates were using a diff command to determine if 2 tempest.conf
files contains the same sections, options and values.
However, this has turned out to be not a good approach, as the
values in tempest.conf can be written in a different order.
Therefore the patch adds a python script which is able to compare
values in 2 tempest.conf files regardless their order.
Using six.PY3 as configparser.SafeConfigParser in py2 got
renamed to configparser.ConfigParser in py3. In order to
keep the codebase running on both version, we are using
The patch adds a new unit test for profile feature.
The patch also converts all overrides values read from
profile.yaml to string as this is the data type of overrides.
The patch implements --profile argument, which defines a path to
a profile.yaml file - a file which contains python-tempestconf
arguments and their values.
Also --generate-profile argument is introduced. A user can generate
a sample profile.yaml file using this argument. The sample contains
definitions of all python-tempestconf arguments set to their default
--append argument appends a value or values to the specified
section.key pair. It may be helpful in cases when a user wants
to add custom extensions to tempest.conf in an automated job.
Until now the code has been counting on the fact that demo user
can't list roles. This has changed and the code has started
faling on creating a new role because demo user doesn't have
proper permissions. The patch wraps the whole logic around listing
and creating roles to try except block.
The patch also sets refstack-client-devstack-tempestconf as non
voting, because in order to fix it this review needs to be
Versions of flake8 and pyflakes to be installed are inherited from
somewhere, which may be dangerous. Therefore the patch adds their
versions explicitly to test-requrirements.txt file.
It's better to generate more accounts in accounts.yaml file, otherwise
some tests may fail because they are trying to access certain credentials
with certian roles which are being used by other tests at that moment.
We can not rely on the response length of 'set_api_microversion' to
be the same everytime, otherewise it'll insert an incorrect values into
microversions parameters, therefore we should should filter the response
according to the desired api version, in our case is v3.