class openstack_integration::repos { case $facts['os']['family'] { 'Debian': { case $facts['os']['name'] { 'Ubuntu': { include apt class { 'openstack_extras::repo::debian::ubuntu': release => 'caracal', package_require => true, uca_location => pick($facts['uca_mirror_host'], 'http://ubuntu-cloud.archive.canonical.com/ubuntu'), } } 'Debian': { include apt class { 'openstack_extras::repo::debian::debian': release => 'caracal', package_require => true, } } default: { fail("Unsupported package type (${facts['os']['name']})") } } } 'RedHat': { $centos_mirror = pick( $facts['centos_mirror_host'], 'http://mirror.stream.centos.org' ) $delorean_repo = pick( $facts['delorean_repo_path'], "https://trunk.rdoproject.org/centos${facts['os']['release']['major']}-master/puppet-passed-ci/delorean.repo" ) $delorean_deps_repo = pick( $facts['delorean_deps_repo_path'], "https://trunk.rdoproject.org/centos${facts['os']['release']['major']}-master/delorean-deps.repo" ) class { 'openstack_extras::repo::redhat::redhat': manage_rdo => false, centos_mirror_url => $centos_mirror, repo_source_hash => { 'delorean.repo' => $delorean_repo, 'delorean-deps.repo' => $delorean_deps_repo }, repo_replace => false, update_packages => true, } $ceph_version_real = pick($facts['ceph_version'], 'reef') $ceph_mirror = pick( $facts['ceph_mirror_host'], "${centos_mirror}/SIGs/${facts['os']['release']['major']}-stream/storage/x86_64/ceph-${ceph_version_real}/" ) # On CentOS, deploy Ceph using SIG repository and get rid of EPEL. # https://wiki.centos.org/SpecialInterestGroup/Storage/ class { 'ceph::repo': enable_sig => true, enable_epel => false, ceph_mirror => $ceph_mirror, } yumrepo { 'crb': enabled => true } } default: { fail("Unsupported osfamily (${facts['os']['family']})") } } }