From 03546bc90c0058c3654280a189aa455a10b0e5b0 Mon Sep 17 00:00:00 2001 From: Joe Topjian Date: Mon, 15 Oct 2012 07:09:43 +0000 Subject: [PATCH] nova-network work. cinder and quantum logic --- manifests/auth_file.pp | 2 +- manifests/controller.pp | 33 ++++++++++++++++++++++----------- manifests/db/mysql.pp | 27 +++++++++++++++++---------- manifests/nova/controller.pp | 30 +++++++++++++++++------------- 4 files changed, 57 insertions(+), 35 deletions(-) diff --git a/manifests/auth_file.pp b/manifests/auth_file.pp index 103238a..9cc60db 100644 --- a/manifests/auth_file.pp +++ b/manifests/auth_file.pp @@ -5,7 +5,7 @@ # class openstack::auth_file( $admin_password, - $controller_node = '127.0.0.1', + $controller_node = '127.0.0.1', $keystone_admin_token = 'keystone_admin_token', $admin_user = 'admin', $admin_tenant = 'admin' diff --git a/manifests/controller.pp b/manifests/controller.pp index d1a3c8b..c689451 100644 --- a/manifests/controller.pp +++ b/manifests/controller.pp @@ -119,6 +119,7 @@ class openstack::controller ( $cache_server_port = '11211', $swift = false, $quantum = false, + $cinder = false, $horizon_app_links = undef, # General $verbose = 'False', @@ -160,10 +161,12 @@ class openstack::controller ( nova_db_user => $nova_db_user, nova_db_password => $nova_db_password, nova_db_dbname => $nova_db_dbname, + cinder => $cinder, cinder_db_user => $cinder_db_user, cinder_db_password => $cinder_db_password, cinder_db_dbname => $cinder_db_dbname, - quantum_db_user => $quantum_db_user, + quantum => $quantum, + quantum_db_user => $quantum_db_user, quantum_db_password => $quantum_db_password, quantum_db_dbname => $quantum_db_dbname, allowed_hosts => $allowed_hosts, @@ -188,7 +191,9 @@ class openstack::controller ( admin_address => $admin_address, glance_user_password => $glance_user_password, nova_user_password => $nova_user_password, + cinder => $cinder, cinder_user_password => $cinder_user_password, + quantum => $quantum, quantum_user_password => $quantum_user_password, enabled => $enabled, } @@ -221,7 +226,7 @@ class openstack::controller ( # Database db_host => $db_host, # Network - #network_manager => $network_manager, + network_manager => $network_manager, floating_range => $floating_range, fixed_range => $fixed_range, public_address => $public_address, @@ -231,6 +236,7 @@ class openstack::controller ( create_networks => $create_networks, num_networks => $num_networks, multi_host => $multi_host, + quantum => $quantum, # Nova nova_user_password => $nova_user_password, nova_db_password => $nova_db_password, @@ -248,17 +254,22 @@ class openstack::controller ( } ######### Cinder Controller Services ######## - class { "cinder::base": - verbose => $verbose, - sql_connection => "mysql://${cinder_db_user}:${cinder_db_password}@${db_host}/${cinder_db_dbname}?charset=utf8", - rabbit_password => $rabbit_password, + if ($cinder) { + class { "cinder::base": + verbose => $verbose, + sql_connection => "mysql://${cinder_db_user}:${cinder_db_password}@${db_host}/${cinder_db_dbname}?charset=utf8", + rabbit_password => $rabbit_password, + } + + class { 'cinder::api': + keystone_password => $cinder_user_password, + } + + class { 'cinder::scheduler': } + } else { + # Set up nova-volume } - class { 'cinder::api': - keystone_password => $cinder_user_password, - } - - class { 'cinder::scheduler': } ######## Horizon ######## class { 'openstack::horizon': diff --git a/manifests/db/mysql.pp b/manifests/db/mysql.pp index 5bb8e21..68a3825 100644 --- a/manifests/db/mysql.pp +++ b/manifests/db/mysql.pp @@ -53,9 +53,11 @@ class openstack::db::mysql ( $nova_db_dbname = 'nova', $allowed_hosts = false, # Cinder + $cinder = true, $cinder_db_user = 'cinder', $cinder_db_dbname = 'cinder', # quantum + $quantum = true, $quantum_db_user = 'quantum', $quantum_db_dbname = 'quantum', $enabled = true @@ -101,18 +103,23 @@ class openstack::db::mysql ( } # create cinder db - class { 'cinder::db::mysql': - user => $cinder_db_user, - password => $cinder_db_password, - dbname => $cinder_db_dbname, - allowed_hosts => $allowed_hosts, + if ($cinder) { + class { 'cinder::db::mysql': + user => $cinder_db_user, + password => $cinder_db_password, + dbname => $cinder_db_dbname, + allowed_hosts => $allowed_hosts, + } } - class { 'quantum::db::mysql': - user => $quantum_db_user, - password => $quantum_db_password, - dbname => $quantum_db_dbname, - allowed_hosts => $allowed_hosts, + # create quantum db + if ($quantum) { + class { 'quantum::db::mysql': + user => $quantum_db_user, + password => $quantum_db_password, + dbname => $quantum_db_dbname, + allowed_hosts => $allowed_hosts, + } } } } diff --git a/manifests/nova/controller.pp b/manifests/nova/controller.pp index 5aa4be7..fa70373 100644 --- a/manifests/nova/controller.pp +++ b/manifests/nova/controller.pp @@ -38,6 +38,8 @@ class openstack::nova::controller ( $create_networks = true, $num_networks = 1, $multi_host = false, + $network_manager = 'nova.network.manager.FlatDHCPManager', + $quantum = true, # Nova $nova_db_user = 'nova', $nova_db_dbname = 'nova', @@ -118,7 +120,7 @@ class openstack::nova::controller ( nova_config { 'multi_host': value => 'True' } $enable_network_service = false } else { - if $enabled == true { + if $enabled { $enable_network_service = true } else { $enable_network_service = false @@ -131,18 +133,20 @@ class openstack::nova::controller ( $really_create_networks = false } - #class { 'nova::network': - # private_interface => $private_interface, - # public_interface => $public_interface, - # fixed_range => $fixed_range, - # floating_range => $floating_range, - # network_manager => $network_manager, - # config_overrides => $network_config, - # create_networks => $really_create_networks, - # num_networks => $num_networks, - # enabled => $enable_network_service, - # install_service => $enable_network_service, - #} + if $quantum == false { + class { 'nova::network': + private_interface => $private_interface, + public_interface => $public_interface, + fixed_range => $fixed_range, + floating_range => $floating_range, + network_manager => $network_manager, + config_overrides => $network_config, + create_networks => $really_create_networks, + num_networks => $num_networks, + enabled => $enable_network_service, + install_service => $enable_network_service, + } + } if $auto_assign_floating_ip { nova_config { 'auto_assign_floating_ip': value => 'True' }