Merge "Domain checking to deprecate no domain name usage"

This commit is contained in:
Jenkins
2015-10-19 13:16:27 +00:00
committed by Gerrit Code Review
2 changed files with 49 additions and 0 deletions

View File

@@ -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')

View File

@@ -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