From 6e271d04e758c8c46eab90a31d9d4f8586bdf79e Mon Sep 17 00:00:00 2001 From: galstrom21 Date: Tue, 24 Apr 2012 20:11:42 -0500 Subject: [PATCH] nova attributes cleanup, templates cleanup, and knife search for mysql data in nova::nova-setup --- attributes/default.rb | 38 ++++--------------------- metadata.rb | 2 +- recipes/nova-setup.rb | 18 +++++++++++- templates/default/mysql-server.seed.erb | 10 ------- templates/default/nova-mysql.cnf.erb | 8 ------ 5 files changed, 24 insertions(+), 52 deletions(-) delete mode 100644 templates/default/mysql-server.seed.erb delete mode 100644 templates/default/nova-mysql.cnf.erb diff --git a/attributes/default.rb b/attributes/default.rb index 158c9922..787b44a3 100644 --- a/attributes/default.rb +++ b/attributes/default.rb @@ -1,5 +1,3 @@ -default["mysql"]["root_pass"] = "secrete" - default["nova"]["db"] = "nova" default["nova"]["db_user"] = "nova" default["nova"]["db_passwd"] = "nova" @@ -10,7 +8,7 @@ default["nova"]["service_user"] = "nova" default["nova"]["service_pass"] = "zCSupi4M" default["nova"]["service_role"] = "admin" -default["rabbit"]["ipaddress"] = node["controller_ipaddress"] +# default["rabbit"]["ipaddress"] = node["controller_ipaddress"] default["nova"]["compute"]["adminURL"] = "" default["nova"]["compute"]["internalURL"] = "" @@ -19,41 +17,14 @@ default["nova"]["ec2"]["adminURL"] = "" default["nova"]["ec2"]["internalURL"] = "" default["nova"]["ec2"]["publicURL"] = "" -# TODO (cleanup this section) -default["glance"]["db"] = "glance" -default["glance"]["db_user"] = "glance" -default["glance"]["db_passwd"] = "glance" -default["glance"]["api_port"] = "9292" -default["glance"]["registry_port"] = "9191" -default["glance"]["images"] = [ "tty" ] - +# TODO: This needs to be moved into the nova namespace default["volume"]["api_port"] = 8776 default["volume"]["ipaddress"] = node["controller_ipaddress"] default["volume"]["adminURL"] = "http://#{default["controller_ipaddress"]}:#{default["volume"]["api_port"]}/v1" default["volume"]["internalURL"] = default["volume"]["adminURL"] default["volume"]["publicURL"] = default["volume"]["adminURL"] -# TODO (cleanup this section) -default["keystone"]["db"] = "keystone" -default["keystone"]["db_user"] = "keystone" -default["keystone"]["db_passwd"] = "keystone" -default["keystone"]["verbose"] = "False" -default["keystone"]["debug"] = "False" -default["keystone"]["keystone_host"] = node["controller_ipaddress"] -default["keystone"]["service_port"] = "5000" -default["keystone"]["admin_port"] = "35357" -default["keystone"]["admin_token"] = "999888777666" - -# TODO (cleanup this section) -default["dash"]["db"] = "dash" -default["dash"]["db_user"] = "dash" -default["dash"]["db_passwd"] = "dash" - -default["image"]["oneiric"] = "http://c250663.r63.cf1.rackcdn.com/ubuntu-11.10-server-uec-amd64-multinic.tar.gz" -default["image"]["natty"] = "http://c250663.r63.cf1.rackcdn.com/ubuntu-11.04-server-uec-amd64-multinic.tar.gz" -default["image"]["maverick"] = "http://c250663.r63.cf1.rackcdn.com/ubuntu-10.10-server-uec-amd64-multinic.tar.gz" -default["image"]["tty"] = "http://smoser.brickies.net/ubuntu/ttylinux-uec/ttylinux-uec-amd64-12.1_2.6.35-22_1.tar.gz" - +# TODO: This needs to be moved into the nova namespace default["public"]["label"] = "public" default["public"]["ipv4_cidr"] = "192.168.100.0/24" default["public"]["num_networks"] = "1" @@ -63,6 +34,7 @@ default["public"]["bridge_dev"] = "eth2" default["public"]["dns1"] = "8.8.8.8" default["public"]["dns2"] = "8.8.4.4" +# TODO: This needs to be moved into the nova namespace default["private"]["label"] = "private" default["private"]["ipv4_cidr"] = "192.168.200.0/24" default["private"]["num_networks"] = "1" @@ -71,6 +43,8 @@ default["private"]["bridge"] = "br200" default["private"]["bridge_dev"] = "eth3" default["controller_ipaddress"] = node["ipaddress"] + +# TODO: This needs to be moved into the nova namespace default["virt_type"] = "kvm" default["libvirt"]["auth_tcp"] = "none" diff --git a/metadata.rb b/metadata.rb index 2bb96cae..7a27103f 100644 --- a/metadata.rb +++ b/metadata.rb @@ -2,7 +2,7 @@ maintainer "Rackspace Hosting, Inc." license "Apache 2.0" description "Installs and configures Openstack" long_description IO.read(File.join(File.dirname(__FILE__), 'README.md')) -version "1.0.0" +version "1.0.1" # recipe "mysql", "Includes the client recipe to configure a client" # recipe "mysql::client", "Installs packages required for mysql clients using run_action magic" diff --git a/recipes/nova-setup.rb b/recipes/nova-setup.rb index 0a46a6f1..8839fe45 100644 --- a/recipes/nova-setup.rb +++ b/recipes/nova-setup.rb @@ -20,7 +20,23 @@ include_recipe "nova::nova-common" include_recipe "mysql::client" -connection_info = {:host => node["nova"]["db_ipaddress"], :username => "root", :password => node['mysql']['server_root_password']} +if Chef::Config[:solo] + Chef::Log.warn("This recipe uses search. Chef Solo does not support search.") +else + # Lookup mysql ip address + mysql_server = search(:node, "roles:mysql-master AND chef_environment:#{node.chef_environment}") + if mysql_server.length > 0 + Chef::Log.info("nova-common/mysql: using search") + db_ip_address = mysql_server[0]['mysql']['bind_address'] + db_root_password = mysql_server[0]['mysql']['server_root_password'] + else + Chef::Log.info("nova-common/mysql: NOT using search") + db_ip_address = node['mysql']['bind_address'] + db_root_password = node['mysql']['server_root_password'] + end +end + +connection_info = {:host => db_ip_address, :username => "root", :password => db_root_password} mysql_database "create nova database" do connection connection_info database_name node["nova"]["db"] diff --git a/templates/default/mysql-server.seed.erb b/templates/default/mysql-server.seed.erb deleted file mode 100644 index 7301c03e..00000000 --- a/templates/default/mysql-server.seed.erb +++ /dev/null @@ -1,10 +0,0 @@ -mysql-server-5.1 mysql-server/root_password_again select <%= node['mysql']['root_pass'] %> -mysql-server-5.1 mysql-server/root_password select <%= node['mysql']['root_pass'] %> -mysql-server-5.1 mysql-server-5.1/really_downgrade boolean false -mysql-server-5.1 mysql-server-5.1/need_sarge_compat boolean false -mysql-server-5.1 mysql-server-5.1/start_on_boot boolean true -mysql-server-5.1 mysql-server/error_setting_password boolean false -mysql-server-5.1 mysql-server-5.1/nis_warning note -mysql-server-5.1 mysql-server-5.1/postrm_remove_databases boolean false -mysql-server-5.1 mysql-server/password_mismatch boolean false -mysql-server-5.1 mysql-server-5.1/need_sarge_compat_done boolean true diff --git a/templates/default/nova-mysql.cnf.erb b/templates/default/nova-mysql.cnf.erb deleted file mode 100644 index 2efd6336..00000000 --- a/templates/default/nova-mysql.cnf.erb +++ /dev/null @@ -1,8 +0,0 @@ -# -# This forces bind to the admin ip, necessary for nova -# -# This file is controlled by Chef. Do not edit. -# - -[mysqld] -bind-address = <%= node[:controller_ipaddress] %>