You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@libcloud.apache.org by "Hutson Betts (Updated) (JIRA)" <ji...@apache.org> on 2011/10/11 20:09:12 UTC

[dev] [jira] [Updated] (LIBCLOUD-117) OpenNebula Compute Network Description

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

Hutson Betts updated LIBCLOUD-117:
----------------------------------

    Attachment: opennebula.network.error.py.patch
    
> OpenNebula Compute Network Description
> --------------------------------------
>
>                 Key: LIBCLOUD-117
>                 URL: https://issues.apache.org/jira/browse/LIBCLOUD-117
>             Project: Libcloud
>          Issue Type: Bug
>          Components: Compute
>    Affects Versions: 0.5.2, 0.6.0
>         Environment: Debian Squeeze using 0.5.2 libcloud extracted archive file.
>            Reporter: Hutson Betts
>              Labels: patch
>             Fix For: 0.5.2, 0.6.0
>
>         Attachments: opennebula.network.error.py.patch
>
>   Original Estimate: 1h
>  Remaining Estimate: 1h
>
> An issue exists in the way the OpenNebula driver pulls the network IP address for a compute node. It causes the driver to fail every time.
> Function Call:
> 	cloudProvider.connection.list_nodes()
> Exception Output:
> 	Traceback (most recent call last):
> 	  File "test.py", line 65, in <module>
> 	    nodes[cloudProvider.host] = cloudProvider.connection.list_nodes()
> 	  File "/var/lib/service-manager/service-management-system/lib/apache-libcloud-0.5.2/libcloud/compute/drivers/opennebula.py", line 113, in list_nodes
> 	    return self._to_nodes(self.connection.request('/compute').object)
> 	  File "/var/lib/service-manager/service-management-system/lib/apache-libcloud-0.5.2/libcloud/compute/drivers/opennebula.py", line 188, in _to_nodes
> 	    computes.append(self._to_node(compute))
> 	  File "/var/lib/service-manager/service-management-system/lib/apache-libcloud-0.5.2/libcloud/compute/drivers/opennebula.py", line 200, in _to_node
> 	    networks.append(element.attrib["ip"])
> 	KeyError: 'ip'
> Cause:
> 	for element in compute.findall("NIC"):
>             networks.append(element.attrib["ip"])
> OpenNebula/OCCI Compute Definition
> 	<COMPUTE href="http://www.opennebula.org/compute/32">
> 		<ID>32</ID>
> 		...
> 		<NIC>
> 		    <NETWORK href="http://www.opennebula.org/network/12"/>
> 		    <MAC>00:ff:72:31:23:17</MAC>
> 		    <IP>192.168.0.12</IP>
> 		    ...
> 		</NIC>
> 		...
> 	</COMPUTE>
> Conclusion:
> 	IP address information is not an attribute. Rather it's a child element of the NIC.
> Patch:
> 	With patch, the NIC information is returned correctly:
> 		<Node: uuid=894yf9823fh9, name=one-34, state=4, public_ip=['10.2.0.5', '10.2.2.3'], provider=OpenNebula ...>

--
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