We are psyched to announce the release of:
python-tempestconf 2.0.0: python-tempestconf will automatically generates the tempest configuration based on your cloud.
The source is available from:
https://git.openstack.org/openstack/python-tempestconf
Download the package from:
https://pypi.org/project/python-tempestconf
Please report issues through launchpad:
https://storyboard.openstack.org/#!/project/912
For more details, please see below.
2.0.0 ^^^^^
Prelude *******
Improve nova discovery settings
Use healthcheck api for determine swift service availability
New Features ************
* When --test-accounts parameter (specifying a path to a accounts.yaml file) is used, don't write any user credentials to tempest.conf. This will make it easier for users who run tempest tests with accounts.yaml file and want to share their tempest.conf without exposing their credentials.
* Because of integration of the tool with refstack-client a new parameter, --create-accounts-file, is added. The parameter defines a path where a minimal accounts.yaml file will be created. The accounts.yaml file is important in refstack testing, because the tests are run with non admin credentials. Therefor to make it easier for refstack users, if a user doesn't specify a path to an existing accounts.yaml file (via test_accounts parameter), but uses a create_accounts_file instead, the file will be created in the specified location and set to the tempest.conf as test_accounts_file under auth section. For this feature a new requirement is specified - PyYAML.
* The deployer-input file will be loaded automatically if exists in the default path, which is ~/tempest-deployer-input.conf. This will fix the cases that user forgot to add --deployer-input and python- tempestconf forgot some configuration due of that. Also a new argument (--no-default-deployer) is added, which will make python- tempestconf not to load the file automatically.
* Add support for volume api microversion. It discovers the minimum and maximum the microversion and set them under volume section in tempest.conf.
* The tempest config tool now can configure tempest.conf with the necessary values, to interact with and test Octavia network load balancing as a service.
* Allow all users irrespective of Admin and non-admin to upload images to glance and generate image_ref and image_ref_alt for compute.
* image.http_image name is set based on the image name passed or if not passed is taken from the default one.
* Remove the requirement of a default-overrides.conf file when user is not executing python-tempestconf inside an initialized tempest directory.
* validation.image_sh_user option is heavily used in CI and it's also needed in refstack. Therefor the value is set to cirros automatically from now everytime when image used is cirros. The hardcoded value in default-overrides.conf is removed.
* Discover when there is more than one compute node and set the resize option according, when the tool is executed with admin credentials. Set by default the console_output to true.
* Discover swift service only when healthcheck api is working otherwise set it to false. It also removes hardcoded values from swift.
Upgrade Notes *************
* etc/default-overrides.conf is removed and is no longer used or read. Important default values were moved to load_basic_defaults method.
* Use of 'tenant' wherever it's set to tempest.conf, is replaced by 'project'. This is part 1 of the tenant->project transition.
Other Notes ***********
* The following options are moved from identity section:
* admin_username
* admin_password
* admin_project_name
to auth section as this is done in Tempest since Tempest 12.
* By this change compute.image_ssh_user is removed from default- overrides.conf too, because it was deprecated. All of the image_ssh_user values from different sections were moved to validation section by this change:
https://review.openstack.org/#/c/434097/
Since that change, there is only one image_ssh_user value and it's the one under validation section.
Changes in python-tempestconf 1.1.4..2.0.0 ------------------------------------------
666e9e2 Add support for volume api microversion 0b4a78d Create utils.py c6ec0bd Don't expose credentials a1f3c43 Fix role readme 4ea3580 Fix identity url version detection 78ef76e Removing dependence of SERVICE_EXTENSION_KEY 80ee3dd Removing dependence from SERVICE_VERSIONS 55e48c0 Fix: return the flavor ID on autodetection 1473c7c Fix: make sure that keystone_v3_support is a boolean ca91b1d Use the common cover job instead of a custom one 2273794 horizon: don't error out for certificate issues 3b4c3f7 Document CLI options 37b5e60 Allow usage images already in glance f161dba Add User Guide documentation adb6d7b Document integration of the tool 61f9d66 Fix identity URL parsing 5a102fe Return False if healthcheck api failed 5458b6d Add etc/ to .gitignore 187fe46 Remove documented parts from README 2656d9b Improve flavor detection 1275420 Add Contributor Guide dcc4e9a Fix http_image uploading to glance 188c145 Document installation process 40a5a97 Fix documentation structure 3a40d5f Replace tripleo job 6f471b6 Switch ansible module command with copy 44a6513 Collecting tempest files cdf20f9 Fix object store feature-enabled config 03ab541 Remove default-overrides.conf dcab346 Add release note link in README 998025e More Python 3 porting: filter and map, one import 532cdc7 Fix check_service_status cdbc985 More compatibility with Python 3 77fa9ad Remove the content of default-overrides.conf 45ed967 Configure tempest for Octavia tests 1bd20dc Replace tenant by project, part 2 f5bfc21 Use healthcheck api to determine swift service 7b2c156 Fix operator_role value for account-generator ee518bf Fix boto method 243ab6c Generate accounts.yaml 6d7968b Fix username is not defined warning 48f7e5e Fix identity service url for v3 a5c6dc0 Allow non admin users to upload image to glance 4912283 Remove admin_* from identity section 283de20 Replace tenant by project, part 1 31c1ee0 Switch to openstackdocstheme (doc and release notes) d410903 Remove image.http_image from playbook eefda64 fix url c6a5fe7 Fix broken link in readme 03fe466 List and create swift roles 154fe88 Move configuring of services to services class 275b6b7 Validation support ed5163e Don't expose user credentials 42ba94a Load deployer input file automatically 9be036c Enhancements in nova support f69b775 Add missing params' description 82a82b7 Fix identity v3 ext discovery 2d9b362 Store volumev2 and v3 extensions as well 6e2bf36 Filter deprecated versions out 0f363c0 Make tempestconf easier to use as an library 6d4b09f Use volume v3 service client as the default 2bb8bfd Fixing download of the cirros image ff5fbcb Load basic default config 1237f34 Improve role docs, remove unused var c757b5e A service can have no endpoints 3fcafee Fix flaky unit test 60a62b7 Enable discovering of mistral service a031d73 Trivial: Update pypi url to new url 34f030b Use --non-admin for non admin users in zuul jobs 0e085cd Refactor to improve modularity, scalability, OOP 73cbf53 Roles for managing clouds.yaml file c1951c3 Fix failing of listing services f9d956f fix a typo in documentation e397415 Split ClientManager 026269d Decouple TempestConf class 852e1c9 Split main to smaller functions
Diffstat (except docs and test files) -------------------------------------
.gitignore | 1 + .zuul.yaml | 115 +- HACKING.rst | 2 +- README.rst | 99 +- config_tempest/accounts.py | 56 + config_tempest/api_discovery.py | 279 ----- config_tempest/clients.py | 289 +++++ config_tempest/config_tempest.py | 1118 -------------------- config_tempest/constants.py | 64 ++ config_tempest/credentials.py | 139 +++ config_tempest/flavors.py | 142 +++ config_tempest/main.py | 499 +++++++++ config_tempest/services/__init__.py | 0 config_tempest/services/base.py | 150 +++ config_tempest/services/boto.py | 28 + config_tempest/services/ceilometer.py | 36 + config_tempest/services/compute.py | 58 + config_tempest/services/horizon.py | 43 + config_tempest/services/identity.py | 128 +++ config_tempest/services/image.py | 219 ++++ config_tempest/services/network.py | 93 ++ config_tempest/services/object_storage.py | 107 ++ config_tempest/services/octavia.py | 28 + config_tempest/services/services.py | 267 +++++ config_tempest/services/volume.py | 86 ++ config_tempest/tempest_conf.py | 146 +++ config_tempest/users.py | 116 ++ config_tempest/utils.py | 33 + etc/default-overrides.conf | 137 --- playbooks/python-tempestconf-tempest-devstack.yaml | 6 + .../python-tempestconf-tempest-packstack.yaml | 32 +- playbooks/upload-logs.yaml | 32 + ...t-expose-user-credentials-1ffba4d72798b5c9.yaml | 7 + .../Generate-accounts.yaml-6d929b3e78298579.yaml | 13 + ...-input-file-automatically-1dd7c816854a18a7.yaml | 9 + ...ve-default-overrides.conf-9ad55f5ef953ab06.yaml | 5 + ...-admin_-from-tempest.conf-f038f679b40daaea.yaml | 10 + ...d-volume-api-microversion-e467aa570acf79d2.yaml | 6 + .../notes/add_octavia-2ffffc95bca6176b.yaml | 7 + ...n-admin-user-upload-image-f2274cdec154a76b.yaml | 8 + .../basic-default-config-06cf8e66e23d694f.yaml | 5 + ...ion-in-validation-section-7cd0a6f44a8fdc1f.yaml | 18 + .../notes/nova-improvements-5a0600f022ab797c.yaml | 8 + ...tenant-by-project,-part-1-638068c6c5c5ef9c.yaml | 5 + ...healthcheck-api-for-swift-e84cbb999be4ec3d.yaml | 8 + releasenotes/source/conf.py | 20 +- releasenotes/source/index.rst | 2 +- requirements.txt | 2 + roles/create-clouds-yaml-file/README.rst | 42 + roles/create-clouds-yaml-file/defaults/main.yaml | 1 + roles/create-clouds-yaml-file/tasks/main.yaml | 55 + roles/create-keystonerc-files/README.rst | 7 +- roles/create-keystonerc-files/tasks/main.yaml | 1 - roles/generate-accounts-file/README.rst | 70 ++ roles/generate-accounts-file/defaults/main.yaml | 7 + roles/generate-accounts-file/tasks/main.yaml | 80 ++ roles/generate-tempestconf-file-cloud/README.rst | 21 +- .../defaults/main.yaml | 1 - .../tasks/main.yaml | 34 +- roles/generate-tempestconf-file/README.rst | 68 +- roles/generate-tempestconf-file/defaults/main.yaml | 3 + .../tasks/generate-tempestconf.sh.j2 | 22 + roles/generate-tempestconf-file/tasks/main.yaml | 46 +- .../tasks/test-demo-user.yaml | 19 + roles/tempestconf-workaround-auth-url/README.rst | 15 + .../defaults/main.yaml | 1 + .../tasks/main.yaml | 23 + setup.cfg | 7 +- test-requirements.txt | 3 - tox.ini | 3 +- 115 files changed, 6479 insertions(+), 3367 deletions(-)
Requirements updates --------------------
diff --git a/requirements.txt b/requirements.txt index a711d47..a46c41e 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,0 +6 @@ pbr>=1.8 # Apache-2.0 +six>=1.10.0 # MIT @@ -9,0 +11 @@ oslo.config>=3.23.0 # Apache-2.0 +PyYAML>=3.12 # MIT diff --git a/test-requirements.txt b/test-requirements.txt index 54bb5d4..0f769a8 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -13,3 +12,0 @@ stestr>=1.1.0 # Apache-2.0 - -# releasenotes -reno>=1.8.0 # Apache-2.0
participants (1)
-
no-reply@openstack.org