Add client recipe for metering
Add an explicit recipe for installing client only packages. Tests are also included. Bumped minor version for this new feature. Added RHEL support and test Change-Id: Ic4170f0df1a88839e97458ed5cb68237e61d0134 Addresses: blueprint add-client-recipes
This commit is contained in:
parent
065f14b41f
commit
1c25bafc37
|
@ -2,6 +2,9 @@ openstack-metering Cookbook CHANGELOG
|
|||
==============================
|
||||
This file is used to list changes made in each version of the openstack-metering cookbook.
|
||||
|
||||
## 8.1.0
|
||||
* Add client recipe
|
||||
|
||||
## 8.0.0
|
||||
### New version
|
||||
* Upgrade to upstream Havana release
|
||||
|
|
|
@ -28,6 +28,10 @@ api
|
|||
----
|
||||
- Installs API service.
|
||||
|
||||
client
|
||||
----
|
||||
- Install the client packages
|
||||
|
||||
collector
|
||||
----
|
||||
- Installs nova network service.
|
||||
|
|
|
@ -47,6 +47,7 @@ when 'suse' # :pragma-foodcritic: ~FC024 - won't fix this
|
|||
'agent_compute_service' => 'openstack-ceilometer-agent-compute',
|
||||
'api_packages' => ['openstack-ceilometer-api'],
|
||||
'api_service' => 'openstack-ceilometer-api',
|
||||
'client_packages' => ['python-ceilometerclient'],
|
||||
'collector_packages' => ['openstack-ceilometer-collector'],
|
||||
'collector_service' => 'openstack-ceilometer-collector'
|
||||
}
|
||||
|
@ -59,6 +60,7 @@ when 'fedora', 'redhat', 'centos'
|
|||
'agent_compute_service' => 'openstack-ceilometer-compute',
|
||||
'api_packages' => ['openstack-ceilometer-api'],
|
||||
'api_service' => 'openstack-ceilometer-api',
|
||||
'client_packages' => ['python-ceilometerclient'],
|
||||
'collector_packages' => ['openstack-ceilometer-collector'],
|
||||
'collector_service' => 'openstack-ceilometer-collector'
|
||||
}
|
||||
|
@ -72,6 +74,7 @@ when 'ubuntu'
|
|||
'agent_compute_service' => 'ceilometer-agent-compute',
|
||||
'api_packages' => ['ceilometer-api'],
|
||||
'api_service' => 'ceilometer-api',
|
||||
'client_packages' => ['python-ceilometerclient'],
|
||||
'collector_packages' => ['ceilometer-collector', 'python-mysqldb'],
|
||||
'collector_service' => 'ceilometer-collector'
|
||||
}
|
||||
|
|
|
@ -4,11 +4,12 @@ maintainer_email 'cookbooks@lists.tfoundry.com'
|
|||
license 'Apache 2.0'
|
||||
description 'The OpenStack Metering service Ceilometer.'
|
||||
long_description IO.read(File.join(File.dirname(__FILE__), 'README.md'))
|
||||
version '8.0.0'
|
||||
version '8.1.0'
|
||||
|
||||
recipe 'openstack-metering::agent-central', 'Installs agent central service.'
|
||||
recipe 'openstack-metering::agent-compute', 'Installs agent compute service.'
|
||||
recipe 'openstack-metering::api', 'Installs API service.'
|
||||
recipe 'openstack-metering::client', 'Installs client.'
|
||||
recipe 'openstack-metering::collector', 'Installs nova network service.'
|
||||
recipe 'openstack-metering::common', 'Common metering configuration.'
|
||||
recipe 'openstack-metering::identity_registration', 'Registers the endpoints with Keystone'
|
||||
|
|
|
@ -0,0 +1,32 @@
|
|||
# encoding: UTF-8
|
||||
#
|
||||
# Cookbook Name:: openstack-metering
|
||||
# Recipe:: client
|
||||
#
|
||||
# Copyright 2014, IBM Corp.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
|
||||
class ::Chef::Recipe # rubocop:disable Documentation
|
||||
include ::Openstack
|
||||
end
|
||||
|
||||
platform_options = node['openstack']['metering']['platform']
|
||||
platform_options['client_packages'].each do |pkg|
|
||||
package pkg do
|
||||
options platform_options['package_overrides']
|
||||
|
||||
action :upgrade
|
||||
end
|
||||
end
|
|
@ -0,0 +1,18 @@
|
|||
# encoding: UTF-8
|
||||
require_relative 'spec_helper'
|
||||
|
||||
describe 'openstack-metering::client' do
|
||||
|
||||
describe 'redhat' do
|
||||
|
||||
let(:runner) { ChefSpec::Runner.new(REDHAT_OPTS) }
|
||||
let(:node) { runner.node }
|
||||
let(:chef_run) do
|
||||
runner.converge(described_recipe)
|
||||
end
|
||||
|
||||
it 'installs packages' do
|
||||
expect(chef_run).to upgrade_package('python-ceilometerclient')
|
||||
end
|
||||
end
|
||||
end
|
|
@ -0,0 +1,18 @@
|
|||
# encoding: UTF-8
|
||||
require_relative 'spec_helper'
|
||||
|
||||
describe 'openstack-metering::client' do
|
||||
|
||||
describe 'ubuntu' do
|
||||
|
||||
let(:runner) { ChefSpec::Runner.new(UBUNTU_OPTS) }
|
||||
let(:node) { runner.node }
|
||||
let(:chef_run) do
|
||||
runner.converge(described_recipe)
|
||||
end
|
||||
|
||||
it 'installs packages' do
|
||||
expect(chef_run).to upgrade_package('python-ceilometerclient')
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Reference in New Issue