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
not enough.
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.
Change-Id: Iba14b65ff8e147765e47d223dea6231ab649135f
Story: 2001536
Task: 6341
Upload new images and flavours with random number generator
device [1]. It prevents the tests failing due to an image
not ready for login error and can improve image boot time.
[1] https://wiki.openstack.org/wiki/LibvirtVirtioRng
Change-Id: I50114a3914e0df0e22706ca8a7a1649eb1ced31d
The review adds code which sets microversions for compute
service.
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.
Story: 2004378
Task: 27990
Depends-On: https://review.openstack.org/#/c/641510/
Change-Id: I33f6df0995739fdcb12419d4dc08b257e430ca36
aodh_plugin option under service_available section is
deprecated since telemetry-tempest-plugin version 0.2.0 [1]
which is available since queens [2].
[1] https://github.com/openstack/telemetry-tempest-plugin/
blob/0.2.0/telemetry_tempest_plugin/config.py#L31
[2] https://github.com/redhat-openstack/rdoinfo/blob/
2c479b4311b7f8840576b891f6f955bbe1880c65/tags/queens.yml#L1042
Change-Id: I44b456c8ec98b11e0c865ffda7b311bc2c917b19
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.
Story: 2002787
Task: 29693
Change-Id: Ibc58236b581551f64dfaf21fb443ed8c1cc1282b
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
availability.
Story: 2002787
Task: 29632
Change-Id: Ica42fe6ae57eaef6bffd28b557f6b178a2ed8fb9
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.
Change-Id: Ie57e2f2752c8f520389a1d8a6c62ec5a21939eba
It seems nova has changed defaults on who can create zero-sized
disk instances [1] 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.
[1] https://review.openstack.org/#/c/603910/
Change-Id: Id7467d037a7b0b4cb46add587395b21f28fb9df7
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
it.
Change-Id: I78471e3d0962cda610c22641787d80103eb413b0
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.
Change-Id: I795b9b900b6274e689ba64b9721fb63e49696dea
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
values.
Story: 2004503
Task: 28225
Change-Id: I80848d8ef9868ed3975b938d61880753eadc5ae9
--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.
Change-Id: I116f4456823913f21b5f8f01ff2b14d42ec67dc2
Story: 2004429
Task: 28088
As part of running tripleo standalone jobs at fedora28 we found that
parts of tempestconf were not adapted to python3, this review just add
needed stuff to run tripleo-fedora-28-standalone job there.
Story: https://tree.taiga.io/project/tripleo-ci-board/task/478?kanban-status=1447276
Change-Id: I850ff56c4ced2f3cbab05bb8c3b120e112a2acdd
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
merged first.
Change-Id: Ief0916e4ec51a23c72ffd1cde529ecb33f949dec
The unit tests were flaky, because they were using a shared
variable and changing it.
The patch also fixes unused variables.
Change-Id: I2bc4225a395a34c0a61a289480231f36d12b00c6
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.
Change-Id: I7c54407f6013c4c87fef4258cf963e393bea45b9
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.
Change-Id: I8163ff4a2e6fb10fea7efadbf15937a80110f1b2
When an accounts.yaml file is used, python-tempestconf
has to set use_dynamic_credentials to False, otherwise
the generated tempest.conf doesn't work with Tempest.
However, values from a deployer input file are set with
a priority, so that they are not overriden during
discovery.
To fix the issue, use_dynamic_credentials has to be set
with priority too.
The related unit tests checks only a return value from
set function. The patch improves them, so that they
check if a value was overriden when it was supposed to
and the other way around.
Story: 2004140
Task: 27606
Depends-On: https://review.openstack.org/#/c/614312/
Change-Id: I76b8cf694116801e36587929bf320e5743534791
This commit remove the static class loader and add a dynamic one.
This is done using a new property available_classes that checks for
classes inherited by Services and generate a list of it.
It also change how tempestconf identify available services using the
list_services api instead of get_catalog api from tempest lib.
This way, tempestconf are no longer generating Services objects for
services that doesn't have a specialized class, but still set the
defaults for true or false if a service is running or not.
The discover method has changed to get the services from the list of
services instead of from the catalog.
Change-Id: Ic9d482378e9c975ed00f6aa7ed5f7aed6956d229
Story: 2002787
Task: 22672
This patch discovers the minimum and maximum the
microversion and set them under volume section in
tempest.conf.
Change-Id: Icb646418ed48d0a728b6c3dcd58d307688eddf7a
The patch create utils.py for methods which might be used
elsewhere in the project, with no matter on context.
Move get_base_url method from credentials.py to util.py so that
the method is reusable.
Change-Id: Ic8cb83bb8859b4fddcd57faa3e23992941d0010b
Don't expose credentials to tempest.conf when
--create-test-accounts is used.
When generating tempest.conf with demo creds, use
--create-accounts-file argument so that the argument
is tested in the gates.
The argument is used only on Devstack.
Tempest concurrency of devstack demo job is reduced to 1
because the minimal accounts file is used.
Change-Id: Id5c90810666d783cf3939086ef27149ef53277f8
Story: 2003016
Task: 23036
Before we could diferentiate the api version for identity because
the use of /v2 or /v3. Even though v2 is now deprecated, we need
to continue support previous versions of openstack. In this case
We cannot relay on the /v2 or /v3 in the url. The best user case
is to do a request in the base url (without any version) and
check if we have v3 version stable. If so, we assume identity
version is v3 otherwise, is v2.
Change-Id: Ia41d21ebad9329ae9fa506868957a72e6f9a5ca5
Remove this constant, and implement get_service_extension_key method to
get this information from the services.
Story: 2002787
Task: 22730
Change-Id: I7d395a3b864f9f06f5d266eb356af990c4f00a6c
This patch remove the dependence of some services to check for the
catalog and supported versions on constant SERVICE_VERSIONS. It also
remove this constant since it's no longer required.
In order to do that, four new methods were added in Service:
get_supported_versions, get_catalog, get_feature_name and
get_unversioned_service_name that
should be implemented by each service that requires this check.
Right now, the only services that uses are image, identity and volume.
Story: 2002787
Task: 22729
Change-Id: Ia41b7131dd1c1e76974ad4605566fd531572b974
The name was returned incorrectly (and inconsistently with the other
possible computation branches).
Also, fix a typo in a user-visible string.
Change-Id: I799a7239bad28c6c0d44ee399903aa67645aa45a
Otherwise the "if keystone_v3_support:" condition is always true
(any non empty string makes the condition True).
Thanks Trevor McCasland for the analysis.
Story: 2003307
Task: 24260
Change-Id: Iab146ccf31a039c888cecb4ac7e820ec55de80a4
The code should be rewritten anyway (see
https://storyboard.openstack.org/#!/story/2002787)
and in general the detection of the dashboard location
should be more roboust, but the code should not raise
an exception.
and horizon settings are relevant only for the (few)
Horizon Tempest tests, but the system can otherwise work.
Change-Id: I62607ce4de65062a0c37bdd23220edf9ea7e6818
Story: 2003024
Task: 23048
The identity URLs have a different rules for parsing,
but the code before looked for word 'identity' in
whole given URL to determine it was an identity URL.
This can conflict with a URL hostname which can contain
'identity' too.
The patch fixes that by looking for 'identity' only in
URL.path (after hostname:port part).
The patch also adds a new unit test for this case.
Change-Id: I265f4d38d81dc74b05f2af9adb6fe33db876329c
Story: 2002965
Task: 22970
* https://review.openstack.org/#/c/568869/ adds support of using
healthcheck api to check swift functionality, This commit adds
what if healthcheck fails to discover it will give trackback it
needs to be handled.
Change-Id: I5748eec8c15871f0c5f3f450a68d4d816fad6475
The patch adds a functionality for detecting two smallest
flavors available in the system in case, creation of resources
is not allowed and m1.nano and m1.micro flavors are not available.
Change-Id: Idc4fcd784385113a71fc8c33edd9c30be9c2bfd0
Story: 2002932
Task: 22919
image.http_image was during the refactoring mistaken for an image
which is uploaded to glance and that caused the issues described
in the linked story.
image.http_image is a tempest option which defines http accessible
image. It can be also in a compressed format, so it can't be
uploaded to glance before it's unpacked first.
The patch introduces a new python-tempestconf option in tempest.conf
defining an image which will be uploaded to glance.
Story: 2002931
Task: 22918
Change-Id: Idc03155b345d341903c2941f41ec4677a503b531