Merge "Add DB2 support to ceilometer on redhat platform"

This commit is contained in:
Jenkins 2014-04-04 16:02:01 +00:00 committed by Gerrit Code Review
commit 0bc923e107
6 changed files with 51 additions and 0 deletions

View File

@ -60,6 +60,8 @@ Attributes
==========
* `openstack['telemetry']['api']['auth']['version']` - Select v2.0 or v3.0. Default v2.0. The auth API version used to interact with identity service.
TODO: Add DB2 support on other platforms
* `openstack['telemetry']['platform']['db2_python_packages']` - Array of DB2 python packages, only available on redhat platform
Testing
=====

View File

@ -52,6 +52,8 @@ end
case platform
when 'suse' # :pragma-foodcritic: ~FC024 - won't fix this
default['openstack']['telemetry']['platform'] = {
'mysql_python_packages' => ['python-mysql'],
'postgresql_python_packages' => ['python-psycopg2'],
'common_packages' => ['openstack-ceilometer'],
'agent_central_packages' => ['openstack-ceilometer-agent-central'],
'agent_central_service' => 'openstack-ceilometer-agent-central',
@ -72,6 +74,9 @@ when 'suse' # :pragma-foodcritic: ~FC024 - won't fix this
when 'fedora', 'redhat', 'centos'
default['openstack']['telemetry']['platform'] = {
'mysql_python_packages' => ['MySQL-python'],
'db2_python_packages' => ['python-ibm-db', 'python-ibm-db-sa'],
'postgresql_python_packages' => ['python-psycopg2'],
'common_packages' => ['openstack-ceilometer-common'],
'agent_central_packages' => ['openstack-ceilometer-central'],
'agent_central_service' => 'openstack-ceilometer-central',
@ -92,6 +97,8 @@ when 'fedora', 'redhat', 'centos'
when 'ubuntu'
default['openstack']['telemetry']['platform'] = {
'mysql_python_packages' => ['python-mysqldb'],
'postgresql_python_packages' => ['python-psycopg2'],
'common_packages' => ['ceilometer-common'],
'agent_central_packages' => ['ceilometer-agent-central'],
'agent_central_service' => 'ceilometer-agent-central',

View File

@ -29,6 +29,14 @@ if node['openstack']['telemetry']['syslog']['use']
end
platform = node['openstack']['telemetry']['platform']
db_type = node['openstack']['db']['telemetry']['service_type']
platform["#{db_type}_python_packages"].each do |pkg|
package pkg do
action :install
end
end
platform['common_packages'].each do |pkg|
package pkg
end

View File

@ -10,6 +10,22 @@ describe 'openstack-telemetry::common' do
include_context 'telemetry-stubs'
it 'installs mysql python packages by default' do
expect(chef_run).to install_package 'MySQL-python'
end
it 'installs db2 python packages if explicitly told' do
node.set['openstack']['db']['telemetry']['service_type'] = 'db2'
['python-ibm-db', 'python-ibm-db-sa'].each do |pkg|
expect(chef_run).to install_package pkg
end
end
it 'installs postgresql python packages if explicitly told' do
node.set['openstack']['db']['telemetry']['service_type'] = 'postgresql'
expect(chef_run).to install_package 'python-psycopg2'
end
it 'installs the common package' do
expect(chef_run).to install_package 'openstack-ceilometer-common'
end

View File

@ -10,6 +10,15 @@ describe 'openstack-telemetry::common' do
include_context 'telemetry-stubs'
it 'installs mysql python packages by default' do
expect(chef_run).to install_package 'python-mysql'
end
it 'installs postgresql python packages if explicitly told' do
node.set['openstack']['db']['telemetry']['service_type'] = 'postgresql'
expect(chef_run).to install_package 'python-psycopg2'
end
it 'installs the common package' do
expect(chef_run).to install_package 'openstack-ceilometer'
end

View File

@ -20,6 +20,15 @@ describe 'openstack-telemetry::common' do
end
end
it 'installs mysql python packages by default' do
expect(chef_run).to install_package 'python-mysqldb'
end
it 'installs postgresql python packages if explicitly told' do
node.set['openstack']['db']['telemetry']['service_type'] = 'postgresql'
expect(chef_run).to install_package 'python-psycopg2'
end
it 'installs the common package' do
expect(chef_run).to install_package 'ceilometer-common'
end