Make Keystone_endpoint match service by name/type
Since a chance in puppet-keystone (1], we now match an endpoint with a service name/type. ) [1] http://git.openstack.org/cgit/openstack/puppet-keystone/commit/?id=0a4e06abb0f5b3f324464ff5219d2885816311ce Change-Id: Idafa03acb82b87763d6f3dcfc2cbfd5b6a802ce0 Closes-Bug: #1528308
This commit is contained in:
@@ -319,7 +319,7 @@ class nova::keystone::auth(
|
||||
}
|
||||
|
||||
if $configure_endpoint {
|
||||
Keystone_endpoint["${region}/${real_service_name}"] ~> Service <| name == 'nova-api' |>
|
||||
Keystone_endpoint["${region}/${real_service_name}::compute"] ~> Service <| name == 'nova-api' |>
|
||||
}
|
||||
|
||||
keystone::resource::service_identity { "nova service, user ${auth_name}":
|
||||
|
@@ -35,39 +35,36 @@ describe 'nova::keystone::auth' do
|
||||
:roles => ['admin']
|
||||
)}
|
||||
|
||||
it { is_expected.to contain_keystone_service('nova').with(
|
||||
:ensure => 'present',
|
||||
:type => 'compute',
|
||||
it { is_expected.to contain_keystone_service('nova::compute').with(
|
||||
:ensure => 'present',
|
||||
:description => 'Openstack Compute Service'
|
||||
)}
|
||||
|
||||
it { is_expected.to contain_keystone_service('novav3').with(
|
||||
:ensure => 'present',
|
||||
:type => 'computev3',
|
||||
it { is_expected.to contain_keystone_service('novav3::computev3').with(
|
||||
:ensure => 'present',
|
||||
:description => 'Openstack Compute Service v3'
|
||||
)}
|
||||
|
||||
it { is_expected.to contain_keystone_service('nova_ec2').with(
|
||||
:ensure => 'present',
|
||||
:type => 'ec2',
|
||||
it { is_expected.to contain_keystone_service('nova_ec2::ec2').with(
|
||||
:ensure => 'present',
|
||||
:description => 'EC2 Service'
|
||||
)}
|
||||
|
||||
it { is_expected.to contain_keystone_endpoint('RegionOne/nova').with(
|
||||
it { is_expected.to contain_keystone_endpoint('RegionOne/nova::compute').with(
|
||||
:ensure => 'present',
|
||||
:public_url => 'http://127.0.0.1:8774/v2/%(tenant_id)s',
|
||||
:admin_url => 'http://127.0.0.1:8774/v2/%(tenant_id)s',
|
||||
:internal_url => 'http://127.0.0.1:8774/v2/%(tenant_id)s'
|
||||
)}
|
||||
|
||||
it { is_expected.to contain_keystone_endpoint('RegionOne/novav3').with(
|
||||
it { is_expected.to contain_keystone_endpoint('RegionOne/novav3::computev3').with(
|
||||
:ensure => 'present',
|
||||
:public_url => 'http://127.0.0.1:8774/v3',
|
||||
:admin_url => 'http://127.0.0.1:8774/v3',
|
||||
:internal_url => 'http://127.0.0.1:8774/v3'
|
||||
)}
|
||||
|
||||
it { is_expected.to contain_keystone_endpoint('RegionOne/nova_ec2').with(
|
||||
it { is_expected.to contain_keystone_endpoint('RegionOne/nova_ec2::ec2').with(
|
||||
:ensure => 'present',
|
||||
:public_url => 'http://127.0.0.1:8773/services/Cloud',
|
||||
:admin_url => 'http://127.0.0.1:8773/services/Admin',
|
||||
@@ -91,15 +88,13 @@ describe 'nova::keystone::auth' do
|
||||
:roles => ['admin']
|
||||
)}
|
||||
|
||||
it { is_expected.to contain_keystone_service('foo').with(
|
||||
it { is_expected.to contain_keystone_service('foo::compute').with(
|
||||
:ensure => 'present',
|
||||
:type => 'compute',
|
||||
:description => 'Openstack Compute Service'
|
||||
)}
|
||||
|
||||
it { is_expected.to contain_keystone_service('foo_ec2').with(
|
||||
it { is_expected.to contain_keystone_service('foo_ec2::ec2').with(
|
||||
:ensure => 'present',
|
||||
:type => 'ec2',
|
||||
:description => 'EC2 Service'
|
||||
)}
|
||||
|
||||
@@ -117,8 +112,8 @@ describe 'nova::keystone::auth' do
|
||||
|
||||
it { is_expected.to contain_keystone_user('thesame').with(:ensure => 'present') }
|
||||
it { is_expected.to contain_keystone_user_role('thesame@services').with(:ensure => 'present') }
|
||||
it { is_expected.to contain_keystone_service('nova').with(:ensure => 'present') }
|
||||
it { is_expected.to contain_keystone_service('novav3').with(:ensure => 'present') }
|
||||
it { is_expected.to contain_keystone_service('nova::compute').with(:ensure => 'present') }
|
||||
it { is_expected.to contain_keystone_service('novav3::computev3').with(:ensure => 'present') }
|
||||
|
||||
end
|
||||
|
||||
@@ -145,7 +140,7 @@ describe 'nova::keystone::auth' do
|
||||
end
|
||||
|
||||
it do
|
||||
expect { is_expected.to contain_keystone_service('nova') }.to raise_error(Puppet::Error, /service_name and service_name_v3 must be different/)
|
||||
expect { is_expected.to contain_keystone_service('nova::compute') }.to raise_error(Puppet::Error, /service_name and service_name_v3 must be different/)
|
||||
end
|
||||
|
||||
end
|
||||
@@ -166,21 +161,21 @@ describe 'nova::keystone::auth' do
|
||||
)
|
||||
end
|
||||
|
||||
it { is_expected.to contain_keystone_endpoint('RegionTwo/nova').with(
|
||||
it { is_expected.to contain_keystone_endpoint('RegionTwo/nova::compute').with(
|
||||
:ensure => 'present',
|
||||
:public_url => params[:public_url],
|
||||
:internal_url => params[:internal_url],
|
||||
:admin_url => params[:admin_url]
|
||||
)}
|
||||
|
||||
it { is_expected.to contain_keystone_endpoint('RegionTwo/novav3').with(
|
||||
it { is_expected.to contain_keystone_endpoint('RegionTwo/novav3::computev3').with(
|
||||
:ensure => 'present',
|
||||
:public_url => params[:public_url_v3],
|
||||
:internal_url => params[:internal_url_v3],
|
||||
:admin_url => params[:admin_url_v3]
|
||||
)}
|
||||
|
||||
it { is_expected.to contain_keystone_endpoint('RegionTwo/nova_ec2').with(
|
||||
it { is_expected.to contain_keystone_endpoint('RegionTwo/nova_ec2::ec2').with(
|
||||
:ensure => 'present',
|
||||
:public_url => params[:ec2_public_url],
|
||||
:internal_url => params[:ec2_internal_url],
|
||||
@@ -204,14 +199,14 @@ describe 'nova::keystone::auth' do
|
||||
)
|
||||
end
|
||||
|
||||
it { is_expected.to contain_keystone_endpoint('RegionTwo/nova').with(
|
||||
it { is_expected.to contain_keystone_endpoint('RegionTwo/nova::compute').with(
|
||||
:ensure => 'present',
|
||||
:public_url => 'https://10.0.0.1:9774/v2.2/%(tenant_id)s',
|
||||
:admin_url => 'https://10.0.0.2:9774/v2.2/%(tenant_id)s',
|
||||
:internal_url => 'https://10.0.0.3:9774/v2.2/%(tenant_id)s'
|
||||
)}
|
||||
|
||||
it { is_expected.to contain_keystone_endpoint('RegionTwo/nova_ec2').with(
|
||||
it { is_expected.to contain_keystone_endpoint('RegionTwo/nova_ec2::ec2').with(
|
||||
:ensure => 'present',
|
||||
:public_url => 'https://10.0.0.1:9773/services/Cloud',
|
||||
:admin_url => 'https://10.0.0.2:9773/services/Admin',
|
||||
@@ -224,7 +219,7 @@ describe 'nova::keystone::auth' do
|
||||
params.merge!( :configure_endpoint => false )
|
||||
end
|
||||
|
||||
it { is_expected.to_not contain_keystone_endpoint('RegionOne/nova') }
|
||||
it { is_expected.to_not contain_keystone_endpoint('RegionOne/nova::compute') }
|
||||
end
|
||||
|
||||
describe 'when disabling EC2 endpoint' do
|
||||
@@ -232,8 +227,8 @@ describe 'nova::keystone::auth' do
|
||||
params.merge!( :configure_ec2_endpoint => false )
|
||||
end
|
||||
|
||||
it { is_expected.to_not contain_keystone_service('nova_ec2') }
|
||||
it { is_expected.to_not contain_keystone_endpoint('RegionOne/nova_ec2') }
|
||||
it { is_expected.to_not contain_keystone_service('nova_ec2::ec2') }
|
||||
it { is_expected.to_not contain_keystone_endpoint('RegionOne/nova_ec2::ec2') }
|
||||
end
|
||||
|
||||
describe 'when disabling user configuration' do
|
||||
@@ -243,9 +238,8 @@ describe 'nova::keystone::auth' do
|
||||
|
||||
it { is_expected.to_not contain_keystone_user('nova') }
|
||||
it { is_expected.to contain_keystone_user_role('nova@services') }
|
||||
it { is_expected.to contain_keystone_service('nova').with(
|
||||
:ensure => 'present',
|
||||
:type => 'compute',
|
||||
it { is_expected.to contain_keystone_service('nova::compute').with(
|
||||
:ensure => 'present',
|
||||
:description => 'Openstack Compute Service'
|
||||
)}
|
||||
end
|
||||
@@ -261,9 +255,8 @@ describe 'nova::keystone::auth' do
|
||||
|
||||
it { is_expected.to_not contain_keystone_user('nova') }
|
||||
it { is_expected.to_not contain_keystone_user_role('nova@services') }
|
||||
it { is_expected.to contain_keystone_service('nova').with(
|
||||
:ensure => 'present',
|
||||
:type => 'compute',
|
||||
it { is_expected.to contain_keystone_service('nova::compute').with(
|
||||
:ensure => 'present',
|
||||
:description => 'Openstack Compute Service'
|
||||
)}
|
||||
end
|
||||
@@ -284,7 +277,7 @@ describe 'nova::keystone::auth' do
|
||||
}
|
||||
end
|
||||
|
||||
it { is_expected.to contain_keystone_endpoint('RegionOne/nova').with_notify(['Service[nova-api]']) }
|
||||
it { is_expected.to contain_keystone_endpoint('RegionOne/nova::compute').with_notify(['Service[nova-api]']) }
|
||||
end
|
||||
|
||||
describe 'when overriding service names' do
|
||||
@@ -299,12 +292,12 @@ describe 'nova::keystone::auth' do
|
||||
|
||||
it { is_expected.to contain_keystone_user('nova') }
|
||||
it { is_expected.to contain_keystone_user_role('nova@services') }
|
||||
it { is_expected.to contain_keystone_service('nova_service') }
|
||||
it { is_expected.to contain_keystone_service('nova_service_v3') }
|
||||
it { is_expected.to contain_keystone_service('nova_service_ec2') }
|
||||
it { is_expected.to contain_keystone_endpoint('RegionOne/nova_service') }
|
||||
it { is_expected.to contain_keystone_endpoint('RegionOne/nova_service_v3') }
|
||||
it { is_expected.to contain_keystone_endpoint('RegionOne/nova_service_ec2') }
|
||||
it { is_expected.to contain_keystone_service('nova_service::compute') }
|
||||
it { is_expected.to contain_keystone_service('nova_service_v3::computev3') }
|
||||
it { is_expected.to contain_keystone_service('nova_service_ec2::ec2') }
|
||||
it { is_expected.to contain_keystone_endpoint('RegionOne/nova_service::compute') }
|
||||
it { is_expected.to contain_keystone_endpoint('RegionOne/nova_service_v3::computev3') }
|
||||
it { is_expected.to contain_keystone_endpoint('RegionOne/nova_service_ec2::ec2') }
|
||||
|
||||
end
|
||||
|
||||
|
Reference in New Issue
Block a user