From d5c403cded8d9ff2d35f22416daecc3b3ec565cd Mon Sep 17 00:00:00 2001 From: anbanerj Date: Mon, 23 Nov 2020 14:56:06 +0100 Subject: [PATCH] Migrating subnets_info from AnsibleModule to OpenStackModule Updated module, added "deprecated_names", Removed "ansible-deprecated-no-collection-name" for subnets_info for ansible 2.10, 2.11 Change-Id: I5590976964543188518200f2b31a1603eb30f39b --- plugins/modules/subnets_info.py | 38 ++++++++++++++++----------------- tests/sanity/ignore-2.10.txt | 1 - tests/sanity/ignore-2.11.txt | 1 - 3 files changed, 18 insertions(+), 22 deletions(-) diff --git a/plugins/modules/subnets_info.py b/plugins/modules/subnets_info.py index 49f5091a..ac18b90c 100644 --- a/plugins/modules/subnets_info.py +++ b/plugins/modules/subnets_info.py @@ -129,34 +129,32 @@ openstack_subnets: elements: dict ''' -from ansible.module_utils.basic import AnsibleModule -from ansible_collections.openstack.cloud.plugins.module_utils.openstack import openstack_full_argument_spec, openstack_cloud_from_module +from ansible_collections.openstack.cloud.plugins.module_utils.openstack import OpenStackModule -def main(): +class SubnetInfoModule(OpenStackModule): - argument_spec = openstack_full_argument_spec( + deprecated_names = ('subnets_facts', 'openstack.cloud.subnets_facts') + + argument_spec = dict( name=dict(required=False, default=None, aliases=['subnet']), filters=dict(required=False, type='dict', default=None) ) - module = AnsibleModule(argument_spec) - is_old_facts = module._name == 'openstack.cloud.subnets_facts' - if is_old_facts: - module.deprecate("The 'openstack.cloud.subnets_facts' module has been renamed to 'openstack.cloud.subnets_info', " - "and the renamed one no longer returns ansible_facts", version='2.13') - sdk, cloud = openstack_cloud_from_module(module) - try: - subnets = cloud.search_subnets(module.params['name'], - module.params['filters']) - if is_old_facts: - module.exit_json(changed=False, ansible_facts=dict( - openstack_subnets=subnets)) - else: - module.exit_json(changed=False, openstack_subnets=subnets) + def run(self): + kwargs = self.check_versioned( + filters=self.params['filters'] + ) + if self.params['name']: + kwargs['name_or_id'] = self.params['name'] + subnets = self.conn.search_subnets(**kwargs) - except sdk.exceptions.OpenStackCloudException as e: - module.fail_json(msg=str(e)) + self.exit(changed=False, openstack_subnets=subnets) + + +def main(): + module = SubnetInfoModule() + module() if __name__ == '__main__': diff --git a/tests/sanity/ignore-2.10.txt b/tests/sanity/ignore-2.10.txt index bea87e44..bda55f5f 100644 --- a/tests/sanity/ignore-2.10.txt +++ b/tests/sanity/ignore-2.10.txt @@ -4,5 +4,4 @@ plugins/modules/identity_user_info.py pylint:ansible-deprecated-no-collection-na plugins/modules/image_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/subnets_info.py pylint:ansible-deprecated-no-collection-name plugins/module_utils/openstack.py pylint:ansible-deprecated-no-collection-name diff --git a/tests/sanity/ignore-2.11.txt b/tests/sanity/ignore-2.11.txt index bea87e44..bda55f5f 100644 --- a/tests/sanity/ignore-2.11.txt +++ b/tests/sanity/ignore-2.11.txt @@ -4,5 +4,4 @@ plugins/modules/identity_user_info.py pylint:ansible-deprecated-no-collection-na plugins/modules/image_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/subnets_info.py pylint:ansible-deprecated-no-collection-name plugins/module_utils/openstack.py pylint:ansible-deprecated-no-collection-name