When in Python I call one.zonepool.info(), I always get back just one ZONE element in the returned object.
I expected that there will be a list of all available (defined) zones, like it is with other one.*pool.info() calls, for example, one.vmpool.info() returns list of VMs.
When I do some debugging, I can see, that actually XML coming in response to my request contains many zones:
<ZONE_POOL><ZONE><ID>101</ID><NAME>zone3</NAME><TEMPLATE><ENDPOINT><![CDATA[http://zone3.example.com:2633/RPC2]]></ENDPOINT></TEMPLATE><SERVER_POOL></SERVER_POOL></ZONE><ZONE><ID>100</ID><NAME>zone2</NAME><TEMPLATE><ENDPOINT><![CDATA[http://nbzone2.example.com:2633/RPC2]]></ENDPOINT></TEMPLATE><SERVER_POOL></SERVER_POOL></ZONE><ZONE><ID>0</ID><NAME>OpenNebula</NAME><TEMPLATE><ENDPOINT><![CDATA[http://localhost:2633/RPC2]]></ENDPOINT></TEMPLATE><SERVER_POOL></SERVER_POOL></ZONE></ZONE_POOL>
Could this be because of buggy XSD - share/doc/xsd/zone_pool.xsd
? It really defines just one ZONE element inside ZONE_POOL. In contrast, in case of VM, XSD states that there are sequence of VM elements inside VM_POOL with minOccurs=“0” and maxOccurs=“unbounded”.