You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by ch...@apache.org on 2012/11/19 18:08:43 UTC
git commit: CLOUDSTACK-514: Adding https and api path support to
Marvin.
Updated Branches:
refs/heads/master 79e5a3a3a -> 2ee9253c7
CLOUDSTACK-514: Adding https and api path support to Marvin.
This is the first part of fixing CLOUDSTACK-514, and is hopefully
backward compatible with previous use of Marvin. I added two new
parameters to the cloudstackConnection module, protocol and path.
Both have been defaulted to the previously *assumed* values.
Signed-off-by: Chip Childers <ch...@gmail.com>
Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/2ee9253c
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/2ee9253c
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/2ee9253c
Branch: refs/heads/master
Commit: 2ee9253c78152d517f8448f66a779c6e3777b19c
Parents: 79e5a3a
Author: Chip Childers <ch...@gmail.com>
Authored: Mon Nov 19 12:06:18 2012 -0500
Committer: Chip Childers <ch...@gmail.com>
Committed: Mon Nov 19 12:06:18 2012 -0500
----------------------------------------------------------------------
tools/marvin/marvin/cloudstackConnection.py | 13 +++++++++----
1 files changed, 9 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/2ee9253c/tools/marvin/marvin/cloudstackConnection.py
----------------------------------------------------------------------
diff --git a/tools/marvin/marvin/cloudstackConnection.py b/tools/marvin/marvin/cloudstackConnection.py
index bd8a5b2..c805213 100644
--- a/tools/marvin/marvin/cloudstackConnection.py
+++ b/tools/marvin/marvin/cloudstackConnection.py
@@ -31,12 +31,17 @@ from cloudstackAPI import *
import jsonHelper
class cloudConnection(object):
- def __init__(self, mgtSvr, port=8096, apiKey = None, securityKey = None, asyncTimeout=3600, logging=None):
+ def __init__(self, mgtSvr, port=8096, apiKey = None, securityKey = None, asyncTimeout=3600, logging=None, protocol='http', path='/client/api'):
self.apiKey = apiKey
self.securityKey = securityKey
self.mgtSvr = mgtSvr
self.port = port
self.logging = logging
+ if protocol != 'http' and protocol != 'https':
+ raise ValueError("Protocol must be 'http' or 'https'.")
+ else:
+ self.protocol=protocol
+ self.path = path
if port == 8096:
self.auth = False
else:
@@ -52,7 +57,7 @@ class cloudConnection(object):
pass
def __copy__(self):
- return cloudConnection(self.mgtSvr, self.port, self.apiKey, self.securityKey, self.asyncTimeout, self.logging)
+ return cloudConnection(self.mgtSvr, self.port, self.apiKey, self.securityKey, self.asyncTimeout, self.logging, self.protocol, self.path)
def make_request_with_auth(self, command, requests={}):
requests["command"] = command
@@ -68,7 +73,7 @@ class cloudConnection(object):
requestUrl += "&signature=%s"%sig
try:
- self.connection = urllib2.urlopen("http://%s:%d/client/api?%s"%(self.mgtSvr, self.port, requestUrl))
+ self.connection = urllib2.urlopen("%s://%s:%d%s?%s"%(self.protocol, self.mgtSvr, self.port, self.path, requestUrl))
if self.logging is not None:
self.logging.debug("sending GET request: %s"%requestUrl)
response = self.connection.read()
@@ -100,7 +105,7 @@ class cloudConnection(object):
requests = zip(requests.keys(), requests.values())
requestUrl = "&".join(["=".join([request[0], urllib.quote_plus(str(request[1]))]) for request in requests])
- self.connection = urllib2.urlopen("http://%s:%d/client/api?%s"%(self.mgtSvr, self.port, requestUrl))
+ self.connection = urllib2.urlopen("%s://%s:%d%s?%s"%(self.protocol, self.mgtSvr, self.port, self.path, requestUrl))
if self.logging is not None:
self.logging.debug("sending GET request without auth: %s"%requestUrl)
response = self.connection.read()