Add domain configuration in Swift backend

This allows specifying the project domain when using the Swift storage
backend.

Change-Id: I5f3c7b2e2e4f74837dd9e5631c9657f0a903fc62
This commit is contained in:
Thomas Herve 2017-03-21 13:27:00 +01:00
parent f95ce32456
commit 13203f36d6
2 changed files with 14 additions and 6 deletions

View File

@ -93,8 +93,10 @@ class _ClientWrapper(object):
username=self.parsed_url.username,
password=self.parsed_url.password,
project_name=self.parsed_url.path[1:],
user_domain_id='default',
project_domain_id='default',
user_domain_id=self.conf.user_domain_id,
user_domain_name=self.conf.user_domain_name,
project_domain_id=self.conf.project_domain_id,
project_domain_name=self.conf.project_domain_name,
auth_url=self.conf.auth_url)
self.session = keystone_session.Session(auth=self.auth)
self.url = self.session.get_endpoint(service_type='object-store')
@ -108,5 +110,6 @@ class _ClientWrapper(object):
self._refresh_auth()
client = swiftclient.Connection(
preauthurl=self.url,
preauthtoken=self.token)
preauthtoken=self.token,
insecure=self.conf.insecure)
return getattr(client, attr)

View File

@ -15,12 +15,17 @@
from oslo_config import cfg
MESSAGE_SWIFT_OPTIONS = (
cfg.StrOpt('auth_url', default="http://127.0.0.1:5000/v3/",
cfg.StrOpt("auth_url", default="http://127.0.0.1:5000/v3/",
help="URI of Keystone endpoint to discover Swift"),
cfg.StrOpt('uri',
cfg.StrOpt("uri",
default="swift://demo:nomoresecrete@/demo",
help="Custom URI describing the swift connection."),
cfg.StrOpt('insecure', default=False, help="Don't check SSL certificate"),
cfg.StrOpt("insecure", default=False, help="Don't check SSL certificate"),
cfg.StrOpt("project_domain_id", default="default",
help="Domain ID containing project"),
cfg.StrOpt("project_domain_name", help="Domain name containing project"),
cfg.StrOpt("user_domain_id", default="default", help="User's domain id"),
cfg.StrOpt("user_domain_name", help="User's domain name"),
)