Merge pull request #5 from retr0h/working

Corrected OOO issues
This commit is contained in:
jaypipes
2012-12-07 09:08:59 -08:00
6 changed files with 139 additions and 58 deletions

View File

@@ -24,6 +24,8 @@ class ::Chef::Recipe
include ::Openstack
end
platform_options = node["cinder"]["platform"]
service "cinder-api" do
service_name platform_options["cinder_api_service"]
supports :status => true, :restart => true
@@ -31,6 +33,33 @@ service "cinder-api" do
action :enable
end
db_user = node["cinder"]["db"]["username"]
db_pass = node["cinder"]["db"]["password"]
sql_connection = db_uri("cinder", db_user, "cinder")
rabbit_server_role = node["cinder"]["rabbit_server_chef_role"]
rabbit_info = get_settings_by_role rabbit_server_role, "queue"
glance_api_role = node["cinder"]["glance_api_chef_role"]
glance = get_settings_by_role glance_api_role, "glance"
glance_api_endpoint = endpoint "image-api"
template "/etc/cinder/cinder.conf" do
source "cinder.conf.erb"
group node["cinder"]["group"]
owner node["cinder"]["user"]
mode 00644
variables(
:sql_connection => sql_connection,
:rabbit_host => rabbit_info["host"],
:rabbit_port => rabbit_info["port"],
:glance_host => glance_api_endpoint.host,
:glance_port => glance_api_endpoint.port
)
notifies :restart, resources(:service => "cinder-api"), :delayed
end
identity_admin_endpoint = endpoint "identity-admin"
identity_endpoint = endpoint "identity-api"

View File

@@ -29,50 +29,3 @@ if node["developer_mode"]
else
node.set_unless["cinder"]["service_pass"] = secure_password
end
platform_options = node["cinder"]["platform"]
platform_options["cinder_api_packages"].each do |pkg|
package pkg do
options platform_options["package_overrides"]
action :upgrade
end
end
directory "/etc/cinder" do
group node["cinder"]["group"]
owner node["cinder"]["user"]
mode 00700
action :create
end
db_user = node["cinder"]["db"]["username"]
db_pass = node["cinder"]["db"]["password"]
sql_connection = db_uri("volume", db_user, db_pass)
rabbit_server_role = node["cinder"]["rabbit_server_chef_role"]
rabbit_info = get_settings_by_role rabbit_server_role, "queue"
glance_api_role = node["cinder"]["glance_api_chef_role"]
glance = get_settings_by_role glance_api_role, "glance"
glance_api_endpoint = endpoint "image-api"
template "/etc/cinder/cinder.conf" do
source "cinder.conf.erb"
group node["cinder"]["group"]
owner node["cinder"]["user"]
mode 00644
variables(
:sql_connection => sql_connection,
:rabbit_host => rabbit_info["host"],
:rabbit_port => rabbit_info["port"],
:glance_host => glance_api_endpoint.host,
:glance_port => glance_api_endpoint.port
)
notifies :restart, resources(:service => "cinder-api"), :immediately
notifies :restart, resources(:service => "cinder-scheduler"), :immediately
notifies :restart, resources(:service => "cinder-volume"), :immediately
end

View File

@@ -30,9 +30,36 @@ platform_options["cinder_scheduler_packages"].each do |pkg|
end
end
db_user = node["cinder"]["db"]["username"]
db_pass = node["cinder"]["db"]["password"]
sql_connection = db_uri("cinder", db_user, "cinder")
rabbit_server_role = node["cinder"]["rabbit_server_chef_role"]
rabbit_info = get_settings_by_role rabbit_server_role, "queue"
glance_api_role = node["cinder"]["glance_api_chef_role"]
glance = get_settings_by_role glance_api_role, "glance"
glance_api_endpoint = endpoint "image-api"
service "cinder-scheduler" do
service_name platform_options["cinder_scheduler_service"]
supports :status => true, :restart => true
action [ :enable, :start ]
end
template "/etc/cinder/cinder.conf" do
source "cinder.conf.erb"
group node["cinder"]["group"]
owner node["cinder"]["user"]
mode 00644
variables(
:sql_connection => sql_connection,
:rabbit_host => rabbit_info["host"],
:rabbit_port => rabbit_info["port"],
:glance_host => glance_api_endpoint.host,
:glance_port => glance_api_endpoint.port
)
notifies :restart, resources(:service => "cinder-scheduler")
end

View File

@@ -24,17 +24,55 @@ class ::Chef::Recipe
include ::Openstack
end
platform_options = node["cinder"]["platform"]
platform_options["cinder_api_packages"].each do |pkg|
package pkg do
options platform_options["package_overrides"]
action :upgrade
end
end
execute "cinder-manage db sync" do
command "cinder-manage db sync"
not_if "cinder-manage db version && test $(cinder-manage db version) -gt 0"
action :nothing
end
db_user = node["cinder"]["db"]["username"]
db_pass = node["cinder"]["db"]["password"]
sql_connection = db_uri("cinder", db_user, "cinder")
rabbit_server_role = node["cinder"]["rabbit_server_chef_role"]
rabbit_info = get_settings_by_role rabbit_server_role, "queue"
glance_api_role = node["cinder"]["glance_api_chef_role"]
glance = get_settings_by_role glance_api_role, "glance"
glance_api_endpoint = endpoint "image-api"
template "/etc/cinder/cinder.conf" do
source "cinder.conf.erb"
group node["cinder"]["group"]
owner node["cinder"]["user"]
mode 00644
variables(
:sql_connection => sql_connection,
:rabbit_host => rabbit_info["host"],
:rabbit_port => rabbit_info["port"],
:glance_host => glance_api_endpoint.host,
:glance_port => glance_api_endpoint.port
)
notifies :run, resources(:execute => "cinder-manage db sync"), :immediately
end
identity_admin_endpoint = endpoint "identity-admin"
keystone_service_role = node["cinder"]["keystone_service_chef_role"]
keystone = get_settings_by_role keystone_service_role, "keystone"
api_endpoint = endpoint "volume-api"
execute "cinder-manage db sync" do
command "cinder-manage db sync"
action :run
not_if "cinder-manage db version && test $(cinder-manage db version) -gt 0"
end
keystone_register "Register Cinder Volume Service" do
auth_host identity_admin_endpoint.host
auth_port identity_admin_endpoint.port.to_s
@@ -48,12 +86,13 @@ keystone_register "Register Cinder Volume Service" do
endpoint_adminurl api_endpoint.to_s
endpoint_internalurl api_endpoint.to_s
endpoint_publicurl api_endpoint.to_s
action :create_service
end
keystone_register "Register Cinder Volume Endpoint" do
auth_host identity_admin_endpoint.host
auth_port identity_admin_endpoint.port
auth_port identity_admin_endpoint.port.to_s
auth_protocol identity_admin_endpoint.scheme
api_ver identity_admin_endpoint.path
auth_token keystone["admin_token"]
@@ -64,5 +103,6 @@ keystone_register "Register Cinder Volume Endpoint" do
endpoint_adminurl api_endpoint.to_s
endpoint_internalurl api_endpoint.to_s
endpoint_publicurl api_endpoint.to_s
action :create_endpoint
end

View File

@@ -24,32 +24,64 @@ platform_options = node["cinder"]["platform"]
platform_options["cinder_volume_packages"].each do |pkg|
package pkg do
action :upgrade
options platform_options["package_overrides"]
action :upgrade
end
end
platform_options["cinder_iscsitarget_packages"].each do |pkg|
package pkg do
action :upgrade
options platform_options["package_overrides"]
action :upgrade
end
end
db_user = node["cinder"]["db"]["username"]
db_pass = node["cinder"]["db"]["password"]
sql_connection = db_uri("cinder", db_user, "cinder")
rabbit_server_role = node["cinder"]["rabbit_server_chef_role"]
rabbit_info = get_settings_by_role rabbit_server_role, "queue"
glance_api_role = node["cinder"]["glance_api_chef_role"]
glance = get_settings_by_role glance_api_role, "glance"
glance_api_endpoint = endpoint "image-api"
service "cinder-volume" do
service_name platform_options["cinder_volume_service"]
supports :status => true, :restart => true
action [ :enable, :start ]
end
template "/etc/cinder/cinder.conf" do
source "cinder.conf.erb"
group node["cinder"]["group"]
owner node["cinder"]["user"]
mode 00644
variables(
:sql_connection => sql_connection,
:rabbit_host => rabbit_info["host"],
:rabbit_port => rabbit_info["port"],
:glance_host => glance_api_endpoint.host,
:glance_port => glance_api_endpoint.port
)
notifies :restart, resources(:service => "cinder-volume")
end
service "iscsitarget" do
service_name platform_options["cinder_iscsitarget_service"]
supports :status => true, :restart => true
action :enable
end
template "/etc/tgt/targets.conf" do
source "targets.conf.erb"
mode 00600
mode 00600
notifies :restart, resources(:service => "iscsitarget"), :immediately
end

View File

@@ -52,7 +52,7 @@ paste.filter_factory = cinder.api.middleware.auth:CinderKeystoneContext.factory
paste.filter_factory = keystoneclient.middleware.auth_token:filter_factory
service_host = <%= @identity_endpoint.host %>
service_port = <%= @identity_endpoint.port %>
service_protocol = <%= identity_endpoint.scheme %>
service_protocol = <%= @identity_endpoint.scheme %>
auth_host = <%= @identity_admin_endpoint.host %>
auth_port = <%= @identity_admin_endpoint.port %>
auth_protocol = <%= @identity_admin_endpoint.scheme %>