Migrating networks_info from AnsibleModule to OpenStackModule
Migrated networks_info module to OpenStackModule and updated playbook to test the module in CI jobs. Added deprecated_names tyo module. Removed "ansible-deprecated-no-collection-name" exception for networks_info for ansible 2.10 and 2.11. Reverted 'False' to 'false' and updated filters (case sensitive) to check for 'False' instead Change-Id: I85e19f0db8b4ee549137249477d0b7f5d82e9865
This commit is contained in:
parent
15675ce23f
commit
d36ac1f125
@ -7,6 +7,21 @@
|
|||||||
shared: "{{ network_shared }}"
|
shared: "{{ network_shared }}"
|
||||||
external: "{{ network_external }}"
|
external: "{{ network_external }}"
|
||||||
|
|
||||||
|
- name: Gather networks info
|
||||||
|
openstack.cloud.networks_info:
|
||||||
|
cloud: "{{ cloud }}"
|
||||||
|
name: "{{ network_name }}"
|
||||||
|
filters:
|
||||||
|
shared: "{{ network_shared|string|capitalize }}"
|
||||||
|
register: result
|
||||||
|
|
||||||
|
- name: Verify networks info
|
||||||
|
assert:
|
||||||
|
that:
|
||||||
|
- "result.openstack_networks.0.name == network_name"
|
||||||
|
- "(result.openstack_networks.0.shared|lower) == (network_shared|lower)"
|
||||||
|
- "result.openstack_networks[0]['router:external'] == {{ network_external }}"
|
||||||
|
|
||||||
- name: Delete network
|
- name: Delete network
|
||||||
openstack.cloud.network:
|
openstack.cloud.network:
|
||||||
cloud: "{{ cloud }}"
|
cloud: "{{ cloud }}"
|
||||||
|
@ -113,37 +113,33 @@ openstack_networks:
|
|||||||
type: bool
|
type: bool
|
||||||
'''
|
'''
|
||||||
|
|
||||||
from ansible.module_utils.basic import AnsibleModule
|
from ansible_collections.openstack.cloud.plugins.module_utils.openstack import OpenStackModule
|
||||||
from ansible_collections.openstack.cloud.plugins.module_utils.openstack import (
|
|
||||||
openstack_full_argument_spec,
|
|
||||||
openstack_cloud_from_module,
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def main():
|
class NetworkInfoModule(OpenStackModule):
|
||||||
|
|
||||||
argument_spec = openstack_full_argument_spec(
|
deprecated_names = ('networks_facts', 'openstack.cloud.networks_facts')
|
||||||
|
|
||||||
|
argument_spec = dict(
|
||||||
name=dict(required=False, default=None),
|
name=dict(required=False, default=None),
|
||||||
filters=dict(required=False, type='dict', default=None)
|
filters=dict(required=False, type='dict', default=None)
|
||||||
)
|
)
|
||||||
module = AnsibleModule(argument_spec)
|
|
||||||
is_old_facts = module._name == 'openstack.cloud.networks_facts'
|
|
||||||
if is_old_facts:
|
|
||||||
module.deprecate("The 'openstack.cloud.networks_facts' module has been renamed to 'openstack.cloud.networks_info', "
|
|
||||||
"and the renamed one no longer returns ansible_facts", version='2.13')
|
|
||||||
|
|
||||||
sdk, cloud = openstack_cloud_from_module(module)
|
def run(self):
|
||||||
try:
|
|
||||||
networks = cloud.search_networks(module.params['name'],
|
|
||||||
module.params['filters'])
|
|
||||||
if is_old_facts:
|
|
||||||
module.exit_json(changed=False, ansible_facts=dict(
|
|
||||||
openstack_networks=networks))
|
|
||||||
else:
|
|
||||||
module.exit_json(changed=False, openstack_networks=networks)
|
|
||||||
|
|
||||||
except sdk.exceptions.OpenStackCloudException as e:
|
kwargs = self.check_versioned(
|
||||||
module.fail_json(msg=str(e))
|
filters=self.params['filters']
|
||||||
|
)
|
||||||
|
if self.params['name']:
|
||||||
|
kwargs['name_or_id'] = self.params['name']
|
||||||
|
networks = self.conn.search_networks(**kwargs)
|
||||||
|
|
||||||
|
self.exit(changed=False, openstack_networks=networks)
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
module = NetworkInfoModule()
|
||||||
|
module()
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
@ -2,7 +2,6 @@ plugins/modules/compute_flavor_info.py pylint:ansible-deprecated-no-collection-n
|
|||||||
plugins/modules/identity_domain_info.py pylint:ansible-deprecated-no-collection-name
|
plugins/modules/identity_domain_info.py pylint:ansible-deprecated-no-collection-name
|
||||||
plugins/modules/identity_user_info.py pylint:ansible-deprecated-no-collection-name
|
plugins/modules/identity_user_info.py pylint:ansible-deprecated-no-collection-name
|
||||||
plugins/modules/image_info.py pylint:ansible-deprecated-no-collection-name
|
plugins/modules/image_info.py pylint:ansible-deprecated-no-collection-name
|
||||||
plugins/modules/networks_info.py pylint:ansible-deprecated-no-collection-name
|
|
||||||
plugins/modules/port_info.py pylint:ansible-deprecated-no-collection-name
|
plugins/modules/port_info.py pylint:ansible-deprecated-no-collection-name
|
||||||
plugins/modules/project_info.py pylint:ansible-deprecated-no-collection-name
|
plugins/modules/project_info.py pylint:ansible-deprecated-no-collection-name
|
||||||
plugins/modules/subnets_info.py pylint:ansible-deprecated-no-collection-name
|
plugins/modules/subnets_info.py pylint:ansible-deprecated-no-collection-name
|
||||||
|
@ -2,7 +2,6 @@ plugins/modules/compute_flavor_info.py pylint:ansible-deprecated-no-collection-n
|
|||||||
plugins/modules/identity_domain_info.py pylint:ansible-deprecated-no-collection-name
|
plugins/modules/identity_domain_info.py pylint:ansible-deprecated-no-collection-name
|
||||||
plugins/modules/identity_user_info.py pylint:ansible-deprecated-no-collection-name
|
plugins/modules/identity_user_info.py pylint:ansible-deprecated-no-collection-name
|
||||||
plugins/modules/image_info.py pylint:ansible-deprecated-no-collection-name
|
plugins/modules/image_info.py pylint:ansible-deprecated-no-collection-name
|
||||||
plugins/modules/networks_info.py pylint:ansible-deprecated-no-collection-name
|
|
||||||
plugins/modules/port_info.py pylint:ansible-deprecated-no-collection-name
|
plugins/modules/port_info.py pylint:ansible-deprecated-no-collection-name
|
||||||
plugins/modules/project_info.py pylint:ansible-deprecated-no-collection-name
|
plugins/modules/project_info.py pylint:ansible-deprecated-no-collection-name
|
||||||
plugins/modules/subnets_info.py pylint:ansible-deprecated-no-collection-name
|
plugins/modules/subnets_info.py pylint:ansible-deprecated-no-collection-name
|
||||||
|
Loading…
x
Reference in New Issue
Block a user