소스 검색

openshift on openstack: fix non kuryr non API LB

The previous patches in the branch left kuryr working but made things
break when no LB nor kuryr were in the deployment.

Change-Id: I3a40d5934b901ba50e098c8c3bcef033cb1c931f
Signed-off-by: Antoni Segura Puimedon <antonisp@celebdor.com>
Antoni Segura Puimedon 7 년 전
부모
커밋
195b60b1e2
1개의 변경된 파일15개의 추가작업 그리고 6개의 파일을 삭제
  1. 15 6
      playbooks/openstack/inventory.py

+ 15 - 6
playbooks/openstack/inventory.py

@@ -151,12 +151,21 @@ def build_inventory():
 
 
     stout = _get_stack_outputs(cloud)
     stout = _get_stack_outputs(cloud)
     if stout is not None:
     if stout is not None:
-        inventory['localhost']['openshift_openstack_api_lb_provider'] = stout['api_lb_provider']
-        inventory['localhost']['openshift_openstack_api_lb_port_id'] = stout['api_lb_vip_port_id']
-        inventory['localhost']['openshift_openstack_api_lb_sg_id'] = stout['api_lb_sg_id']
-        kuryr_vars = _get_kuryr_vars(cloud, stout)
-        if kuryr_vars:
-            inventory['OSEv3']['vars'] = kuryr_vars
+        try:
+            inventory['localhost'].update({
+                'openshift_openstack_api_lb_provider':
+                stout['api_lb_provider'],
+                'openshift_openstack_api_lb_port_id':
+                stout['api_lb_vip_port_id'],
+                'openshift_openstack_api_lb_sg_id':
+                stout['api_lb_sg_id']})
+        except KeyError:
+            pass  # Not an API load balanced deployment
+
+        try:
+            inventory['OSEv3']['vars'] = _get_kuryr_vars(cloud, stout)
+        except KeyError:
+            pass  # Not a kuryr deployment
     return inventory
     return inventory