From 79527235307935c3867cd8c8120d86df2c7d801f Mon Sep 17 00:00:00 2001 From: Rene Moser Date: Fri, 26 Jun 2015 09:24:02 +0200 Subject: [PATCH] cloudstack: fix domain name is not unique, use full path --- lib/ansible/module_utils/cloudstack.py | 7 ++++--- v1/ansible/module_utils/cloudstack.py | 7 ++++--- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/lib/ansible/module_utils/cloudstack.py b/lib/ansible/module_utils/cloudstack.py index 5b67c745c4..752defec2b 100644 --- a/lib/ansible/module_utils/cloudstack.py +++ b/lib/ansible/module_utils/cloudstack.py @@ -274,12 +274,13 @@ class AnsibleCloudStack: return None args = {} - args['name'] = domain args['listall'] = True domains = self.cs.listDomains(**args) if domains: - self.domain = domains['domain'][0] - return self._get_by_key(key, self.domain) + for d in domains['domain']: + if d['path'].lower() in [ domain.lower(), "root/" + domain.lower(), "root" + domain.lower() ]: + self.domain = d + return self._get_by_key(key, self.domain) self.module.fail_json(msg="Domain '%s' not found" % domain) diff --git a/v1/ansible/module_utils/cloudstack.py b/v1/ansible/module_utils/cloudstack.py index 5b67c745c4..752defec2b 100644 --- a/v1/ansible/module_utils/cloudstack.py +++ b/v1/ansible/module_utils/cloudstack.py @@ -274,12 +274,13 @@ class AnsibleCloudStack: return None args = {} - args['name'] = domain args['listall'] = True domains = self.cs.listDomains(**args) if domains: - self.domain = domains['domain'][0] - return self._get_by_key(key, self.domain) + for d in domains['domain']: + if d['path'].lower() in [ domain.lower(), "root/" + domain.lower(), "root" + domain.lower() ]: + self.domain = d + return self._get_by_key(key, self.domain) self.module.fail_json(msg="Domain '%s' not found" % domain)