- import_playbook: "/srv/web/infra/ansible/playbooks/include/virt-create.yml" vars: myhosts: "odcs:odcs_stg" - name: make the box be real hosts: odcs:odcs_stg user: root 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 pre_tasks: - import_tasks: "{{ tasks_path }}/yumrepos.yml" roles: - base - rkhunter - nagios_client - zabbix/zabbix_agent - hosts - ipa/client - rsyncd - sudo - collectd/base tasks: - import_tasks: "{{ tasks_path }}/motd.yml" handlers: - import_tasks: "{{ handlers_path }}/restart_services.yml" - name: Set up odcs frontend service hosts: odcs_frontend:odcs_frontend_stg user: root gather_facts: True vars_files: - /srv/web/infra/ansible/vars/global.yml - "/srv/private/ansible/vars.yml" - "{{ vars_path }}/{{ ansible_distribution }}.yml" roles: # openvpn on the prod frontend nodes - {role: openvpn/client, when: env != "staging"} - role: rabbit/user username: "odcs{{ env_suffix }}" sent_topics: ^org\.fedoraproject\.{{ env_short }}\.odcs\..* - mod_wsgi - role: nfs/client mnt_dir: '/mnt/fedora_koji' nfs_src_dir: 'fedora_koji' when: env != 'staging' - role: nfs/client mnt_dir: '/mnt/fedora_koji_prod' nfs_src_dir: 'fedora_koji' when: env == 'staging' - role: nfs/client mnt_dir: '/srv/odcs' nfs_src_dir: 'fedora_odcs_stg' nfs_mount_opts: "rw,hard,bg,intr,noatime,nodev,nosuid,nfsvers=3" when: env == 'staging' mount_stg: true - role: nfs/client mnt_dir: '/srv/odcs' nfs_src_dir: 'fedora_odcs' nfs_mount_opts: "rw,hard,bg,intr,noatime,nodev,nosuid,nfsvers=3" when: env != 'staging' - odcs/frontend handlers: - import_tasks: "{{ handlers_path }}/restart_services.yml" - name: Set up /mnt/koji on both the frontend and backend hosts: odcs:odcs_stg user: root 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: - role: nfs/client mnt_dir: '/mnt/fedora_koji' nfs_src_dir: 'fedora_koji' when: env != 'staging' # In staging, we mount fedora_koji as read only (see nfs_mount_opts) - role: nfs/client mnt_dir: '/mnt/fedora_koji_prod' nfs_src_dir: 'fedora_koji' when: env == 'staging' - role: nfs/client mnt_dir: '/srv/odcs' nfs_src_dir: 'fedora_odcs_stg' nfs_mount_opts: "rw,hard,bg,intr,noatime,nodev,nosuid,nfsvers=3" mount_stg: true when: env == 'staging' - role: nfs/client mnt_dir: '/srv/odcs' nfs_src_dir: 'fedora_odcs' nfs_mount_opts: "rw,hard,bg,intr,noatime,nodev,nosuid,nfsvers=3" when: env != 'staging' post_tasks: - file: src=/mnt/fedora_koji/koji dest=/mnt/koji state=link tags: nfs/client handlers: - import_tasks: "{{ handlers_path }}/restart_services.yml" - name: Set up odcs backend service hosts: odcs_backend:odcs_backend_stg user: root 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: - role: odcs/backend - role: keytab/service service: odcs owner_user: odcs owner_group: odcs handlers: - import_tasks: "{{ handlers_path }}/restart_services.yml" - name: Configure ODCS releng backends hosts: odcs_backend_releng user: root 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: - role: keytab/service service: odcs # - role: rabbit/queue #username: "fmc{{ env_suffix }}" #queue_name: "{{ fmc_queue_name }}" #routing_keys: "{{ fmc_routing_keys }}" #thresholds: # warning: 100 # critical: 1000 #sent_topics: ^org\.fedoraproject\.{{ env_short }}\.odcs\..* # - role: fmc handlers: - import_tasks: "{{ handlers_path }}/restart_services.yml"