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
Add share_type and share_type_info modules.
Uses direct Manila API calls via the SDK's session/connection interface
since share type resources are not available in openstacksdk.
Change-Id: I49af9a53435e226c5cc93a14190f85ef4637c798
Signed-off-by: Tadas Sutkaitis <tadasas@gmail.com>
Adds a module to manage Neutron network segments where the
segmentation plugin is enabled.
Segments are relatively simple and do not support modification
beyond the name/description, so most attributes are used for
initial segment creation, or filtering results in order to
perform updates.
Depends-On: https://review.opendev.org/c/openstack/ansible-collections-openstack/+/955752
Change-Id: I4647fd96aaa15460d82765365f98a18ddf2693db
This module introduces the ability to use the cinder manage
and unmanage of an existing volume on a cinder backend.
Due to API limitations, when unmanaging a volume, only the
volume ID can be provided.
Change-Id: If969f198864e6bd65dbb9fce4923af1674da34bc
This adds a module for getting information on one or more
object storage containers from OpenStack.
The following options are supported:
* name - Get details for a single container by name.
When this parameter is defined a single container is returned,
with extra metadata available (with the same keys and value
as in the existing object_container module).
* prefix - Search for and return a list of containers by prefix.
When searching for containers, only a subset of metadata values
are available.
When no options are specified, all containers in the project
are returned, with the same metadata available as when the
prefix option is used.
Change-Id: I8ba434a86050f72d8ce85c9e98731f6ef552fc79
Add a way to filter which volume service is running on a host or list
which hosts run available volume services.
Closes-Bug: #2010490
Change-Id: Icb17f6019a61d9346472d83ddcd2ad29c340ea05
With Ansible OpenStack collection 2.0.0 we break backward
compatibility to older releases, mainly due to breaking changes
coming with openstacksdk >=0.99.0. For example, results will change
for most Ansible modules in this collection.
We take this opportunity to drop the symbolic links with prefix
os_ in plugins/modules and the plugin routing in meta/runtime.yml.
This means users have to call modules of the Ansible OpenStack
collection using their FQCN (Fully Qualified Collection Name) such
as openstack.cloud.server. Short module names such as os_server
will now raise an Ansible error. This also decreases the likelihood
of incompatible Ansible code going undetected.
Symbolic links were introduced to keep our collection backward
compatible to user code which was written for old(er) Ansible releases
which did not have support for collections and where OpenStack modules
where named with a prefix os_ such as os_server which is nowadays
known and stored as openstack.cloud.server.
In Ansible aka ansible-base 2.10, a internal routing table
lib/ansible/config/ansible_builtin_runtime.yml [1] was introduced which
Ansible uses to resolve deprecated module names missing the FQCN (Fully
Qualified Collection Name). Additionally, collections can define their
own plugin routing table in meta/runtime.yml [2] which we did.
In ansible-base 2.10 and ansible-core 2.11 or later, if a user uses a
short module name and the collections keyword is not used, Ansible
will first look in the internal routing table, get an FQCN, and then
looks in the collection for that FQCN. If there is another routing
entry for that new name in that collection's meta/runtime.yml,
Ansible will continue with that redirect. If it does not find another
redirect, Ansible will look for the plugin itself, so it will not
find a redirect in the collection before looking at its internal
redirects. Except if the user uses a FQCN, then it looks directly in
that collection.
Ansible 2.9 and 2.8 do not have any notion of these redirects with a
plugin routing table, backward compatibility with deprecated os_*
module names is solely achieved with symbolic links. Ansible releases
older than 2.11 are EOL [3], so usage of os_* symlinks should reduce
soon.
[1] https://github.com/ansible/ansible/blob/devel/lib/ansible/config/ansible_builtin_runtime.yml
[2] https://github.com/openstack/ansible-collections-openstack/blob/master/meta/runtime.yml
[3] https://docs.ansible.com/ansible/devel/reference_appendices/release_and_maintenance.html
Change-Id: I28cc05c95419b72552899c926721eb87fb6f0868
Create, Update, Remove ironic ports from OpenStack.
NOTE: Does not support 'is_smart_nic', afict this is
not implemented in openstacksdk.
Change-Id: I6d9519988e98b10d0f7bd19b1387fb1f3b657046
Retrieve information about Bare Metal ports from OpenStack
NOTE: Does not support 'is_smart_nic', afict this is
not implemented in openstacksdk.
Change-Id: I1d57ab976ac3b4c5552b9b21db7e90e25fd71764
Add module baremetal_node_info / os_ironic_info.
Retrieve information about Bare Metal nodes from OpenStack
Change-Id: I597a66b817bb6b53ecad7503e44f6818aec031a2
The module retrieve the nova compute services info
filters by
* host
* binary ( nova-compute, nova-conductor, ... )
Closes-Bug: 2009775
Change-Id: I0f9cac27a7a91727ba1d005e04431e8f83c46fa8
The collection routing implementation for 2.10:
https://github.com/ansible/ansible/pull/67684
just update the filename to be meta/runtime.yml.
Change-Id: I858f53e66bef2c40fb7ec2821d412bd966417106
This is separate from the previous patch - it's just the results
of running the script so we can review the two a little independently.
We should probably squash them.
Change-Id: I838f15cf4a32455a5be20033c8ddc27db6ca15c0
The 2.10 transition has a routing.yml file that points each
individual module from ansible/ansible to a new location. That means
we can put:
os_server:
redirect: openstack.cloud.server
into lib/ansible/config/routing.yml in ansible/ansible and have
the result be the end user's playbooks still working with the
old names while providing new names that are less ugly.
This adds a routing file to our collection repo, as well as the
script used to generate the new mapping.
Change-Id: Ia5d18282b14ad0d86a347343be8bb477ae47130a