From 79cb2a327523556ea03575b7c872a60eaaffbfcd Mon Sep 17 00:00:00 2001 From: Emilien Macchi Date: Tue, 18 Feb 2014 16:40:56 +0100 Subject: [PATCH] compute/hypervisor: configure neutron with ml2 on computes Ensure Compute nodes have good common configuration to support ML2 plugin. Signed-off-by: Emilien Macchi --- manifests/compute/hypervisor.pp | 1 + spec/classes/cloud_compute_hypervisor_spec.rb | 46 ++++++++++++++++++- 2 files changed, 46 insertions(+), 1 deletion(-) diff --git a/manifests/compute/hypervisor.pp b/manifests/compute/hypervisor.pp index ff1c7f16..bfaf91c7 100644 --- a/manifests/compute/hypervisor.pp +++ b/manifests/compute/hypervisor.pp @@ -42,6 +42,7 @@ class cloud::compute::hypervisor( include 'cloud::compute' include 'cloud::telemetry' + include 'cloud::network' exec { 'insert_module_nbd': command => '/bin/echo "nbd" > /etc/modules', diff --git a/spec/classes/cloud_compute_hypervisor_spec.rb b/spec/classes/cloud_compute_hypervisor_spec.rb index c504b804..bac2b6a8 100644 --- a/spec/classes/cloud_compute_hypervisor_spec.rb +++ b/spec/classes/cloud_compute_hypervisor_spec.rb @@ -52,7 +52,18 @@ describe 'cloud::compute::hypervisor' do log_facility => 'LOG_LOCAL0', use_syslog => true, verbose => true, - debug => true }" + debug => true } + class { 'cloud::network': + rabbit_hosts => ['10.0.0.1'], + rabbit_password => 'secrete', + tunnel_eth => '10.0.1.1', + api_eth => '10.0.0.1', + provider_vlan_ranges => ['physnet1:1000:2999'], + provider_bridge_mappings => ['physnet1:br-eth1'], + verbose => true, + debug => true, + use_syslog => true, + log_facility => 'LOG_LOCAL0' }" end let :params do @@ -114,6 +125,39 @@ describe 'cloud::compute::hypervisor' do ) end + it 'configure neutron common' do + should contain_class('neutron').with( + :allow_overlapping_ips => true, + :dhcp_agents_per_network => '2', + :verbose => true, + :debug => true, + :log_facility => 'LOG_LOCAL0', + :use_syslog => true, + :rabbit_user => 'neutron', + :rabbit_hosts => ['10.0.0.1'], + :rabbit_password => 'secrete', + :rabbit_virtual_host => '/', + :bind_host => '10.0.0.1', + :core_plugin => 'neutron.plugins.ml2.plugin.Ml2Plugin', + :service_plugins => ['neutron.services.loadbalancer.plugin.LoadBalancerPlugin','neutron.services.metering.metering_plugin.MeteringPlugin','neutron.services.l3_router.l3_router_plugin.L3RouterPlugin'] + + ) + should contain_class('neutron::agents::ovs').with( + :enable_tunneling => true, + :tunnel_types => ['gre'], + :bridge_mappings => ['physnet1:br-eth1'], + :local_ip => '10.0.1.1' + ) + should contain_class('neutron::plugins::ml2').with( + :type_drivers => ['gre','vlan'], + :tenant_network_types => ['gre'], + :mechanism_drivers => ['openvswitch','l2population'], + :tunnel_id_ranges => ['1:10000'], + :network_vlan_ranges => ['physnet1:1000:2999'], + :enable_security_group => 'neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver' + ) + end + it 'configure neutron on compute node' do should contain_class('nova::network::neutron').with( :neutron_admin_password => 'secrete',