Files
fedora-infra_ansible/roles/copr/backend/tasks/setup_provisioning_environment.yml
2025-10-16 20:19:53 +02:00

129 lines
3.8 KiB
YAML

---
- name: Default copr_builder_fedora_version
set_fact:
copr_builder_fedora_version: 0
when:
- copr_builder_fedora_version is not defined
tags:
- always
# Warning: this file is included also from copr-hv playbook(s), so keep the
# source file arguments absolute (not relative to this role)
- name: rsync copr provisioning files
ansible.posix.synchronize:
src: "{{ roles_path }}/copr/backend/files/provision/"
dest: "{{ provision_directory }}/"
rsync_opts:
- "--chown={{ provision_user }}:{{ provision_user }}"
- "--no-perms"
tags:
- provision_config
- name: "Sync copr provisioning files [remove mock config leftovers]"
ansible.posix.synchronize:
src: "{{ roles_path }}/copr/backend/files/provision/files/mock/"
dest: "{{ provision_directory }}/files/mock/"
delete: yes
rsync_opts:
- "--chown={{ provision_user }}:{{ provision_user }}"
- "--no-perms"
tags:
- provision_config
- name: "fix perms for copr provisioning files ({{ provision_directory }})"
ansible.builtin.file:
path: "{{ provision_directory }}/"
owner: "{{ provision_user }}"
group: "{{ provision_user }}"
mode: 'g-rwx,o-rwx'
state: directory
recurse: yes
tags:
- provision_config
- name: Resalloc, generate vars.yml file
ansible.builtin.template:
src: "{{ roles_path }}/copr/backend/templates/provision/{{ item }}"
dest: "{{ provision_directory }}/{{ item | replace('.j2', '') }}"
mode: "0600"
owner: "{{ provision_user }}"
group: "{{ provision_user }}"
with_items:
- vars.yml.j2
tags:
- provision_config
- name: Templated provision scripts
ansible.builtin.template:
src: "{{ roles_path }}/copr/backend/templates/provision/{{ item }}.j2"
dest: "/usr/local/bin/{{ item }}"
mode: "0755"
with_items:
- copr-upload-builder-images
tags:
- provision_config
when:
# newly install on backend only
- cloud_vars is defined
- provision_directory == "/var/lib/resallocserver/provision"
- name: Templated provision scripts
ansible.builtin.template:
src: "{{ roles_path }}/copr/backend/templates/provision/{{ item }}"
dest: "{{ provision_directory }}/{{ item }}"
mode: "0700"
owner: "{{ provision_user }}"
group: "{{ provision_user }}"
with_items:
- libvirt-new
tags:
- provision_config
when:
- cloud_vars is defined and cloud_vars
- name: Generate cloud-oriented vars files
ansible.builtin.template:
src: "{{ roles_path }}/copr/backend/templates/provision/{{ item }}"
dest: "{{ provision_directory }}/{{ item | replace('.j2', '') }}"
mode: "0600"
owner: "{{ provision_user }}"
group: "{{ provision_user }}"
with_items:
- aws_cloud_vars.yml.j2
tags:
- provision_config
when:
- cloud_vars is defined and cloud_vars
- name: Put copr-rpmbuild configuration file into the provision subdir
ansible.builtin.template:
src: "{{ roles_path }}/copr/backend/templates/provision/copr-rpmbuild/main.ini.j2"
dest: "{{ provision_directory }}/files/main.ini"
mode: "0600"
owner: "{{ provision_user }}"
group: "{{ provision_user }}"
tags:
- provision_config
- copr_rpmbuild_main_ini
when: "'copr_hypervisor' not in group_names"
- name: Put rpkg configuration file into the provision subdir
ansible.builtin.template:
src: "{{ roles_path }}/copr/backend/templates/provision/rpkg.conf.j2"
dest: "{{ provision_directory }}/files/rpkg.conf"
mode: "0600"
owner: "{{ provision_user }}"
group: "{{ provision_user }}"
tags:
- provision_config
- name: Install the Oregon State University OpenStack token file on BE/HV
ansible.builtin.template:
src: "{{ roles_path }}/copr/backend/templates/provision/rc-osuosl.sh.j2"
dest: "{{ provision_directory }}/.rc-osuosl.sh"
owner: "{{ provision_user }}"
group: "{{ provision_user }}"
mode: "0600"
tags:
- provision_config