From 5528eabb2e38ea40b2d6c4dd7df98c8f5ffecc63 Mon Sep 17 00:00:00 2001 From: Andrew Hutchings Date: Tue, 18 Dec 2012 19:53:36 +0000 Subject: [PATCH] Make pool manager meet 1.2 API spec Change-Id: I8383272a4d289f8c9979793d6014a2a1bf73d88e --- etc/sample_libra.cfg | 1 + libra/mgm/drivers/hp_rest/driver.py | 2 +- libra/mgm/mgm.py | 19 +++++++++++++++---- 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/etc/sample_libra.cfg b/etc/sample_libra.cfg index f159a897..0371e8df 100644 --- a/etc/sample_libra.cfg +++ b/etc/sample_libra.cfg @@ -55,3 +55,4 @@ nodes = 10 check_interval = 5 failed_interval = 15 node_basename = 'libra' +az = 1 diff --git a/libra/mgm/drivers/hp_rest/driver.py b/libra/mgm/drivers/hp_rest/driver.py index f5e4a004..154d445b 100644 --- a/libra/mgm/drivers/hp_rest/driver.py +++ b/libra/mgm/drivers/hp_rest/driver.py @@ -19,7 +19,7 @@ import sys from libra.mgm.drivers.base import MgmDriver -API_VERSION = 'v1' +API_VERSION = 'v1.2' class HPRestDriver(MgmDriver): diff --git a/libra/mgm/mgm.py b/libra/mgm/mgm.py index 9e85bb22..cda6584c 100644 --- a/libra/mgm/mgm.py +++ b/libra/mgm/mgm.py @@ -212,7 +212,12 @@ class Server(object): for address in addresses: if not address['addr'].startswith('10.'): break - body['address'] = address['addr'] + body['publicIpAddr'] = address['addr'] + body['floatingIpAddr'] = address['addr'] + body['az'] = self.args.az + body['type'] = "basename: {0}, image: {1}".format( + self.args.node_basename, self.args.nova_image + ) return body def find_unknown(self, name, nova): @@ -270,8 +275,9 @@ class Server(object): self.logger.warning('Aborting node building') return body = self.build_node_data(data) - self.logger.info('Adding node {name} on {ip}' - .format(name=body['name'], ip=body['address'])) + self.logger.info('Adding node {name} on {ip}'.format( + name=body['name'], ip=body['publicIpAddr']) + ) status, response = api.add_node(body) if not status: self.logger.error( @@ -313,6 +319,11 @@ def main(): '--datadir', dest='datadir', help='directory to store data files' ) + options.parser.add_argument( + '--az', type=int, + help='The az number the node will reside in (to be passed to the API' + ' server)' + ) options.parser.add_argument( '--nodes', type=int, default=1, help='number of nodes' @@ -377,7 +388,7 @@ def main(): args = options.run() required_args = [ - 'datadir', + 'datadir', 'az', 'nova_image', 'nova_image_size', 'nova_secgroup', 'nova_keyname', 'nova_tenant', 'nova_region', 'nova_user', 'nova_pass', 'nova_auth_url' ]