Add beaker01 to ansible
This commit is contained in:
parent
ec3cadb1af
commit
c89c9de1ac
7 changed files with 154 additions and 0 deletions
4
inventory/group_vars/arm-packager
Normal file
4
inventory/group_vars/arm-packager
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
---
|
||||||
|
fas_client_groups: packager
|
||||||
|
freezes: false
|
||||||
|
sudoers: $private/files/sudo/arm-packager
|
12
inventory/group_vars/beaker
Normal file
12
inventory/group_vars/beaker
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
---
|
||||||
|
# common items for the releng-* boxes
|
||||||
|
lvm_size: 50000
|
||||||
|
mem_size: 4096
|
||||||
|
num_cpus: 2
|
||||||
|
# for systems that do not match the above - specify the same parameter in
|
||||||
|
# the host_vars/$hostname file
|
||||||
|
|
||||||
|
tcp_ports: [ 80, 443 ]
|
||||||
|
fas_client_groups: sysadmin-qa
|
||||||
|
nrpe_procs_warn: 250
|
||||||
|
nrpe_procs_crit: 300
|
10
inventory/host_vars/beaker01.qa.fedoraproject.org
Normal file
10
inventory/host_vars/beaker01.qa.fedoraproject.org
Normal 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-rhel-6
|
||||||
|
ks_repo: http://10.5.126.23/repo/rhel/RHEL6-x86_64/
|
||||||
|
volgroup: /dev/Guests00
|
||||||
|
eth0_ip: 10.5.124.228
|
||||||
|
vmhost: virthost-comm01.qa.fedoraproject.org
|
||||||
|
datacenter: phx2
|
|
@ -4,6 +4,9 @@
|
||||||
[bkernel]
|
[bkernel]
|
||||||
[buildvmhost]
|
[buildvmhost]
|
||||||
|
|
||||||
|
[beaker]
|
||||||
|
beaker01.qa.fedoraproject.org
|
||||||
|
|
||||||
[arm-packager]
|
[arm-packager]
|
||||||
arm03-packager01.arm.fedoraproject.org
|
arm03-packager01.arm.fedoraproject.org
|
||||||
arm03-packager02.arm.fedoraproject.org
|
arm03-packager02.arm.fedoraproject.org
|
||||||
|
|
27
playbooks/groups/arm-packager.yml
Normal file
27
playbooks/groups/arm-packager.yml
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
|
||||||
|
- name: Setup arm-packager hosts
|
||||||
|
hosts: arm-packager
|
||||||
|
user: root
|
||||||
|
gather_facts: True
|
||||||
|
tags:
|
||||||
|
- arm-packager
|
||||||
|
|
||||||
|
vars_files:
|
||||||
|
- /srv/web/infra/ansible/vars/global.yml
|
||||||
|
- ${private}/vars.yml
|
||||||
|
- ${vars}/${ansible_distribution}.yml
|
||||||
|
|
||||||
|
tasks:
|
||||||
|
# this is how you include other task lists
|
||||||
|
- include: $tasks/hosts.yml
|
||||||
|
- include: $tasks/yumrepos.yml
|
||||||
|
- include: $tasks/base.yml
|
||||||
|
- include: $tasks/fas_client.yml
|
||||||
|
- include: $tasks/2fa_client.yml
|
||||||
|
- include: $tasks/motd.yml
|
||||||
|
- include: $tasks/sudo.yml
|
||||||
|
- include: $tasks/rkhunter.yml
|
||||||
|
- include: $tasks/denyhosts.yml
|
||||||
|
|
||||||
|
handlers:
|
||||||
|
- include: $handlers/restart_services.yml
|
46
playbooks/groups/beaker.yml
Normal file
46
playbooks/groups/beaker.yml
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
# create a new beaker server
|
||||||
|
# NOTE: make sure there is room/space for this server on the vmhost
|
||||||
|
# NOTE: most of these vars come from group_vars/mirrorlist or from hostvars
|
||||||
|
|
||||||
|
- name: make beaker server
|
||||||
|
hosts: beaker
|
||||||
|
user: root
|
||||||
|
gather_facts: False
|
||||||
|
|
||||||
|
vars_files:
|
||||||
|
- /srv/web/infra/ansible/vars/global.yml
|
||||||
|
- ${private}/vars.yml
|
||||||
|
- ${vars}/${ansible_distribution}.yml
|
||||||
|
|
||||||
|
tasks:
|
||||||
|
- include: $tasks/virt_instance_create.yml
|
||||||
|
|
||||||
|
handlers:
|
||||||
|
- include: $handlers/restart_services.yml
|
||||||
|
|
||||||
|
- name: make the box be real
|
||||||
|
hosts: beaker
|
||||||
|
user: root
|
||||||
|
gather_facts: True
|
||||||
|
|
||||||
|
vars_files:
|
||||||
|
- /srv/web/infra/ansible/vars/global.yml
|
||||||
|
- ${private}/vars.yml
|
||||||
|
- ${vars}/${ansible_distribution}.yml
|
||||||
|
|
||||||
|
tasks:
|
||||||
|
# this is how you include other task lists
|
||||||
|
- include: $tasks/hosts.yml
|
||||||
|
- include: $tasks/yumrepos.yml
|
||||||
|
- include: $tasks/base.yml
|
||||||
|
- include: $tasks/fas_client.yml
|
||||||
|
- include: $tasks/2fa_client.yml
|
||||||
|
- include: $tasks/collectd/client.yml
|
||||||
|
- include: $tasks/motd.yml
|
||||||
|
- include: $tasks/sudo.yml
|
||||||
|
- include: $tasks/rkhunter.yml
|
||||||
|
- include: $tasks/denyhosts.yml
|
||||||
|
- include: $tasks/nagios_client.yml
|
||||||
|
|
||||||
|
handlers:
|
||||||
|
- include: $handlers/restart_services.yml
|
52
playbooks/vhost_halt_guests.yml
Normal file
52
playbooks/vhost_halt_guests.yml
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
# requires --extra-vars="vhost=somevhost fqdn"
|
||||||
|
|
||||||
|
#General overview:
|
||||||
|
# talk to the vhost
|
||||||
|
# get back list of instances
|
||||||
|
# add each of their hostnames to an addhoc group
|
||||||
|
# halt each of them in a second play
|
||||||
|
# wait for them to die
|
||||||
|
# third play, reboot the vhost
|
||||||
|
# wait for vhost to come back
|
||||||
|
|
||||||
|
# TO BE DONE - should be fixable w/ansible 0.9
|
||||||
|
# wait for all of the instances to return(?)
|
||||||
|
# compare the first list to the second for state info
|
||||||
|
# how to do this:
|
||||||
|
# capture output of action: virt command=info before halting guests
|
||||||
|
# compare to same command after vhost comes back
|
||||||
|
# ansible 0.9 should allow us to preserve content of two registered variables
|
||||||
|
# across multiple plays
|
||||||
|
|
||||||
|
|
||||||
|
- name: find instances
|
||||||
|
hosts: $vhost
|
||||||
|
user: root
|
||||||
|
|
||||||
|
tasks:
|
||||||
|
- name: get list of guests
|
||||||
|
action: virt command=list_vms
|
||||||
|
register: vmlist
|
||||||
|
|
||||||
|
- name: add them to myvms_new group
|
||||||
|
local_action: add_host hostname=$item groupname=myvms_new
|
||||||
|
with_items: ${vmlist.list_vms}
|
||||||
|
|
||||||
|
|
||||||
|
- name: halt instances
|
||||||
|
hosts: myvms_new
|
||||||
|
user: root
|
||||||
|
serial: 1
|
||||||
|
|
||||||
|
tasks:
|
||||||
|
- name: tell nagios to shush
|
||||||
|
action: nagios action=silence host=${inventory_hostname_short}
|
||||||
|
delegate_to: noc01.phx2.fedoraproject.org
|
||||||
|
|
||||||
|
- name: echo-y
|
||||||
|
action: command /sbin/halt -p
|
||||||
|
ignore_errors: true
|
||||||
|
# if one of them is down we don't care
|
||||||
|
|
||||||
|
- name: wait for them to die
|
||||||
|
local_action: wait_for port=22 delay=30 timeout=300 state=stopped host=${inventory_hostname}
|
Loading…
Add table
Add a link
Reference in a new issue