ansible/playbooks/groups/copr-pulp.yml

136 lines
3.5 KiB
YAML

- name: check/create instance
hosts: copr_pulp_dev_aws:copr_pulp_aws
gather_facts: False
vars_files:
- /srv/web/infra/ansible/vars/global.yml
- "/srv/private/ansible/vars.yml"
handlers:
- import_tasks: "{{ handlers_path }}/restart_services.yml"
tasks:
# - import_tasks: "{{ tasks_path }}/persistent_cloud.yml"
# when: datacenter != 'aws'
- import_tasks: "{{ tasks_path }}/aws_cloud.yml"
when: datacenter == 'aws'
# TODO Remove in favor of base/tasks/main.yml
- name: install platform-python
package: name={{ item }} state=present
with_items:
- platform-python
become: true
# TODO Remove in favor of base/tasks/main.yml
- name: symlink /usr/bin/python to /usr/bin/python3
alternatives:
name: python
link: /usr/bin/python
path: /usr/bin/python3
become: true
# TODO Move this to base/tasks/main.yml
- name: install iptables-services
package: name=iptables-services state=present
become: true
# TODO Postfix should have probably been installed by base/tasks/main.yml
# but it wasn't for this instance
- name: install postfix
package: name=postfix state=present
become: true
- name: Temporarily dump keys so we can add them to bitwarden
copy:
content: "{{ copr_dev_pulp_default_admin_password }}"
dest: /tmp/pulp_default_admin_password
mode: 000
- name: cloud basic setup
hosts: copr_pulp_dev_aws:copr_pulp_aws
become: true
gather_facts: True
vars_files:
- /srv/web/infra/ansible/vars/global.yml
- "/srv/private/ansible/vars.yml"
pre_tasks:
- import_tasks: "{{ tasks_path }}/yumrepos.yml"
tasks:
- import_tasks: "{{ tasks_path }}/cloud_setup_basic.yml"
- name: set hostname (required by some services, at least postfix need it)
hostname: name="{{copr_hostbase}}.cloud.fedoraproject.org"
when: datacenter != "aws"
- name: provision instance
hosts: copr_pulp_dev_aws:copr_pulp_aws
become: true
gather_facts: True
vars_files:
- /srv/web/infra/ansible/vars/global.yml
- "/srv/private/ansible/vars.yml"
- /srv/web/infra/ansible/vars/{{ ansible_distribution }}.yml
roles:
- base
- nagios_client
- copr/copr-devel-server
- copr/pulp
- name: Use pulp_installer collection
hosts: copr_pulp_dev_aws:copr_pulp_aws
become: true
gather_facts: True
collections:
- pulp.pulp_installer
roles:
- pulp_all_services
environment:
DJANGO_SETTINGS_MODULE: pulpcore.app.settings
vars_files:
- /srv/web/infra/ansible/vars/global.yml
- "/srv/private/ansible/vars.yml"
- /srv/web/infra/ansible/vars/{{ ansible_distribution }}.yml
vars:
pulp_settings:
# Production key is `copr_pulp_secret_key`
secret_key: "{{ copr_dev_pulp_secret_key }}"
content_origin: "https://{{ ansible_fqdn }}"
# Production key is `copr_pulp_default_admin_password`
pulp_default_admin_password: "{{ copr_dev_pulp_default_admin_password }}"
pulp_workers: 1
# pulp_configure_firewall: none
pulp_install_plugins:
# galaxy-ng:
# pulp-2to3-migration:
# pulp-ansible:
# pulp-certguard:
# pulp-container:
# pulp-cookbook:
# pulp-deb:
# pulp-file:
# pulp-gem:
# pulp-maven:
# pulp-npm:
# pulp-python:
pulp-rpm:
# We have some issue with
# ModuleNotFoundError: No module named 'selinux'
# and installing `python3-libselinux` or `selinux` inside of
# `source /usr/local/lib/pulp/bin/activate` doesn't help
pulp_install_selinux_policies: false