3 describe 'neutron::plugins::midonet' do
6 "class { 'neutron::server': auth_password => 'password' }
7 class { 'neutron': rabbit_password => 'passw0rd' }
8 package { 'python-neutron-plugin-midonet': }"
11 let :default_params do
13 :midonet_api_ip => '127.0.0.1',
14 :midonet_api_port => '8080',
15 :keystone_username => 'neutron',
16 :keystone_password => 'test_midonet',
17 :keystone_tenant => 'services'
21 shared_examples_for 'neutron midonet plugin' do
28 params.merge!(default_params)
31 it 'should create plugin symbolic link' do
32 should contain_file('/etc/neutron/plugin.ini').with(
34 :target => '/etc/neutron/plugins/midonet/midonet.ini',
35 :require => 'Package[python-neutron-plugin-midonet]')
38 it 'should perform default configuration of' do
39 midonet_uri = "http://" + params[:midonet_api_ip] + ":" + params[:midonet_api_port] + "/midonet-api";
40 should contain_neutron_plugin_midonet('MIDONET/midonet_uri').with_value(midonet_uri)
41 should contain_neutron_plugin_midonet('MIDONET/username').with_value(params[:keystone_username])
42 should contain_neutron_plugin_midonet('MIDONET/password').with_value(params[:keystone_password])
43 should contain_neutron_plugin_midonet('MIDONET/project_id').with_value(params[:keystone_tenant])
48 context 'on Debian platforms' do
50 { :osfamily => 'Debian'}
52 it 'configures /etc/default/neutron-server' do
53 should contain_file_line('/etc/default/neutron-server:NEUTRON_PLUGIN_CONFIG').with(
54 :path => '/etc/default/neutron-server',
55 :match => '^NEUTRON_PLUGIN_CONFIG=(.*)$',
56 :line => 'NEUTRON_PLUGIN_CONFIG=/etc/neutron/plugins/midonet/midonet.ini',
57 :require => ['Package[neutron-server]', 'Package[python-neutron-plugin-midonet]'],
58 :notify => 'Service[neutron-server]'
61 it_configures 'neutron midonet plugin'
64 context 'on RedHat platforms' do
66 { :osfamily => 'RedHat'}
68 it_configures 'neutron midonet plugin'