adding the rest of the things for taskotron-prod and resultsdb-prod

This commit is contained in:
Tim Flink 2014-07-08 17:49:09 +00:00
parent 86f587fdae
commit 1b0b262e47
6 changed files with 239 additions and 0 deletions

View file

@ -0,0 +1,29 @@
---
# common items for the releng-* boxes
lvm_size: 50000
mem_size: 4096
num_cpus: 4
# for systems that do not match the above - specify the same parameter in
# the host_vars/$hostname file
tcp_ports: [ 80, 443, "{{ resultsdb_db_port }}" ]
fas_client_groups: sysadmin-qa
nrpe_procs_warn: 250
nrpe_procs_crit: 300
virt_install_command: /usr/sbin/virt-install -n {{ inventory_hostname }} -r {{ mem_size }}
--disk bus=virtio,path={{ volgroup }}/{{ inventory_hostname }}
--vcpus={{ num_cpus }} -l {{ ks_repo }} -x
"ksdevice=eth0 ks={{ ks_url }} console=tty0 console=ttyS0
hostname={{ inventory_hostname }} nameserver={{ dns }}
ip={{ eth0_ip }}::{{ gw }}:{{ nm }}:{{ inventory_hostname }}:eth0:none"
--network=bridge=br0,model=virtio --autostart --noautoconsole
deployment_type: prod
resultsdb_db_host: db-qa01.qa.fedoraproject.org
resultsdb_db_port: 5432
resultsdb_endpoint: '/resultsdb_api'
resultsdb_fe_endpoint: '/resultsdb'
resultsdb_db_name: resultsdb
allowed_hosts:
- 10.5.124

View file

@ -0,0 +1,27 @@
---
grokmirror_basedir: /var/lib/git/mirror
grokmirror_user: grokmirror
grokmirror_repos:
- { name: fedoraqa/rpmlint, url: 'https://bitbucket.org/fedoraqa/task-rpmlint.git'}
- { name: fedoraqa/depcheck, url: 'https://bitbucket.org/fedoraqa/task-depcheck.git'}
- { name: fedoraqa/upgradepath, url: 'https://bitbucket.org/fedoraqa/task-upgradepath.git'}
settings_dir: /etc/taskotron
buildmaster_db_host: db-qa01.qa.fedoraproject.org
buildmaster_db_name: buildmaster
buildmaster_template: taskotron.master.cfg.j2
buildmaster_endpoint: taskmaster
buildslave_ssh_pubkey: ''
buildslave_port: 9989
cgit_root_title: "Taskotron Git Mirror"
buildmaster_dir: /home/buildmaster/master
buildslave_dir: /home/buildslave/slave
master_dir: /home/buildmaster/master
master_user: buildmaster
external_hostname: taskotron.fedoraproject.org
resultsdb_url: http://resultsdb01.qa.fedoraproject.org/resultsdb/api/v1.0
resultsdb_frontend_url: http://resultsdb01.qa.fedoraproject.org/
resultsdb_external_url: https://taskotron.fedoraproject.org/resultsdb/
resultsdb_endpoint: resultsdb
landingpage_title: "Taskotron"
deployment_type: prod
tcp_ports: [ 80, 443, "{{ buildslave_port }}" ]

View file

@ -0,0 +1,10 @@
---
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/VirtGuests
eth0_ip: 10.5.124.207
vmhost: virthost-comm02.qa.fedoraproject.org
datacenter: phx2

View file

@ -0,0 +1,43 @@
---
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/Guests00
eth0_ip: 10.5.124.206
vmhost: virthost-comm01.qa.fedoraproject.org
datacenter: phx2
fas_client_groups: sysadmin-qa,sysadmin-main
# default virt install command is for a single nic-device
# define in another group file for more nics (see buildvm)
virt_install_command: /usr/sbin/virt-install -n {{ inventory_hostname }} -r {{ mem_size }}
--disk bus=virtio,path={{ volgroup }}/{{ inventory_hostname }}
--vcpus={{ num_cpus }} -l {{ ks_repo }} -x
"ks={{ ks_url }} ip={{ eth0_ip }} netmask={{ nm }}
gateway={{ gw }} dns={{ dns }} console=tty0 console=ttyS0
hostname={{ inventory_hostname }}"
--network=bridge=br0 --autostart --noautoconsole
public_hostname: taskotron.fedoraproject.org
fake_fedorainfra_endpoint: fakefedorainfra
buildmaster: 10.5.124.206
buildslaves:
- taskotron-client11
- taskotron-client12
- taskotron-client13
- taskotron-client14
- taskotron-client19
- taskotron-client20
- taskotron-client21
i386_buildslaves:
- taskotron-client12
- taskotron-client14
- taskotron-client19
x86_64_buildslaves:
- taskotron-client11
- taskotron-client13
- taskotron-client20
- taskotron-client21

View file

@ -0,0 +1,55 @@
---
# create a new resultsdb production server
# 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 resultsdb production
hosts: resultsdb-prod
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: resultsdb-prod
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'] }
- { role: taskotron/resultsdb-backend, tags: ['resultsdb-be'] }
- { role: taskotron/resultsdb-frontend, tags: ['resultsdb-fe'] }
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"

View file

@ -0,0 +1,75 @@
---
# create a new taskotron production server
# 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 production
hosts: taskotron-prod
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-prod
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"
- include: "{{ tasks }}/apache.yml"
handlers:
- include: "{{ handlers }}/restart_services.yml"
- name: configure taskotron master
hosts: taskotron-prod
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/grokmirror, tags: ['grokmirror'] }
# - { role: taskotron/cgit, tags: ['cgit'] }
- { role: taskotron/buildmaster, tags: ['buildmaster'] }
- { role: taskotron/buildmaster-configure, tags: ['buildmasterconfig'] }
- { role: taskotron/taskotron-trigger, tags: ['trigger'] }
- { role: taskotron/taskotron-frontend, tags: ['frontend'] }
- { role: taskotron/fake_fedorainfra, tags: ['fakefedorainfra'] }
handlers:
- include: "{{ handlers }}/restart_services.yml"