diff options
author | spisarski <s.pisarski@cablelabs.com> | 2018-02-22 11:42:52 -0700 |
---|---|---|
committer | spisarski <s.pisarski@cablelabs.com> | 2018-02-22 11:42:52 -0700 |
commit | c711acf8ae3e4ad6f746500747857bcc9fd6f7be (patch) | |
tree | 4eeba467b4f42b37e935ccfff6b547bd11c65778 /snaps/config/network.py | |
parent | f3553913925b8ee5869c8e06047d6e4161a968c7 (diff) |
Changed pattern on how objects lookup themselves by name and project.
The pattern being replaced has unwittingly added the requirement that
all creator credentials must be of type 'admin' as when looking up
the associated project ID required a call to keystone.projects.list().
As the SNAPS integration tests were always creating users with an 'admin'
role, this issue was not caught. As part of this patch, integration test
users will no longer be admin.
JIRA: SNAPS-274
Change-Id: I02957f69e31a9d4dfa63362d371f061687e59fbf
Signed-off-by: spisarski <s.pisarski@cablelabs.com>
Diffstat (limited to 'snaps/config/network.py')
-rw-r--r-- | snaps/config/network.py | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/snaps/config/network.py b/snaps/config/network.py index 85e2bb0..a2d008a 100644 --- a/snaps/config/network.py +++ b/snaps/config/network.py @@ -435,16 +435,10 @@ class PortConfig(object): out = dict() - project_id = None - if self.project_name: - keystone = keystone_utils.keystone_client(os_creds) - project = keystone_utils.get_project( - keystone=keystone, project_name=self.project_name) - if project: - project_id = project.id - + keystone = keystone_utils.keystone_client(os_creds) network = neutron_utils.get_network( - neutron, network_name=self.network_name, project_id=project_id) + neutron, keystone, network_name=self.network_name, + project_name=self.project_name) if not network: raise PortConfigError( 'Cannot locate network with name - ' + self.network_name) @@ -456,6 +450,11 @@ class PortConfig(object): if self.name: out['name'] = self.name if self.project_name: + project = keystone_utils.get_project( + keystone=keystone, project_name=self.project_name) + project_id = None + if project: + project_id = project.id if project_id: out['tenant_id'] = project_id else: @@ -473,7 +472,8 @@ class PortConfig(object): sec_grp_ids = list() for sec_grp_name in self.security_groups: sec_grp = neutron_utils.get_security_group( - neutron, sec_grp_name=sec_grp_name, project_id=project_id) + neutron, sec_grp_name=sec_grp_name, + project_name=self.project_name) if sec_grp: sec_grp_ids.append(sec_grp.id) out['security_groups'] = sec_grp_ids |