1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
|
OpenStack: Minimally Viable Test System
Usage:
<script> [config file] [start|stop|restart]
This test harness creates a virtual network and the specified virtual
domains enabling the user to create a test system for openstack.
Arguments:
config file: this configuration file specifies the test system
to create, see below for details
start|stop|restart:
start - starts specifies test system
stop - stops specifies test system
restart - reboots specifies test system
Note: On some systems, there may be issues with restart, to workaround, use start with
auto_destroy enabled.
Virtual Network
---------------
This test harness creates a virtual network (ops_default) using the
network specified in the configuration file.
e.g.
[main]
network: 192.168.122.1
The script tries to create the virtual network using virbr0, but if this is
in use, then it will retry at virbr1, virbr2, .... etc until it finds one or
it gives up after a number of attempts.
Virtual Domains
---------------
The script then creates a controller using the specified kernel and disk image
e.g.
[controller]
kernel: /root/images/bzImage
disk: /root/images/controller.ext3
The script then creates compute nodes by using a section header starting with
the string "compute" along with kernel(s)/disk image(s).
e.g.
[compute0]
kernel: /root/images/bzImage
disk: /root/images/compute1.ext3
[compute1]
kernel: /root/images/bzImage
disk: /root/images/compute2.ext3
IP address assignments
----------------------
There is an auto_assign_ip variable under the section main.
ie
[main]
auto_assign_ip: False
This value, if True, causes the kernel to be pass ip=dhcp in the kernel's
boot parameters.
If the value is False, the each controller and compute section will be
required to have a value defined for ip.
ie.
[compute0]
kernel: /root/images/bzImage
disk: /root/images/compute1.ext3
ip: 192.168.122.10
Other
-----
The configuration file also specifies the emulator to be used
for the domains:
e.g.
[main]
emulator: /usr/bin/qemu-system-x86_64
The configuration file also specifies an auto_destroy option
e.g.
[main]
auto_destroy: True
If auto_destroy is enabled (True), if the required controller/compute nodes
are running, then the script will automatically destroy the running domains.
Otherwise, if disabled (False), then the script will display a message that the
domain is active and exit. (auto_destroy is only used when starting systems)
Example configuration file
--------------------------
[main]
network: 192.168.122.1
emulator: /usr/bin/qemu-system-x86_64
auto_destroy: True
auto_assign_ip: True
[controller]
kernel: /root/images/bzImage
disk: /root/images/controller.ext3
[compute0]
kernel: /root/images/bzImage
disk: /root/images/compute1.ext3
[compute1]
kernel: /root/images/bzImage
disk: /root/images/compute2.ext3
-------------------------------------------------
|