I'm using libvirt's Java API bindingsa and i've opened a connection :
Connect conn=null;
Connect conn1=null;
Connect conn2=null;
Domain testDomain1 = null;
//connect to host vm
try{
conn = new Connect("qemu:///system", true);
System.out.println("exception ONE:");
} catch (LibvirtException e){
System.out.println("exception ONE caught:"+e);
System.out.println(e.getError());
}
//get the domain in host vm
try {
testDomain1 = conn.domainLookupByName("hda1");
System.out.println("exception TWO:");
} catch (LibvirtException ex) {
System.out.println("exception TWO CAUGHT");
//Logger.getLogger(Migrate.class.getName()).log(Level.SEVERE,
null, ex);
}
//check if domain is running
try{
System.out.println("Domain:" + testDomain1.getName() + " id
" +
testDomain1.getID() + " running " +
testDomain1.getOSType());
System.out.println("exception THREE:");
} catch (LibvirtException e1){
System.out.println("exception THREE caught: "+e1);
System.out.println(e1.getError());
}
/*try{
conn1 = new Connect("qemu+ssh://root@10.129.54.254/system",
true);
//conn2 = new Connect("qemu+ssh://root@10.129.54.254/system",
true);
Domain migrate1;
System.out.println("done with ssh");
String uri="tcp://root@10.129.54.254:49166";
migrate1 = testDomain1.migrate(conn1,1,null,"tcp://
root(a)10.129.54.254",0);
//int ret=testDomain1.migrateToURI("tcp://
root@10.129.54.254:49155",1,null,0);
System.out.println("exception FOUR:");
}catch (LibvirtException e2){
System.out.println("exception FOUR caught:"+e2);
System.out.println(e2.getError());
}*/
try{
testDomain1.destroy();
System.out.println("Destroyed"+testDomain1);
}
catch(LibvirtException e4){
System.out.println("exception FOUR caught: "+e4);
System.out.println(e4.getError());
}
The output I'm getting is:
exception ONE:
exception TWO:
Domain:test id 1 running linux
exception THREE:
libvir: Domain error : operation virDomainDestroy forbidden for read only
access
exception FOUR caught: org.libvirt.LibvirtException: operation
virDomainDestroy forbidden for read only access
level:VIR_ERR_ERROR
code:VIR_ERR_OPERATION_DENIED
domain:VIR_FROM_DOM
hasConn:false
hasDom:false
hasNet:false
message:operation virDomainDestroy forbidden for read only access
str1:operation %s forbidden for read only access
str2:virDomainDestroy
str3:null
int1:-1
int2:-1
BUILD SUCCESSFUL (total time: 23 minutes 38 seconds)
I've used qemu:///system but why is my operation being denied?
Thanks!