Merge "support conventional domain name with one or more dot"
This commit is contained in:
commit
d33cd4736f
|
@ -39,6 +39,10 @@ CONF = config.CONF
|
|||
LOG = log.getLogger(__name__)
|
||||
|
||||
|
||||
DOMAIN_CONF_FHEAD = 'keystone.'
|
||||
DOMAIN_CONF_FTAIL = '.conf'
|
||||
|
||||
|
||||
def moved_to_assignment(f):
|
||||
name = f.__name__
|
||||
deprecated = versionutils.deprecated(versionutils.deprecated.ICEHOUSE,
|
||||
|
@ -132,12 +136,13 @@ class DomainConfigs(dict):
|
|||
|
||||
for r, d, f in os.walk(conf_dir):
|
||||
for fname in f:
|
||||
if fname.startswith('keystone.') and fname.endswith('.conf'):
|
||||
names = fname.split('.')
|
||||
if len(names) == 3:
|
||||
if (fname.startswith(DOMAIN_CONF_FHEAD) and
|
||||
fname.endswith(DOMAIN_CONF_FTAIL)):
|
||||
if fname.count('.') >= 2:
|
||||
self._load_config(assignment_api,
|
||||
[os.path.join(r, fname)],
|
||||
names[1])
|
||||
fname[len(DOMAIN_CONF_FHEAD):
|
||||
-len(DOMAIN_CONF_FTAIL)])
|
||||
else:
|
||||
LOG.debug(_('Ignoring file (%s) while scanning domain '
|
||||
'config directory'),
|
||||
|
|
|
@ -58,3 +58,23 @@ class TestDomainConfigs(tests.BaseTestCase):
|
|||
fake_standard_driver = None
|
||||
domain_config.setup_domain_drivers(fake_standard_driver,
|
||||
mock_assignment_api)
|
||||
|
||||
def test_config_for_dot_name_domain(self):
|
||||
# Ensure we can get the right domain name which has dots within it
|
||||
# from filename.
|
||||
domain_config_filename = os.path.join(self.tmp_dir,
|
||||
'keystone.abc.def.com.conf')
|
||||
with open(domain_config_filename, 'w'):
|
||||
"""Write an empty config file."""
|
||||
self.addCleanup(os.remove, domain_config_filename)
|
||||
|
||||
with mock.patch.object(identity.DomainConfigs,
|
||||
'_load_config') as mock_load_config:
|
||||
domain_config = identity.DomainConfigs()
|
||||
fake_assignment_api = None
|
||||
fake_standard_driver = None
|
||||
domain_config.setup_domain_drivers(fake_standard_driver,
|
||||
fake_assignment_api)
|
||||
mock_load_config.assert_called_once_with(fake_assignment_api,
|
||||
[domain_config_filename],
|
||||
'abc.def.com')
|
||||
|
|
Loading…
Reference in New Issue