diff --git a/chef/cookbooks/cinder/attributes/default.rb b/chef/cookbooks/cinder/attributes/default.rb index 92d31d6951..28a9c18d7f 100644 --- a/chef/cookbooks/cinder/attributes/default.rb +++ b/chef/cookbooks/cinder/attributes/default.rb @@ -17,7 +17,6 @@ default[:cinder][:verbose] = false default[:cinder][:max_header_line] = 16384 default[:cinder][:config_file] = "/etc/cinder/cinder.conf.d/100-cinder.conf" -default[:cinder][:config_file_cinder_volume] = "/etc/cinder/cinder-volume.conf.d/100-cinder-volume.conf" override[:cinder][:user]="cinder" override[:cinder][:group]="cinder" diff --git a/chef/cookbooks/cinder/recipes/common.rb b/chef/cookbooks/cinder/recipes/common.rb index 628df44047..f8fe6d6306 100644 --- a/chef/cookbooks/cinder/recipes/common.rb +++ b/chef/cookbooks/cinder/recipes/common.rb @@ -116,12 +116,21 @@ include_recipe "crowbar-openstack::common" end +# set a backend_host override when volume-ha is enabled +if CrowbarPacemakerHelper.cluster_enabled?(node) && + node[:cinder][:elements]["cinder-volume"].include?( + "cluster:#{CrowbarPacemakerHelper.cluster_name(node)}" + ) + backend_host = CrowbarPacemakerHelper.cluster_vhostname(node) +end + template node[:cinder][:config_file] do source "cinder.conf.erb" owner "root" group node[:cinder][:group] mode 0640 variables( + backend_host: backend_host, bind_host: bind_host, bind_port: bind_port, use_multi_backend: node[:cinder][:use_multi_backend], diff --git a/chef/cookbooks/cinder/recipes/volume.rb b/chef/cookbooks/cinder/recipes/volume.rb index 4723c5c55d..0bd9837c33 100644 --- a/chef/cookbooks/cinder/recipes/volume.rb +++ b/chef/cookbooks/cinder/recipes/volume.rb @@ -288,9 +288,10 @@ def make_volume(node, backend_id, volume) end end -volume_elements = node[:cinder][:elements]["cinder-volume"] ha_enabled = CrowbarPacemakerHelper.cluster_enabled?(node) && - volume_elements.include?("cluster:#{CrowbarPacemakerHelper.cluster_name(node)}") + node[:cinder][:elements]["cinder-volume"].include?( + "cluster:#{CrowbarPacemakerHelper.cluster_name(node)}" + ) cinder_service "volume" do use_pacemaker_provider ha_enabled @@ -304,26 +305,5 @@ def make_volume(node, backend_id, volume) if ha_enabled log "HA support for cinder volume is enabled" - # Create cinder-volume HA specific config file - service_host = CrowbarPacemakerHelper.cluster_vhostname(node) - - template node[:cinder][:config_file_cinder_volume] do - source "cinder-volume.conf.erb" - owner "root" - group node[:cinder][:group] - mode 0640 - variables( - host: service_host - ) - notifies :restart, "service[cinder-volume]" - end - include_recipe "cinder::volume_ha" -else - log "HA support for cinder volume is disabled" - - file node[:cinder][:config_file_cinder_volume] do - action :delete - notifies :restart, "service[cinder-volume]" - end end diff --git a/chef/cookbooks/cinder/templates/default/cinder-volume.conf.erb b/chef/cookbooks/cinder/templates/default/cinder-volume.conf.erb deleted file mode 100644 index cc896cb8d5..0000000000 --- a/chef/cookbooks/cinder/templates/default/cinder-volume.conf.erb +++ /dev/null @@ -1,6 +0,0 @@ -# Override some settings for cinder-volume - -[DEFAULT] -# Name of this node. This can be an opaque identifier. It is not necessarily a -# host name, FQDN, or IP address. (string value) -host = <%= @host %> diff --git a/chef/cookbooks/cinder/templates/default/cinder.conf.erb b/chef/cookbooks/cinder/templates/default/cinder.conf.erb index 20bc8e8045..73766a24fd 100644 --- a/chef/cookbooks/cinder/templates/default/cinder.conf.erb +++ b/chef/cookbooks/cinder/templates/default/cinder.conf.erb @@ -62,6 +62,11 @@ strict_ssh_host_key_policy = <%= @strict_ssh_host_key_policy ? 'true' : 'false' <% if @use_multi_backend -%> [<%= backend_id %>] volume_backend_name = <%= volume['backend_name'] %> + +<% if @backend_host -%> +backend_host = <%= @backend_host %> +<% end -%> + <% end -%> <% if volume['backend_driver'] == 'blockbridge' -%><% end -%>