You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@libcloud.apache.org by to...@apache.org on 2011/11/07 15:19:44 UTC
svn commit: r1198742 - /libcloud/trunk/libcloud/compute/drivers/cloudstack.py
Author: tomaz
Date: Mon Nov 7 14:19:44 2011
New Revision: 1198742
URL: http://svn.apache.org/viewvc?rev=1198742&view=rev
Log:
"network_id" field in the CloudStack driver create_node is optional. Also fix
network retrieval.
Modified:
libcloud/trunk/libcloud/compute/drivers/cloudstack.py
Modified: libcloud/trunk/libcloud/compute/drivers/cloudstack.py
URL: http://svn.apache.org/viewvc/libcloud/trunk/libcloud/compute/drivers/cloudstack.py?rev=1198742&r1=1198741&r2=1198742&view=diff
==============================================================================
--- libcloud/trunk/libcloud/compute/drivers/cloudstack.py (original)
+++ libcloud/trunk/libcloud/compute/drivers/cloudstack.py Mon Nov 7 14:19:44 2011
@@ -171,11 +171,19 @@ class CloudStackNodeDriver(CloudStackDri
return sizes
def create_node(self, name, size, image, location=None, **kwargs):
+ extra_args = {}
if location is None:
location = self.list_locations()[0]
- networks = self._sync_request('listNetworks')
- network_id = networks['network'][0]['id']
+
+ network_id = kwargs.pop('network_id', None)
+ if network_id is None:
+ networks = self._sync_request('listNetworks')
+
+ if networks:
+ extra_args['networkids'] = networks['network'][0]['id']
+ else:
+ extra_args['networkids'] = network_id
result = self._async_request('deployVirtualMachine',
name=name,
@@ -183,7 +191,7 @@ class CloudStackNodeDriver(CloudStackDri
serviceofferingid=size.id,
templateid=image.id,
zoneid=location.id,
- networkids=network_id,
+ **extra_args
)
node = result['virtualmachine']