From a419984dac4a5b8beadccff078081995acd3ebee Mon Sep 17 00:00:00 2001 From: sbauza Date: Thu, 5 Sep 2013 17:52:24 +0200 Subject: [PATCH] Add possibility to change UCA repository Instead of forcing 'updates' UCA repo, leaves possibility to the operator to choose which UCA he wants for pulling packages Change-Id: I3e47f8a8b280d1dfe29229e1f9905ad7c71c204d --- manifests/repo/uca.pp | 5 +-- spec/classes/openstack_repo_uca_spec.rb | 45 +++++++++++++++++++++++++ 2 files changed, 48 insertions(+), 2 deletions(-) create mode 100644 spec/classes/openstack_repo_uca_spec.rb diff --git a/manifests/repo/uca.pp b/manifests/repo/uca.pp index 2378f3e..ec09c64 100644 --- a/manifests/repo/uca.pp +++ b/manifests/repo/uca.pp @@ -1,6 +1,7 @@ # Ubuntu Cloud Archive repo (supports either Folsom or Grizzly) class openstack::repo::uca( - $release = 'grizzly' + $release = 'grizzly', + $repo = 'updates' ) { if ($::operatingsystem == 'Ubuntu' and $::lsbdistdescription =~ /^.*LTS.*$/) { @@ -8,7 +9,7 @@ class openstack::repo::uca( apt::source { 'ubuntu-cloud-archive': location => 'http://ubuntu-cloud.archive.canonical.com/ubuntu', - release => "${::lsbdistcodename}-updates/${release}", + release => "${::lsbdistcodename}-${repo}/${release}", repos => 'main', required_packages => 'ubuntu-cloud-keyring', } diff --git a/spec/classes/openstack_repo_uca_spec.rb b/spec/classes/openstack_repo_uca_spec.rb new file mode 100644 index 0000000..15a7b08 --- /dev/null +++ b/spec/classes/openstack_repo_uca_spec.rb @@ -0,0 +1,45 @@ +require 'spec_helper' + +describe 'openstack::repo::uca' do + + describe 'Ubuntu with defaults' do + + let :facts do + { + :osfamily => 'Debian', + :operatingsystem => 'Ubuntu', + :operatingsystemrelease => '12.04', + :lsbdistdescription => 'Ubuntu 12.04.1 LTS', + :lsbdistcodename => 'precise', + } + end + it do + should contain_apt__source('ubuntu-cloud-archive').with( + :release => 'precise-updates/grizzly' + ) + end + end + + describe 'Ubuntu and grizzly' do + let :params do + { :release => 'folsom', :repo => 'proposed' } + end + + let :facts do + { + :osfamily => 'Debian', + :operatingsystem => 'Ubuntu', + :operatingsystemrelease => '12.04', + :lsbdistdescription => 'Ubuntu 12.04.1 LTS', + :lsbdistcodename => 'precise', + } + end + + it do + should contain_apt__source('ubuntu-cloud-archive').with( + :release => 'precise-proposed/folsom' + ) + end + end + +end