diff --git a/inventory/group_vars/taskotron-stg-clients b/inventory/group_vars/taskotron-stg-clients new file mode 100644 index 0000000000..02a7237b7c --- /dev/null +++ b/inventory/group_vars/taskotron-stg-clients @@ -0,0 +1,20 @@ +--- +lvm_size: 20000 +slave_user: buildslave +taskotron_fas_user: taskotron +resultsdb_server: http://resultsdb-stg01.qa.fedoraproject.org/resultsdb/api/v1.0/ +bodhi_server: http://127.0.0.1/fakefedorainfra/bodhi/ +kojihub_url: http://koji.fedoraproject.org/kojihub +taskotron_master: http://taskotron.stg.fedoraproject.org/taskmaster/ +deployment_type: dev +slave_home: /home/buildslave/ +slave_dir: /home/buildslave/slave +slave_user: buildslave +buildmaster: 127.0.0.1 +buildslave_port: 9989 +tcp_ports: [ "{{ buildslave_port }}" ] +buildslave_private_sshkey_file: stg-buildslave-sshkey/stg_buildslave +buildslave_public_sshkey_file: stg-buildslave-sshkey/stg_buildslave.pub +taskotron_admin_email: taskotron-admin-members@fedoraproject.org +sudoers: "{{ private }}/files/sudo/qavirt-sudoers" +buildmaster_pubkey: "" diff --git a/inventory/host_vars/taskotron-client11.qa.fedoraproject.org b/inventory/host_vars/taskotron-client11.qa.fedoraproject.org new file mode 100644 index 0000000000..5c1d165b69 --- /dev/null +++ b/inventory/host_vars/taskotron-client11.qa.fedoraproject.org @@ -0,0 +1,14 @@ +--- +nm: 255.255.255.0 +gw: 10.5.124.254 +dns: 10.5.126.21 +ks_url: http://10.5.126.23/repo/rhel/ks/kvm-fedora-20 +ks_repo: http://10.5.126.23/pub/fedora/linux/releases/20/Fedora/x86_64/os/ +volgroup: /dev/vmstore +eth0_ip: 10.5.124.169 +vmhost: qa04.qa.fedoraproject.org +datacenter: phx2 + +short_hostname: taskotron-client11.qa +buildslave_name: taskotron-client11 +fas_client_groups: sysadmin-qa,sysadmin-main diff --git a/inventory/host_vars/taskotron-client12.qa.fedoraproject.org b/inventory/host_vars/taskotron-client12.qa.fedoraproject.org new file mode 100644 index 0000000000..b51d5d4a2e --- /dev/null +++ b/inventory/host_vars/taskotron-client12.qa.fedoraproject.org @@ -0,0 +1,15 @@ +--- +nm: 255.255.255.0 +gw: 10.5.124.254 +dns: 10.5.126.21 +ks_url: http://10.5.126.23/repo/rhel/ks/kvm-fedora-20 +ks_repo: http://10.5.126.23/pub/fedora/linux/releases/20/Fedora/i386/os/ +volgroup: /dev/vmstore +eth0_ip: 10.5.124.170 +vmhost: qa04.qa.fedoraproject.org +datacenter: phx2 +libdir: /usr/lib + +short_hostname: taskotron-client12.qa +buildslave_name: taskotron-client12 +fas_client_groups: sysadmin-qa,sysadmin-main diff --git a/inventory/host_vars/taskotron-client13.qa.fedoraproject.org b/inventory/host_vars/taskotron-client13.qa.fedoraproject.org new file mode 100644 index 0000000000..1de19bad19 --- /dev/null +++ b/inventory/host_vars/taskotron-client13.qa.fedoraproject.org @@ -0,0 +1,14 @@ +--- +nm: 255.255.255.0 +gw: 10.5.124.254 +dns: 10.5.126.21 +ks_url: http://10.5.126.23/repo/rhel/ks/kvm-fedora-20 +ks_repo: http://10.5.126.23/pub/fedora/linux/releases/20/Fedora/x86_64/os/ +volgroup: /dev/vmstore +eth0_ip: 10.5.124.192 +vmhost: qa04.qa.fedoraproject.org +datacenter: phx2 + +short_hostname: taskotron-client13.qa +buildslave_name: taskotron-client13 +fas_client_groups: sysadmin-qa,sysadmin-main diff --git a/inventory/host_vars/taskotron-client14.qa.fedoraproject.org b/inventory/host_vars/taskotron-client14.qa.fedoraproject.org new file mode 100644 index 0000000000..942a2908cc --- /dev/null +++ b/inventory/host_vars/taskotron-client14.qa.fedoraproject.org @@ -0,0 +1,15 @@ +--- +nm: 255.255.255.0 +gw: 10.5.124.254 +dns: 10.5.126.21 +ks_url: http://10.5.126.23/repo/rhel/ks/kvm-fedora-20 +ks_repo: http://10.5.126.23/pub/fedora/linux/releases/20/Fedora/i386/os/ +volgroup: /dev/vmstore +eth0_ip: 10.5.124.193 +vmhost: qa04.qa.fedoraproject.org +datacenter: phx2 +libdir: /usr/lib + +short_hostname: taskotron-client13.qa +buildslave_name: taskotron-client13 +fas_client_groups: sysadmin-qa,sysadmin-main diff --git a/inventory/host_vars/taskotron-client19.qa.fedoraproject.org b/inventory/host_vars/taskotron-client19.qa.fedoraproject.org new file mode 100644 index 0000000000..e60596aaa3 --- /dev/null +++ b/inventory/host_vars/taskotron-client19.qa.fedoraproject.org @@ -0,0 +1,15 @@ +--- +nm: 255.255.255.0 +gw: 10.5.124.254 +dns: 10.5.126.21 +ks_url: http://10.5.126.23/repo/rhel/ks/kvm-fedora-20 +ks_repo: http://10.5.126.23/pub/fedora/linux/releases/20/Fedora/i386/os/ +volgroup: /dev/vmstore +eth0_ip: 10.5.124.198 +vmhost: qa05.qa.fedoraproject.org +datacenter: phx2 +libdir: /usr/lib + +short_hostname: taskotron-client19.qa +buildslave_name: taskotron-client19 +fas_client_groups: sysadmin-qa,sysadmin-main diff --git a/inventory/host_vars/taskotron-client20.qa.fedoraproject.org b/inventory/host_vars/taskotron-client20.qa.fedoraproject.org new file mode 100644 index 0000000000..cc506b210b --- /dev/null +++ b/inventory/host_vars/taskotron-client20.qa.fedoraproject.org @@ -0,0 +1,14 @@ +--- +nm: 255.255.255.0 +gw: 10.5.124.254 +dns: 10.5.126.21 +ks_url: http://10.5.126.23/repo/rhel/ks/kvm-fedora-20 +ks_repo: http://10.5.126.23/pub/fedora/linux/releases/20/Fedora/x86_64/os/ +volgroup: /dev/vmstore +eth0_ip: 10.5.124.199 +vmhost: qa05.qa.fedoraproject.org +datacenter: phx2 + +short_hostname: taskotron-client20.qa +buildslave_name: taskotron-client20 +fas_client_groups: sysadmin-qa,sysadmin-main diff --git a/inventory/host_vars/taskotron-client21.qa.fedoraproject.org b/inventory/host_vars/taskotron-client21.qa.fedoraproject.org new file mode 100644 index 0000000000..e381b3d5cc --- /dev/null +++ b/inventory/host_vars/taskotron-client21.qa.fedoraproject.org @@ -0,0 +1,14 @@ +--- +nm: 255.255.255.0 +gw: 10.5.124.254 +dns: 10.5.126.21 +ks_url: http://10.5.126.23/repo/rhel/ks/kvm-fedora-20 +ks_repo: http://10.5.126.23/pub/fedora/linux/releases/20/Fedora/x86_64/os/ +volgroup: /dev/vmstore +eth0_ip: 10.5.124.200 +vmhost: qa05.qa.fedoraproject.org +datacenter: phx2 + +short_hostname: taskotron-client21.qa +buildslave_name: taskotron-client21 +fas_client_groups: sysadmin-qa,sysadmin-main diff --git a/inventory/inventory b/inventory/inventory index 951016c360..cba468dabd 100644 --- a/inventory/inventory +++ b/inventory/inventory @@ -498,6 +498,15 @@ virt27.qa.fedoraproject.org virt28.qa.fedoraproject.org virt29.qa.fedoraproject.org +[taskotron-stg-clients] +taskotron-client11.qa.fedoraproject.org +taskotron-client12.qa.fedoraproject.org +taskotron-client13.qa.fedoraproject.org +taskotron-client14.qa.fedoraproject.org +taskotron-client19.qa.fedoraproject.org +taskotron-client20.qa.fedoraproject.org +taskotron-client21.qa.fedoraproject.org + [monitor] monitor.qa.fedoraproject.org diff --git a/master.yml b/master.yml index b9166734ba..ecbe73a996 100644 --- a/master.yml +++ b/master.yml @@ -57,6 +57,7 @@ - include: /srv/web/infra/ansible/playbooks/groups/tagger.yml - include: /srv/web/infra/ansible/playbooks/groups/taskotron-dev.yml - include: /srv/web/infra/ansible/playbooks/groups/taskotron-dev-clients.yml +- include: /srv/web/infra/ansible/playbooks/groups/taskotron-stg-clients.yml - include: /srv/web/infra/ansible/playbooks/groups/taskotron.yml - include: /srv/web/infra/ansible/playbooks/groups/unbound.yml - include: /srv/web/infra/ansible/playbooks/groups/value.yml diff --git a/playbooks/groups/taskotron-stg-clients.yml b/playbooks/groups/taskotron-stg-clients.yml new file mode 100644 index 0000000000..054316ac84 --- /dev/null +++ b/playbooks/groups/taskotron-stg-clients.yml @@ -0,0 +1,68 @@ +--- +# create taskotron stg clients +# NOTE: make sure there is room/space for this server on the vmhost +# NOTE: most of these vars_path come from group_vars/mirrorlist or from hostvars + +- name: make taskotron-stg clients + hosts: taskotron-stg-clients + user: root + gather_facts: False + accelerate: "{{ accelerated }}" + + vars_files: + - /srv/web/infra/ansible/vars/global.yml + - "{{ private }}/vars.yml" + - /srv/web/infra/ansible/vars/{{ ansible_distribution }}.yml + + tasks: + - include: "{{ tasks }}/virt_instance_create.yml" + + handlers: + - include: "{{ handlers }}/restart_services.yml" + +- name: make the box be real + hosts: taskotron-stg-clients + user: root + gather_facts: True + accelerate: "{{ accelerated }}" + + vars_files: + - /srv/web/infra/ansible/vars/global.yml + - "{{ private }}/vars.yml" + - /srv/web/infra/ansible/vars/{{ ansible_distribution }}.yml + + roles: + - { role: base, tags:['base'] } + - { role: rkhunter, tags:['rkhunter'] } + - { role: nagios_client, tags:['nagios_client'] } + - hosts + - { role: fas_client, tags:['fas_client'] } + - { role: collectd/base, tags:['collectd_base'] } + - { role: yum-cron, tags:['yumcron'] } + - { role: sudo, tags:['sudo'] } + + tasks: + # this is how you include other task lists + - include: "{{ tasks }}/yumrepos.yml" + - include: "{{ tasks }}/2fa_client.yml" + - include: "{{ tasks }}/motd.yml" + + handlers: + - include: "{{ handlers }}/restart_services.yml" + +- name: configure taskotron clients + hosts: taskotron-stg-clients + user: root + gather_facts: True + accelerate: "{{ accelerated }}" + + vars_files: + - /srv/web/infra/ansible/vars/global.yml + - "{{ private }}/vars.yml" + - /srv/web/infra/ansible/vars/{{ ansible_distribution }}.yml + + roles: + - { role: taskotron/buildslave, tags: ['buildslave'] } + - { role: taskotron/taskotron-client, tags: ['taskotronclient'] } + - { role: taskotron/buildslave-configure, tags: ['buildslaveconfigure'] } +