
puppet-nova no longer works with upstream Mitaka because deprecated auth options were recently dropped from the Nova source code in a67394a05872c89699487fc3e1e6a1801a7714c2. This patch updates nova::network::neutron so that we no longer use the previously deprecated (now missing) auth options. This includes: - using neutron_password instead of neutron_admin_password - using neutron_auth_plugin instead of neutron_auth_strategy - using neutron_tenant_name instead of neutron_admin_tenant_name - using neutron_username instead of neutron_admin_username - using neutron_auth_url instead of neutron_admin_auth_url Warnings and errors have been added where appropriate. Includes a new test case for deprecated parameters. Change-Id: I2a9a519882d9575d25403c04be5089b9bb8c75bd Closes-bug: #1525957
150 lines
9.0 KiB
Ruby
150 lines
9.0 KiB
Ruby
require 'spec_helper'
|
|
|
|
describe 'nova::network::neutron' do
|
|
|
|
let :default_params do
|
|
{ :neutron_auth_plugin => 'password',
|
|
:neutron_url => 'http://127.0.0.1:9696',
|
|
:neutron_url_timeout => '30',
|
|
:neutron_tenant_name => 'services',
|
|
:neutron_default_tenant_id => 'default',
|
|
:neutron_region_name => 'RegionOne',
|
|
:neutron_username => 'neutron',
|
|
:neutron_auth_url => 'http://127.0.0.1:35357',
|
|
:neutron_ovs_bridge => 'br-int',
|
|
:neutron_extension_sync_interval => '600',
|
|
:security_group_api => 'neutron',
|
|
:firewall_driver => 'nova.virt.firewall.NoopFirewallDriver',
|
|
:vif_plugging_is_fatal => true,
|
|
:vif_plugging_timeout => '300',
|
|
:dhcp_domain => 'novalocal'
|
|
}
|
|
end
|
|
|
|
let :params do
|
|
{ :neutron_password => 's3cr3t' }
|
|
end
|
|
|
|
|
|
context 'with required parameters' do
|
|
it 'configures neutron endpoint in nova.conf' do
|
|
is_expected.to contain_nova_config('neutron/password').with_value(params[:neutron_password]).with_secret(true)
|
|
is_expected.to contain_nova_config('DEFAULT/network_api_class').with_value('nova.network.neutronv2.api.API')
|
|
is_expected.to contain_nova_config('DEFAULT/dhcp_domain').with_value(default_params[:dhcp_domain])
|
|
is_expected.to contain_nova_config('neutron/auth_plugin').with_value(default_params[:neutron_auth_plugin])
|
|
is_expected.to contain_nova_config('neutron/url').with_value(default_params[:neutron_url])
|
|
is_expected.to contain_nova_config('neutron/timeout').with_value(default_params[:neutron_url_timeout])
|
|
is_expected.to contain_nova_config('neutron/tenant_name').with_value(default_params[:neutron_tenant_name])
|
|
is_expected.to contain_nova_config('neutron/default_tenant_id').with_value(default_params[:neutron_default_tenant_id])
|
|
is_expected.to contain_nova_config('neutron/region_name').with_value(default_params[:neutron_region_name])
|
|
is_expected.to contain_nova_config('neutron/username').with_value(default_params[:neutron_username])
|
|
is_expected.to contain_nova_config('neutron/auth_url').with_value(default_params[:neutron_auth_url])
|
|
is_expected.to contain_nova_config('neutron/extension_sync_interval').with_value(default_params[:neutron_extension_sync_interval])
|
|
end
|
|
it 'configures Nova to use Neutron Bridge Security Groups and Firewall' do
|
|
is_expected.to contain_nova_config('DEFAULT/firewall_driver').with_value(default_params[:firewall_driver])
|
|
is_expected.to contain_nova_config('DEFAULT/security_group_api').with_value(default_params[:security_group_api])
|
|
is_expected.to contain_nova_config('neutron/ovs_bridge').with_value(default_params[:neutron_ovs_bridge])
|
|
end
|
|
it 'configures neutron vif plugging events in nova.conf' do
|
|
is_expected.to contain_nova_config('DEFAULT/vif_plugging_is_fatal').with_value(default_params[:vif_plugging_is_fatal])
|
|
is_expected.to contain_nova_config('DEFAULT/vif_plugging_timeout').with_value(default_params[:vif_plugging_timeout])
|
|
end
|
|
end
|
|
|
|
context 'when overriding class parameters' do
|
|
before do
|
|
params.merge!(
|
|
:neutron_url => 'http://10.0.0.1:9696',
|
|
:neutron_url_timeout => '30',
|
|
:neutron_tenant_name => 'openstack',
|
|
:neutron_default_tenant_id => 'default',
|
|
:neutron_region_name => 'RegionTwo',
|
|
:neutron_username => 'neutron2',
|
|
:neutron_auth_url => 'http://10.0.0.1:35357',
|
|
:network_api_class => 'network.api.class',
|
|
:security_group_api => 'nova',
|
|
:firewall_driver => 'nova.virt.firewall.IptablesFirewallDriver',
|
|
:neutron_ovs_bridge => 'br-int',
|
|
:neutron_extension_sync_interval => '600',
|
|
:vif_plugging_is_fatal => false,
|
|
:vif_plugging_timeout => '0',
|
|
:dhcp_domain => 'foo'
|
|
)
|
|
end
|
|
|
|
it 'configures neutron endpoint in nova.conf' do
|
|
is_expected.to contain_nova_config('neutron/auth_strategy').with_ensure('absent')
|
|
is_expected.to contain_nova_config('neutron/password').with_value(params[:neutron_password]).with_secret(true)
|
|
is_expected.to contain_nova_config('DEFAULT/network_api_class').with_value('network.api.class')
|
|
is_expected.to contain_nova_config('DEFAULT/dhcp_domain').with_value(params[:dhcp_domain])
|
|
is_expected.to contain_nova_config('neutron/url').with_value(params[:neutron_url])
|
|
is_expected.to contain_nova_config('neutron/timeout').with_value(params[:neutron_url_timeout])
|
|
is_expected.to contain_nova_config('neutron/tenant_name').with_value(params[:neutron_tenant_name])
|
|
is_expected.to contain_nova_config('neutron/default_tenant_id').with_value(params[:neutron_default_tenant_id])
|
|
is_expected.to contain_nova_config('neutron/region_name').with_value(params[:neutron_region_name])
|
|
is_expected.to contain_nova_config('neutron/username').with_value(params[:neutron_username])
|
|
is_expected.to contain_nova_config('neutron/auth_url').with_value(params[:neutron_auth_url])
|
|
is_expected.to contain_nova_config('neutron/extension_sync_interval').with_value(params[:neutron_extension_sync_interval])
|
|
end
|
|
it 'configures Nova to use Neutron Security Groups and Firewall' do
|
|
is_expected.to contain_nova_config('DEFAULT/firewall_driver').with_value(params[:firewall_driver])
|
|
is_expected.to contain_nova_config('DEFAULT/security_group_api').with_value(params[:security_group_api])
|
|
is_expected.to contain_nova_config('neutron/ovs_bridge').with_value(params[:neutron_ovs_bridge])
|
|
end
|
|
it 'configures neutron vif plugging events in nova.conf' do
|
|
is_expected.to contain_nova_config('DEFAULT/vif_plugging_is_fatal').with_value(params[:vif_plugging_is_fatal])
|
|
is_expected.to contain_nova_config('DEFAULT/vif_plugging_timeout').with_value(params[:vif_plugging_timeout])
|
|
end
|
|
end
|
|
|
|
context 'with deprecated class parameters' do
|
|
before do
|
|
params.merge!(
|
|
:neutron_url => 'http://10.0.0.1:9696',
|
|
:neutron_url_timeout => '30',
|
|
:neutron_admin_tenant_name => 'openstack',
|
|
:neutron_default_tenant_id => 'default',
|
|
:neutron_region_name => 'RegionTwo',
|
|
:neutron_admin_username => 'neutron2',
|
|
:neutron_admin_auth_url => 'http://10.0.0.1:35357',
|
|
:network_api_class => 'network.api.class',
|
|
:security_group_api => 'nova',
|
|
:firewall_driver => 'nova.virt.firewall.IptablesFirewallDriver',
|
|
:neutron_ovs_bridge => 'br-int',
|
|
:neutron_extension_sync_interval => '600',
|
|
:vif_plugging_is_fatal => false,
|
|
:vif_plugging_timeout => '0',
|
|
:dhcp_domain => 'foo'
|
|
)
|
|
end
|
|
|
|
it 'configures neutron endpoint in nova.conf' do
|
|
is_expected.to contain_nova_config('neutron/auth_strategy').with_ensure('absent')
|
|
is_expected.to contain_nova_config('neutron/password').with_value(params[:neutron_password]).with_secret(true)
|
|
is_expected.to contain_nova_config('DEFAULT/network_api_class').with_value('network.api.class')
|
|
is_expected.to contain_nova_config('DEFAULT/dhcp_domain').with_value(params[:dhcp_domain])
|
|
is_expected.to contain_nova_config('neutron/url').with_value(params[:neutron_url])
|
|
is_expected.to contain_nova_config('neutron/timeout').with_value(params[:neutron_url_timeout])
|
|
is_expected.to contain_nova_config('neutron/tenant_name').with_value(params[:neutron_admin_tenant_name])
|
|
is_expected.to contain_nova_config('neutron/default_tenant_id').with_value(params[:neutron_default_tenant_id])
|
|
is_expected.to contain_nova_config('neutron/region_name').with_value(params[:neutron_region_name])
|
|
is_expected.to contain_nova_config('neutron/username').with_value(params[:neutron_admin_username])
|
|
is_expected.to contain_nova_config('neutron/auth_url').with_value(params[:neutron_admin_auth_url])
|
|
is_expected.to contain_nova_config('neutron/extension_sync_interval').with_value(params[:neutron_extension_sync_interval])
|
|
end
|
|
it 'configures Nova to use Neutron Security Groups and Firewall' do
|
|
is_expected.to contain_nova_config('DEFAULT/firewall_driver').with_value(params[:firewall_driver])
|
|
is_expected.to contain_nova_config('DEFAULT/security_group_api').with_value(params[:security_group_api])
|
|
is_expected.to contain_nova_config('neutron/ovs_bridge').with_value(params[:neutron_ovs_bridge])
|
|
end
|
|
it 'configures neutron vif plugging events in nova.conf' do
|
|
is_expected.to contain_nova_config('DEFAULT/vif_plugging_is_fatal').with_value(params[:vif_plugging_is_fatal])
|
|
is_expected.to contain_nova_config('DEFAULT/vif_plugging_timeout').with_value(params[:vif_plugging_timeout])
|
|
end
|
|
end
|
|
|
|
|
|
|
|
end
|