~andrewjbeach/juju-ci-tools/make-local-patcher

« back to all changes in this revision

Viewing changes to maas/add-virtual-maas-nodes.bash

  • Committer: Aaron Bentley
  • Date: 2014-02-24 17:18:29 UTC
  • mto: This revision was merged to the branch mainline in revision 252.
  • Revision ID: aaron.bentley@canonical.com-20140224171829-sz644yhoygu7m9dm
Use tags to identify and shut down instances.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#!/bin/bash -x
2
 
 
3
 
add_count=24
4
 
base_name='maas-node'
5
 
base_node_num=1
6
 
maas_login_key='vmaas'
7
 
power_address='qemu+ssh://jenkins@10.0.200.1/system'
8
 
pool_path='/images/maaspool1'
9
 
 
10
 
[[ -d $HOME/juju-ci-tools/maas ]] || { echo "\$HOME/juju-ci-tools/maas is required."; exit 1; }
11
 
# Add the first node
12
 
sudo qemu-img create -f qcow2 ${pool_path}/${base_name}-1.1.qcow2 40G
13
 
sudo qemu-img create -f qcow2 ${pool_path}/${base_name}-1.2.qcow2 40G
14
 
virsh define $HOME/juju-ci-tools/maas/maas-node-1.xml
15
 
 
16
 
## Clone additional nodes
17
 
next_num=${base_node_num}
18
 
last_num=$((next_num + add_count))
19
 
next_num=$((base_node_num + 1))
20
 
while (($next_num <= $last_num)); do
21
 
    virt-clone -o ${base_name}-${base_node_num} -n ${base_name}-${next_num} -f ${pool_path}/${base_name}-${next_num}.1.qcow2 -f ${pool_path}/${base_name}-${next_num}.2.qcow2
22
 
    mac_to_add=$(virsh dumpxml ${base_name}-${next_num} |grep "mac address" | head -2 | tail -1 | awk -F\' '{print $2}')
23
 
    maas ${maas_login_key} nodes new architecture="amd64/generic" mac_addresses="${mac_to_add}" hostname="${base_name}-${next_num}" power_type="virsh" power_parameters_power_address="${power_address}" power_parameters_power_id="${base_name}-${next_num}" autodetect_nodegroup=1
24
 
    next_num=$((next_num+1))
25
 
 
26
 
done
27
 
 
28
 
# Add the original node, which could not be running while cloning.
29
 
mac_to_add=$(virsh dumpxml ${base_name}-${base_node_num} |grep "mac address" | head -2 | tail -1 | awk -F\' '{print $2}')
30
 
maas ${maas_login_key} nodes new architecture="amd64/generic" mac_addresses="${mac_to_add}" hostname="${base_name}-${base_node_num}" power_type="virsh" power_parameters_power_address="${power_address}" power_parameters_power_id="${base_name}-${base_node_num}" autodetect_nodegroup=1
31
 
 
32
 
# Add some nodes centos can use.
33
 
base_name='maas-node-first-NIC'
34
 
add_count=4
35
 
next_num=${base_node_num}
36
 
last_num=$((next_num + add_count))
37
 
next_num=$((base_node_num + 1))
38
 
 
39
 
# Add the first node
40
 
sudo qemu-img create -f qcow2 ${pool_path}/${base_name}-1.1.qcow2 40G
41
 
sudo qemu-img create -f qcow2 ${pool_path}/${base_name}-1.2.qcow2 40G
42
 
virsh define $HOME/juju-ci-tools/maas/maas-node-first-NIC-1.xml
43
 
 
44
 
maas ${maas_login_key} tags new name=MAAS_NIC_1 comment="MAAS managed through NIC 1."
45
 
 
46
 
while (($next_num <= $last_num)); do
47
 
    virt-clone -o ${base_name}-${base_node_num} -n ${base_name}-${next_num} -f ${pool_path}/${base_name}-${next_num}.1.qcow2 -f ${pool_path}/${base_name}-${next_num}.2.qcow2
48
 
    mac_to_add=$(virsh dumpxml ${base_name}-${next_num} |grep "mac address" | head -2 | tail -1 | awk -F\' '{print $2}')
49
 
    maas ${maas_login_key} nodes new architecture="amd64/generic" mac_addresses="${mac_to_add}" hostname="${base_name}-${next_num}" power_type="virsh" power_parameters_power_address="${power_address}" power_parameters_power_id="${base_name}-${next_num}" autodetect_nodegroup=1
50
 
    system_id=$(maas ${maas_login_key} nodes list mac_address="${mac_to_add}" | grep system_id | awk '{print $2}'| tr -d \")
51
 
    maas ${maas_login_key} tag update-nodes MAAS_NIC_1 add="$system_id"
52
 
    next_num=$((next_num+1))
53
 
done
54
 
 
55
 
# Add the original node, which could not be running while cloning.
56
 
mac_to_add=$(virsh dumpxml ${base_name}-${base_node_num} |grep "mac address" | head -2 | tail -1 | awk -F\' '{print $2}')
57
 
maas ${maas_login_key} nodes new architecture="amd64/generic" mac_addresses="${mac_to_add}" hostname="${base_name}-${base_node_num}" power_type="virsh" power_parameters_power_address="${power_address}" power_parameters_power_id="${base_name}-${base_node_num}" autodetect_nodegroup=1
58