root / tools / create_server @ 92c53da1
History | View | Annotate | Download (1.1 kB)
1 |
#!/usr/bin/env python |
---|---|
2 |
|
3 |
from util import * |
4 |
|
5 |
from httplib import HTTPConnection |
6 |
from optparse import OptionParser |
7 |
from sys import exit |
8 |
|
9 |
import json |
10 |
|
11 |
parser = OptionParser(add_help_option=True) |
12 |
parser.add_option('-s', dest='host', metavar='HOST', default=DEFAULT_HOST, |
13 |
help='use server HOST') |
14 |
parser.add_option('-a', dest='api', metavar='API', default=DEFAULT_API, |
15 |
help='use api API') |
16 |
parser.add_option('-f', dest='flavor', metavar='FLAVOR_ID', default=1, |
17 |
help='Flavor ID') |
18 |
parser.add_option('-i', dest='image', metavar='IMAGE_ID', default=1, |
19 |
help='Image ID') |
20 |
|
21 |
options, args = parser.parse_args() |
22 |
|
23 |
conn = HTTPConnection(options.host) |
24 |
|
25 |
path = '/api/%s/servers' % options.api |
26 |
name = args[0] |
27 |
server = dict(name=args[0], flavorId=options.flavor, imageId=options.image) |
28 |
body = json.dumps({'server': server}) |
29 |
headers = {'Content-Type': 'application/json'} |
30 |
|
31 |
conn.request('POST', path, body, headers) |
32 |
resp = conn.getresponse() |
33 |
|
34 |
if resp.status != 202: |
35 |
print 'Error:', resp.status |
36 |
exit(1) |
37 |
|
38 |
buf = resp.read() |
39 |
reply = json.loads(buf) |
40 |
|
41 |
server = reply['server'] |
42 |
server.pop('id') |
43 |
print_server(server) |