As per the REST Networking API v2.0 (Subnet) docs, if subnets pools
are not specified, OpenStack networking automatically allocates pools
covering all IP addresses in the CIDR.
In custom vendor specific environments, subnets can be created without
allocation pools via UI due to which subnets will not have any existing
allocation pools. Under this scenario, module throws an
"IndexError: list index out of range" error.
Also, allow to add more allocation pools on top of existing allocation
pools.
Change-Id: Ib8becf5e958f1bc8e5c9fd76f1722536bf1c9f1a
Keystone supports setting custom properties for projects. This changes add
properties to os_project to enable setting of custom properties.
Depends-On: https://review.opendev.org/715255
Change-Id: I23e2834d6b9d40ce86db4b32a0ed8bf76b3d9879
Collections are new. openstacksdk as of now doesn't support python2.
We shouldn't pretend to support python2 either. If you're using
ansible new enough to use collections, you can use python3.
This release of openstacksdk only supports 3.6 and onwards, so
set that as our min.
Change-Id: I34d544ce48f25bffde8e6e0cf82cdf9a85e681c3
This is a topic where there are two points of view. While neither
is fundamentally better than the other in reality, what's best is
to not have any arguments about it. The tox.ini comments about 503
and 504 that were in place make the argument that:
- 503 is intended to be disabled and 504 enabled by default
- Donald Knuth believes 504 is the right way
Since Donald Knuth is smarter than all of us, align with 504, match
the comments in the file and turn on enforcement to keep it that way.
Change-Id: I92d4d1e82935e30ae42a0e14e641cbe36fd6e811
To make use of the port_security_enabled [a] and mtu [b] parameters,
[c] and [d] need to be present in the openstacksdk or the os_network
module with return an error like:
TypeError: create_network() got an unexpected keyword argument 'port_security_enabled'
or:
TypeError: create_network() got an unexpected keyword argument 'mtu'
To handle this, we fail the module if one of the arguments are used
and the minimum openstacksdk version for that argument is not met.
[a] eaf238b033
[b] c6a8e99d34
[c] 8eb788af07
[d] a1fc820a2f
Fixes: https://github.com/ansible/ansible/issues/62062
Change-Id: I2b80dc721a08bbdb530af3705ae99cf1b579d9f0
since inception skip_update_of_masked_password is misspelled
as skip_update_of_driver_password in the documentation.
Change-Id: I439f672b82385b4e317f2442755a81ef9c7c6bda
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
In module_utils we have a bunch of factory functions that we expect
people to use in a certain combination to build a module, then we
pass around a reference to the SDK and to the connection we created.
That's largely just due to how this stuff grew organically.
Instead, create a base class to be used in the modules. For now it
allows us to clean things up a bit. But as a follow on - it should
maybe help us put in things like richer logging collection which
would otherwise need to be done with helper methods and whatnot.
Change-Id: I487e79fe18c0b9a75df7dacd224ab40ed7f4e1ab