Fix creating deployment fron env

Environment variables OS_PROJECT_DOMAIN_NAME and OS_USER_DOMAIN_NAME
were ignored.

Change-Id: Id70964f2cdc3b3da4b4dc4f3f7bf6b2d8ba9fca1
Related-Bug: #1582777
This commit is contained in:
Sergey Skripnick 2016-05-19 13:27:38 +02:00
parent 076556758c
commit ab04b6b9a0
5 changed files with 21 additions and 8 deletions

View File

@ -96,7 +96,10 @@ def get_creds_from_env_vars():
"admin": {
"username": os.environ["OS_USERNAME"],
"password": os.environ["OS_PASSWORD"],
"tenant_name": get_project_name_from_env()
"tenant_name": get_project_name_from_env(),
"user_domain_name": os.environ.get("OS_USER_DOMAIN_NAME", ""),
"project_domain_name": os.environ.get("OS_PROJECT_DOMAIN_NAME",
""),
},
"endpoint_type": get_endpoint_type_from_env(),
"endpoint": os.environ.get("OS_ENDPOINT"),

View File

@ -647,16 +647,18 @@ class Swift(OSClient):
service_type=self.choose_service_type(service_type),
endpoint_type=self.credential.endpoint_type,
region_name=self.credential.region_name)
auth_info = self._get_auth_info(
user_key="user",
password_key="key",
auth_url_key="authurl",
project_name_key="tenant_name")
client = swift.Connection(retries=1,
preauthurl=object_api_url,
preauthtoken=kc.auth_token,
insecure=self.credential.insecure,
cacert=self.credential.cacert,
**self._get_auth_info(
user_key="user",
password_key="key",
auth_url_key="authurl",
project_name_key="tenant_name")
user=auth_info["user"],
tenant_name=auth_info["tenant_name"],
)
return client
@ -771,6 +773,8 @@ class Clients(object):
creds["admin"]["password"],
creds["admin"]["tenant_name"],
endpoint_type=creds["endpoint_type"],
user_domain_name=creds["admin"].get("user_domain_name"),
project_domain_name=creds["admin"].get("project_domain_name"),
endpoint=creds["endpoint"],
region_name=creds["region_name"],
https_cacert=creds["https_cacert"],

View File

@ -50,6 +50,8 @@ class DeploymentCommandsTestCase(test.TestCase):
"OS_TENANT_NAME": "fake_tenant_name",
"OS_REGION_NAME": "fake_region_name",
"OS_ENDPOINT_TYPE": "fake_endpoint_typeURL",
"OS_PROJECT_DOMAIN_NAME": "fake_pdn",
"OS_USER_DOMAIN_NAME": "fake_udn",
"OS_ENDPOINT": "fake_endpoint",
"OS_INSECURE": "True",
"OS_CACERT": "fake_cacert",
@ -68,6 +70,8 @@ class DeploymentCommandsTestCase(test.TestCase):
"admin": {
"username": "fake_username",
"password": "fake_password",
"user_domain_name": "fake_udn",
"project_domain_name": "fake_pdn",
"tenant_name": "fake_tenant_name"
},
"https_insecure": True,

View File

@ -112,6 +112,8 @@ class EnvUtilsTestCase(test.TestCase):
"OS_ENDPOINT_TYPE": "fake_endpoint_typeURL",
"OS_ENDPOINT": "fake_endpoint",
"OS_INSECURE": "True",
"OS_PROJECT_DOMAIN_NAME": "fake_pdn",
"OS_USER_DOMAIN_NAME": "fake_udn",
"OS_CACERT": "fake_cacert"})
def test_get_creds_from_env_vars(self):
expected_creds = {
@ -119,6 +121,8 @@ class EnvUtilsTestCase(test.TestCase):
"admin": {
"username": "fake_username",
"password": "fake_password",
"user_domain_name": "fake_udn",
"project_domain_name": "fake_pdn",
"tenant_name": "fake_tenant_name"
},
"endpoint_type": "fake_endpoint_type",

View File

@ -684,9 +684,7 @@ class OSClientsTestCase(test.TestCase):
"insecure": False,
"cacert": None,
"user": self.credential.username,
"key": self.credential.password,
"tenant_name": self.credential.tenant_name,
"authurl": self.credential.auth_url
}
mock_swift.client.Connection.assert_called_once_with(**kw)
self.assertEqual(self.clients.cache["swift"], fake_swift)