diff --git a/modules/openstack_project/files/reprepro/debuntu-updates b/modules/openstack_project/files/reprepro/debuntu-updates index f6beeb9134..9b18d87be8 100644 --- a/modules/openstack_project/files/reprepro/debuntu-updates +++ b/modules/openstack_project/files/reprepro/debuntu-updates @@ -14,6 +14,22 @@ Architectures: amd64 source GetInRelease: no VerifyRelease: 437D05B5|C0B21F32 +Name: ubuntu-ports +Method: http://ports.ubuntu.com/ubuntu-ports +Components: main universe +UDebComponents: main +Architectures: arm64 source +GetInRelease: no +VerifyRelease: 437D05B5|C0B21F32 + +Name: ubuntu-ports-security +Method: http://ports.ubuntu.com/ubuntu-ports +Components: main universe +UDebComponents: main +Architectures: arm64 source +GetInRelease: no +VerifyRelease: 437D05B5|C0B21F32 + Name: debian Method: http://ftp.us.debian.org/debian/ Components: main diff --git a/modules/openstack_project/manifests/mirror.pp b/modules/openstack_project/manifests/mirror.pp index 44589bee07..c33c461ad7 100644 --- a/modules/openstack_project/manifests/mirror.pp +++ b/modules/openstack_project/manifests/mirror.pp @@ -146,7 +146,7 @@ class openstack_project::mirror ( ] } - # Create the symlink to apt. + # Create the symlink to Ubuntu file { "${www_root}/ubuntu": ensure => link, target => "${mirror_root}/ubuntu", @@ -157,6 +157,17 @@ class openstack_project::mirror ( ] } + # Create the symlink to Ubuntu ports + file { "${www_root}/ubuntu-ports": + ensure => link, + target => "${mirror_root}/ubuntu-ports", + owner => root, + group => root, + require => [ + File["${www_root}"], + ] + } + # Create the symlink to ceph-deb-hammer. file { "${www_root}/ceph-deb-hammer": ensure => link, diff --git a/modules/openstack_project/manifests/mirror_update.pp b/modules/openstack_project/manifests/mirror_update.pp index 93596f36fe..be693ecd88 100644 --- a/modules/openstack_project/manifests/mirror_update.pp +++ b/modules/openstack_project/manifests/mirror_update.pp @@ -150,6 +150,28 @@ class openstack_project::mirror_update ( ] } + ::openstack_project::reprepro { 'ubuntu-ports-reprepro-mirror': + confdir => '/etc/reprepro/ubuntu-ports', + basedir => '/afs/.openstack.org/mirror/ubuntu-ports', + distributions => 'openstack_project/reprepro/distributions.ubuntu-ports.erb', + updates_file => 'puppet:///modules/openstack_project/reprepro/debuntu-updates', + releases => ['bionic', 'xenial'], + } + + cron { 'reprepro ubuntu-ports': + user => $user, + hour => '*/2', + minute => '0', + command => 'flock -n /var/run/reprepro/ubuntu-ports.lock reprepro-mirror-update /etc/reprepro/ubuntu-ports mirror.ubuntu-ports >>/var/log/reprepro/ubuntu-ports-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['ubuntu-ports-reprepro-mirror'], + ] + } + gnupg_key { 'Ubuntu Archive': ensure => present, key_id => '40976EAF437D05B5', diff --git a/modules/openstack_project/templates/reprepro/distributions.ubuntu-ports.erb b/modules/openstack_project/templates/reprepro/distributions.ubuntu-ports.erb new file mode 100644 index 0000000000..7b3a75e3d4 --- /dev/null +++ b/modules/openstack_project/templates/reprepro/distributions.ubuntu-ports.erb @@ -0,0 +1,44 @@ +<% @releases.each do |release| -%> +Origin: Ubuntu +Codename: <%= release %> +Description: OpenStack Ubuntu <%= release.capitalize %> mirror +Architectures: arm64 source +Components: main universe +UDebComponents: main +Contents: .gz +Update: ubuntu-ports +Log: <%= @logdir %>/ubuntu-ports-<%= release %>.log + +Origin: Ubuntu +Codename: <%= release %>-updates +Description: OpenStack Ubuntu <%= release.capitalize %> Updates mirror +Architectures: arm64 source +Components: main universe +UDebComponents: main +Contents: .gz +Update: ubuntu-ports +Log: <%= @logdir %>/ubuntu-ports-<%= release %>-updates.log + +Origin: Ubuntu +Codename: <%= release %>-backports +Description: OpenStack Ubuntu <%= release.capitalize %> Backports mirror +Architectures: arm64 source +Components: main universe +UDebComponents: main +Contents: .gz +Update: ubuntu-ports +NotAutomatic: yes +ButAutomaticUpgrades: yes +Log: <%= @logdir %>/ubuntu-ports-<%= release %>-backports.log + +Origin: Ubuntu +Codename: <%= release %>-security +Description: OpenStack Ubuntu <%= release.capitalize %> Security mirror +Architectures: arm64 source +Components: main universe +UDebComponents: main +Contents: .gz +Update: ubuntu-ports-security +Log: <%= @logdir %>/ubuntu-ports-<%= release %>-security.log + +<% end -%>