For SLES10 SP1 I would like to support some additional settings in
Xen_ComputerSystemSettingData. Attached is an updated mof. Notice I
removed some of the existing settings (most were commented anyway) such
as DHCP, Gateway, etc. These are very Linux specific and are just
appended to kernel args in xend anyway so they can be specified in
KernelOptions if needed. What do you think about the enums for
On[Poweroff|Reboot|Crash]? They are enums in Xen API and the values
were taken from the spec.
I think the Xen_Console and Xen_ConsoleSettingData classes Raj sent
earlier should suffice. Absence of an instance of
Xen_ConsoleSettingData on DefineSystem implies 'nographic', otherwise
protocol property will handle VNC, SDL, or text. We'll take the
defaults for all other VNC related settings found in a legacy config
file. I think the defaults are reasonable anyway, e.g. use the first
unused port >= 5900. Explicitly specifying a port seems problematic in
the event you move the guest to another host and the specified port is
already in use. Perhaps vncpasswd needs some thought. It could be
supported via the ConsoleConfigInfo property on Xen_ConsoleSettingData.
There is a corresponding dumping ground field on the Console class in
Xen API.
I think the important thing for console is being able to determine how
to connect to the guest once it is launched. The URI property should
contain the port to connect with a viewer when Xen_Console or
Xen_ConsoleSettingData is queried on a running guest.
BTW, any suggestions from SVPC on the console issue? Was there an
opportunity to discuss it on today's call?
Raj - one thing you could help me with is implementation of
ModifySystemSettings on class Xen_VirtualSystemManagementService. This
extrinsic is used to modify properties of
Xen_ComputerSystemSettingData. Probably not a lot in there that we want
to support modifying, but I could see users wanting to change the
On[Poweroff|Reboot|Crash] behavior, KernelOptions and perhaps even
Kernel and RAMDisk. I don't think we want to support modifying
Bootloader, BootloaderOptions, acpi, apic, pae, or localtime. Anyway,
take a look at Xen_VirtualSystemManagementService.c and search for
ModifySystemSettings. It currently returns CMPI_RC_ERR_NOT_SUPPORTED.
Regards,
Jim
// Copyright (c) 2006 IBM. All rights reserved.
// ==================================================================
// Xen_ComputerSystemSettingData
// ==================================================================
[Provider ("cmpi:Xen_ComputerSystemSettingData"),
Description (
"A class derived from CIM_VirtualSystemSettingData to "
"represent the current and/or recorded settings of "
"a Xen domain.")]
class Xen_ComputerSystemSettingData : CIM_VirtualSystemSettingData
{
// [Write(false),
// Description("ID of Xen domain.")]
// uint32 ID;
// [Write(false),
// Description("SSID of Xen domain.")]
// uint32 SSID;
// [Description("Uptime of Xen domain.")]
// uint64 Uptime;
[Description ("Path to the kernel image.")]
string Kernel;
[Description ("Path to a ramdisk image.")]
string RAMDisk;
[Description ("Command line options to pass to the kernel.")]
string KernelOptions = "";
[Description ("Bootloader used to extract kernel for booting. "
"Examples are \"/usr/lib/xen/boot/domUloader.py\" or "
"\"/usr/bin/pygrub\". If Bootloader is specified, values "
"contained in Kernel and RAMDisk will be ignored.")]
string Bootloader;
[Description ("Options to pass to the bootloader specified in "
"property Bootloader.")]
string BootloaderOptions;
[Description ("String used to specify order of boot devices. "
"This property will only be examined by the instrumentation "
"when property VirtualSystemType is set to \"Xen HVM\". "
"BootOrder will be ignored for all other virtual system types.")]
string BootOrder;
[Description ("UUID assigned to this domain.")]
string UUID;
[Description ("Enable acpi emulation.")]
boolean acpi;
[Description ("Enable apic emulation.")]
boolean apic;
[Description ("Enable pae in the domain.")]
boolean pae;
[Description ("Specify whether domain expects virtual hardware "
"clock to be in local time or UTC.")]
boolean localtime;
[Description ("Specify emulation of standard VGA instead of "
"cirrus logic.")]
boolean stdvga;
[Description ("Specify behavior when domain is powered-off"),
ValueMap { "0", "1", ".." },
Values { "Destroy", "Restart", "Reserved"}]
uint16 OnPoweroff;
[Description ("Specify behavior when domain is rebooted"),
ValueMap { "0", "1", ".." },
Values { "Destroy", "Restart", "Reserved"}]
uint16 OnReboot;
[Description ("Specify behavior when domain crashes"),
ValueMap { "0", "1", "2", "3", "4", "5", ".." },
Values { "Destroy", "Restart", "Core Dump and Destroy",
"Core Dump and Restart", "Preserve", "Rename and Restart",
"Reserved"}]
uint16 OnCrash;
};
_______________________________________________
Xen-cim mailing list
Xen-cim@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-cim
|