Clean up cookbook for bp/clean-up-attr-for-mq-and-db

This change removes the attributes we'll be moving to openstack-common
and changes reference of those attributes to reflect new (more
consistent) namespace. We also fix a test where node isn't being
converged after setting attributes and import chefspec/berksfile in
spec/spec_helper.rb so we can run rspec outside of strainer.

Change-Id: I7e27a60c4245de2e4d8033439a2429d89006a356
Implements: blueprint clean-up-attr-for-mq-and-db
This commit is contained in:
Matt Thompson
2014-01-16 16:00:34 +00:00
parent dc58cbe2a8
commit 4776e4f957
8 changed files with 43 additions and 92 deletions

View File

@@ -36,39 +36,7 @@ default['openstack']['network']['service_name'] = 'neutron'
default['openstack']['network']['service_type'] = 'network'
default['openstack']['network']['description'] = 'OpenStack Networking service'
# The rabbit user's password is stored in an encrypted databag
# and accessed with openstack-common cookbook library's
# get_password routine. You are expected to create
# the user, pass, vhost in a wrapper rabbitmq cookbook.
default['openstack']['network']['rabbit_server_chef_role'] = 'rabbitmq-server'
default['openstack']['network']['rabbit']['username'] = 'guest'
default['openstack']['network']['rabbit']['vhost'] = '/'
default['openstack']['network']['rabbit']['port'] = 5672
default['openstack']['network']['rabbit']['host'] = '127.0.0.1'
default['openstack']['network']['rabbit']['ha'] = false
# The database username for the neutron database
default['openstack']['network']['db']['username'] = 'neutron'
# Enable the use of eventlet's db_pool for MySQL. The flags sql_min_pool_size,
# sql_max_pool_size and sql_idle_timeout are relevant only if this is enabled.
default['openstack']['network']['db']['sql_dbpool_enable'] = 'False'
# Database reconnection retry times - in event connectivity is lost
default['openstack']['network']['db']['sql_max_retries'] = 10
# Database reconnection interval in seconds - if the initial connection to the
# database fails
default['openstack']['network']['db']['reconnect_interval'] = 2
# Minimum number of SQL connections to keep open in a pool
default['openstack']['network']['db']['sql_min_pool_size'] = 1
# Maximum number of SQL connections to keep open in a pool
default['openstack']['network']['db']['sql_max_pool_size'] = 5
# Timeout in seconds before idle sql connections are reaped
default['openstack']['network']['db']['sql_idle_timeout'] = 3600
# Used in the Keystone authtoken middleware configuration
default['openstack']['network']['service_tenant_name'] = 'service'
@@ -93,25 +61,6 @@ default['openstack']['network']['api']['auth']['cache_dir'] = '/var/cache/neutro
default['openstack']['network']['api']['bind_interface'] = nil
default['openstack']['network']['api']['bind_port'] = 9696
# MQ options
default['openstack']['network']['mq']['service_type'] = node['openstack']['mq']['service_type']
default['openstack']['network']['mq']['qpid']['host'] = '127.0.0.1'
default['openstack']['network']['mq']['qpid']['port'] = '5672'
default['openstack']['network']['mq']['qpid']['qpid_hosts'] = ['127.0.0.1:5672']
default['openstack']['network']['mq']['qpid']['username'] = ''
default['openstack']['network']['mq']['qpid']['password'] = ''
default['openstack']['network']['mq']['qpid']['sasl_mechanisms'] = ''
default['openstack']['network']['mq']['qpid']['reconnect'] = true
default['openstack']['network']['mq']['qpid']['reconnect_timeout'] = 0
default['openstack']['network']['mq']['qpid']['reconnect_limit'] = 0
default['openstack']['network']['mq']['qpid']['reconnect_interval_min'] = 0
default['openstack']['network']['mq']['qpid']['reconnect_interval_max'] = 0
default['openstack']['network']['mq']['qpid']['reconnect_interval'] = 0
default['openstack']['network']['mq']['qpid']['heartbeat'] = 60
default['openstack']['network']['mq']['qpid']['protocol'] = 'tcp'
default['openstack']['network']['mq']['qpid']['tcp_nodelay'] = true
# logging attribute
default['openstack']['network']['syslog']['use'] = false

View File

@@ -51,7 +51,7 @@ platform_options['neutron_packages'].each do |pkg|
end
end
db_type = node['openstack']['db']['network']['db_type']
db_type = node['openstack']['db']['network']['service_type']
platform_options["#{db_type}_python_packages"].each do |pkg|
package pkg do
action :install
@@ -97,16 +97,16 @@ template '/etc/neutron/policy.json' do
notifies :restart, 'service[neutron-server]', :delayed
end
if node['openstack']['network']['mq']['service_type'] == 'rabbitmq'
rabbit_hosts = rabbit_servers if node['openstack']['network']['rabbit']['ha']
rabbit_pass = get_password 'user', node['openstack']['network']['rabbit']['username']
if node['openstack']['mq']['network']['service_type'] == 'rabbitmq'
rabbit_hosts = rabbit_servers if node['openstack']['mq']['network']['rabbit']['ha']
rabbit_pass = get_password 'user', node['openstack']['mq']['network']['rabbit']['userid']
end
identity_endpoint = endpoint 'identity-api'
identity_admin_endpoint = endpoint 'identity-admin'
auth_uri = ::URI.decode identity_endpoint.to_s
db_user = node['openstack']['network']['db']['username']
db_user = node['openstack']['db']['network']['username']
db_pass = get_password "db", 'neutron'
sql_connection = db_uri('network', db_user, db_pass)

View File

@@ -16,7 +16,7 @@ describe 'openstack-network::common' do
end
it 'installs db2 python packages if explicitly told' do
@chef_run.node.set['openstack']['db']['network']['db_type'] = 'db2'
@chef_run.node.set['openstack']['db']['network']['service_type'] = 'db2'
@chef_run.converge 'openstack-network::common'
['db2-odbc', 'python-ibm-db', 'python-ibm-db-sa'].each do |pkg|

View File

@@ -177,7 +177,8 @@ describe 'openstack-network::server' do
describe 'qpid' do
before do
@file = @chef_run.template '/etc/neutron/neutron.conf'
@chef_run.node.set['openstack']['network']['mq']['service_type'] = 'qpid'
@chef_run.node.set['openstack']['mq']['network']['service_type'] = 'qpid'
@chef_run.converge 'openstack-network::server'
end
it 'has qpid_hostname' do
@@ -289,7 +290,7 @@ describe 'openstack-network::server' do
before do
@chef_run = ::ChefSpec::Runner.new(::UBUNTU_OPTS) do |n|
n.set['openstack']['network']['rabbit']['ha'] = true
n.set['openstack']['mq']['network']['rabbit']['ha'] = true
n.set['chef_client']['splay'] = 300
n.set['openstack']['compute']['network']['service_type'] = 'neutron'
end

View File

@@ -1,5 +1,6 @@
# Encoding: utf-8
require 'chefspec'
require 'chefspec/berkshelf'
require 'chef/application'
::LOG_LEVEL = :fatal

View File

@@ -128,19 +128,19 @@ control_exchange = neutron
# allow_overlapping_ips = False
allow_overlapping_ips = <%= node["openstack"]["network"]["allow_overlapping_ips"] -%>
<% if node["openstack"]["network"]["mq"]["service_type"] == "rabbitmq" %>
<% if node["openstack"]["mq"]["network"]["service_type"] == "rabbitmq" %>
##### RABBITMQ #####
rabbit_userid=<%= node["openstack"]["network"]["rabbit"]["username"] %>
rabbit_userid=<%= node["openstack"]["mq"]["network"]["rabbit"]["userid"] %>
rabbit_password=<%= @rabbit_pass %>
rabbit_virtual_host=<%= node["openstack"]["network"]["rabbit"]["vhost"] %>
<% if node["openstack"]["network"]["rabbit"]["ha"] -%>
rabbit_virtual_host=<%= node["openstack"]["mq"]["network"]["rabbit"]["vhost"] %>
<% if node["openstack"]["mq"]["network"]["rabbit"]["ha"] -%>
# Use HA queues in RabbitMQ (x-ha-policy: all).You need to
# wipe RabbitMQ database when changing this option. (boolean value)
rabbit_hosts=<%= @rabbit_hosts %>
rabbit_ha_queues=True
<% else -%>
rabbit_host=<%= node["openstack"]["network"]["rabbit"]["host"] %>
rabbit_port=<%= node["openstack"]["network"]["rabbit"]["port"] %>
rabbit_host=<%= node["openstack"]["mq"]["network"]["rabbit"]["host"] %>
rabbit_port=<%= node["openstack"]["mq"]["network"]["rabbit"]["port"] %>
<% end -%>
# Maximum retries with trying to connect to RabbitMQ
# (the default of 0 implies an infinite retry count)
@@ -149,25 +149,25 @@ rabbit_port=<%= node["openstack"]["network"]["rabbit"]["port"] %>
# rabbit_retry_interval = 1
<% end %>
<% if node["openstack"]["network"]["mq"]["service_type"] == "qpid" %>
<% if node["openstack"]["mq"]["network"]["service_type"] == "qpid" %>
##### QPID #####
rpc_backend=neutron.openstack.common.rpc.impl_qpid
qpid_hostname=<%= node["openstack"]["network"]["mq"]["qpid"]["host"] %>
qpid_port=<%= node["openstack"]["network"]["mq"]["qpid"]["port"] %>
qpid_hostname=<%= node["openstack"]["mq"]["network"]["qpid"]["host"] %>
qpid_port=<%= node["openstack"]["mq"]["network"]["qpid"]["port"] %>
qpid_password=<%= node["openstack"]["network"]["mq"]["qpid"]["password"] %>
qpid_username=<%= node["openstack"]["network"]["mq"]["qpid"]["username"] %>
qpid_sasl_mechanisms=<%= node["openstack"]["network"]["mq"]["qpid"]["sasl_mechanisms"] %>
qpid_reconnect=<%= node["openstack"]["network"]["mq"]["qpid"]["reconnect"] %>
qpid_reconnect_timeout=<%= node["openstack"]["network"]["mq"]["qpid"]["reconnect_timeout"] %>
qpid_reconnect_limit=<%= node["openstack"]["network"]["mq"]["qpid"]["reconnect_limit"] %>
qpid_reconnect_interval_min=<%= node["openstack"]["network"]["mq"]["qpid"]["reconnect_interval_min"] %>
qpid_reconnect_interval_max=<%= node["openstack"]["network"]["mq"]["qpid"]["reconnect_interval_max"] %>
qpid_reconnect_interval=<%= node["openstack"]["network"]["mq"]["qpid"]["reconnect_interval"] %>
qpid_heartbeat=<%= node["openstack"]["network"]["mq"]["qpid"]["heartbeat"] %>
qpid_password=<%= node["openstack"]["mq"]["network"]["qpid"]["password"] %>
qpid_username=<%= node["openstack"]["mq"]["network"]["qpid"]["username"] %>
qpid_sasl_mechanisms=<%= node["openstack"]["mq"]["network"]["qpid"]["sasl_mechanisms"] %>
qpid_reconnect=<%= node["openstack"]["mq"]["network"]["qpid"]["reconnect"] %>
qpid_reconnect_timeout=<%= node["openstack"]["mq"]["network"]["qpid"]["reconnect_timeout"] %>
qpid_reconnect_limit=<%= node["openstack"]["mq"]["network"]["qpid"]["reconnect_limit"] %>
qpid_reconnect_interval_min=<%= node["openstack"]["mq"]["network"]["qpid"]["reconnect_interval_min"] %>
qpid_reconnect_interval_max=<%= node["openstack"]["mq"]["network"]["qpid"]["reconnect_interval_max"] %>
qpid_reconnect_interval=<%= node["openstack"]["mq"]["network"]["qpid"]["reconnect_interval"] %>
qpid_heartbeat=<%= node["openstack"]["mq"]["network"]["qpid"]["heartbeat"] %>
# qpid protocol. default 'tcp'. set to 'ssl' to enable SSL
qpid_protocol=<%= node["openstack"]["network"]["mq"]["qpid"]["protocol"] %>
qpid_tcp_nodelay=<%= node["openstack"]["network"]["mq"]["qpid"]["tcp_nodelay"] %>
qpid_protocol=<%= node["openstack"]["mq"]["network"]["qpid"]["protocol"] %>
qpid_tcp_nodelay=<%= node["openstack"]["mq"]["network"]["qpid"]["tcp_nodelay"] %>
<% end %>

View File

@@ -33,24 +33,24 @@ sql_connection = <%= @sql_connection %>
# Database reconnection retry times - in event connectivity is lost
# set to -1 implies an infinite retry count
sql_max_retries = <%= node['openstack']['network']['db']['sql_max_retries'] %>
sql_max_retries = <%= node['openstack']['db']['network']['sql_max_retries'] %>
# Database reconnection interval in seconds - if the initial connection to the
# database fails
reconnect_interval = <%= node['openstack']['network']['db']['reconnect_interval'] %>
reconnect_interval = <%= node['openstack']['db']['network']['reconnect_interval'] %>
# Enable the use of eventlet's db_pool for MySQL. The flags sql_min_pool_size,
# sql_max_pool_size and sql_idle_timeout are relevant only if this is enabled.
sql_dbpool_enable = <%= node['openstack']['network']['db']['sql_dbpool_enable'] %>
sql_dbpool_enable = <%= node['openstack']['db']['network']['sql_dbpool_enable'] %>
# Minimum number of SQL connections to keep open in a pool
sql_min_pool_size = <%= node['openstack']['network']['db']['sql_min_pool_size'] %>
sql_min_pool_size = <%= node['openstack']['db']['network']['sql_min_pool_size'] %>
# Maximum number of SQL connections to keep open in a pool
sql_max_pool_size = <%= node['openstack']['network']['db']['sql_max_pool_size'] %>
sql_max_pool_size = <%= node['openstack']['db']['network']['sql_max_pool_size'] %>
# Timeout in seconds before idle sql connections are reaped
sql_idle_timeout = <%= node['openstack']['network']['db']['sql_idle_timeout'] %>
sql_idle_timeout = <%= node['openstack']['db']['network']['sql_idle_timeout'] %>
[LINUX_BRIDGE]
# (ListOpt) Comma-separated list of

View File

@@ -9,24 +9,24 @@ sql_connection = <%= @sql_connection %>
# Database reconnection retry times - in event connectivity is lost
# set to -1 implies an infinite retry count
sql_max_retries = <%= node['openstack']['network']['db']['sql_max_retries'] %>
sql_max_retries = <%= node['openstack']['db']['network']['sql_max_retries'] %>
# Database reconnection interval in seconds - if the initial connection to the
# database fails
reconnect_interval = <%= node['openstack']['network']['db']['reconnect_interval'] %>
reconnect_interval = <%= node['openstack']['db']['network']['reconnect_interval'] %>
# Enable the use of eventlet's db_pool for MySQL. The flags sql_min_pool_size,
# sql_max_pool_size and sql_idle_timeout are relevant only if this is enabled.
sql_dbpool_enable = <%= node['openstack']['network']['db']['sql_dbpool_enable'] %>
sql_dbpool_enable = <%= node['openstack']['db']['network']['sql_dbpool_enable'] %>
# Minimum number of SQL connections to keep open in a pool
sql_min_pool_size = <%= node['openstack']['network']['db']['sql_min_pool_size'] %>
sql_min_pool_size = <%= node['openstack']['db']['network']['sql_min_pool_size'] %>
# Maximum number of SQL connections to keep open in a pool
sql_max_pool_size = <%= node['openstack']['network']['db']['sql_max_pool_size'] %>
sql_max_pool_size = <%= node['openstack']['db']['network']['sql_max_pool_size'] %>
# Timeout in seconds before idle sql connections are reaped
sql_idle_timeout = <%= node['openstack']['network']['db']['sql_idle_timeout'] %>
sql_idle_timeout = <%= node['openstack']['db']['network']['sql_idle_timeout'] %>
[OVS]
# (StrOpt) Type of network to allocate for tenant networks. The