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
             Fix For: 0.5.2, 0.6.0
         Attachments: opennebula.network.error.py.patch

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

        

Reply via email to