Add client recipe for orchestration
Add an explicit recipe for installing client only packages. Tests are also included. Bumped minor version for this new feature. Change-Id: Ia2e4d15fbe63e1a02fb0078b1976b46b48a7e13a Addresses: blueprint add-client-recipes
This commit is contained in:
parent
80c8412f32
commit
eab9f60603
|
@ -2,5 +2,8 @@
|
|||
|
||||
This file is used to list changes made in each version of cookbook-openstack-orchestration
|
||||
|
||||
## 8.1.0
|
||||
* Add client recipe
|
||||
|
||||
## 8.0.0:
|
||||
* Initial release of cookbook-openstack-orchestration.
|
||||
|
|
14
README.md
14
README.md
|
@ -21,10 +21,6 @@ The following cookbooks are dependencies:
|
|||
Usage
|
||||
=====
|
||||
|
||||
common
|
||||
------
|
||||
- Installs the heat packages and setup configuration for Heat.
|
||||
|
||||
api
|
||||
------
|
||||
- Configure and start heat-api service
|
||||
|
@ -37,11 +33,19 @@ api-cloudwatch
|
|||
------
|
||||
- Configure and start heat-api-cloudwatch service
|
||||
|
||||
client
|
||||
----
|
||||
- Install the heat client packages
|
||||
|
||||
common
|
||||
------
|
||||
- Installs the heat packages and setup configuration for Heat.
|
||||
|
||||
engine
|
||||
------
|
||||
- Setup the heat database and start heat-engine service
|
||||
|
||||
keystone-registration
|
||||
identity_registration
|
||||
---------------------
|
||||
- Registers the Heat API endpoint, heat service and user
|
||||
|
||||
|
|
|
@ -77,6 +77,7 @@ when 'fedora', 'redhat', 'centos' # :pragma-foodcritic: ~FC024 - won't fix this
|
|||
'mysql_python_packages' => ['MySQL-python'],
|
||||
'postgresql_python_packages' => ['python-psycopg2'],
|
||||
'heat_common_packages' => ['openstack-heat'],
|
||||
'heat_client_packages' => ['python-heatclient'],
|
||||
'heat_api_packages' => ['python-heatclient'],
|
||||
'heat_api_service' => 'openstack-heat-api',
|
||||
'heat_api_cfn_packages' => ['python-heatclient'],
|
||||
|
@ -95,6 +96,7 @@ when 'ubuntu'
|
|||
'mysql_python_packages' => ['python-mysqldb'],
|
||||
'postgresql_python_packages' => ['python-psycopg2'],
|
||||
'heat_common_packages' => ['heat-common'],
|
||||
'heat_client_packages' => ['python-heatclient'],
|
||||
'heat_api_packages' => ['heat-api', 'python-heatclient'],
|
||||
'heat_api_service' => 'heat-api',
|
||||
'heat_api_cfn_packages' => ['heat-api-cfn', 'python-heatclient'],
|
||||
|
|
|
@ -4,11 +4,12 @@ maintainer 'IBM, Inc.'
|
|||
license 'Apache 2.0'
|
||||
description 'Installs and configures the Heat Service'
|
||||
long_description IO.read(File.join(File.dirname(__FILE__), 'README.md'))
|
||||
version '8.0.0'
|
||||
recipe 'openstack-orchestration::common', 'Installs packages and configures a Heat Server'
|
||||
version '8.1.0'
|
||||
recipe 'openstack-orchestration::api', 'Start and configure the Heat API service'
|
||||
recipe 'openstack-orchestration::api-cfn', 'Start and configure the Heat API CloudFormation service'
|
||||
recipe 'openstack-orchestration::api-cloudwatch', 'Start and configure the Heat API CloudWatch service'
|
||||
recipe 'openstack-orchestration::client', 'Installs packages for heat client'
|
||||
recipe 'openstack-orchestration::common', 'Installs packages and configures a Heat Server'
|
||||
recipe 'openstack-orchestration::engine', 'Sets up Heat database and starts Heat Engine service'
|
||||
recipe 'openstack-orchestration::identity_registration', 'Registers Heat service, user and endpoints with Keystone'
|
||||
|
||||
|
|
|
@ -0,0 +1,32 @@
|
|||
# encoding: UTF-8
|
||||
#
|
||||
# Cookbook Name:: openstack-orchestration
|
||||
# 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']['orchestration']['platform']
|
||||
platform_options['heat_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-orchestration::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-heatclient')
|
||||
end
|
||||
end
|
||||
end
|
|
@ -0,0 +1,18 @@
|
|||
# encoding: UTF-8
|
||||
require_relative 'spec_helper'
|
||||
|
||||
describe 'openstack-orchestration::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-heatclient')
|
||||
end
|
||||
end
|
||||
end
|
|
@ -9,6 +9,11 @@ require 'chef/application'
|
|||
version: '6.3',
|
||||
log_level: ::LOG_LEVEL
|
||||
}
|
||||
::UBUNTU_OPTS = {
|
||||
platform: 'ubuntu',
|
||||
version: '12.04',
|
||||
log_level: ::LOG_LEVEL
|
||||
}
|
||||
|
||||
# TDODO(chrislaco) factor these into shared_context/examples
|
||||
def orchestration_stubs # rubocop:disable MethodLength
|
||||
|
|
Loading…
Reference in New Issue