Corrected OOO issues
This cookbook looks a bit more like RCB due to some difficult to solve OOO issues. 1. Needed to duplicate the cinder.conf template in each service needing it, due to the following reasons: a. Having a notifies in common.rb to restart services that were not defined yet (but in later recipes) broke the recipe. b. Having notifies in common.rb for services that were not installed breaks things. Due to this very diffuclt issue to solve, felt it was okay to duplicate the template rendering. 2. Need to lookup the database password from a mysql server query, like we do elsewhere. Have not tackled this yet. Hardcoded to see if service would finally install. 3. Reformatted a few things to match our other openstack cookbooks. 4. Found a few bugs with endpoints needing '.to_s', or missing @ reference in template.
This commit is contained in:
parent
f83232976d
commit
e88d487928
|
@ -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"
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 %>
|
||||
|
|
Loading…
Reference in New Issue