From a94e0159d98d511be4b4da9afe077e1188cc6ce6 Mon Sep 17 00:00:00 2001 From: CNlukai Date: Mon, 11 Jan 2016 17:39:55 +0800 Subject: ONOSFW-157 Add script of installer integration onos Change-Id: I0ac05b6a7ede8654af2c2573ea7ecb3e5e7a9473 Signed-off-by: CNlukai --- .../deployment_scripts/puppet/manifests/neutron.pp | 102 +++++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/manifests/neutron.pp (limited to 'framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/manifests/neutron.pp') diff --git a/framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/manifests/neutron.pp b/framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/manifests/neutron.pp new file mode 100644 index 00000000..df06bdb1 --- /dev/null +++ b/framework/scripts/installer/fuel/fuel-plugin-onos/deployment_scripts/puppet/manifests/neutron.pp @@ -0,0 +1,102 @@ +include onos + +Exec { path => [ "/bin/", "/sbin/" , "/usr/bin/", "/usr/sbin/" ] } + +$neutron_config = hiera_hash('quantum_settings') +$nets = $neutron_config['predefined_networks'] +$net04_ext = + {"shared"=>false, + "L2"=> + {"network_type"=>"vxlan", + "router_ext"=>true, + "segment_id"=>"10000"}, + "L3"=> $nets['net04_ext']['L3'], + "tenant"=>"admin"} +$net04 = + {"shared"=>false, + "L2"=> + {"network_type"=>"vxlan", + "router_ext"=>false, + "segment_id"=>"500"}, + "L3"=> $nets['net04']['L3'], + "tenant"=>"admin"} +$roles = $onos::roles +$network_type = 'vxlan' + +if member($roles, 'primary-controller') { +cs_resource { 'p_neutron-l3-agent': + ensure => absent, + require => Exec ['stop neutron'], +}-> +exec{ 'delete Neutron db': + command => "mysql -e 'drop database if exists neutron;'; + mysql -e 'create database neutron character set utf8;'; + mysql -e \"grant all on neutron.* to 'neutron'@'%';\"; + neutron-db-manage --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugin.ini upgrade head;", + before => Service ['start neutron service'], +} + +} + + + +exec{ 'stop neutron': + command => "service neutron-server stop", +} +package { 'install git': + ensure => installed, + name => "git", +}-> + +file{ "/opt/networking-onos.tar": + source => "puppet:///modules/onos/networking-onos.tar", +}-> +file{ '/opt/onos_driver.sh': + source => "puppet:///modules/onos/onos_driver.sh", +} -> +exec{ 'install onos driver': + command => "sh /opt/onos_driver.sh;" +}-> + +neutron_config { 'DEFAULT/service_plugins': + value => 'onos_router,neutron.services.metering.metering_plugin.MeteringPlugin'; +}-> + + +neutron_plugin_ml2 { + 'ml2/mechanism_drivers': value => 'onos_ml2'; + 'ml2/tenant_network_types': value => 'vxlan'; + 'ml2_type_vxlan/vni_ranges': value => '100:50000'; + 'onos/password': value => 'admin'; + 'onos/username': value => 'admin'; + 'onos/url_path': value => "http://${onos::manager_ip}:8181/onos/vtn"; +}-> +service {'start neutron service': + name => "neutron-server", + ensure => running +} + + + +if member($roles, 'primary-controller') { + + Service<| title == 'start neutron service' |> -> + Openstack::Network::Create_network <||> + + Service<| title == 'start neutron service' |> -> + Openstack::Network::Create_router <||> + +openstack::network::create_network{'net04': + netdata => $net04, + segmentation_type => $network_type, +} -> + openstack::network::create_network{'net04_ext': + netdata => $net04_ext, + segmentation_type => $network_type, +} -> + openstack::network::create_router{'router04': + internal_network => 'net04', + external_network => 'net04_ext', + tenant_name => 'admin', +} +} -- cgit 1.2.3-korg