[
https://issues.apache.org/jira/browse/LIBCLOUD-219?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Tomaz Muraus resolved LIBCLOUD-219.
-----------------------------------
Resolution: Fixed
Which version of CloudStack API are you using?
> Libcloud should not always set up a network id when creating a node
> -------------------------------------------------------------------
>
> Key: LIBCLOUD-219
> URL: https://issues.apache.org/jira/browse/LIBCLOUD-219
> Project: Libcloud
> Issue Type: Bug
> Components: Compute
> Reporter: Bruno Mahé
>
> I am using libcloud from trunk and here is what I get when I try to create a
> node:
> {noformat}
> Creating node Bigtop-4-test-13
> Traceback (most recent call last):
> File "/home/bruno/cloudstack.py", line 35, in <module>
> main()
>
>
> File "/home/bruno/cloudstack.py", line 32, in main
>
>
> node = cs.create_node( 'Bigtop-4-test-' + str(num), sizes[image_size],
> images[image_name])
>
> File
> "/home/bruno/freesoftware/libcloud/libcloud/compute/drivers/cloudstack.py",
> line 239, in create_node
> **extra_args
>
>
> File "/home/bruno/freesoftware/libcloud/libcloud/common/cloudstack.py",
> line 122, in _async_request
>
> return self.connection._async_request(command, **kwargs)
>
>
> File "/home/bruno/freesoftware/libcloud/libcloud/common/cloudstack.py",
> line 70, in _async_request
>
> context=context)
>
>
> File "/home/bruno/freesoftware/libcloud/libcloud/common/base.py", line 690,
> in async_request
>
> response = request(**kwargs)
>
>
> File "/home/bruno/freesoftware/libcloud/libcloud/common/cloudstack.py",
> line 96, in _sync_request
>
> result = self.request(self.driver.path, params=kwargs)
>
>
> File "/home/bruno/freesoftware/libcloud/libcloud/common/base.py", line 583,
> in request
>
> connection=self)
>
>
> File "/home/bruno/freesoftware/libcloud/libcloud/common/base.py", line 76,
> in __init__
>
> raise Exception(self.parse_error())
>
>
> Exception: {'deployvirtualmachineresponse': {'errorcode': 431, 'uuidList':
> [], 'errortext': "Can't specify network Ids in Basic zone"}}
> {noformat}
> But when doing the following modification, I can get it working:
> {noformat}
> diff --git a/libcloud/compute/drivers/cloudstack.py
> b/libcloud/compute/drivers/cloudstack.py
>
> index e8a0012..f80ab56 100644
>
>
> --- a/libcloud/compute/drivers/cloudstack.py
>
>
> +++ b/libcloud/compute/drivers/cloudstack.py
>
>
> @@ -222,12 +222,7 @@ class CloudStackNodeDriver(CloudStackDriverMixIn,
> NodeDriver):
>
> location = self.list_locations()[0]
>
>
>
>
>
> 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:
> + if network_id is not None:
> extra_args['networkids'] = network_id
>
> result = self._async_request('deployVirtualMachine',
> {noformat}
> I am not familiar enough with cloudstack to tell when the network_id should
> or should not be passed.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira