Merge "Add client recipe for metering"

This commit is contained in:
Jenkins 2014-02-25 02:09:03 +00:00 committed by Gerrit Code Review
commit c6080e0104
7 changed files with 80 additions and 1 deletions

View File

@ -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

View File

@ -28,6 +28,10 @@ api
----
- Installs API service.
client
----
- Install the client packages
collector
----
- Installs nova network service.

View File

@ -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'
}

View File

@ -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'

32
recipes/client.rb Normal file
View File

@ -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

View File

@ -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

18
spec/client_spec.rb Normal file
View File

@ -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