Commit Graph

888 Commits

Author SHA1 Message Date
Grzegorz Koper
2419b6e30c Prepare release metadata for openstack.cloud 2.6.0
Bump galaxy.yml to 2.6.0.
Add a 2.6.0 entry in changelogs/changelog.yaml,
regenerate CHANGELOG.rst with antsibull-changelog.

Tests-Run: tox -e pep8

Change-Id: I03a4a424d1f47a9fdaa70efae9b8c9a3fa60b072
Signed-off-by: Grzegorz Koper <grzegorzk@stackhpc.com>
2.6.0
2026-06-10 19:37:41 +02:00
Stephen Finucane
0ada05ec10 Remove version checks
openstacksdk 1.0.0 was released 3½ years ago [1]. pip is not going to
pull that version any more. These checks are redundant.

In addition, we can remove sdk_version extra var. Change
I9665f04e6c0d5a84d6c20a73ef7b0dfdc7bd8159 removed the last guard that
relied on this, similarly about 3½ years ago.

[1] https://pypi.org/project/openstacksdk/1.0.0/

Change-Id: Ic0dd7bc5de1f24d1ee3336ccea97aced850f86af
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2026-06-10 14:05:10 +01:00
Zuul
c81422e3f6 Merge "[doc] Document usage of changelog" 2026-05-26 08:49:50 +00:00
Zuul
2a062cb82e Merge "Add support for l7_rules loadbalancer quota" 2026-05-25 05:19:48 +00:00
Dmitriy Rabotyagov
6ec9548850 [doc] Document usage of changelog
At the moment project documentation does not contain any mention
on how changelog should be produced.

Some use reno, some use fragments. At the moment there is no transition
from reno to antsibull format is available, so let's ask contributors to
follow ansible's format of changelog fragments.

In case we come up with a transition layer from reno to fragment format,
or antsibull replacement, we can change documentation.

Change-Id: I048f80af849d2872be866e44882d2a8fcbf01cfc
Signed-off-by: Dmitriy Rabotyagov <dmitriy.rabotyagov@cleura.com>
2026-05-22 09:06:42 +02:00
Mathieu Gagné
8d8cf1d6a7 Add support for l7_rules loadbalancer quota
Change-Id: I1085bdad5f6bb6f29fb4c6fd60d991f1240739c4
Signed-off-by: Mathieu Gagné <mgagne@calavera.ca>
2026-05-21 16:04:22 +00:00
Dmitriy Rabotyagov
616f71341e Convert published release notes to fragments
In order to generate a proper changelog as a part of releasing
process, we should maintain proper fragments instead of the
notes produced by `reno`.
This patch moves content to the expected place.

Change-Id: Icedb383b08a2e7ce60f5423912c09b2c499070ad
Signed-off-by: Dmitriy Rabotyagov <dmitriy.rabotyagov@cleura.com>
2026-05-21 17:59:16 +02:00
Zuul
a4c6d4ba3a Merge "Add volume_retype module" 2026-05-21 14:00:57 +00:00
Zuul
84580110ec Merge "feat: add compute service module" 2026-05-21 05:35:35 +00:00
Patrick Pfurtscheller
42e2503ee1 feat: add compute service module
Change-Id: Ib846bda2a9b6c39e2f09cac508fa794fa9858920
Signed-off-by: Patrick Pfurtscheller <patrick@pfurtscheller.org>
2026-05-20 22:38:09 +02:00
Simon Dodsley
1f0ced6952 Add volume_retype module
Introduce openstack.cloud.volume_retype, a new module that wraps
the Cinder os-retype block storage action (POST /volumes/{id}/action)
to change the type of an existing volume.

The module supports both migration policies exposed by the Cinder API:
- 'never'     – changes volume type metadata only; requires source and
                target types to share the same storage backend.
- 'on-demand' – triggers a full data migration to the backend
                associated with the new volume type.

The module is idempotent: if the volume already carries the requested
type no API call is made and changed=false is returned. It also
honours Ansible check mode, resolving the volume and target type to
verify feasibility without mutating any state.

A wait/timeout mechanism is included. For on-demand retypes the module
polls migration_status until 'success' or 'error'. For never retypes
it polls volume status until 'available'.

The equivalent CLI command is:
  openstack volume set --type <type> --retype-policy <policy> <vol>

This closes a gap in the collection: openstack.cloud.volume handles
create/delete/update but does not expose the retype action.

Integration tests are provided covering: basic retype, idempotency,
check mode, lookup by UUID, and error handling for missing volume
and missing volume type.

Change-Id: I32b2b6303366a19baa1e3f1473b09650f6daee66
Signed-off-by: Simon Dodsley <simon@purestorage.com>
2026-05-20 11:45:30 -04:00
Zuul
338534eab2 Merge "Add host_aggregate_info module" 2026-05-20 07:23:43 +00:00
Zuul
737ca4fed7 Merge "Fix unit test helpers for ansible-core 2.19+" 2026-05-20 07:23:41 +00:00
Zuul
603b6e2d2b Merge "Ignore common python files in .gitignore" 2026-05-20 07:02:12 +00:00
Zuul
13dadf4129 Merge "Add ability to set tags in network modules" 2026-05-19 22:09:35 +00:00
Bertrand Lanson
94bb10a5ee Add host_aggregate_info module
This module allows operators to get informations on
compute aggregates in a cluster, including availability zone
informations and hosts membership.

Change-Id: I14fa8d6914072bee314efa3753633933b21e9439
Signed-off-by: Bertrand Lanson <bertrand.lanson@infomaniak.com>
2026-05-19 21:07:30 +02:00
Bertrand Lanson
7644aeaf32 Fix unit test helpers for ansible-core 2.19+
ansible-core 2.19 introduced _ANSIBLE_PROFILE alongside _ANSIBLE_ARGS.
set_module_args() in utils.py and test_baremetal_port_group.py only set
_ANSIBLE_ARGS, causing "No serialization profile was specified" errors.
Set _ANSIBLE_PROFILE to 'legacy' to match the pre-2.19 behavior.

Change-Id: I1073f347ce18f061b5fa099442a6b6aa10c42507
Signed-off-by: Bertrand Lanson <bertrand.lanson@infomaniak.com>
2026-05-19 21:07:30 +02:00
Bertrand Lanson
836d7410b2 Ignore common python files in .gitignore
Quick quality of life improvement.

Change-Id: I4f7291190f2480fe7c78cc0d3462d59578ff6242
Signed-off-by: Bertrand Lanson <bertrand.lanson@infomaniak.com>
2026-05-19 20:55:25 +02:00
Zuul
382a43c461 Merge "Add support for setting shard key on baremetal node" 2026-05-12 22:34:14 +00:00
Zuul
bcac650895 Merge "Add volume_image_metadata" 2026-05-11 22:05:26 +00:00
Zuul
c3cd0d2838 Merge "Add port_forwarding modules" 2026-05-11 22:05:24 +00:00
Zuul
143c959f7d Merge "Only clear out security groups if the parameter is set" 2026-05-11 21:11:14 +00:00
Zuul
0e6e281316 Merge "CI: Run jobs for all non-EOL Ansible versions" 2026-05-05 11:21:41 +00:00
Zuul
a02bba1152 Merge "Add ability to allocate floating IP" 2026-05-04 16:43:39 +00:00
Simon Dodsley
80557dae33 Add volume_image_metadata
This module introduces the ability to set image metadata
which is distinct from regualt volume metadata, and is
required for correct boot-from-volume behaviour.

This allows workflows such as replication and disaster
recovery to correctly preserve image provenance and
Nova boot semantics.

Change-Id: I55732fbe8fc6bd579b8542f834033650a076db76
Signed-off-by: Simon Dodsley <simon@purestorage.com>
2026-04-30 10:36:39 +01:00
Zuul
d4a77620cc Merge "fix(trunk): Always add relevant sub_ports" 2026-04-29 18:54:39 +00:00
Michal Nasiadka
b3e1cdd730 CI: Run jobs for all non-EOL Ansible versions
Switch Jammy nodesets to Noble

Change-Id: I7d18196c12d5670a5a458d64d901ffcf3b0b0af4
Signed-off-by: Michal Nasiadka <mnasiadka@gmail.com>
2026-04-29 07:18:52 +00:00
Zuul
9e7332ffff Merge "feat(images): Adds support for image import and 'uploading' status" 2026-04-29 05:11:59 +00:00
Zuul
e545283299 Merge "Add bootable volume support" 2026-04-28 20:21:40 +00:00
Zuul
885fadb31e Merge "Add authorization_ttl option for Keystone IDP." 2026-04-20 06:15:05 +00:00
Zuul
da833ac8dc Merge "Add schema_version property to federation_mapping" 2026-04-16 10:43:34 +00:00
Doug Szumski
b1932e1b06 Add support for setting shard key on baremetal node
Ironic supports setting a shard key on baremetal nodes
which can be used to scale out the Nova Compute Ironic
service. This change adds support for setting the shard
key.

Change-Id: I9694470a8ce6d964d6251bda4463f025bd4245e0
Signed-off-by: Doug Szumski <doug@stackhpc.com>
2026-04-09 15:51:50 +01:00
Nicholas Kuechler
09a4e4248d feat(images): Adds support for image import and 'uploading' status
Change-Id: Ib5023c376f7fe1f9850ac7bdacaf6dea695cce0f
Signed-off-by: Nicholas Kuechler <nicholas.kuechler@rackspace.com>
2026-03-24 11:25:52 -05:00
Zuul
ccec4d07b3 Merge "Add support for managing network segments" 2026-03-23 15:16:45 +00:00
Taavi Ansper
1387aec1db Add schema_version property to federation_mapping
Closes-Bug: #2145020
Change-Id: Id4e19dd4d63ae083280a78863a6cdecbd043ea7c
Signed-off-by: Taavi Ansper <taaviansperr@gmail.com>
2026-03-21 12:45:10 +02:00
Zuul
04b70b99da Merge "Support updating extra_specs in project module" 2026-03-19 21:41:00 +00:00
Zuul
ed4c4036af Merge "feat(images): Adds support for image ID reservation and queued images" 2026-03-19 07:37:34 +00:00
Zuul
e2ebc1c8d0 Merge "tox: Drop basepython" 2026-03-19 07:37:33 +00:00
Zuul
99eb60f7dc Merge "Add baremetal_port_group module" 2026-03-19 06:56:08 +00:00
Nicholas Kuechler
e90fd7a915 feat(images): Adds support for image ID reservation and queued images
Change-Id: I3aa319deb711eaa1ccad4f48eedb079afd801872
Signed-off-by: Nicholas Kuechler <nicholas.kuechler@rackspace.com>
2026-03-12 14:52:48 -05:00
Taavi Ansper
b3a31eb6d5 Add authorization_ttl option for Keystone IDP.
Closes-Bug: #2142395

Change-Id: Ib3fab86da2170cc6a349c06906ad27bf54ed0d5c
Signed-off-by: Taavi Ansper <taaviansperr@gmail.com>
2026-02-22 17:36:44 +02:00
Artem Goncharov
1bc4f648fb Rotate the galaxy secret
Change-Id: I4d25f3b7831c80c615e6dd967a5e5065452cdce8
Signed-off-by: Artem Goncharov <artem.goncharov@gmail.com>
2026-02-17 17:15:54 +01:00
Grzegorz Koper
1a654a9c38 Add baremetal_port_group module
Add support for managing Ironic baremetal port groups.

Include CI role coverage and unit tests for create, update, delete, and check mode behavior.

Add a reno fragment describing the new module.

Tests-Run: python -m pytest tests/unit/modules/cloud/openstack/test_baremetal_port_group.py
Change-Id: I98564fcb5b81a1dd7be1fbf5ffca364483296655
2026-02-10 14:45:35 +01:00
Jan-Philipp Litza
af4d72a3bb fix(trunk): Always add relevant sub_ports
This fixes two similar issues:
1. sub_ports weren't added when initially creating the trunk
2. sub_ports identified by ID instead of name weren't added

Closes-Bug: #2089589
Change-Id: I1342e23aafdd44eaf16f236d6d07ace41ae1d247
Signed-off-by: Jan-Philipp Litza <janphilipp@litza.de>
2026-01-30 14:09:22 +01:00
Ivan Anfimov
67b7ec5e58 tox: Drop basepython
Python 2 reached its EOL long time ago and we no longer expect any
user may attempt to run tox in Python 2.

Removing the option allows us to remove ignore_basepython_conflict.

Change-Id: I54c0581e77c924f9d98975964e4470e89fa3d954
Co-authored-by: Takashi Kajinami <kajinamit@oss.nttdata.com>
Signed-off-by: Ivan Anfimov <lazekteam@gmail.com>
2026-01-24 12:53:27 +00:00
James Hewitt
b1e4d4b714 Only clear out security groups if the parameter is set
Because security groups are associated with ports not servers, this is a tricky UX.

When creating a server, security groups are applied to any new ports created but not existing ports because they haven't been interrogated yet. When updating a server, the security groups for all attached ports are updated. Because we have an empty list as default, this means if you don't specify security groups on the server (because you're setting them on the port instead), then server creation will work fine, but update will clear out the groups from the port.

This patch changes the default groups for the server resource to be None, so that we can tell if the user doesn't specify any groups and if they don't, rely on the ports having them set instead. It improves idempotency.

Closes-Bug: #2137488
Change-Id: Iedcc9a34dc5ac847496eab19880189e4dc3c517a
Signed-off-by: James Hewitt <james.hewitt@uk.ibm.com>
2026-01-07 15:12:23 +00:00
James Hewitt
a4ed67b054 Add bootable volume support
Add support for setting volumes to be bootable on creation, as well as support for updating the bootable flag.

Closes-Bug: #2137559
Change-Id: I60bac613060551c4d6144675b1553b4fdda2d13d
Signed-off-by: James Hewitt <james.hewitt@uk.ibm.com>
2026-01-07 11:49:47 +00:00
naosuke
70128d6230 Support updating extra_specs in project module
It supports for adding extra_specs in updating project.

Change-Id: I98a73ed9367d52df82213b3b7c484ceac10acf3d
Signed-off-by: Naoki Hanakawa <naoki.hanakawa@lycorp.co.jp>
2025-12-17 10:13:52 +09:00
Riccardo Pittau
1dc367b566 Use new bifrost CI jobs names
Ironic do not support tinyipa anymore, all jobs run with DIB
based ipa ramdisks, so we updated their config and names.

Change-Id: Id7b260a0965d941d3a34eb181a068a9a5e7189ef
Signed-off-by: Riccardo Pittau <elfosardo@gmail.com>
2025-12-16 09:28:32 +01:00
Austin Jamias
86d9e2e00a Add port_forwarding modules
This adds the ability to manage floating IP port forwarding resources.

Change-Id: Ifd7cb30faf0efbd043474d2d6c23b87a55ee73de
Signed-off-by: Austin Jamias <ajamias@redhat.com>
2025-12-10 12:59:52 -05:00