Merge "Domain checking to deprecate no domain name usage"
This commit is contained in:
@@ -50,6 +50,20 @@ class Puppet::Provider::Keystone < Puppet::Provider::Openstack
|
||||
@@default_domain_id = id
|
||||
end
|
||||
|
||||
def self.default_domain_set?
|
||||
true unless default_domain_id == 'default'
|
||||
end
|
||||
|
||||
def self.domain_check(name, domain)
|
||||
# Ongoing deprecation warning ending after Mitaka
|
||||
# http://specs.openstack.org/openstack/puppet-openstack-specs/specs/kilo/api-v3-support.html
|
||||
if (domain.nil? || domain.empty?) && default_domain_set?
|
||||
warning('In Liberty, not providing a domain name (::domain) for a ' \
|
||||
"resource name (#{name}) is deprecated when the default_domain_id is " \
|
||||
"not 'default'")
|
||||
end
|
||||
end
|
||||
|
||||
def self.domain_name_from_id(id)
|
||||
unless @domain_hash
|
||||
list = request('domain', 'list')
|
||||
|
||||
@@ -142,6 +142,41 @@ id="the_user_id"
|
||||
expect(klass.fetch_user('The User', 'Default')).to eq({:name=>"The User", :id=>"the_user_id"})
|
||||
end
|
||||
end
|
||||
describe '#default_domain_set?' do
|
||||
it 'should be false when default_domain_id is default' do
|
||||
mock = {'identity' => {'default_domain_id' => 'default'}}
|
||||
File.expects(:exists?).with("/etc/keystone/keystone.conf").returns(true)
|
||||
Puppet::Util::IniConfig::File.expects(:new).returns(mock)
|
||||
mock.expects(:read).with('/etc/keystone/keystone.conf')
|
||||
expect(klass.default_domain_set?).to be_falsey
|
||||
end
|
||||
it 'should be true when default_domain_id is not default' do
|
||||
mock = {'identity' => {'default_domain_id' => 'not_default'}}
|
||||
File.expects(:exists?).with("/etc/keystone/keystone.conf").returns(true)
|
||||
Puppet::Util::IniConfig::File.expects(:new).returns(mock)
|
||||
mock.expects(:read).with('/etc/keystone/keystone.conf')
|
||||
expect(klass.default_domain_set?).to be_truthy
|
||||
end
|
||||
end
|
||||
|
||||
describe '#domain_check' do
|
||||
it 'should not warn when domain name is provided' do
|
||||
klass.domain_check('name', 'domain')
|
||||
expect(klass.domain_check('name', 'domain')).to be_nil
|
||||
end
|
||||
it 'should not warn when domain is not provided and default_domain_id is not set' do
|
||||
klass.domain_check('name', '')
|
||||
expect(klass.domain_check('name', '')).to be_nil
|
||||
end
|
||||
it 'should warn when domain name is empty and default_domain_id is set' do
|
||||
mock = {'identity' => {'default_domain_id' => 'not_default'}}
|
||||
File.expects(:exists?).with("/etc/keystone/keystone.conf").returns(true)
|
||||
Puppet::Util::IniConfig::File.expects(:new).returns(mock)
|
||||
mock.expects(:read).with('/etc/keystone/keystone.conf')
|
||||
klass.expects(:warning).with("In Liberty, not providing a domain name (::domain) for a resource name (name) is deprecated when the default_domain_id is not 'default'")
|
||||
klass.domain_check('name', '')
|
||||
end
|
||||
end
|
||||
|
||||
describe '#get_admin_endpoint' do
|
||||
it 'should return nothing if there is no keystone config file' do
|
||||
|
||||
Reference in New Issue
Block a user