Merge "Add DB2 support to ceilometer on redhat platform"
This commit is contained in:
commit
0bc923e107
|
@ -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.
|
* `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
|
Testing
|
||||||
=====
|
=====
|
||||||
|
|
|
@ -52,6 +52,8 @@ end
|
||||||
case platform
|
case platform
|
||||||
when 'suse' # :pragma-foodcritic: ~FC024 - won't fix this
|
when 'suse' # :pragma-foodcritic: ~FC024 - won't fix this
|
||||||
default['openstack']['telemetry']['platform'] = {
|
default['openstack']['telemetry']['platform'] = {
|
||||||
|
'mysql_python_packages' => ['python-mysql'],
|
||||||
|
'postgresql_python_packages' => ['python-psycopg2'],
|
||||||
'common_packages' => ['openstack-ceilometer'],
|
'common_packages' => ['openstack-ceilometer'],
|
||||||
'agent_central_packages' => ['openstack-ceilometer-agent-central'],
|
'agent_central_packages' => ['openstack-ceilometer-agent-central'],
|
||||||
'agent_central_service' => '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'
|
when 'fedora', 'redhat', 'centos'
|
||||||
default['openstack']['telemetry']['platform'] = {
|
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'],
|
'common_packages' => ['openstack-ceilometer-common'],
|
||||||
'agent_central_packages' => ['openstack-ceilometer-central'],
|
'agent_central_packages' => ['openstack-ceilometer-central'],
|
||||||
'agent_central_service' => 'openstack-ceilometer-central',
|
'agent_central_service' => 'openstack-ceilometer-central',
|
||||||
|
@ -92,6 +97,8 @@ when 'fedora', 'redhat', 'centos'
|
||||||
|
|
||||||
when 'ubuntu'
|
when 'ubuntu'
|
||||||
default['openstack']['telemetry']['platform'] = {
|
default['openstack']['telemetry']['platform'] = {
|
||||||
|
'mysql_python_packages' => ['python-mysqldb'],
|
||||||
|
'postgresql_python_packages' => ['python-psycopg2'],
|
||||||
'common_packages' => ['ceilometer-common'],
|
'common_packages' => ['ceilometer-common'],
|
||||||
'agent_central_packages' => ['ceilometer-agent-central'],
|
'agent_central_packages' => ['ceilometer-agent-central'],
|
||||||
'agent_central_service' => 'ceilometer-agent-central',
|
'agent_central_service' => 'ceilometer-agent-central',
|
||||||
|
|
|
@ -29,6 +29,14 @@ if node['openstack']['telemetry']['syslog']['use']
|
||||||
end
|
end
|
||||||
|
|
||||||
platform = node['openstack']['telemetry']['platform']
|
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|
|
platform['common_packages'].each do |pkg|
|
||||||
package pkg
|
package pkg
|
||||||
end
|
end
|
||||||
|
|
|
@ -10,6 +10,22 @@ describe 'openstack-telemetry::common' do
|
||||||
|
|
||||||
include_context 'telemetry-stubs'
|
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
|
it 'installs the common package' do
|
||||||
expect(chef_run).to install_package 'openstack-ceilometer-common'
|
expect(chef_run).to install_package 'openstack-ceilometer-common'
|
||||||
end
|
end
|
||||||
|
|
|
@ -10,6 +10,15 @@ describe 'openstack-telemetry::common' do
|
||||||
|
|
||||||
include_context 'telemetry-stubs'
|
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
|
it 'installs the common package' do
|
||||||
expect(chef_run).to install_package 'openstack-ceilometer'
|
expect(chef_run).to install_package 'openstack-ceilometer'
|
||||||
end
|
end
|
||||||
|
|
|
@ -20,6 +20,15 @@ describe 'openstack-telemetry::common' do
|
||||||
end
|
end
|
||||||
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
|
it 'installs the common package' do
|
||||||
expect(chef_run).to install_package 'ceilometer-common'
|
expect(chef_run).to install_package 'ceilometer-common'
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue