on Monday 20 June 2011 Tomas Lestach wrote:
> > ...
> > so I digged a bit and it fails in CobblerVirtualSystemCommand.java
> >
> > at:
> > setupVirtAttributes(details.getMemMb().intValue(),
> >
> > details.getDiskGb().intValue(),
> > details.getVcpus().intValue(),
> > details.getDiskPath());
> >
> > the details.getDiskPath() returns NULL and that raises an exception.
>
> Yes, you're right, this is the cause of the problem.
I found some more problems in the code and I have attached a patch.
The default disk size will be set to 2TB instead of 2GB - that's easy to fix
in the Java Code but there is one more problem in the pythion code in
kickstart_guest.py
Some values are set to "None" and it's not possible to transfer "None" via
XMLRPC. You'll get an error like:
Error code: 1While running 'queue.get': caught
<type 'exceptions.TypeError'> : cannot marshal None unless allow_none is
enabled
when you try to call rhn_check to start the installation of the virt-machine.
So I added another patch that will set those Null values to an empty string.
Unfortunately that's not possible with the virt-bridge string. Koan will
complain when that string is empty, so I had to set that to a static value
"br0".
That's for sure not the real patch, it just helps you to see where I found the
problems. I can do installations now but the static "br0" really annoys me.
Do you have an idea how to fix that in a clean way?
--
ciao, Uwe Gansert
Uwe Gansert
SUSE LINUX Products GmbH, HRB 16746 (AG Nürnberg)
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer
Home: http://www.suse.de/~ug - Blog: http://suse.gansert.net
diff --git a/backend/server/action/kickstart_guest.py b/backend/server/action/kickstart_guest.py
index e89f730..daa5ebc 100644
--- a/backend/server/action/kickstart_guest.py
+++ b/backend/server/action/kickstart_guest.py
@@ -99,6 +99,13 @@ def initiate(server_id, action_id, dry_run=0):
if not boot_image:
raise InvalidAction("Boot image missing")
+ if disk_path == None:
+ disk_path = ""
+ if append_string == None:
+ append_string = ""
+ if virt_bridge == None:
+ virt_bridge = "br0"
+
return (kickstart_host, cobbler_system_name, virt_type, ks_session_id, name,
mem_kb, vcpus, disk_gb, virt_bridge, disk_path, append_string)
diff --git a/java/code/src/com/redhat/rhn/frontend/xmlrpc/system/SystemHandler.java b/java/code/src/com/redhat/rhn/frontend/xmlrpc/system/SystemHandler.java
index d67598e..7055f3b 100644
--- a/java/code/src/com/redhat/rhn/frontend/xmlrpc/system/SystemHandler.java
+++ b/java/code/src/com/redhat/rhn/frontend/xmlrpc/system/SystemHandler.java
@@ -2078,7 +2078,7 @@ public class SystemHandler extends BaseHandler {
/**
*
* Provision a guest on the server specified. Defaults to: memory=256MB, vcpu=1,
- * storage=2048MB.
+ * storage=2GB.
*
* @param sessionKey of user making call
* @param sid of server to provision guest on
@@ -2087,7 +2087,7 @@ public class SystemHandler extends BaseHandler {
* @return Returns 1 if successful, exception otherwise
*
* @xmlrpc.doc Provision a guest on the host specified. Defaults to:
- * memory=256MB, vcpu=1, storage=2048MB.
+ * memory=256MB, vcpu=1, storage=2GB.
* @xmlrpc.param #param("string", "sessionKey")
* @xmlrpc.param #param("int", "serverId") - ID of host to provision guest on.
* @xmlrpc.param #param("string", "guestName")
@@ -2097,7 +2097,7 @@ public class SystemHandler extends BaseHandler {
public int provisionVirtualGuest(String sessionKey, Integer sid, String guestName,
String profileName) {
return provisionVirtualGuest(sessionKey, sid, guestName, profileName,
- new Integer(256), new Integer(1), new Integer(2048));
+ new Integer(256), new Integer(1), new Integer(2));
}
/**
_______________________________________________
Spacewalk-devel mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/spacewalk-devel