Revision 60bf38e1
b/README | ||
---|---|---|
31 | 31 |
to |
32 | 32 |
ctype = self.request.META.get('CONTENT_TYPE', type_formencoded).split(";")[0] |
33 | 33 |
|
34 |
3)On Ubuntu 10.04 (tested by mgogoulos) you'll have to install zmq-static with: |
|
34 |
3) On Ubuntu 10.04 (tested by mgogoulos) you'll have to install zmq-static with:
|
|
35 | 35 |
sudo aptitude install uuid-dev |
36 | 36 |
./bin/pip install pyzmq-static |
37 | 37 |
|
38 |
4) Database initialization: [the following commands assume the DB is at "./database.sqlite"] |
|
39 |
recreate db, load db/fixtures/initial_data.json: |
|
40 |
|
|
41 |
$ rm database.sqlite |
|
42 |
$ bin/python manage.py syncdb |
|
43 |
|
|
44 |
load fixtures, as necessary [take a look under db/fixtures/]: |
|
45 |
$ bin/python manage.py loaddata db/fixtures/flavors.json |
|
46 |
$ bin/python manage.py loaddata db/fixtures/vms.json |
|
47 |
... |
b/db/fixtures/disks.json | ||
---|---|---|
1 |
[ |
|
2 |
{ |
|
3 |
"model": "db.Disk", |
|
4 |
"pk": 1, |
|
5 |
"fields": { |
|
6 |
"name": "My_Music", |
|
7 |
"created": "2011-02-10 00:00:00", |
|
8 |
"updated": "2011-02-10 00:00:00", |
|
9 |
"size" : "20", |
|
10 |
"vm" : "1001", |
|
11 |
"owner" : "1" |
|
12 |
} |
|
13 |
}, |
|
14 |
{ |
|
15 |
"model": "db.Disk", |
|
16 |
"pk": 2, |
|
17 |
"fields": { |
|
18 |
"name": "My_Videos", |
|
19 |
"created": "2011-02-10 00:00:00", |
|
20 |
"updated": "2011-02-10 00:00:00", |
|
21 |
"size" : "300", |
|
22 |
"vm" : "1001", |
|
23 |
"owner" : "1" |
|
24 |
} |
|
25 |
} |
|
26 |
] |
b/db/fixtures/flavors.json | ||
---|---|---|
1 |
[ |
|
2 |
{ |
|
3 |
"model": "db.Flavor", |
|
4 |
"pk": 1, |
|
5 |
"fields": { |
|
6 |
"cpu": 1, |
|
7 |
"ram": 1024, |
|
8 |
"disk": 20 |
|
9 |
} |
|
10 |
}, |
|
11 |
|
|
12 |
{ |
|
13 |
"model": "db.Flavor", |
|
14 |
"pk": 2, |
|
15 |
"fields": { |
|
16 |
"cpu": 1, |
|
17 |
"ram": 1024, |
|
18 |
"disk": 40 |
|
19 |
} |
|
20 |
}, |
|
21 |
|
|
22 |
{ |
|
23 |
"model": "db.Flavor", |
|
24 |
"pk": 3, |
|
25 |
"fields": { |
|
26 |
"cpu": 1, |
|
27 |
"ram": 1024, |
|
28 |
"disk": 80 |
|
29 |
} |
|
30 |
}, |
|
31 |
|
|
32 |
{ |
|
33 |
"model": "db.Flavor", |
|
34 |
"pk": 4, |
|
35 |
"fields": { |
|
36 |
"cpu": 1, |
|
37 |
"ram": 2048, |
|
38 |
"disk": 20 |
|
39 |
} |
|
40 |
}, |
|
41 |
|
|
42 |
{ |
|
43 |
"model": "db.Flavor", |
|
44 |
"pk": 5, |
|
45 |
"fields": { |
|
46 |
"cpu": 1, |
|
47 |
"ram": 2048, |
|
48 |
"disk": 40 |
|
49 |
} |
|
50 |
}, |
|
51 |
|
|
52 |
{ |
|
53 |
"model": "db.Flavor", |
|
54 |
"pk": 6, |
|
55 |
"fields": { |
|
56 |
"cpu": 1, |
|
57 |
"ram": 2048, |
|
58 |
"disk": 80 |
|
59 |
} |
|
60 |
}, |
|
61 |
|
|
62 |
{ |
|
63 |
"model": "db.Flavor", |
|
64 |
"pk": 7, |
|
65 |
"fields": { |
|
66 |
"cpu": 1, |
|
67 |
"ram": 4096, |
|
68 |
"disk": 20 |
|
69 |
} |
|
70 |
}, |
|
71 |
|
|
72 |
{ |
|
73 |
"model": "db.Flavor", |
|
74 |
"pk": 8, |
|
75 |
"fields": { |
|
76 |
"cpu": 1, |
|
77 |
"ram": 4096, |
|
78 |
"disk": 40 |
|
79 |
} |
|
80 |
}, |
|
81 |
|
|
82 |
{ |
|
83 |
"model": "db.Flavor", |
|
84 |
"pk": 9, |
|
85 |
"fields": { |
|
86 |
"cpu": 1, |
|
87 |
"ram": 4096, |
|
88 |
"disk": 80 |
|
89 |
} |
|
90 |
}, |
|
91 |
|
|
92 |
{ |
|
93 |
"model": "db.Flavor", |
|
94 |
"pk": 10, |
|
95 |
"fields": { |
|
96 |
"cpu": 2, |
|
97 |
"ram": 1024, |
|
98 |
"disk": 20 |
|
99 |
} |
|
100 |
}, |
|
101 |
|
|
102 |
{ |
|
103 |
"model": "db.Flavor", |
|
104 |
"pk": 11, |
|
105 |
"fields": { |
|
106 |
"cpu": 2, |
|
107 |
"ram": 1024, |
|
108 |
"disk": 40 |
|
109 |
} |
|
110 |
}, |
|
111 |
|
|
112 |
{ |
|
113 |
"model": "db.Flavor", |
|
114 |
"pk": 12, |
|
115 |
"fields": { |
|
116 |
"cpu": 2, |
|
117 |
"ram": 1024, |
|
118 |
"disk": 80 |
|
119 |
} |
|
120 |
}, |
|
121 |
|
|
122 |
{ |
|
123 |
"model": "db.Flavor", |
|
124 |
"pk": 13, |
|
125 |
"fields": { |
|
126 |
"cpu": 2, |
|
127 |
"ram": 2048, |
|
128 |
"disk": 20 |
|
129 |
} |
|
130 |
}, |
|
131 |
|
|
132 |
{ |
|
133 |
"model": "db.Flavor", |
|
134 |
"pk": 14, |
|
135 |
"fields": { |
|
136 |
"cpu": 2, |
|
137 |
"ram": 2048, |
|
138 |
"disk": 40 |
|
139 |
} |
|
140 |
}, |
|
141 |
|
|
142 |
{ |
|
143 |
"model": "db.Flavor", |
|
144 |
"pk": 15, |
|
145 |
"fields": { |
|
146 |
"cpu": 2, |
|
147 |
"ram": 2048, |
|
148 |
"disk": 80 |
|
149 |
} |
|
150 |
}, |
|
151 |
|
|
152 |
{ |
|
153 |
"model": "db.Flavor", |
|
154 |
"pk": 16, |
|
155 |
"fields": { |
|
156 |
"cpu": 2, |
|
157 |
"ram": 4096, |
|
158 |
"disk": 20 |
|
159 |
} |
|
160 |
}, |
|
161 |
|
|
162 |
{ |
|
163 |
"model": "db.Flavor", |
|
164 |
"pk": 17, |
|
165 |
"fields": { |
|
166 |
"cpu": 2, |
|
167 |
"ram": 4096, |
|
168 |
"disk": 40 |
|
169 |
} |
|
170 |
}, |
|
171 |
|
|
172 |
{ |
|
173 |
"model": "db.Flavor", |
|
174 |
"pk": 18, |
|
175 |
"fields": { |
|
176 |
"cpu": 2, |
|
177 |
"ram": 4096, |
|
178 |
"disk": 80 |
|
179 |
} |
|
180 |
}, |
|
181 |
|
|
182 |
{ |
|
183 |
"model": "db.Flavor", |
|
184 |
"pk": 19, |
|
185 |
"fields": { |
|
186 |
"cpu": 4, |
|
187 |
"ram": 1024, |
|
188 |
"disk": 20 |
|
189 |
} |
|
190 |
}, |
|
191 |
|
|
192 |
{ |
|
193 |
"model": "db.Flavor", |
|
194 |
"pk": 20, |
|
195 |
"fields": { |
|
196 |
"cpu": 4, |
|
197 |
"ram": 1024, |
|
198 |
"disk": 40 |
|
199 |
} |
|
200 |
}, |
|
201 |
|
|
202 |
{ |
|
203 |
"model": "db.Flavor", |
|
204 |
"pk": 21, |
|
205 |
"fields": { |
|
206 |
"cpu": 4, |
|
207 |
"ram": 1024, |
|
208 |
"disk": 80 |
|
209 |
} |
|
210 |
}, |
|
211 |
|
|
212 |
{ |
|
213 |
"model": "db.Flavor", |
|
214 |
"pk": 22, |
|
215 |
"fields": { |
|
216 |
"cpu": 4, |
|
217 |
"ram": 2048, |
|
218 |
"disk": 20 |
|
219 |
} |
|
220 |
}, |
|
221 |
|
|
222 |
{ |
|
223 |
"model": "db.Flavor", |
|
224 |
"pk": 23, |
|
225 |
"fields": { |
|
226 |
"cpu": 4, |
|
227 |
"ram": 2048, |
|
228 |
"disk": 40 |
|
229 |
} |
|
230 |
}, |
|
231 |
|
|
232 |
{ |
|
233 |
"model": "db.Flavor", |
|
234 |
"pk": 24, |
|
235 |
"fields": { |
|
236 |
"cpu": 4, |
|
237 |
"ram": 2048, |
|
238 |
"disk": 80 |
|
239 |
} |
|
240 |
}, |
|
241 |
|
|
242 |
{ |
|
243 |
"model": "db.Flavor", |
|
244 |
"pk": 25, |
|
245 |
"fields": { |
|
246 |
"cpu": 4, |
|
247 |
"ram": 4096, |
|
248 |
"disk": 20 |
|
249 |
} |
|
250 |
}, |
|
251 |
|
|
252 |
{ |
|
253 |
"model": "db.Flavor", |
|
254 |
"pk": 26, |
|
255 |
"fields": { |
|
256 |
"cpu": 4, |
|
257 |
"ram": 4096, |
|
258 |
"disk": 40 |
|
259 |
} |
|
260 |
}, |
|
261 |
|
|
262 |
{ |
|
263 |
"model": "db.Flavor", |
|
264 |
"pk": 27, |
|
265 |
"fields": { |
|
266 |
"cpu": 4, |
|
267 |
"ram": 4096, |
|
268 |
"disk": 80 |
|
269 |
} |
|
270 |
} |
|
271 |
] |
b/db/fixtures/images.json | ||
---|---|---|
1 |
[ |
|
2 |
{ |
|
3 |
"model": "db.Image", |
|
4 |
"pk": 1, |
|
5 |
"fields": { |
|
6 |
"name": "Debian Squeeze", |
|
7 |
"created": "2011-02-06 00:00:00", |
|
8 |
"updated": "2011-02-06 00:00:00", |
|
9 |
"state": "ACTIVE", |
|
10 |
"description": "Full Debian Squeeze Installation" |
|
11 |
} |
|
12 |
}, |
|
13 |
{ |
|
14 |
"model": "db.Image", |
|
15 |
"pk": 2, |
|
16 |
"fields": { |
|
17 |
"name": "Slackware 13.1", |
|
18 |
"created": "2011-02-10 00:00:00", |
|
19 |
"updated": "2011-02-10 00:00:00", |
|
20 |
"state": "ACTIVE", |
|
21 |
"description": "Full Slackware 13.1 Installation", |
|
22 |
"owner" : 1 |
|
23 |
} |
|
24 |
} |
|
25 |
] |
b/db/fixtures/initial_data.json | ||
---|---|---|
11 | 11 |
"user" : 1, |
12 | 12 |
"violations" : 0 |
13 | 13 |
} |
14 |
}, |
|
15 |
{ |
|
16 |
"model": "db.Flavor", |
|
17 |
"pk": 1, |
|
18 |
"fields": { |
|
19 |
"cpu": 1, |
|
20 |
"ram": 1024, |
|
21 |
"disk": 10 |
|
22 |
} |
|
23 |
}, |
|
24 |
{ |
|
25 |
"model": "db.Flavor", |
|
26 |
"pk": 2, |
|
27 |
"fields": { |
|
28 |
"cpu": 1, |
|
29 |
"ram": 1024, |
|
30 |
"disk": 10 |
|
31 |
} |
|
32 |
}, |
|
33 |
{ |
|
34 |
"model": "db.VirtualMachine", |
|
35 |
"pk": 1001, |
|
36 |
"fields": { |
|
37 |
"name": "snf-1001", |
|
38 |
"created": "2011-02-06 00:00:00", |
|
39 |
"updated": "2011-02-06 00:00:00", |
|
40 |
"charged": "2011-02-06 00:00:00", |
|
41 |
"sourceimage": 1, |
|
42 |
"hostid": "HAL-9000", |
|
43 |
"description": "database server", |
|
44 |
"ipfour": "192.168.2.1", |
|
45 |
"ipsix": "::1", |
|
46 |
"flavor": 1, |
|
47 |
"_operstate": "STOPPED" |
|
48 |
} |
|
49 |
}, |
|
50 |
{ |
|
51 |
"model": "db.VirtualMachine", |
|
52 |
"pk": 1002, |
|
53 |
"fields": { |
|
54 |
"name": "snf-1002", |
|
55 |
"created": "2011-02-10 00:00:00", |
|
56 |
"updated": "2011-02-10 00:00:00", |
|
57 |
"charged": "2011-02-10 00:00:00", |
|
58 |
"sourceimage": 1, |
|
59 |
"hostid": "HAL-9000", |
|
60 |
"description": "mail server", |
|
61 |
"ipfour": "192.168.2.2", |
|
62 |
"ipsix": "::2", |
|
63 |
"flavor": 1, |
|
64 |
"_operstate": "BUILD" |
|
65 |
} |
|
66 |
}, |
|
67 |
{ |
|
68 |
"model": "db.VirtualMachine", |
|
69 |
"pk": 1003, |
|
70 |
"fields": { |
|
71 |
"name": "snf-1003", |
|
72 |
"created": "2011-02-10 00:00:00", |
|
73 |
"updated": "2011-02-10 00:00:00", |
|
74 |
"charged": "2011-02-10 00:00:00", |
|
75 |
"sourceimage": 1, |
|
76 |
"hostid": "HAL-9000", |
|
77 |
"description": "my server", |
|
78 |
"ipfour": "192.168.2.3", |
|
79 |
"ipsix": "::3", |
|
80 |
"flavor": 1, |
|
81 |
"_operstate": "STARTED" |
|
82 |
} |
|
83 |
}, |
|
84 |
{ |
|
85 |
"model": "db.VirtualMachine", |
|
86 |
"pk": 1004, |
|
87 |
"fields": { |
|
88 |
"name": "snf-1004", |
|
89 |
"created": "2011-02-10 00:00:00", |
|
90 |
"updated": "2011-02-10 00:00:00", |
|
91 |
"charged": "2011-02-10 00:00:00", |
|
92 |
"sourceimage": 1, |
|
93 |
"hostid": "HAL-9000", |
|
94 |
"description": "my 2nd server", |
|
95 |
"ipfour": "192.168.2.4", |
|
96 |
"ipsix": "::4", |
|
97 |
"flavor": 1, |
|
98 |
"_operstate": "STARTED" |
|
99 |
} |
|
100 |
}, |
|
101 |
{ |
|
102 |
"model": "db.Image", |
|
103 |
"pk": 1, |
|
104 |
"fields": { |
|
105 |
"name": "Debian Squeeze", |
|
106 |
"created": "2011-02-06 00:00:00", |
|
107 |
"updated": "2011-02-06 00:00:00", |
|
108 |
"state": "ACTIVE", |
|
109 |
"description": "Full Debian Squeeze Installation" |
|
110 |
} |
|
111 |
}, |
|
112 |
{ |
|
113 |
"model": "db.Image", |
|
114 |
"pk": 2, |
|
115 |
"fields": { |
|
116 |
"name": "Slackware 13.1", |
|
117 |
"created": "2011-02-10 00:00:00", |
|
118 |
"updated": "2011-02-10 00:00:00", |
|
119 |
"state": "ACTIVE", |
|
120 |
"description": "Full Slackware 13.1 Installation", |
|
121 |
"owner" : 1 |
|
122 |
} |
|
123 |
}, |
|
124 |
{ |
|
125 |
"model": "db.Disk", |
|
126 |
"pk": 1, |
|
127 |
"fields": { |
|
128 |
"name": "My_Music", |
|
129 |
"created": "2011-02-10 00:00:00", |
|
130 |
"updated": "2011-02-10 00:00:00", |
|
131 |
"size" : "20", |
|
132 |
"vm" : "1001", |
|
133 |
"owner" : "1" |
|
134 |
} |
|
135 |
}, |
|
136 |
{ |
|
137 |
"model": "db.Disk", |
|
138 |
"pk": 2, |
|
139 |
"fields": { |
|
140 |
"name": "My_Videos", |
|
141 |
"created": "2011-02-10 00:00:00", |
|
142 |
"updated": "2011-02-10 00:00:00", |
|
143 |
"size" : "300", |
|
144 |
"vm" : "1001", |
|
145 |
"owner" : "1" |
|
146 |
} |
|
147 |
} |
|
14 |
} |
|
148 | 15 |
] |
b/db/fixtures/vms.json | ||
---|---|---|
1 |
[ |
|
2 |
{ |
|
3 |
"model": "db.VirtualMachine", |
|
4 |
"pk": 1001, |
|
5 |
"fields": { |
|
6 |
"name": "snf-1001", |
|
7 |
"created": "2011-02-06 00:00:00", |
|
8 |
"updated": "2011-02-06 00:00:00", |
|
9 |
"charged": "2011-02-06 00:00:00", |
|
10 |
"sourceimage": 1, |
|
11 |
"hostid": "HAL-9000", |
|
12 |
"description": "database server", |
|
13 |
"ipfour": "192.168.2.1", |
|
14 |
"ipsix": "::1", |
|
15 |
"flavor": 1, |
|
16 |
"_operstate": "STOPPED" |
|
17 |
} |
|
18 |
}, |
|
19 |
{ |
|
20 |
"model": "db.VirtualMachine", |
|
21 |
"pk": 1002, |
|
22 |
"fields": { |
|
23 |
"name": "snf-1002", |
|
24 |
"created": "2011-02-10 00:00:00", |
|
25 |
"updated": "2011-02-10 00:00:00", |
|
26 |
"charged": "2011-02-10 00:00:00", |
|
27 |
"sourceimage": 1, |
|
28 |
"hostid": "HAL-9000", |
|
29 |
"description": "mail server", |
|
30 |
"ipfour": "192.168.2.2", |
|
31 |
"ipsix": "::2", |
|
32 |
"flavor": 1, |
|
33 |
"_operstate": "BUILD" |
|
34 |
} |
|
35 |
}, |
|
36 |
{ |
|
37 |
"model": "db.VirtualMachine", |
|
38 |
"pk": 1003, |
|
39 |
"fields": { |
|
40 |
"name": "snf-1003", |
|
41 |
"created": "2011-02-10 00:00:00", |
|
42 |
"updated": "2011-02-10 00:00:00", |
|
43 |
"charged": "2011-02-10 00:00:00", |
|
44 |
"sourceimage": 1, |
|
45 |
"hostid": "HAL-9000", |
|
46 |
"description": "my server", |
|
47 |
"ipfour": "192.168.2.3", |
|
48 |
"ipsix": "::3", |
|
49 |
"flavor": 1, |
|
50 |
"_operstate": "STARTED" |
|
51 |
} |
|
52 |
}, |
|
53 |
{ |
|
54 |
"model": "db.VirtualMachine", |
|
55 |
"pk": 1004, |
|
56 |
"fields": { |
|
57 |
"name": "snf-1004", |
|
58 |
"created": "2011-02-10 00:00:00", |
|
59 |
"updated": "2011-02-10 00:00:00", |
|
60 |
"charged": "2011-02-10 00:00:00", |
|
61 |
"sourceimage": 1, |
|
62 |
"hostid": "HAL-9000", |
|
63 |
"description": "my 2nd server", |
|
64 |
"ipfour": "192.168.2.4", |
|
65 |
"ipsix": "::4", |
|
66 |
"flavor": 1, |
|
67 |
"_operstate": "STARTED" |
|
68 |
} |
|
69 |
} |
|
70 |
] |
b/db/models.py | ||
---|---|---|
134 | 134 |
|
135 | 135 |
class Meta: |
136 | 136 |
verbose_name = u'Virtual machine flavor' |
137 |
unique_together = ("cpu","ram","disk") |
|
137 | 138 |
|
138 | 139 |
def _get_name(self): |
139 | 140 |
"""Returns flavor name (generated)""" |
Also available in: Unified diff