From 6e85ac2ba6d7124a96d0b257586c50bf44941c2a Mon Sep 17 00:00:00 2001 From: Monty Taylor Date: Wed, 17 May 2017 12:17:31 -0500 Subject: [PATCH] Deal with server.security_groups being None (#24742) It shouldn't happen - but there is a bug in shade where it can be None but should be [] instead. Work around it. Fixes #24675 --- lib/ansible/modules/cloud/openstack/os_server.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/ansible/modules/cloud/openstack/os_server.py b/lib/ansible/modules/cloud/openstack/os_server.py index e6298fa9794..7d77c98102f 100644 --- a/lib/ansible/modules/cloud/openstack/os_server.py +++ b/lib/ansible/modules/cloud/openstack/os_server.py @@ -631,7 +631,11 @@ def _check_security_groups(module, cloud, server): return changed, server module_security_groups = set(module.params['security_groups']) - server_security_groups = set(sg.name for sg in server.security_groups) + # Workaround a bug in shade <= 1.20.0 + if server.security_groups is not None: + server_security_groups = set(sg.name for sg in server.security_groups) + else: + server_security_groups = set() add_sgs = module_security_groups - server_security_groups remove_sgs = server_security_groups - module_security_groups