Migrating routers_info from AnsibleModule to OpenStackModule
Change-Id: I0b87c5c3336849bd2e62da5dee04614f74714dbf
This commit is contained in:
parent
8b35c64fda
commit
e1178fde34
@ -144,25 +144,28 @@ openstack_routers:
|
|||||||
type: list
|
type: list
|
||||||
'''
|
'''
|
||||||
|
|
||||||
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 RouterInfoModule(OpenStackModule):
|
||||||
|
|
||||||
argument_spec = openstack_full_argument_spec(
|
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)
|
|
||||||
|
|
||||||
sdk, cloud = openstack_cloud_from_module(module)
|
def run(self):
|
||||||
try:
|
|
||||||
routers = cloud.search_routers(module.params['name'],
|
kwargs = self.check_versioned(
|
||||||
module.params['filters'])
|
filters=self.params['filters']
|
||||||
|
)
|
||||||
|
if self.params['name']:
|
||||||
|
kwargs['name_or_id'] = self.params['name']
|
||||||
|
routers = self.conn.search_routers(**kwargs)
|
||||||
|
|
||||||
for router in routers:
|
for router in routers:
|
||||||
interfaces_info = []
|
interfaces_info = []
|
||||||
for port in cloud.list_router_interfaces(router):
|
for port in self.conn.list_router_interfaces(router):
|
||||||
if port.device_owner != "network:router_gateway":
|
if port.device_owner != "network:router_gateway":
|
||||||
for ip_spec in port.fixed_ips:
|
for ip_spec in port.fixed_ips:
|
||||||
int_info = {
|
int_info = {
|
||||||
@ -173,10 +176,12 @@ def main():
|
|||||||
interfaces_info.append(int_info)
|
interfaces_info.append(int_info)
|
||||||
router['interfaces_info'] = interfaces_info
|
router['interfaces_info'] = interfaces_info
|
||||||
|
|
||||||
module.exit_json(changed=False, openstack_routers=routers)
|
self.exit(changed=False, openstack_routers=routers)
|
||||||
|
|
||||||
except sdk.exceptions.OpenStackCloudException as e:
|
|
||||||
module.fail_json(msg=str(e))
|
def main():
|
||||||
|
module = RouterInfoModule()
|
||||||
|
module()
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
Loading…
x
Reference in New Issue
Block a user