- Support both GCP and local deployments seamlessly via env parameter - Configure WireGuard VPN playbooks and templates for builder nodes - Implement repository classification map split syncing on repository server - Add CentOS Stream 10 support for Koji/Mock buildroot initialization - Update all documentation files in Mexican Spanish Co-developed-by: Gemini AI <renich+gemini@woralelandia.com> Signed-off-by: Rénich Bon Ćirić <renich@woralelandia.com>
84 lines
2.4 KiB
YAML
84 lines
2.4 KiB
YAML
---
|
|
- name: Reset Koji Environment
|
|
hosts: kojidb,kojihub,kojibuilders
|
|
vars_files:
|
|
- vars/default.yaml
|
|
- vars/credentials.yaml
|
|
vars_prompt:
|
|
- name: confirm_reset
|
|
prompt: "Are you sure you want to reset the Koji environment? This will delete all data. Type 'YES' to confirm."
|
|
private: false
|
|
|
|
tasks:
|
|
- name: "Check confirmation"
|
|
ansible.builtin.fail:
|
|
msg: "Reset operation cancelled."
|
|
when: confirm_reset != 'YES'
|
|
|
|
- name: Stop Koji Hub and Kojira services
|
|
ansible.builtin.service:
|
|
name: "{{ item }}"
|
|
state: stopped
|
|
loop:
|
|
- httpd
|
|
- kojira
|
|
failed_when: false
|
|
|
|
- name: Stop and disable kojid service
|
|
ansible.builtin.service:
|
|
name: kojid
|
|
state: stopped
|
|
enabled: false
|
|
when: "'kojibuilders' in group_names"
|
|
failed_when: false
|
|
|
|
- name: Terminate all active connections to Koji database
|
|
community.postgresql.postgresql_query:
|
|
query: "SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname = '{{ koji_db_name }}';"
|
|
login_db: postgres
|
|
become: true
|
|
become_user: postgres
|
|
when: "'kojidb' in group_names"
|
|
|
|
- name: Drop Koji database
|
|
community.postgresql.postgresql_db:
|
|
name: "{{ koji_db_name }}"
|
|
state: absent
|
|
become: true
|
|
become_user: postgres
|
|
when: "'kojidb' in group_names"
|
|
|
|
- name: Drop Koji database user
|
|
community.postgresql.postgresql_user:
|
|
name: "{{ koji_db_user }}"
|
|
state: absent
|
|
become: true
|
|
become_user: postgres
|
|
when: "'kojidb' in group_names"
|
|
|
|
- name: Create Koji database user
|
|
community.postgresql.postgresql_user:
|
|
name: "{{ koji_db_user }}"
|
|
password: "{{ koji_db_password }}"
|
|
become: true
|
|
become_user: postgres
|
|
when: "'kojidb' in group_names"
|
|
|
|
- name: Create Koji database
|
|
community.postgresql.postgresql_db:
|
|
name: "{{ koji_db_name }}"
|
|
owner: "{{ koji_db_user }}"
|
|
become: true
|
|
become_user: postgres
|
|
when: "'kojidb' in group_names"
|
|
|
|
- name: Clean up old Koji build data
|
|
ansible.builtin.command: find {{ koji_top_dir }} -mindepth 2 -delete
|
|
changed_when: true
|
|
when: "'kojihub' in group_names"
|
|
|
|
- name: Remove kojid work directory
|
|
ansible.builtin.file:
|
|
path: "{{ kojid_work_dir }}"
|
|
state: absent
|
|
when: "'kojibuilders' in group_names"
|