510fa59002
Now Bookworm is supported instead of Bullseye. The hard-coded name is replaced by a fact value so that we don't have to update the value every time when we update the supported version. Change-Id: Ide9e4a9531f7aab2746722dbf9bc76fdf26345c7
181 lines
5.3 KiB
Ruby
181 lines
5.3 KiB
Ruby
require 'spec_helper'
|
|
|
|
describe 'openstack_extras::repo::debian::debian' do
|
|
shared_examples 'openstack_extras::repo::debian::debian' do
|
|
let :class_params do
|
|
{
|
|
:manage_deb => true,
|
|
:source_hash => {},
|
|
:source_defaults => {},
|
|
:package_require => false,
|
|
:use_extrepo => false,
|
|
}
|
|
end
|
|
|
|
let :paramclass_defaults do
|
|
{
|
|
:release => 'bobcat'
|
|
}
|
|
end
|
|
|
|
let :default_params do
|
|
class_params.merge!(paramclass_defaults)
|
|
end
|
|
|
|
context 'with default params' do
|
|
it { should contain_exec('/usr/bin/extrepo enable openstack_bobcat').with(
|
|
:command => "/bin/true # comment to satisfy puppet syntax requirements
|
|
apt-get update
|
|
apt-get install -y extrepo
|
|
extrepo enable openstack_bobcat
|
|
apt-get update
|
|
",
|
|
)}
|
|
end
|
|
|
|
context 'wallaby with extrepo' do
|
|
let :params do
|
|
{
|
|
:release => 'wallaby',
|
|
:use_extrepo => true,
|
|
}
|
|
end
|
|
it { should contain_exec('/usr/bin/extrepo enable openstack_wallaby').with(
|
|
:command => "/bin/true # comment to satisfy puppet syntax requirements
|
|
apt-get update
|
|
apt-get install -y extrepo
|
|
extrepo enable openstack_wallaby
|
|
apt-get update
|
|
",
|
|
)}
|
|
end
|
|
|
|
context 'with extrepo set to false' do
|
|
let :params do
|
|
{
|
|
:use_extrepo => false,
|
|
}
|
|
end
|
|
|
|
it { should contain_apt__source('debian-openstack-backports').with(
|
|
:location => "http://#{facts[:os]['distro']['codename']}-bobcat.debian.net/debian",
|
|
:release => "#{facts[:os]['distro']['codename']}-bobcat-backports",
|
|
:repos => 'main',
|
|
)}
|
|
|
|
it { should contain_apt__source('debian-openstack-backports-nochange').with(
|
|
:location => "http://#{facts[:os]['distro']['codename']}-bobcat.debian.net/debian",
|
|
:release => "#{facts[:os]['distro']['codename']}-bobcat-backports-nochange",
|
|
:repos => 'main'
|
|
)}
|
|
|
|
it { should contain_exec('installing openstack-backports-archive-keyring') }
|
|
end
|
|
|
|
context 'with overridden release' do
|
|
let :params do
|
|
default_params.merge!({ :release => 'pike' })
|
|
end
|
|
|
|
it { should contain_apt__source('debian-openstack-backports').with(
|
|
:location => "http://#{facts[:os]['distro']['codename']}-pike.debian.net/debian",
|
|
:release => "#{facts[:os]['distro']['codename']}-pike-backports",
|
|
:repos => 'main',
|
|
)}
|
|
|
|
it { should contain_apt__source('debian-openstack-backports-nochange').with(
|
|
:location => "http://#{facts[:os]['distro']['codename']}-pike.debian.net/debian",
|
|
:release => "#{facts[:os]['distro']['codename']}-pike-backports-nochange",
|
|
:repos => 'main'
|
|
)}
|
|
|
|
it { should contain_exec('installing openstack-backports-archive-keyring') }
|
|
end
|
|
|
|
context 'when not managing openstack repo' do
|
|
let :params do
|
|
default_params.merge!({ :manage_deb => false })
|
|
end
|
|
|
|
it { should_not contain_exec('installing openstack-backports-archive-keyring') }
|
|
end
|
|
|
|
context 'with overridden source hash' do
|
|
let :params do
|
|
default_params.merge!({
|
|
:source_hash => {
|
|
'debian_unstable' => {
|
|
'location' => 'http://mymirror/debian/',
|
|
'repos' => 'main',
|
|
'release' => 'unstable'
|
|
},
|
|
'puppetlabs' => {
|
|
'location' => 'http://apt.puppetlabs.com',
|
|
'repos' => 'main',
|
|
'release' => facts[:os]['distro']['codename'],
|
|
'key' => { 'id' => '4BD6EC30', 'server' => 'pgp.mit.edu' }
|
|
}
|
|
},
|
|
:use_extrepo => false
|
|
})
|
|
end
|
|
|
|
it { should contain_apt__source('debian_unstable').with(
|
|
:location => 'http://mymirror/debian/',
|
|
:release => 'unstable',
|
|
:repos => 'main',
|
|
)}
|
|
|
|
it { should contain_apt__source('puppetlabs').with(
|
|
:location => 'http://apt.puppetlabs.com',
|
|
:repos => 'main',
|
|
:release => facts[:os]['distro']['codename'],
|
|
:key => { 'id' => '4BD6EC30', 'server' => 'pgp.mit.edu' },
|
|
)}
|
|
|
|
it { should contain_exec('installing openstack-backports-archive-keyring') }
|
|
end
|
|
|
|
context 'with overridden source default' do
|
|
let :params do
|
|
default_params.merge!({
|
|
:source_hash => {
|
|
'debian_unstable' => {
|
|
'location' => 'http://mymirror/debian/',
|
|
'repos' => 'main',
|
|
'release' => 'unstable'
|
|
},
|
|
},
|
|
:source_defaults => {
|
|
'include' => { 'src' => true }
|
|
},
|
|
:use_extrepo => false
|
|
})
|
|
end
|
|
|
|
it { should contain_apt__source('debian_unstable').with(
|
|
:include => { 'src' => true },
|
|
:location => 'http://mymirror/debian/',
|
|
:release => 'unstable',
|
|
:repos => 'main',
|
|
)}
|
|
|
|
it { should contain_exec('installing openstack-backports-archive-keyring') }
|
|
end
|
|
end
|
|
|
|
on_supported_os({
|
|
:supported_os => OSDefaults.get_supported_os
|
|
}).each do |os,facts|
|
|
context "on #{os}" do
|
|
let (:facts) do
|
|
facts.merge!(OSDefaults.get_facts())
|
|
end
|
|
|
|
if facts[:os]['name'] == 'Debian'
|
|
it_behaves_like 'openstack_extras::repo::debian::debian'
|
|
end
|
|
end
|
|
end
|
|
end
|