fuel-library/deployment/puppet/nailgun/manifests/auxiliaryrepos.pp
Matthew Mosesohn eab7b68399 Create auxiliary repo with fuel version
Fuel 7.0 auxiliary repo should be created
as /etc/yum.repos.d/7.0_auxiliary

This helps with upgrade/rollback process for
Fuel Master.

The configuration for auxiliary repository on
deployed Fuel nodes is unchanged.

Change-Id: Iec2645ddbee6b1b6b9e5c2816707b275542ef51b
Partial-Bug: #1480282
2015-08-11 16:14:30 +03:00

73 lines
2.2 KiB
Puppet

class nailgun::auxiliaryrepos(
$fuel_version,
$repo_root = '/var/www/nailgun',
$priority = '15',
){
$centos_dir = "${repo_root}/centos/auxiliary/"
$ubuntu_dir = "${repo_root}/ubuntu/auxiliary/"
file { $centos_dir:
ensure => directory,
owner => 'root',
group => 'root',
mode => '0755',
}
File[$centos_dir] ->
Package['createrepo'] ->
Exec["createrepo ${centos_dir}"] ->
Yumrepo["${fuel_version}_auxiliary"]
yumrepo { "${fuel_version}_auxiliary":
name => "${fuel_version}_auxiliary",
descr => "${fuel_version}_auxiliary",
baseurl => "file://${centos_dir}",
gpgcheck => '0',
priority => $priority,
}
package { 'createrepo':
ensure => latest,
}
exec { "createrepo ${centos_dir}":
path => '/bin:/sbin:/usr/bin:/usr/sbin',
cwd => $centos_dir,
creates => "${centos_dir}/repodata/repomd.xml",
}
$release_files = [
"${ubuntu_dir}/dists/auxiliary/Release",
"${ubuntu_dir}/dists/auxiliary/main/binary-amd64/Release",
"${ubuntu_dir}/dists/auxiliary/restricted/binary-amd64/Release"]
Exec['create_ubuntu_repo_dirs'] ->
Exec['create_ubuntu_repo_Packages'] ->
File[$release_files]
exec { 'create_ubuntu_repo_dirs':
path => '/bin:/sbin:/usr/bin:/usr/sbin',
command => "bash -c \"mkdir -p ${ubuntu_dir}/pool/{main,restricted} ${ubuntu_dir}/dists/auxiliary/{main,restricted}/binary-amd64/\"",
unless => "test -d ${ubuntu_dir}/pool && \
test -d ${ubuntu_dir}/dists/auxiliary/main/binary-amd64 && \
test -d ${ubuntu_dir}/dists/auxiliary/restricted/binary-amd64",
}
exec { 'create_ubuntu_repo_Packages':
path => '/bin:/sbin:/usr/bin:/usr/sbin',
command => "bash -c \"touch ${ubuntu_dir}/dists/auxiliary/{main,restricted}/binary-amd64/Packages\"",
unless => "test -f ${ubuntu_dir}/dists/auxiliary/main/binary-amd64/Packages && \
test -f ${ubuntu_dir}/dists/auxiliary/restricted/binary-amd64/Packages",
}
file { $release_files:
ensure => file,
replace => false,
source => 'puppet:///modules/nailgun/Release-auxiliary',
mode => '0644',
owner => 'root',
group => 'root',
}
}