[et-mgmt-tools] Re: PATCH: Graphical options for koan
Adam Rosenwald
thestrider at gmail.com
Sat Jan 5 05:53:16 UTC 2008
Sorry, Michael. I didn't see your thread on --nogfx. My patches were
applicable to koan-0.6.3-3 - not GIT (which likely contained your new code).
In any event, I would highly recommend that you revert the default
console policy to text, since this will work for practically every
end-user environment. VNC requires dependencies that not all users will
have or /should/ have in order to use koan.
Regards,
- A.
Adam Rosenwald wrote:
> Michael,
>
> I've noticed that the default graphical console display has changed in
> koan-0.6.3-3 (I had previously been using v0.6.2-2). The default
> display is now set to "vnc".
>
> The default console setting for python-virtinst is None. This is a
> good choice for a default, since /everyone/ (even those not using X
> every time they deploy virtuals) can view the console. The following
> patches push console policy to the user and defaults the console to
> text in the event a "-g --graphics" switch is not found.
>
> ===BEGIN app.py PATCH===
> --- app.py.orig 2008-01-05 05:12:15.000000000 +0000
> +++ app.py 2008-01-05 05:07:45.000000000 +0000
> @@ -148,6 +148,10 @@
> p.add_option("-T", "--virt-type",
> dest="virt_type",
> help="virtualization install type (xenpv,qemu)")
> + p.add_option("-g", "--graphics",
> + dest="is_graphics",
> + action="store_true",
> + help="use vnc console instead of text console")
>
> (options, args) = p.parse_args()
>
> @@ -168,6 +172,7 @@
> k.live_cd = options.live_cd
> k.virt_path = options.virt_path
> k.virt_type = options.virt_type
> + k.is_graphics = options.is_graphics
>
> if options.virt_name is not None:
> k.virt_name = options.virt_name
> @@ -222,6 +227,7 @@
> self.virt_name = None
> self.virt_type = None
> self.virt_path = None
> + self.is_graphics = None
>
> #---------------------------------------------------
>
> @@ -882,24 +888,26 @@
> pd = profile_data
> self.load_virt_modules()
>
> - arch = self.safe_load(pd,'arch','x86')
> - kextra = self.calc_kernel_args(pd)
> - (uuid, create_func) = self.virt_choose(pd)
> -
> - virtname = self.calc_virt_name(pd)
> -
> - ram = self.calc_virt_ram(pd)
> -
> - vcpus = self.calc_virt_cpus(pd)
> - path_list = self.calc_virt_path(pd, virtname)
> - size_list = self.calc_virt_filesize(pd)
> - disks = self.merge_disk_data(path_list,size_list)
> + arch = self.safe_load(pd,'arch','x86')
> + kextra = self.calc_kernel_args(pd)
> + (uuid, create_func) = self.virt_choose(pd)
> + (graphics, create_func) = self.virt_choose(pd)
> +
> + virtname = self.calc_virt_name(pd)
> +
> + ram = self.calc_virt_ram(pd)
> +
> + vcpus = self.calc_virt_cpus(pd)
> + path_list = self.calc_virt_path(pd, virtname)
> + size_list = self.calc_virt_filesize(pd)
> + disks =
> self.merge_disk_data(path_list,size_list)
>
> results = create_func(
> name = virtname,
> ram = ram,
> disks = disks,
> uuid = uuid,
> + graphics = graphics,
> extra = kextra,
> vcpus = vcpus,
> profile_data = profile_data, @@ -923,13 +931,14 @@
>
> def virt_choose(self, pd):
> if self.virt_type == "xenpv":
> - uuid = self.get_uuid(self.calc_virt_uuid(pd))
> + graphics = self.is_graphics
> + uuid = self.get_uuid(self.calc_virt_uuid(pd))
> import xencreate
> - creator = xencreate.start_paravirt_install
> + creator = xencreate.start_paravirt_install
> elif self.virt_type == "qemu":
> - uuid = None
> + uuid = None
> import qcreate
> - creator = qcreate.start_install
> + creator = qcreate.start_install
> else:
> raise InfoException, "Unspecified virt type: %s" %
> self.virt_type
> return (uuid, creator)
> ===END app.py PATCH===
>
> ===BEGIN xencreate.py PATCH===
> --- xencreate.py.orig 2008-01-05 05:12:30.000000000 +0000
> +++ xencreate.py 2008-01-05 05:03:20.000000000 +0000
> @@ -47,6 +47,7 @@
> uuid=None,
> extra=None,
> vcpus=None, +
> graphics=None,
> profile_data=None, arch=None):
>
>
> @@ -56,7 +57,8 @@
> guest.set_name(name)
> guest.set_memory(ram)
> guest.set_vcpus(vcpus)
> -# guest.set_graphics("vnc")
> + if graphics:
> + guest.set_graphics("vnc")
> if uuid is not None:
> guest.set_uuid(uuid)
> ===END xencreate.py PATCH===
>
>
> Regards,
>
> - Adam.
>
More information about the et-mgmt-tools
mailing list