- May 24, 2022
-
-
Jakob Meng authored
Alongside OpenStack SDK 1.0.0 we will release a new collection version 2.0.0 which is compatible to OpenStack SDK 1.x.x series only. Code in branch stable/1.0.0 will remain compatible to OpenStack SDK 0.x.x series only. Release candidates for the first major release of OpenStackSDK 1.x.x will be numbered using 0.99.x versions. At Ansible OpenStack modules PTG on 2022-04-07 it was decided to raise an error if one is using a incompatible releases of the OpenStack SDK with our collection. We decided against showing warnings only because they can be missed easily and functionality will be broken but probably hardly detectable when using the wrong SDK. This patch bumps the minimum required SDK versions to 0.99.0, so that an error will be raised when users try to use our collection with an incompatible SDK release, e.g. use code from our master branch with a OpenStack SDK 0.x.x release. Change-Id: I3974deabc516379745794806886352279dc4f4a7
-
- May 23, 2022
-
-
Jakob Meng authored
A release candidate for the first major release of OpenStackSDK 1.x.x has been published with version number 0.99.0. Release candidates will be numbered using 0.99.x versions. Ref.: https://meetings.opendev.org/irclogs/%23openstack-release/%23openstack-release.2022-05-19.log.html Change-Id: I51a5b803f6646d3b1c5e198072cb3da19925fc3f
-
- May 11, 2022
-
-
Jakob Meng authored
Commit bc27851617 [1] in opendev.org/openstack/tripleo-ci changed the release filename for periodic jobs to promotion-testing-hash-*.yml [2] instead of using e.g. train.yml for OpenStack Train based releases [3]. Due to this change, container images were not pulled from the local image registry but from trunk.registry.rdoproject.org instead [2]. This caused our periodic jobs to fail during container image build because when using a local registry a different namespace prefix "openstack" (instead of *-binary such as centos-binary) is used which is not valid on trunk.registry.rdoproject.org. As a workaround, we force TripleO jobs to run as check jobs, no matter what pipeline they run in [4]. Thanks to Sandeep Yadav <sandyada@redhat.com> for discovering the root cause of this issue and providing a workaround! Ref.: [1] https://opendev.org/openstack/tripleo-ci/commit/bc278516174cd1133ca910bb4978397499645a34 [2] https://github.com/openstack/tripleo-quickstart/blob/master/config/release/tripleo-ci/CentOS-8/promotion-testing-hash-train.yml#L7 [3] https://github.com/openstack/tripleo-quickstart/blob/master/config/release/tripleo-ci/CentOS-8/train.yml [4] https://opendev.org/openstack/tripleo-ci/src/branch/master/roles/ci-common-vars/vars/main.yaml#L24 Change-Id: Ib7d8fc9e6781e43e04f0a9feee261b9f3f29e1fe
-
Arx Cruz authored
The following changes were made: * Update identity_group_info to use the new openstacksdk * Added identity_group_info role to test the module Change-Id: I24e64c9455618952ee612d7413882f0ac022189f
-
- May 10, 2022
-
-
Jan Horstmann authored
Previously the owner field was not set by module `cloud.openstack.image`, although it is specified as a module parameter. The usual approach in `ansible-collections-openstack` is to accept both names and IDs when referencing openstack resources. Therefore this commit follows the approach taken by `python-openstackclient` in [1] and introduces a `project` and a `project_domain` parameter to identify projects by name or ID and assign the ID to the `owner` attribute of the image. The `owner` parameter is left as an alias to `project` in the module. Story: 2009983 Task: 45012 [1] https://opendev.org/openstack/python-openstackclient/commit/cf2de9af79cedd51ca080f5a6521997c05647418 Change-Id: I3654587df8e40d554aac5126df307961f335332c (cherry picked from commit acf64a1f72bf10e0e332899168e468db5c8ba034)
-
- May 09, 2022
-
-
anbanerj authored
This makes image_info compatible with new sdk version - This patch changes get_image (which is a cloud object method) to image.get_image (proxy object method) - image.images accepts **query which is a dict object. So this patch changes the args passed to a dict. If properties is not specified it passes an empty dict. - updates the documentation to reflect the actual returned parameters - adds a ci test to list all images without specifying image name or property and assert no field is missing - changes openstack_image to image in ansible return value Change-Id: Ibf934568f069c305747fc24fbb22ce3fc095286c
-
Rafael Castillo authored
- Stop checking for to_dict, breaking compatibility with older sdk releases - Updates RETURN doc string with all the returned fields - Adds a new identity_role_info role to test the identity_role_info module. - Change the name of the module return value to remove 'openstack_' prefix Change-Id: If8a1145a31d685d41367383930e6fd08d64c6ae8
-
Jakob Meng authored
Commit 2df07f35 changed module identity_user_info to use function identity.users() instead of search_users(). The first does not allow to search for id with parameter name while the previous and current search_users() function has a name_or_id parameter which allows to search by name and id. Ref.: https://opendev.org/openstack/ansible-collections-openstack/commit/2df07f3523ba3281d84c93083bc3b5d1791afb4b Change-Id: I71226e578a234d24e068a256cf4a5533ccd4c201
-
Rafael Castillo authored
Switch to SDK's cloud layer function search_domains which allows us to reduce our code. Added integration test for this module. Change-Id: Ic7915fd3334266783ea5e9d442ef304fa734ca00
-
- May 05, 2022
-
-
Rafael Castillo authored
This patch changes the module to use the sdk proxy layer and does some general refactoring to simplify the code. It will no longer fail if no password is supplied since it is perfectly fine to create a user with an password. Renamed the test role from user to identity_user to match the module name Change-Id: I97ee9b626f269abde3be7b2b9211d2bb5b7b3c26
-
Jakob Meng authored
Signed-off-by:
Jakob Meng <code@jakobmeng.de> Change-Id: I000a12df18c66816b2b2de177530ffc46f9dc9ae
-
- May 04, 2022
-
-
Rafael Castillo authored
- Changes the module to get user through proxy layer - Adds a role to test the module - Renames the return value to drop openstack_ prefix Change-Id: I99e98a529ce74ff2ca77a67d09f188228e6a0e37
-
Jakob Meng authored
Previously, all job definitions where shared across each .zuul.yaml in both branches. When a job definition was changed in one branch, Zuul CI could pick the job definition from the other branch, which was not intended. The problem arises when mixing explicit job.branches matchers with implicit branch matching, when defining same jobs on multiple branches. Zuul CI expects that jobs to be defined in one or the other branch, not both at the same time. One should only use job.branches matchers from single-branched projects, e.g. trusted config repos. When defining jobs in branched repositories one selects which job definition to use by the branch associated with the triggering event instead. Each trigger has a branch associated with it, whether it is the branch targeted by the change being proposed, the branch to which a commit merged, a branch attached to a timer trigger etc. This branch name is searched across involved projects in order to determine what job definition should be used. The job.branches directive is rarely applied to a job which will be copied to multiple branches. When you have multiple copies of a job with the job.branches attribute, Zuul CI could pick any of the job definitions which might not be the one you expected. The job.branches attribute is useful in single branch config repositories where a specific job definition has to be applied to a specific branch of the repository. Another definition of the job will exist in another branch of the config repository. This patch removes job definitions which are specific to other branches, except for parent jobs which are shared across branches. Signed-off-by:
Jakob Meng <code@jakobmeng.de> Change-Id: Idb8720bd96843b7807dd5cb62b30c1edf3a7a37c
-
Jakob Meng authored
Change-Id: Ifcf55749919fd59c990611e8c4537de787ba4005
-
- May 03, 2022
-
-
Rafael Castillo authored
Also renames the test role to match the module name Change-Id: Ie59da441d39fe2d0e49430662d853bc9628181e0
-
- May 02, 2022
-
-
Jakob Meng authored
OpenStack SDK 0.53 added parameters is_forced_down and updated_at in openstack/compute/v2/service.py, hence our compute_service_info module will return different values depending on which release of the OpenStack SDK is used. Ref.: https://github.com/openstack/openstacksdk/commit/5450c4525313581b2ebc0e1ab6ac6252964c595f Change-Id: I4b055266555cb91681d0ab6edcaa850e061f3afb
-
Jakob Meng authored
OpenStack SDK 0.53 renamed parameter disables_reason to disabled_reason in openstack/compute/v2/service.py, hence our compute_service_info module will return different values depending on which release of the OpenStack SDK is used. Ref.: https://github.com/openstack/openstacksdk/commit/5450c4525313581b2ebc0e1ab6ac6252964c595f Change-Id: I1c0f787f7f67c92f92dd106fc8d55580461e4aa3
-
- Apr 28, 2022
-
-
Jakob Meng authored
With merging the code for 1.0.0 of OpenStack SDK into the master branch several of our modules and CI tests broke. To be able to merge patches we had to set most of our jobs to non-voting, so atm we do not have a good code coverage in Zuul CI. This patch temporarily skips broken tests so that we can set our jobs back to voting and get some basic code coverage from CI. Follow up patches which fix modules are supposed to readd skipped tests on occasion. Change-Id: Ice42d0bdc12c24227a323ad9c5d3fd33870975c4
-
Jakob Meng authored
Our *-octavia jobs pull OpenStack SDK from PyPI and PyPI is still serving the 0.x.x series of the SDK because 1.0.0 has not been released yet. A recent commit bb25330d [1][2] broke compatibility to older SDK releases prior to 1.0.0 and since then our *-octavia job on our master branch is failing. Ref.: [1] https://review.opendev.org/c/openstack/ansible-collections-openstack/+/839033 [2] https://opendev.org/openstack/ansible-collections-openstack/commit/bb25330ddc07d9b433c9f8db7c52baed7020f0cf Change-Id: I4bacc358cca08a71694c590202066c8565a96f02
-
Jakob Meng authored
Ansible Galaxy content importer is using format strings [1] which are supported since Python 3.6. Our Zuul CI job for OpenStack Queens uses Ubuntu 16.04 LTS (Xenial Xerus) as its base image which has Python 3.5 only. Ref.: [1] https://github.com/ansible/galaxy-importer/blob/b7140d6b3b5e172553788ae9aaa7526f8ff49ea2/galaxy_importer/main.py#L117 Change-Id: I5d3b2f71937a0e4ab9a8d49df10744f7d95a7de2
-
- Apr 27, 2022
-
-
Jakob Meng authored
Older releases of OpenStack SDK do not support filtering services. Change-Id: I613c76b8f794ea2024939e07250a50edc5b9e49a
-
Jakob Meng authored
Tag object was introduced to server role in commit c8a5be6b [1] to allow skipping server tests when volumes are not available. Whenever tag object is specified, Ansible will run those three tasks in role server. But as our server module has not been ported to OpenStack SDK 1.0.0 series it will fail even if someone only wants to test our object ci role. This patch removes all occurrences of the object tag in the ci server role. Since it is not used anywhere in our code it will not break ci. Ref.: [1] https://opendev.org/openstack/ansible-collections-openstack/commit/c8a5be6b3022140da41dc10a2d0a6a147ad170cf Change-Id: I222fac499c9a3cb16c4581fb4347170a4d97f833
-
Jakob Meng authored
Alongside OpenStack SDK 1.0.0 we will release a new collection version 2.0.0 which is compatible to OpenStack SDK 1.x.x series only. Code in branch stable/1.0.0 will remain compatible to OpenStack SDK 0.x.x series only. At Ansible OpenStack modules PTG on 2022-04-07 it was decided to raise an error if one is using a incompatible releases of the OpenStack SDK with our collection. We decided against showing warnings only because they can be missed easily and functionality will be broken but probably hardly detectable when using the wrong SDK. This patch implements the code to raise errors when users are trying to use our collection with an incompatible SDK release, e.g. use code from our stable/1.0.0 branch with a OpenStack SDK 1.x.x release. It does not yet change the minimum and maximum required SDK versions because OpenStack SDK 1.0.0 has not yet been released to PyPI and SDK's master branch still does not return a 1.x.x version number. Change-Id: I1052d21cf8f108dbc99619cd4c4072488645b855
-
- Apr 26, 2022
-
-
Jakob Meng authored
The oldest branch in Heat repository is stable/rocky. Previously, Zuul CI would use the master branch of Heat since it could not find stable/queens branch but master branch has incompatibilities with our Queens job. Change-Id: Iaeca759cad641d4923fc63489fd65f57d9f1345a
-
Arx Cruz authored
Make it compatible with new SDK. Although this one was already using self.con.dns.zones to retrieve the zones, it wasn't using the to_dict(computed=False) and was still removing the location (which is obsolate when you use to_dict. Change-Id: Ie2a5b772acc0c8c8338f6f1da877564a077e3b7a
-
- Apr 22, 2022
-
-
Jakob Meng authored
Commit 879270aa [1] bumped the required minimum SDK release but missed to update two locations in code and docs. Ref.: [1] https://opendev.org/openstack/ansible-collections-openstack/commit/879270aa47f4b4e1977637af678ed03b4c6a2c2e Change-Id: I725a26b07484619f6f2c460e974821f81d60b153
-
Jakob Meng authored
OpenStack SDK removed support for the deprecated image property protected in commit afb49692 [1][2]. This replaces the usage of protected with is_protected in openstack.cloud.image but adds protected as an alias to not break backward compatibility for user code. This breaks backward compatibility to older OpenStack SDK releases though. Ref.: [1] https://github.com/openstack/openstacksdk/commit/afb49692f5bfab259af8c594eedbddcb52cbde81 [2] https://review.opendev.org/c/openstack/openstacksdk/+/820926 Change-Id: I5044c927e90c650234fbc22375f44e6841a485a1
-
- Apr 20, 2022
-
-
Jesper Schmitz Mouridsen authored
Change-Id: I7800a91682b143b29c30e97661e057c6c41f4663 Signed-off-by:
Jesper Schmitz Mouridsen <jesper@schmitz.computer>
-
Jakob Meng authored
Running older linter releases while we have a more up to date Ansible 2.12 based linter does not provide value and thus wastes ci resources. Our Ansible 2.9 based linter is broken atm and since it is EOL soon anyway we drop this job. We still have a linter job based on the last stable release and one based on Ansible's devel branch. Our tox environment for Ansible 2.9 will be dropped in a later patch once all Ansible 2.9 based jobs have been removed. Change-Id: I9cd3f729b06516bbd9a3c7985b65fcf294c8bdd7
-
- Apr 19, 2022
-
-
Jakob Meng authored
Python module rstcheck which is used by ansible-test deprecated Python versions prior 3.7 in version 3.5.0 and removed support in 4.0.0 [1]. Ubuntu 18.04 LTS (Bionic Beaver) comes with Python 3.6 by default, so rstcheck prints a FutureWarning which confuses ansible-test: Run command: ***/python -m rstcheck --report warning --ignore-substitutions _,br,release,today,version docs/openstack_guidelines.rst Traceback (most recent call last): File "***/ansible-test", line 28, in <module> main() File "***/ansible-test", line 24, in main cli_main() File "***/ansible_test/_internal/cli.py", line 130, in main args.func(config) File "***/ansible_test/_internal/sanity/__init__.py", line 193, in command_sanity result = test.test(args, sanity_targets, version) File "***/ansible_test/_internal/sanity/rstcheck.py", line 80, in test results = parse_to_list_of_dict(pattern, stderr) File "***/ansible_test/_internal/util.py", line 799, in parse_to_list_of_dict raise Exception('Pattern "%s" did not match values:\n%s' % (pattern, '\n'.join(unmatched))) Exception: Pattern "^(?P<path>[^:]*):(?P<line>[0-9]+): \((?P<level>INFO|WARNING|ERROR|SEVERE)/[0-4]\) (?P<message>.*)$" did not match values: ***/rstcheck.py:51: FutureWarning: Python versions prior 3.7 are deprecated. Please update your python version. FutureWarning ERROR: Command "/usr/bin/env ANSIBLE_TEST_CONTENT_ROOT=***/ ansible_collections/openstack/cloud LC_ALL=en_US.UTF-8 ***/python3.6 ***/ansible-test sanity -v --python 3.6 --skip-test metaclass-boilerplate --skip-test future-import-boilerplate plugins/ docs/ meta/ scripts/ --metadata ***.json --truncate 0 --redact --color no --requirements" returned exit status 1. We cannot constrain the version of rstcheck which ansible-test installs into its Python virtual environment. This has to be fixed in Ansible itself, a pull request against Ansible 2.9 has been opened [2]. Ref.: [1] https://github.com/myint/rstcheck/blob/master/README.rst [2] https://github.com/ansible/ansible/pull/77568 As a workaround we temporarily set our Ubuntu 18.04 based linter job openstack-tox-linters-ansible-2.9 to non-voting and remove it from check dependencies and as a gate job. Thanks to Arx Cruz and Jesper Schmitz Mouridsen for pointing out this issue and its root cause
☺️ Change-Id: Ic6f2febc5a40a29534ac4c7f41f714865099086a
-
- Apr 13, 2022
-
-
Jakob Meng authored
Users would have a non-null username only with Identity API v2 which was available in Keystone of OpenStack Pike. Identity API v2 has been removed since OpenStack Queens [1]. Function search_users() from OpenStack SDK still returns the username attribute because of [2][3] but it will always be None since Keystone's API does not return username since OpenStack Pike. [1] https://docs.openstack.org/releasenotes/keystone/queens.html [2] https://github.com/openstack/openstacksdk/blob/975cabbdd84baa8e05dc5b107b673607e7c0af1a/openstack/cloud/_utils.py#L246 [3] https://github.com/openstack/openstacksdk/commit/76b081efe45f1f2ab8e09a1fd5a23d9fc54361bc Change-Id: I2054dd55662698dabd0f2b3565c31dcd3bf24e5a
-
- Apr 12, 2022
-
-
Zuul authored
-
- Apr 06, 2022
-
-
Jakob Meng authored
Attributes such as location and tenant_id are computed by OpenStack SDK. We do not return these fields in floating_ip_info because e.g. tenant_id has been marked as deprecated and is a copy of the project_id field. Ref.: https://opendev.org/openstack/openstacksdk/commit/70a06d99908c9a56cb28715c62e8ebe6f076a87d Added an assertion to CI which checks that all advertised fields are returned by floating_ip_info. This helps with detecting breaking changes in future updates. Change-Id: I62e4681cd57f82054f68efe1dc59be2cca118135
-
- Apr 05, 2022
- Apr 04, 2022
-
-
Arx Cruz authored
We do no longer return computed values here. Note, this breaks backward compatibility because we do no longer return the location attribute. It was never documenteed anyway. Change-Id: I11af9486a6a284d1756380548fca22435c43765a
-
Jakob Meng authored
Ansible's git repository has no master branch but a devel and several stable-* branches instead. Change-Id: I43844c8a1cefceb7337e5a6ff1e8b8df451efb26
-
- Mar 31, 2022
-
-
Ümit Seren authored
Change-Id: Ib8b5481a1e257490f2a9ff62659a70ea2e920304
-
Gaudenz Steinlin authored
This allows to execute actions on servers outside of the current auth scoped project if the user has permission to do so. Change-Id: Ifb3f40973a76ad8c57bcbcbcb8e73c917681096b
-
Jakob Meng authored
Sorted pip requirements file to improve readability. Moved pip requirements for tests into tests subdirectory and dropped 'pip-' prefix to shorten filenames and conform with common naming scheme for pip requirements files. Added constrains on OpenStack SDK 1.*.* to job ansible-collections-\ openstack-functional-devstack-releases on master branch because only stable/1.0.0 branch is compatible to the OpenStack SDK 0.*.* series. Changed job ansible-collections-openstack-functional-devstack-releases on master branch to non-voting because OpenStack SDK 1.*.* has not been released to PyPI yet, so tests on master branch are expected to fail once we introduce breaking changes from stable/1.0.0 branch. Change-Id: I6b6bb8c6900f7c8341bbf3f9a24999fbf693ba4b
-