
This used to be mirrored, however there were issues when upstream dropped the PC1 repositories a few months back. The puppet openstack jobs are still trying to leverage this mirror but it does not exist in some regions because it was disabled on the afs content. This change fixes the reprepo configuration to still pull down puppet5/6 for xenial and strech and add the symlink back to the mirrors. Change-Id: I71ad5afe086a503d75a365543ad8869e35ef873b
155 lines
3.1 KiB
YAML
155 lines
3.1 KiB
YAML
- name: Check AFS mounted
|
|
stat:
|
|
path: "/afs/openstack.org/mirror"
|
|
register: afs_mirror
|
|
- name: Sanity check AFS
|
|
assert:
|
|
that:
|
|
- afs_mirror.stat.exists
|
|
|
|
- name: Install apache2
|
|
apt:
|
|
name:
|
|
- apache2
|
|
- apache2-utils
|
|
state: present
|
|
|
|
- name: Rewrite module
|
|
apache2_module:
|
|
state: present
|
|
name: rewrite
|
|
|
|
- name: Substitute module
|
|
apache2_module:
|
|
state: present
|
|
name: substitute
|
|
|
|
- name: Cache module
|
|
apache2_module:
|
|
state: present
|
|
name: cache
|
|
|
|
- name: Cache disk module
|
|
apache2_module:
|
|
state: present
|
|
name: cache_disk
|
|
|
|
- name: Proxy module
|
|
apache2_module:
|
|
state: present
|
|
name: proxy
|
|
|
|
- name: HTTP Proxy module
|
|
apache2_module:
|
|
state: present
|
|
name: proxy_http
|
|
|
|
- name: Apache macro module
|
|
apache2_module:
|
|
state: present
|
|
name: macro
|
|
|
|
- name: Apache 2 ssl module
|
|
apache2_module:
|
|
state: present
|
|
name: ssl
|
|
|
|
- name: Apache webroot
|
|
file:
|
|
path: '{{ www_base }}'
|
|
state: directory
|
|
owner: root
|
|
group: root
|
|
|
|
- name: Apache www root
|
|
file:
|
|
path: '{{ www_root }}'
|
|
state: directory
|
|
owner: root
|
|
group: root
|
|
|
|
- name: AFS content symlinks
|
|
file:
|
|
src: '{{ mirror_root }}/{{ item }}'
|
|
dest: '{{ www_root }}/{{ item }}'
|
|
state: link
|
|
owner: root
|
|
group: root
|
|
follow: false
|
|
with_items:
|
|
- apt-puppetlabs
|
|
- centos
|
|
- ceph-deb-hammer
|
|
- ceph-deb-jewel
|
|
- ceph-deb-luminous
|
|
- ceph-deb-mimic
|
|
- deb-docker
|
|
- debian
|
|
- debian-security
|
|
- debian-openstack
|
|
- epel
|
|
- fedora
|
|
- opensuse
|
|
- ubuntu
|
|
- ubuntu-ports
|
|
- ubuntu-cloud-archive
|
|
- wheel
|
|
- yum-puppetlabs
|
|
|
|
- name: Install robots.txt
|
|
copy:
|
|
src: robots.txt
|
|
dest: '{{ www_root }}'
|
|
owner: root
|
|
group: root
|
|
mode: 0444
|
|
|
|
- name: Apache proxy cache
|
|
file:
|
|
path: /var/cache/apache2/proxy
|
|
owner: www-data
|
|
group: www-data
|
|
mode: 0755
|
|
state: directory
|
|
|
|
- name: Set mirror servername and alias
|
|
set_fact:
|
|
apache_server_name: '{{ inventory_hostname }}'
|
|
# Strip the numeric host value (like mirror01.region.provider.o.o
|
|
# becomes mirror.region...) for the serveralias
|
|
apache_server_alias: '{{ inventory_hostname | regex_replace("^mirror\d\d\.", "mirror.") }}'
|
|
|
|
- name: Create mirror virtual host
|
|
template:
|
|
src: mirror.vhost.j2
|
|
dest: /etc/apache2/sites-available/mirror.conf
|
|
|
|
- name: Make sure default site disabled
|
|
command: a2dissite 000-default.conf
|
|
args:
|
|
removes: /etc/apache2/sites-enabled/000-default.conf
|
|
|
|
- name: Enable mirror virtual host
|
|
command: a2ensite mirror
|
|
args:
|
|
creates: /etc/apache2/sites-enabled/mirror.conf
|
|
notify:
|
|
- restart apache2
|
|
|
|
- name: Debug config
|
|
slurp:
|
|
src: /etc/apache2/sites-available/mirror.conf
|
|
register: http_config
|
|
- name: Show config
|
|
debug:
|
|
msg: '{{ http_config["content"] | b64decode }}'
|
|
|
|
# Clean apache cache once an hour, keep size down to 70GiB.
|
|
- name: Proxy cleanup cron job
|
|
cron:
|
|
name: Apache cache cleanup
|
|
state: present
|
|
job: /usr/bin/flock -n /var/run/htcacheclean.lock /usr/bin/htcacheclean -n -p /var/cache/apache2/proxy -t -l 70200M > /dev/null
|
|
minute: '0'
|
|
hour: '*'
|