Dmitriy Rabotyagov e69e25dc5d Add Ceph Quincy mirror
Right now latest ceph release is Quincy. In order to test it in CI and
not fetch packages via external network, it's proposed to add relevant
mirror. At the moment OpenStack-Ansible and Loki does use these mirrors.

Change-Id: Icb836b9046571c5f824a3b57dafca05d37f94372
2022-09-27 20:33:33 +00:00

168 lines
3.3 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
- centos-stream
- ceph-deb-nautilus
- ceph-deb-octopus
- ceph-deb-quincy
- deb-docker
- debian
- debian-security
- debian-openstack
- epel
- fedora
- logs
- openeuler
- 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: Install wheel_header.html
copy:
src: wheel_header.html
dest: '{{ www_base }}'
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: Copy apache tuning
copy:
src: apache-connection-tuning
dest: /etc/apache2/conf-enabled/connection-tuning.conf
owner: root
group: root
mode: 0644
notify: restart apache2
- name: Create mirror virtual host
template:
src: mirror.vhost.j2
dest: /etc/apache2/sites-available/mirror.conf
notify:
- reload apache2
- 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
# 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 60000M > /dev/null
minute: '0'
hour: '*'