Skip to content

Commit 38b6313

Browse files
authored
Merge pull request #472 from apodhrad/openstack-domain-name
Openstack authentication with domain_name
2 parents 3c6561c + c22acda commit 38b6313

File tree

1 file changed

+11
-3
lines changed

1 file changed

+11
-3
lines changed

wrapanapi/systems/openstack.py

+11-3
Original file line numberDiff line numberDiff line change
@@ -582,7 +582,8 @@ def deploy(self, vm_name, **kwargs):
582582
class OpenstackSystem(System, VmMixin, TemplateMixin):
583583
"""Openstack management system
584584
585-
Uses novaclient.
585+
Uses novaclient. If using openstack auth_url version 3 (URL ending in v3)
586+
then domain_id or domain_name is required (you can use both).
586587
587588
Args:
588589
tenant: The tenant to log in with.
@@ -592,6 +593,7 @@ class OpenstackSystem(System, VmMixin, TemplateMixin):
592593
593594
Keywords:
594595
domain_id: required only if using openstack auth_url version 3 (URL ending in v3)
596+
domain_name: required only if using openstack auth_url version 3 (URL ending in v3)
595597
596598
Returns: A :py:class:`OpenstackSystem` object.
597599
"""
@@ -620,7 +622,8 @@ def __init__(self, tenant, username, password, auth_url, **kwargs):
620622
self.username = username
621623
self.password = password
622624
self.auth_url = auth_url
623-
self.domain_id = kwargs["domain_id"] if self.keystone_version == 3 else None
625+
self.domain_id = kwargs.get("domain_id") if self.keystone_version == 3 else None
626+
self.domain_name = kwargs.get("domain_name") if self.keystone_version == 3 else None
624627
self._session = None
625628
self._api = None
626629
self._gapi = None
@@ -654,7 +657,12 @@ def session(self):
654657
)
655658
if self.keystone_version == 3:
656659
auth_kwargs.update(
657-
dict(user_domain_id=self.domain_id, project_domain_id=self.domain_id)
660+
dict(
661+
user_domain_id=self.domain_id,
662+
user_domain_name=self.domain_name,
663+
project_domain_id=self.domain_id,
664+
project_domain_name=self.domain_name,
665+
)
658666
)
659667
pass_auth = Password(**auth_kwargs)
660668
self._session = Session(auth=pass_auth, verify=False)

0 commit comments

Comments
 (0)