From 5d73a9a4c5c36a4997a0019fed37bc5c0cd1fa3b Mon Sep 17 00:00:00 2001 From: David Shrewsbury Date: Thu, 22 Oct 2015 11:52:28 -0400 Subject: [PATCH] Fix for routers without external interfaces --- cloud/openstack/os_router.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/cloud/openstack/os_router.py b/cloud/openstack/os_router.py index e5eb9bdc987..d8d547f5f1f 100644 --- a/cloud/openstack/os_router.py +++ b/cloud/openstack/os_router.py @@ -164,10 +164,13 @@ def _needs_update(cloud, module, router, network, internal_subnet_ids): """ if router['admin_state_up'] != module.params['admin_state_up']: return True - if router['external_gateway_info'].get('enable_snat', True) != module.params['enable_snat']: - return True + if router['external_gateway_info']: + if router['external_gateway_info'].get('enable_snat', True) != module.params['enable_snat']: + return True if network: - if router['external_gateway_info']['network_id'] != network['id']: + if not router['external_gateway_info']: + return True + elif router['external_gateway_info']['network_id'] != network['id']: return True # check external interfaces