From de519d561717a68b94d637a452f5c597ebe1f16c Mon Sep 17 00:00:00 2001 From: Tobias Urdin Date: Wed, 19 Jun 2019 12:57:40 +0200 Subject: [PATCH] Mirror Ceph Nautilus for Debian based Ceph Nautilus is released and the official mirror is available. This adds the Ceph Nautilus mirror so we can sync it for Stretch and Bionic. Based on the same change that was done when Mimic was released [1] [1] https://review.opendev.org/#/c/571989/ Change-Id: I9424d1f4df58acde8ea70dc16283d4de89189bae --- .../reprepro/debian-ceph-nautilus-updates | 7 ++++++ modules/openstack_project/manifests/mirror.pp | 12 ++++++++++ .../manifests/mirror_update.pp | 22 +++++++++++++++++++ .../distributions.debian-ceph-nautilus.erb | 11 ++++++++++ playbooks/roles/mirror/tasks/main.yaml | 1 + 5 files changed, 53 insertions(+) create mode 100644 modules/openstack_project/files/reprepro/debian-ceph-nautilus-updates create mode 100644 modules/openstack_project/templates/reprepro/distributions.debian-ceph-nautilus.erb 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