Statistics
| Branch: | Tag: | Revision:

root / tools / create_server @ 92c53da1

History | View | Annotate | Download (1.1 kB)

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