Merge "Add enable flag for RDO yum repository on RHEL"

This commit is contained in:
Jenkins
2014-01-31 00:14:49 +00:00
committed by Gerrit Code Review
5 changed files with 88 additions and 1 deletions

View File

@@ -79,6 +79,7 @@ default['openstack']['apt']['components'] = ["precise-updates/#{node['openstack'
default['openstack']['zypp']['repo-key'] = 'd85f9316' # 32 bit key ID
default['openstack']['zypp']['uri'] = 'http://download.opensuse.org/repositories/Cloud:/OpenStack:/%release%/%suse-release%/'
default['openstack']['yum']['rdo_enabled'] = true
default['openstack']['yum']['uri'] = 'http://repos.fedorapeople.org/repos/openstack/openstack-havana/epel-6'
default['openstack']['yum']['repo-key'] = 'https://raw.github.com/redhat-openstack/rdo-release/master/RPM-GPG-KEY-RDO-Havana'

View File

@@ -39,9 +39,15 @@ when 'debian'
when 'rhel'
if node['openstack']['yum']['rdo_enabled']
repo_action = :add
else
repo_action = :remove
end
yum_key "RPM-GPG-KEY-RDO-#{node['openstack']['release']}" do
url node['openstack']['yum']['repo-key']
action :add
action repo_action
end
yum_repository "RDO-#{node['openstack']['release']}" do
@@ -49,6 +55,7 @@ when 'rhel'
key "RPM-GPG-KEY-RDO-#{node['openstack']['release']}"
url node['openstack']['yum']['uri']
enabled 1
action repo_action
end
when 'suse'

View File

@@ -0,0 +1,44 @@
# encoding: UTF-8
require_relative 'spec_helper'
describe 'openstack-common::default' do
describe 'rhel-rdo' do
before do
@chef_run = ::ChefSpec::Runner.new(::REDHAT_OPTS) do |n|
n.set['openstack']['release'] = 'testrelease'
end
@chef_run.converge 'openstack-common::default'
end
it 'installs RDO repo GPG key' do
key_name = 'RPM-GPG-KEY-RDO-testrelease'
expect(@chef_run).to add_yum_key(key_name)
end
it 'configures RDO yum repository' do
repo_name = 'RDO-testrelease'
expect(@chef_run).to add_yum_repository(repo_name)
end
end
describe 'rhel-no-rdo' do
before do
@chef_run = ::ChefSpec::Runner.new(::REDHAT_OPTS) do |n|
n.set['openstack']['release'] = 'testrelease'
n.set['openstack']['yum']['rdo_enabled'] = false
end
@chef_run.converge 'openstack-common::default'
end
it 'installs RDO repo GPG key' do
key_name = 'RPM-GPG-KEY-RDO-testrelease'
expect(@chef_run).to remove_yum_key(key_name)
end
it 'configures RDO yum repository' do
repo_name = 'RDO-testrelease'
expect(@chef_run).to remove_yum_repository(repo_name)
end
end
end

View File

@@ -3,12 +3,19 @@
require 'chefspec'
require 'chefspec/berkshelf'
require_relative 'support/matchers'
::LOG_LEVEL = :fatal
::UBUNTU_OPTS = {
platform: 'ubuntu',
version: '12.04',
log_level: ::LOG_LEVEL
}
::REDHAT_OPTS = {
platform: 'redhat',
version: '6.3',
log_level: ::LOG_LEVEL
}
::CHEFSPEC_OPTS = {
log_level: ::LOG_LEVEL
}

28
spec/support/matchers.rb Normal file
View File

@@ -0,0 +1,28 @@
# encoding: UTF-8
# for yum cookbook LWRPs
# yum_key
def add_yum_key(resource_name)
ChefSpec::Matchers::ResourceMatcher.new(:yum_key, :add, resource_name)
end
def remove_yum_key(resource_name)
ChefSpec::Matchers::ResourceMatcher.new(:yum_key, :remove, resource_name)
end
# yum_repository
def add_yum_repository(resource_name)
ChefSpec::Matchers::ResourceMatcher.new(:yum_repository, :add, resource_name)
end
def remove_yum_repository(resource_name)
ChefSpec::Matchers::ResourceMatcher.new(:yum_repository, :remove, resource_name)
end
def update_yum_repository(resource_name)
ChefSpec::Matchers::ResourceMatcher.new(:yum_repository, :update, resource_name)
end
def create_yum_repository(resource_name)
ChefSpec::Matchers::ResourceMatcher.new(:yum_repository, :create, resource_name)
end