diff --git a/modules/openstack_project/files/reprepro/debian-ceph-nautilus-updates b/modules/openstack_project/files/reprepro/debian-ceph-nautilus-updates new file mode 100644 index 0000000000..4a1d1045f1 --- /dev/null +++ b/modules/openstack_project/files/reprepro/debian-ceph-nautilus-updates @@ -0,0 +1,7 @@ +Name: debian-ceph-nautilus +Method: http://download.ceph.com/debian-nautilus/ +Components: main +UDebComponents: main +Architectures: amd64 +GetInRelease: no +VerifyRelease: 460f3994 diff --git a/modules/openstack_project/manifests/mirror.pp b/modules/openstack_project/manifests/mirror.pp index e09e262971..688ad86cfe 100644 --- a/modules/openstack_project/manifests/mirror.pp +++ b/modules/openstack_project/manifests/mirror.pp @@ -20,6 +20,7 @@ class openstack_project::mirror ( $ceph_deb_jewel_root = "${mirror_root}/ceph-deb-jewel" $ceph_deb_luminous_root = "${mirror_root}/ceph-deb-luminous" $ceph_deb_mimic_root = "${mirror_root}/ceph-deb-mimic" + $ceph_deb_nautilus_root = "${mirror_root}/ceph-deb-nautilus" $gem_root = "${mirror_root}/gem" $www_base = '/var/www' @@ -219,6 +220,17 @@ class openstack_project::mirror ( ] } + # Create the symlink to ceph-deb-nautilus. + file { "${www_root}/ceph-deb-nautilus": + ensure => link, + target => "${ceph_deb_nautilus_root}", + owner => root, + group => root, + require => [ + File["${www_root}"], + ] + } + # Create the symlink to Ubuntu Cloud Archive. file { "${www_root}/ubuntu-cloud-archive": ensure => link, diff --git a/modules/openstack_project/manifests/mirror_update.pp b/modules/openstack_project/manifests/mirror_update.pp index 5d876a5e0b..57553d493c 100644 --- a/modules/openstack_project/manifests/mirror_update.pp +++ b/modules/openstack_project/manifests/mirror_update.pp @@ -270,6 +270,28 @@ class openstack_project::mirror_update ( ] } + ::openstack_project::reprepro { 'debian-ceph-nautilus-reprepro-mirror': + confdir => '/etc/reprepro/debian-ceph-nautilus', + basedir => '/afs/.openstack.org/mirror/ceph-deb-nautilus', + distributions => 'openstack_project/reprepro/distributions.debian-ceph-nautilus.erb', + updates_file => 'puppet:///modules/openstack_project/reprepro/debian-ceph-nautilus-updates', + releases => ['stretch', 'bionic'], + } + + cron { 'reprepro debian ceph nautilus': + user => 'root', + hour => '*/2', + minute => fqdn_rand(45, 'debian-ceph-nautilus'), + command => 'flock -n /var/run/reprepro/debian-ceph-nautilus.lock reprepro-mirror-update /etc/reprepro/debian-ceph-nautilus mirror.deb-nautilus >>/var/log/reprepro/debian-ceph-nautilus-mirror.log 2>&1', + environment => 'PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin', + require => [ + File['/usr/local/bin/reprepro-mirror-update'], + File['/etc/afsadmin.keytab'], + File['/etc/reprepro.keytab'], + ::Openstack_project::Reprepro['debian-ceph-nautilus-reprepro-mirror'], + ] + } + gnupg_key { 'Ceph Archive': ensure => present, # 08B7 3419 AC32 B4E9 66C1 A330 E84A C2C0 460F 3994 diff --git a/modules/openstack_project/templates/reprepro/distributions.debian-ceph-nautilus.erb b/modules/openstack_project/templates/reprepro/distributions.debian-ceph-nautilus.erb new file mode 100644 index 0000000000..2fbd3f7843 --- /dev/null +++ b/modules/openstack_project/templates/reprepro/distributions.debian-ceph-nautilus.erb @@ -0,0 +1,11 @@ +<% @releases.each do |release| -%> +Origin: Ceph Nautilus +Codename: <%= release %> +Description: OpenStack Debian Ceph Nautilus <%= release.capitalize %> mirror +Architectures: amd64 +Components: main +Contents: .gz +Update: debian-ceph-nautilus +Log: <%= @logdir %>/debian-ceph-nautilus-<%= release %>.log + +<% end -%> diff --git a/playbooks/roles/mirror/tasks/main.yaml b/playbooks/roles/mirror/tasks/main.yaml index 4fa2c32c6f..154f60bef4 100644 --- a/playbooks/roles/mirror/tasks/main.yaml +++ b/playbooks/roles/mirror/tasks/main.yaml @@ -82,6 +82,7 @@ - ceph-deb-jewel - ceph-deb-luminous - ceph-deb-mimic + - ceph-deb-nautilus - deb-docker - debian - debian-security