From 90c7119bb63db2e5a994fc85deecc1641064ea75 Mon Sep 17 00:00:00 2001 From: Andrew Hutchings Date: Wed, 26 Sep 2012 10:56:53 -0700 Subject: [PATCH] Add start of nova API calls for node mgm --- libra/mgm/nova.py | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 libra/mgm/nova.py diff --git a/libra/mgm/nova.py b/libra/mgm/nova.py new file mode 100644 index 00000000..05d16a61 --- /dev/null +++ b/libra/mgm/nova.py @@ -0,0 +1,33 @@ +#!/usr/bin/env python +# Copyright 2012 Hewlett-Packard Development Company, L.P. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +from novaclient import client + + +class Node(object): + def __init__(self, username, password, tenant, auth_url, region): + self.nova = client.HTTPClient( + username, password, tenant, auth_url, region, 'compute' + ) + + def create(self, node_id, image, node_type): + url = "/servers" + body = {"server": { + "name": 'lbass_{0}'.format(node_id), + "imageId": image, + "flavourId": node_type, + }} + resp, body = self.api.post(url, body) + return body