From 596c0a7b0ec4fb9bec64fcda5a005d3f195772d0 Mon Sep 17 00:00:00 2001 From: Tim Flink Date: Mon, 7 Jul 2014 19:00:59 +0000 Subject: [PATCH] adding taskotron-stg group for stg taskotron master --- inventory/group_vars/taskotron-stg | 31 ++++++++ .../taskotron-stg01.qa.fedoraproject.org | 33 ++++++++ playbooks/groups/taskotron-stg.yml | 75 +++++++++++++++++++ 3 files changed, 139 insertions(+) create mode 100644 inventory/group_vars/taskotron-stg create mode 100644 playbooks/groups/taskotron-stg.yml diff --git a/inventory/group_vars/taskotron-stg b/inventory/group_vars/taskotron-stg new file mode 100644 index 0000000000..518d819427 --- /dev/null +++ b/inventory/group_vars/taskotron-stg @@ -0,0 +1,31 @@ +--- +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: stg_buildmaster +buildmaster_template: taskotron.master.cfg.j2 +buildmaster_endpoint: taskmaster +buildslave_ssh_pubkey: 'ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAm+ClC0VWMBbRvTAzI+1H9jCnlB0xU+8jOKzemq9AdGThysaMPJA1OHSfcLPFvkOUTEj+xLrL3RN+z/XLozJAonTgh0uJmsTKwM/o5v5vxwY5oFENVYfGAEdDrDBFua0zGPHikV7mWTocmiIyYP2BMnNL9ugBTQZex5HQ4BVj6nFySE3ChQxvKTCv7TzJc3OiZuEng6eGN3SWa6kbmBe7eX+Nurw/suF2IwB7if/oTg2P+92zluLCjv0ERiU/ROmiqjUUHmD31dMnA01fqh+I5EMjHc8GOCC9D9CkoKPhbcQRyg4UTw5FGLVu3fqqHm16XQa7Nenwl0n9t+n8qz8Gdw== buildslave@taskotron-stg01.qa.fedoraproject.org' +buildslave_port: 9989 +cgit_root_title: "Taskotron Stg Server Git Mirror" +buildmaster_dir: /home/buildmaster/master +buildslave_dir: /home/buildslave/slave +master_dir: /home/buildmaster/master +master_user: buildmaster +external_hostname: taskotron.stg.fedoraproject.org +resultsdb_url: http://resultsdb-stg01.qa.fedoraproject.org/resultsdb/api/v1.0 +resultsdb_frontend_url: http://resultsdb-stg01.qa.fedoraproject.org/ +resultsdb_external_url: https://taskotron.stg.fedoraproject.org/resultsdb/ +resultsdb_endpoint: resultsdb +landingpage_title: "Taskotron Staging" +deployment_type: dev +tcp_ports: [ 80, 443, "{{ buildslave_port }}" ] +fakefedorainfra_db_host: db-qa01.qa.fedoraproject.org +fakefedorainfra_db_name: stg_fakefedorainfra +fakefedorainfra_endpoint: fakefedorainfra +fakefedorainfra_url: https://taskotron.stg.fedoraproject.org/fakefedorainfra diff --git a/inventory/host_vars/taskotron-stg01.qa.fedoraproject.org b/inventory/host_vars/taskotron-stg01.qa.fedoraproject.org index fed05759b1..9ca8c57b39 100644 --- a/inventory/host_vars/taskotron-stg01.qa.fedoraproject.org +++ b/inventory/host_vars/taskotron-stg01.qa.fedoraproject.org @@ -8,3 +8,36 @@ volgroup: /dev/Guests00 eth0_ip: 10.5.124.230 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.stg.fedoraproject.org +fake_fedorainfra_endpoint: fakefedorainfra +buildmaster: 10.5.124.230 + +buildslaves: + - virt11 + - virt12 + - virt13 + - virt14 + - virt19 + - virt20 + - virt21 +i386_buildslaves: + - virt12 + - virt14 + - virt19 +x86_64_buildslaves: + - virt11 + - virt13 + - virt20 + - virt21 diff --git a/playbooks/groups/taskotron-stg.yml b/playbooks/groups/taskotron-stg.yml new file mode 100644 index 0000000000..b1e82dcb1a --- /dev/null +++ b/playbooks/groups/taskotron-stg.yml @@ -0,0 +1,75 @@ +--- +# create a new taskotron dev 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 staging + hosts: taskotron-dev + 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-dev + 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-dev + 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"