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