From 881779c16f8e8c1041c950b45a3443bac6bb0d07 Mon Sep 17 00:00:00 2001 From: John Dewey Date: Thu, 25 Apr 2013 22:39:28 -0700 Subject: [PATCH] Add consoleauth tokens to memcached. This allows more than one consoleauth process to run at a time. --- attributes/default.rb | 2 ++ recipes/nova-common.rb | 3 +++ recipes/vncproxy.rb | 7 +++++++ templates/default/nova.conf.erb | 3 +++ 4 files changed, 15 insertions(+) diff --git a/attributes/default.rb b/attributes/default.rb index 884ed144..d825c335 100644 --- a/attributes/default.rb +++ b/attributes/default.rb @@ -186,6 +186,7 @@ when "fedora", "redhat", "centos" # :pragma-foodcritic: ~FC024 - won't fix this "api_os_compute_packages" => ["openstack-nova-api"], "api_os_compute_service" => "openstack-nova-api", "api_os_compute_process_name" => "nova-api", + "memcache_python_packages" => [ "python-memcached" ], "nova_api_metadata_packages" => ["openstack-nova-api"], "nova_api_metadata_process_name" => "nova-api", "nova_api_metadata_service" => "openstack-nova-api", @@ -216,6 +217,7 @@ when "ubuntu" "api_os_compute_packages" => ["nova-api-os-compute"], "api_os_compute_process_name" => "nova-api-os-compute", "api_os_compute_service" => "nova-api-os-compute", + "memcache_python_packages" => [ "python-memcache" ], "nova_api_metadata_packages" => ["nova-api-metadata"], "nova_api_metadata_service" => "nova-api-metadata", "nova_api_metadata_process_name" => "nova-api-metadata", diff --git a/recipes/nova-common.rb b/recipes/nova-common.rb index 476599a0..2c1aebca 100644 --- a/recipes/nova-common.rb +++ b/recipes/nova-common.rb @@ -75,6 +75,8 @@ ksadmin_tenant_name = keystone["admin_tenant_name"] ksadmin_user = keystone["admin_user"] ksadmin_pass = user_password ksadmin_user +memcache_servers = memcached_servers.join "," + # find the node attribute endpoint settings for the server holding a given role identity_admin_endpoint = endpoint "identity-admin" identity_endpoint = endpoint "identity-api" @@ -110,6 +112,7 @@ template "/etc/nova/nova.conf" do :novncproxy_bind_host => novnc_proxy_ip, :vncserver_listen => vnc_bind_ip, :vncserver_proxyclient_address => vnc_bind_ip, + :memcache_servers => memcache_servers, :rabbit_ipaddress => rabbit_info["host"], :rabbit_user => rabbit_user, :rabbit_password => rabbit_pass, diff --git a/recipes/vncproxy.rb b/recipes/vncproxy.rb index 08eaff66..2d117e74 100644 --- a/recipes/vncproxy.rb +++ b/recipes/vncproxy.rb @@ -29,6 +29,13 @@ platform_options["nova_vncproxy_packages"].each do |pkg| end end +# required to run more than one consoleauth process +platform_options["memcache_python_packages"].each do |pkg| + package pkg do + action :install + end +end + # required for vnc console authentication platform_options["nova_vncproxy_consoleauth_packages"].each do |pkg| package pkg do diff --git a/templates/default/nova.conf.erb b/templates/default/nova.conf.erb index be577579..c0538357 100644 --- a/templates/default/nova.conf.erb +++ b/templates/default/nova.conf.erb @@ -90,6 +90,9 @@ novncproxy_port=<%= node["nova"]["novnc_proxy"]["service_port"] %> vncserver_listen=<%= @vncserver_listen %> vncserver_proxyclient_address=<%= @vncserver_proxyclient_address %> +# store consoleauth tokens in memcached +memcached_servers=<%= @memcache_servers %> + ##### MISC ##### # force backing images to raw format force_raw_images=<%= node["nova"]["config"]["force_raw_images"] %>