[ 
https://issues.apache.org/jira/browse/LIBCLOUD-219?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tomaz Muraus closed LIBCLOUD-219.
---------------------------------

    
> 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é
>            Assignee: Tomaz Muraus
>             Fix For: 0.11.0
>
>
> 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
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to