[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-API] Hello





xen-api-bounces@xxxxxxxxxxxxxxxxxxx wrote on 05/05/2007 06:30:52 AM:

> I´m trying get the 'VM.get_record' of all VMs... however I´m not
> obtaining Status=Success by uuid


I get this error message from the xmlrpc library:

Failed to parse servers response: Unknown type: nil

The problem seems to be related to the 'platform' entry in the record that's returned. It's a dictionary by itself and looks like this:

{'rtc_timeoffset' : None }

The parser seems to get upset about the 'None'. So if you comment the 'platform' (by putting a '#' in front of the 'platform') in tools/python/xen/xend/XendAPI:VM_get_record() where the vm record is built then this function call should work. You have to compile and restart xend for this:

cd xen-unstable.hg/tools/python

make

xend restart



   Stefan

>
> Can help me ?
>
> import java.net.MalformedURLException;
> import java.net.URL;
> import java.util.HashMap;
> import org.apache.xmlrpc.XmlRpcException;
> import org.apache.xmlrpc.client.XmlRpcClient;
> import org.apache.xmlrpc.client.XmlRpcClientConfigImpl;
>
> public class xenapi {
>
>    private static XmlRpcClientConfigImpl config;
>     private static XmlRpcClient client;
>
>     /**
>      * @param args
>      */
>     public static void main(String[] args) {
>         URL url = ""> >         try {
>             url = "" URL("http://10.1.1.21:9363");
>         } catch (MalformedURLException e) {
>             System.out.println("Malformed URL?");
>             System.exit(-1);
>         }
>         config = new XmlRpcClientConfigImpl();
>         config.setServerURL(url);
>         client = new XmlRpcClient();
>         client.setConfig(config);
>         String username = "any";
>         String password = "any";
>         Object[] params = new Object[]{username, password};
>         HashMap<String, String> result = null;
>         try {
>            result = (HashMap)
> client.execute("session.login_with_password", params);
>         } catch (XmlRpcException e) {
>             System.out.println("Could not open session");
>             System.exit(-1);
>         }
>         String status = result.get("Status");
>         if (status.compareTo("Success") == 0) {
>            String uuid = result.get("Value");
>             params = new Object[]{uuid};
>             try {
>                 result = (HashMap) client.execute("VM.get_all", params);
>                 System.out.println(result);
>                 Object res = result.get("Value");
>                 if (res.getClass() == Object[].class) {
>                    Object[] arr = (Object[])res;
>                    int i;
>                    for (i = 0; i < arr.length; i++) {
>                       System.out.println("VM UUID: " +(String)arr[i]);
>                       String s = (String) arr[i];
>                       params = new Object[]{s};
>                       try {
>                          result = (HashMap) client.execute("VM.
> get_record", params);
>                          System.out.println(result);
>                       } catch (XmlRpcException e) { }
>                    }
>                 }
>             } catch (XmlRpcException e) {
>                 System.out.println("Could not get VMs' UUIDs");
>                 System.exit(-1);
>             }
>         }
>     }
> }
>
> _______________________________________________
> xen-api mailing list
> xen-api@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-api
_______________________________________________
xen-api mailing list
xen-api@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-api

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.