OpenStack-CI Apt mirror for Ubuntu Cloud Archive
This patch adds a mirror for Ubuntu Cloud Archive. The releases mirrored is selective, only covering the currently supported Ubuntu and OpenStack versions. Having this mirror available aids deployment projects which consume these packages by ensuring that all apt packages needed are available in mirror local to the nodepool cloud provider. Note: I have no real understanding of how puppet/system-config works and don't know how to test this patch. If there's no system-config gate check to validate that this works, please can someone assist by testing and providing feedback. Change-Id: Id658f2f29ce4a42eee2ef1ecdf935ada882da51e
This commit is contained in:
parent
b69a663a91
commit
0f291dc788
@ -0,0 +1,52 @@
|
|||||||
|
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||||
|
Version: GnuPG v1
|
||||||
|
|
||||||
|
mQINBFAqSlgBEADPKwXUwqbgoDYgR20zFypxSZlSbrttOKVPEMb0HSUx9Wj8VvNC
|
||||||
|
r+mT4E9wAyq7NTIs5ad2cUhXoyenrjcfGqK6k9R6yRHDbvAxCSWTnJjw7mzsajDN
|
||||||
|
ocXC6THKVW8BSjrh0aOBLpht6d5QCO2vyWxw65FKM65GOsbX03ZngUPMuOuiOEHQ
|
||||||
|
Zo97VSH2pSB+L+B3d9B0nw3QnU8qZMne+nVWYLYRXhCIxSv1/h39SXzHRgJoRUFH
|
||||||
|
vL2aiiVrn88NjqfDW15HFhVJcGOFuACZnRA0/EqTq0qNo3GziQO4mxuZi3bTVL5s
|
||||||
|
GABiYW9uIlokPqcS7Fa0FRVIU9R+bBdHZompcYnKAeGag+uRvuTqC3MMRcLUS9Oi
|
||||||
|
/P9I8fPARXUPwzYN3fagCGB8ffYVqMunnFs0L6td08BgvWwer+Buu4fPGsQ5OzMc
|
||||||
|
lgZ0TJmXyOlIW49lc1UXnORp4sm7HS6okA7P6URbqyGbaplSsNUVTgVbi+vc8/jY
|
||||||
|
dfExt/3HxVqgrPlq9htqYgwhYvGIbBAxmeFQD8Ak/ShSiWb1FdQ+f7Lty+4mZLfN
|
||||||
|
8x4zPZ//7fD5d/PETPh9P0msF+lLFlP564+1j75wx+skFO4v1gGlBcDaeipkFzeo
|
||||||
|
zndAgpegydKSNTF4QK9iTYobTIwsYfGuS8rV21zE2saLM0CE3T90aHYB/wARAQAB
|
||||||
|
tD1DYW5vbmljYWwgQ2xvdWQgQXJjaGl2ZSBTaWduaW5nIEtleSA8ZnRwbWFzdGVy
|
||||||
|
QGNhbm9uaWNhbC5jb20+iQI3BBMBCAAhBQJQKkpYAhsDBQsJCAcDBRUKCQgLBRYC
|
||||||
|
AwEAAh4BAheAAAoJEF7bG2LsSSbqKxkQAIKtgImrk02YCDldg6tLt3b69ZK0kIVI
|
||||||
|
3Xso/zCBZbrYFmgGQEFHAa58mIgpv5GcgHHxWjpX3n4tu2RM9EneKvFjFBstTTgo
|
||||||
|
yuCgFr7iblvs/aMW4jFJAiIbmjjXWVc0CVB/JlLqzBJ/MlHdR9OWmojN9ZzoIA+i
|
||||||
|
+tWlypgUot8iIxkR6JENxit5v9dN8i6anmnWybQ6PXFMuNi6GzQ0JgZIVs37n0ks
|
||||||
|
2wh0N8hBjAKuUgqu4MPMwvNtz8FxEzyKwLNSMnjLAhzml/oje/Nj1GBB8roj5dmw
|
||||||
|
7PSul5pAqQ5KTaXzl6gJN5vMEZzO4tEoGtRpA0/GTSXIlcx/SGkUK5+lqdQIMdyS
|
||||||
|
n8bImU6V6rDSoOaI9YWHZtpv5WeUsNTdf68jZsFCRD+2+NEmIqBVm11yhmUoasC6
|
||||||
|
dYw5l9P/PBdwmFm6NBUSEwxb+ROfpL1ICaZk9Jy++6akxhY//+cYEPLin02r43Z3
|
||||||
|
o5Piqujrs1R2Hs7kX84gL5SlBzTM4Ed+ob7KVtQHTefpbO35bQllkPNqfBsC8AIC
|
||||||
|
8xvTP2S8FicYOPATEuiRWs7Kn31TWC2iwswRKEKVRmN0fdpu/UPdMikyoNu9szBZ
|
||||||
|
RxvkRAezh3WheJ6MW6Fmg9d+uTFJohZt5qHdpxYa4beuN4me8LF0TYzgfEbFT6b9
|
||||||
|
D6IyTFoT0LequQINBFAqSlgBEADmL3TEq5ejBYrA+64zo8FYvCF4gziPa5rCIJGZ
|
||||||
|
/gZXQ7pm5zek/lOe9C80mhxNWeLmrWMkMOWKCeaDMFpMBOQhZZmRdakOnH/xxO5x
|
||||||
|
+fRdOOhy+5GTRJiwkuGOV6rB9eYJ3UN9caP2hfipCMpJjlg3j/GwktjhuqcBHXhA
|
||||||
|
HMhzxEOIDE5hmpDqZ051f8LGXld9aSL8RctoYFM8sgafPVmICTCq0Wh03dr5c2JA
|
||||||
|
gEXy3ushYm/8i2WFmyldo7vbtTfx3DpmJc/EMpGKV+GxcI3/ERqSkde0kWlmfPZb
|
||||||
|
o/5+hRqSryqfQtRKnFEQgAqAhPIwXwOkjCpPnDNfrkvzVEtl2/BWP/1/SOqzXjk9
|
||||||
|
TIb1Q7MHANeFMrTCprzPLX6IdC4zLp+LpV91W2zygQJzPgWqH/Z/WFH4gXcBBqmI
|
||||||
|
8bFpMPONYc9/67AWUABo2VOCojgtQmjxuFn+uGNw9PvxJAF3yjl781PVLUw3n66d
|
||||||
|
wHRmYj4hqxNDLywhhnL/CC7KUDtBnUU/CKn/0Xgm9oz3thuxG6i3F3pQgpp7MeMn
|
||||||
|
tKhLFWRXo9Bie8z/c0NV4K5HcpbGa8QPqoDseB5WaO4yGIBOt+nizM4DLrI+v07y
|
||||||
|
Xe3Jm7zBSpYSrGarZGK68qamS3XPzMshPdoXXz33bkQrTPpivGYQVRZuzd/R6b+6
|
||||||
|
IurV+QARAQABiQIfBBgBCAAJBQJQKkpYAhsMAAoJEF7bG2LsSSbq59EP/1U3815/
|
||||||
|
yHV3cf/JeHgh6WS/Oy2kRHp/kJt3ev/l/qIxfMIpyM3u/D6siORPTUXHPm3AaZrb
|
||||||
|
w0EDWByA3jHQEzlLIbsDGZgrnl+mxFuHwC1yEuW3xrzgjtGZCJureZ/BD6xfRuRc
|
||||||
|
mvnetAZv/z98VN/oj3rvYhUi71NApqSvMExpNBGrdO6gQlI5azhOu8xGNy4OSke8
|
||||||
|
J6pAsMUXIcEwjVEIvewJuqBW/3rj3Hh14tmWjQ7shNnYBuSJwbLeUW2e8bURnfXE
|
||||||
|
TxrCmXzDmQldD5GQWCcD5WDosk/HVHBmHlqrqy0VO2nE3c73dQlNcI4jVWeC4b4Q
|
||||||
|
SpYVsFz/6Iqy5ZQkCOpQ57MCf0B6P5nF92c5f3TYPMxHf0x3DrjDbUVZytxDiZZa
|
||||||
|
XsbZzsejbbc1bSNp4hb+IWhmWoFnq/hNHXzKPHBTapObnQju+9zUlQngV0BlPT62
|
||||||
|
hOHOw3Pv7suOuzzfuOO7qpz0uAy8cFKe7kBtLSFVjBwaG5JX89mgttYW+lw9Rmsb
|
||||||
|
p9Iw4KKFHIBLOwk7s+u0LUhP3d8neBI6NfkOYKZZCm3CuvkiOeQP9/2okFjtj+29
|
||||||
|
jEL+9KQwrGNFEVNe85Un5MJfYIjgyqX3nJcwypYxidntnhMhr2VD3HL2R/4CiswB
|
||||||
|
Oa4g9309p/+af/HU1smBrOfIeRoxb8jQoHu3
|
||||||
|
=xg4S
|
||||||
|
-----END PGP PUBLIC KEY BLOCK-----
|
@ -0,0 +1,7 @@
|
|||||||
|
Name: ubuntu-cloud-archive
|
||||||
|
Method: http://ubuntu-cloud.archive.canonical.com/ubuntu
|
||||||
|
Components: main
|
||||||
|
UDebComponents: main
|
||||||
|
Architectures: amd64
|
||||||
|
GetInRelease: no
|
||||||
|
VerifyRelease: EC4926EA
|
@ -106,6 +106,17 @@ class openstack_project::mirror (
|
|||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Create the symlink to Ubuntu Cloud Archive.
|
||||||
|
file { "${www_root}/ubuntu-cloud-archive":
|
||||||
|
ensure => link,
|
||||||
|
target => "${mirror_root}/ubuntu-cloud-archive",
|
||||||
|
owner => root,
|
||||||
|
group => root,
|
||||||
|
require => [
|
||||||
|
File["${www_root}"],
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
file { "${www_root}/robots.txt":
|
file { "${www_root}/robots.txt":
|
||||||
ensure => present,
|
ensure => present,
|
||||||
owner => 'root',
|
owner => 'root',
|
||||||
|
@ -253,4 +253,36 @@ class openstack_project::mirror_update (
|
|||||||
File['/etc/epel.keytab'],
|
File['/etc/epel.keytab'],
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
### Ubuntu Cloud Archive Mirror ###
|
||||||
|
::openstack_project::reprepro { 'ubuntu-cloud-archive-reprepro-mirror':
|
||||||
|
confdir => '/etc/reprepro/ubuntu-cloud-archive',
|
||||||
|
basedir => '/afs/.openstack.org/mirror/ubuntu-cloud-archive',
|
||||||
|
distributions => 'openstack_project/reprepro/distributions.ubuntu-cloud-archive.erb',
|
||||||
|
updates_file => 'puppet:///modules/openstack_project/reprepro/ubuntu-cloud-archive-updates',
|
||||||
|
releases => { 'trusty'=>['liberty', 'mitaka'], 'xenial'=>['newton'] },
|
||||||
|
}
|
||||||
|
|
||||||
|
cron { 'reprepro ubuntu-cloud-archive':
|
||||||
|
user => $user,
|
||||||
|
hour => '*/2',
|
||||||
|
minute => '0',
|
||||||
|
command => 'flock -n /var/run/reprepro/ubuntu-cloud-archive.lock reprepro-mirror-update /etc/reprepro/ubuntu-cloud-archive mirror.ubuntu-cloud >>/var/log/reprepro/ubuntu-cloud-archive-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-cloud-archive-reprepro-mirror'],
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
gnupg_key { 'Canonical Cloud Archive Signing Key':
|
||||||
|
ensure => present,
|
||||||
|
# 391A 9AA2 1471 9283 9E9D B031 5EDB 1B62 EC49 26EA
|
||||||
|
key_id => '5EDB1B62EC4926EA',
|
||||||
|
user => 'root',
|
||||||
|
key_type => 'public',
|
||||||
|
key_source => 'puppet:///modules/openstack_project/reprepro/ubuntu-cloud-archive-gpg-key.asc',
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -0,0 +1,14 @@
|
|||||||
|
<% releases.each do |distro_codename, openstack_codenames| -%>
|
||||||
|
<% openstack_codenames.each do |openstack_codename| -%>
|
||||||
|
Origin: Canonical
|
||||||
|
Codename: <%= distro_codename %>-updates/<%= openstack_codename %>
|
||||||
|
Description: OpenStack <%= openstack_codename.capitalize %> Archive for Ubuntu <%= distro_codename.capitalize %>
|
||||||
|
Architectures: amd64
|
||||||
|
Components: main
|
||||||
|
UDebComponents: main
|
||||||
|
Contents: .gz
|
||||||
|
Update: <%= distro_codename %>-updates
|
||||||
|
Log: <%= @logdir %>/ubuntu-cloud-archive-<%= distro_codename %>.log
|
||||||
|
|
||||||
|
<% end -%>
|
||||||
|
<% end -%>
|
Loading…
Reference in New Issue
Block a user