Posted.
From 2a536e4b4f5e0bbc493728256eeb006d00a91736 Mon Sep 17 00:00:00 2001
From: ARos <thestrider(a)gmail.com>
Date: Mon, 23 Mar 2009 22:37:31 +0000
Subject: [PATCH] VM AutoBoot
---
koan/app.py | 38 +++++++++++++++++++++++++-------------
koan/utils.py | 13 +++++++++++++
2 files changed, 38 insertions(+), 13 deletions(-)
diff --git a/koan/app.py b/koan/app.py
index cf49737..b74ca39 100755
--- a/koan/app.py
+++ b/koan/app.py
@@ -59,7 +59,7 @@ DISPLAY_PARAMS = [
"install_tree","kernel","initrd",
"kernel_options",
"repos",
- "virt_ram","virt_disk","virt_type",
"virt_path"
+ "virt_ram","virt_disk","virt_type",
"virt_path", "virt_auto_boot"
]
@@ -138,6 +138,10 @@ def main():
action="store_true",
dest="no_gfx",
help="disable Xen graphics (xenpv,xenfv)")
+ p.add_option("", "--auto-boot",
+ action="store_true",
+ dest="virt_auto_boot",
+ help="set VM for autoboot")
p.add_option("", "--add-reinstall-entry",
dest="add_reinstall_entry",
action="store_true",
@@ -180,6 +184,7 @@ def main():
k.use_kexec = options.use_kexec
k.should_poll = options.should_poll
k.embed_kickstart = options.embed_kickstart
+ k.virt_auto_boot = options.virt_auto_boot
if options.virt_name is not None:
k.virt_name = options.virt_name
@@ -1025,20 +1030,22 @@ class Koan:
path_list = self.calc_virt_path(pd, virtname)
size_list = self.calc_virt_filesize(pd)
disks = self.merge_disk_data(path_list,size_list)
+ virt_auto_boot = self.virt_auto_boot
results = create_func(
- name = virtname,
- ram = ram,
- disks = disks,
- uuid = uuid,
- extra = kextra,
- vcpus = vcpus,
- profile_data = profile_data,
- arch = arch,
- no_gfx = self.no_gfx,
- fullvirt = fullvirt,
- bridge = self.virt_bridge,
- virt_type = self.virt_type
+ name = virtname,
+ ram = ram,
+ disks = disks,
+ uuid = uuid,
+ extra = kextra,
+ vcpus = vcpus,
+ profile_data = profile_data,
+ arch = arch,
+ no_gfx = self.no_gfx,
+ fullvirt = fullvirt,
+ bridge = self.virt_bridge,
+ virt_type = self.virt_type,
+ virt_auto_boot = self.virt_auto_boot
)
print results
@@ -1071,6 +1078,11 @@ class Koan:
else:
raise InfoException("internal error, bad virt state")
+ if self.virt_auto_boot:
+ if self.virt_type in [ "xenpv", "xenfv" ]:
+ utils.create_xendomains_symlink(virtname)
+ # else qemu
+ # else...
return results
#---------------------------------------------------
diff --git a/koan/utils.py b/koan/utils.py
index 77e51fd..50b263a 100644
--- a/koan/utils.py
+++ b/koan/utils.py
@@ -377,6 +377,19 @@ def connect_to_server(server=None,port=None):
return server
raise InfoException ("Could not find Cobbler.")
+def create_xendomains_symlink(name):
+ """
+ Create an /etc/xen/auto/<name> symlink for use with
"xendomains"-style
+ VM boot upon dom0 reboot.
+ """
+ src = "/etc/xen/%s" % name
+ dst = "/etc/xen/auto/%s" % name
+
+ # check that xen config file exists and create symlink
+ if os.path.exists(src) and os.access(os.path.dirname(dst), os.W_OK):
+ os.symlink(src, dst)
+ else:
+ raise InfoException("Could not create /etc/xen/auto/%s
symlink. Please check write permissions and ownership" % name)
class ServerProxy(xmlrpclib.ServerProxy):
--
1.5.5.1
Michael DeHaan wrote:
Adam Rosenwald wrote:
> Reposting with `git-format-patch` output (i.e. `git-format-patch -1`)...
> FYI, Adam.
>
> From ee8f57a87faa17daa4772befcd1fd26bf3b5a753 Mon Sep 17 00:00:00 2001
> From: ARos <thestrider@gmailcom>
> Date: Mon, 23 Mar 2009 21:52:31 +0000
> Subject: [PATCH] VM AutoBoot feature
>
> ---
> cobbler/collection.py | 1 +
> cobbler/item_image.py | 9 +++++++++
> cobbler/item_profile.py | 9 +++++++++
> cobbler/item_system.py | 9 +++++++++
> cobbler/remote.py | 2 ++
> cobbler/settings.py | 1 +
> cobbler/utils.py | 22 ++++++++++++++++++++++
> contrib/ruby/lib/cobbler/image.rb | 2 +-
> contrib/ruby/lib/cobbler/profile.rb | 1 +
> contrib/ruby/lib/cobbler/system.rb | 1 +
> contrib/ruby/test/test_image.rb | 2 ++
> contrib/ruby/test/test_profile.rb | 2 ++
> contrib/ruby/test/test_system.rb | 2 ++
> installer_templates/settings.template | 5 +++++
> webui_templates/image_edit.tmpl | 15 +++++++++++++++
> webui_templates/profile_edit.tmpl | 13 +++++++++++++
> webui_templates/search.tmpl | 3 +++
> webui_templates/system_edit.tmpl | 12 ++++++++++++
> 18 files changed, 110 insertions(+), 1 deletions(-)
>
> diff --git a/cobbler/collection.py b/cobbler/collection.py
> index 36c58b0..dec7b76 100644
> --- a/cobbler/collection.py
> +++ b/cobbler/collection.py
> @@ -105,6 +105,7 @@ class Collection(serializable.Serializable):
> 'inherit' : 'parent',
> 'ip' : 'ip_address',
> 'mac' : 'mac_address',
> + 'virt-auto-boot' : 'virt_auto_boot',
> 'virt-file-size' : 'virt_file_size',
> 'virt-ram' : 'virt_ram',
> 'virt-path' : 'virt_path',
> diff --git a/cobbler/item_image.py b/cobbler/item_image.py
> index 5a4123b..2deb280 100644
> --- a/cobbler/item_image.py
> +++ b/cobbler/item_image.py
> @@ -49,6 +49,7 @@ class Image(item.Item):
> self.file = ''
> self.parent = ''
> self.depth = 0
> + self.virt_auto_boot = self.settings.virt_auto_boot
> self.virt_ram = self.settings.default_virt_ram
> self.virt_file_size = self.settings.default_virt_file_size
> self.virt_path = ''
> @@ -75,6 +76,7 @@ class Image(item.Item):
> self.depth = self.load_item(seed_data,'depth',0)
> self.owners =
> self.load_item(seed_data,'owners',self.settings.default_ownership)
>
> + self.virt_auto_boot = self.load_item(seed_data,
> 'virt_auto_boot', self.settings.virt_auto_boot)
> self.virt_ram = self.load_item(seed_data, 'virt_ram',
> self.settings.default_virt_ram)
> self.virt_file_size = self.load_item(seed_data,
> 'virt_file_size', self.settings.default_virt_file_size)
> self.virt_path = self.load_item(seed_data, 'virt_path')
> @@ -189,6 +191,9 @@ class Image(item.Item):
> raise CX("invalid network count")
> return True
>
> + def set_virt_auto_boot(self,num):
> + return utils.set_virt_auto_boot(self,num)
> +
> def set_virt_file_size(self,num):
> return utils.set_virt_file_size(self,num)
>
> @@ -231,6 +236,7 @@ class Image(item.Item):
> 'depth' : 0,
> 'parent' : '',
> 'owners' : self.owners,
> + 'virt_auto_boot' : self.virt_auto_boot,
> 'virt_ram' : self.virt_ram,
> 'virt_path' : self.virt_path,
> 'virt_type' : self.virt_type,
> @@ -263,6 +269,7 @@ class Image(item.Item):
> buf = buf + _("virt bridge : %s\n") % self.virt_bridge
> buf = buf + _("virt cpus : %s\n") % self.virt_cpus
> buf = buf + _("network count : %s\n") % self.network_count
> + buf = buf + _("virt auto boot : %s\n") % self.virt_auto_boot
> buf = buf + _("virt file size : %s\n") % self.virt_file_size
> buf = buf + _("virt path : %s\n") % self.virt_path
> buf = buf + _("virt ram : %s\n") % self.virt_ram
> @@ -285,6 +292,8 @@ class Image(item.Item):
> 'virt_cpus' : self.set_virt_cpus,
> 'network-count' : self.set_network_count,
> 'network_count' : self.set_network_count,
> + 'virt-auto-boot' : self.set_virt_auto_boot,
> + 'virt_auto_boot' : self.set_virt_auto_boot,
> 'virt-file-size' : self.set_virt_file_size,
> 'virt_file_size' : self.set_virt_file_size,
> 'virt-bridge' : self.set_virt_bridge,
> diff --git a/cobbler/item_profile.py b/cobbler/item_profile.py
> index 3f9e946..7016038 100644
> --- a/cobbler/item_profile.py
> +++ b/cobbler/item_profile.py
> @@ -53,6 +53,7 @@ class Profile(item.Item):
> self.kernel_options_post =
> ({},
'<<inherit>>')[is_subobject]
> self.ks_meta =
> ({},
'<<inherit>>')[is_subobject]
> self.template_files =
> ({},
'<<inherit>>')[is_subobject]
> + self.virt_auto_boot =
> (self.settings.virt_auto_boot,
'<<inherit>>')[is_subobject]
> self.virt_cpus =
> (1,
'<<inherit>>')[is_subobject]
> self.virt_file_size =
> (self.settings.default_virt_file_size,
'<<inherit>>')[is_subobject]
> self.virt_ram =
> (self.settings.default_virt_ram,
'<<inherit>>')[is_subobject]
> @@ -117,6 +118,7 @@ class Profile(item.Item):
> self.virt_type = self.load_item(seed_data,'virt_type',
> self.settings.default_virt_type)
> self.virt_bridge = self.load_item(seed_data,'virt_bridge',
> self.settings.default_virt_bridge)
> self.virt_cpus = self.load_item(seed_data,'virt_cpus',1)
> + self.virt_auto_boot =
> self.load_item(seed_data,'virt_auto_boot',self.settings.virt_auto_boot)
>
> # backwards compatibility -- convert string entries to dicts
> for storage
> if self.kernel_options != "<<inherit>>" and
> type(self.kernel_options) != dict:
> @@ -234,6 +236,9 @@ class Profile(item.Item):
> return True
> raise CX(_("kickstart not found: %s") % kickstart)
>
> + def set_virt_auto_boot(self,num):
> + return utils.set_virt_auto_boot(self,num)
> +
> def set_virt_cpus(self,num):
> return utils.set_virt_cpus(self,num)
>
> @@ -303,6 +308,7 @@ class Profile(item.Item):
> 'virt_ram' : self.virt_ram,
> 'virt_bridge' : self.virt_bridge,
> 'virt_cpus' : self.virt_cpus,
> + 'virt_auto_boot' : self.virt_auto_boot,
> 'ks_meta' : self.ks_meta,
> 'template_files' : self.template_files,
> 'repos' : self.repos,
> @@ -351,6 +357,7 @@ class Profile(item.Item):
> buf = buf + _("repos : %s\n") % self.repos
> buf = buf + _("server : %s\n") % self.server
> buf = buf + _("template_files : %s\n") %
self.template_files
> + buf = buf + _("virt auto boot : %s\n") %
self.virt_auto_boot
> buf = buf + _("virt bridge : %s\n") % self.virt_bridge
> buf = buf + _("virt cpus : %s\n") % self.virt_cpus
> buf = buf + _("virt file size : %s\n") %
self.virt_file_size
> @@ -372,6 +379,8 @@ class Profile(item.Item):
> 'kopts' : self.set_kernel_options,
> 'kopts-post' : self.set_kernel_options_post,
> 'kopts_post' :
> self.set_kernel_options_post,
> + 'virt-auto-boot' : self.set_virt_auto_boot,
> + 'virt_auto_boot' :
> self.set_virt_auto_boot,
> 'virt-file-size' : self.set_virt_file_size,
> 'virt_file_size' :
> self.set_virt_file_size,
> 'virt-ram' : self.set_virt_ram,
> diff --git a/cobbler/item_system.py b/cobbler/item_system.py
> index b7e7744..72ca4c0 100644
> --- a/cobbler/item_system.py
> +++ b/cobbler/item_system.py
> @@ -58,6 +58,7 @@ class System(item.Item):
> self.virt_cpus = "<<inherit>>" #
""
> self.virt_file_size = "<<inherit>>" #
""
> self.virt_ram = "<<inherit>>" #
""
> + self.virt_auto_boot = "<<inherit>>" #
""
> self.virt_type = "<<inherit>>" #
""
> self.virt_path = "<<inherit>>" #
""
> self.virt_bridge = "<<inherit>>" #
""
> @@ -186,6 +187,7 @@ class System(item.Item):
> self.virt_path = self.load_item(seed_data, 'virt_path',
> '<<inherit>>')
> self.virt_type = self.load_item(seed_data, 'virt_type',
> '<<inherit>>')
> self.virt_ram =
> self.load_item(seed_data,'virt_ram','<<inherit>>')
> + self.virt_auto_boot =
> self.load_item(seed_data,'virt_auto_boot','<<inherit>>')
> self.virt_file_size =
> self.load_item(seed_data,'virt_file_size','<<inherit>>')
> self.virt_path =
> self.load_item(seed_data,'virt_path','<<inherit>>')
> self.virt_type =
> self.load_item(seed_data,'virt_type','<<inherit>>')
> @@ -534,6 +536,9 @@ class System(item.Item):
> def set_virt_file_size(self,num):
> return utils.set_virt_file_size(self,num)
>
> + def set_virt_auto_boot(self,num):
> + return utils.set_virt_auto_boot(self,num)
> +
> def set_virt_ram(self,num):
> return utils.set_virt_ram(self,num)
>
> @@ -662,6 +667,7 @@ class System(item.Item):
> 'virt_file_size' : self.virt_file_size,
> 'virt_path' : self.virt_path,
> 'virt_ram' : self.virt_ram,
> + 'virt_auto_boot' : self.virt_auto_boot,
> 'virt_type' : self.virt_type,
> 'mgmt_classes' : self.mgmt_classes,
> 'template_files' : self.template_files,
> @@ -707,6 +713,7 @@ class System(item.Item):
> buf = buf + _("virt file size : %s\n") %
self.virt_file_size
> buf = buf + _("virt path : %s\n") % self.virt_path
> buf = buf + _("virt ram : %s\n") % self.virt_ram
> + buf = buf + _("virt auto boot : %s\n") %
self.virt_auto_boot
> buf = buf + _("virt type : %s\n") % self.virt_type
>
> buf = buf + _("power type : %s\n") % self.power_type
> @@ -781,6 +788,8 @@ class System(item.Item):
> 'delete_interface' : self.delete_interface,
> 'virt-path' : self.set_virt_path,
> 'virt_path' : self.set_virt_path,
> + 'virt-auto-boot' : self.set_virt_auto_boot,
> + 'virt_auto_boot' : self.set_virt_auto_boot,
> 'virt-ram' : self.set_virt_ram,
> 'virt_ram' : self.set_virt_ram,
> 'virt-type' : self.set_virt_type,
> diff --git a/cobbler/remote.py b/cobbler/remote.py
> index eaf3d41..35f7cbb 100644
> --- a/cobbler/remote.py
> +++ b/cobbler/remote.py
> @@ -1979,6 +1979,7 @@ def test_xmlrpc_rw():
> server.modify_profile(pid, "kickstart",
> "/var/lib/cobbler/kickstarts/sample.ks", token)
> server.modify_profile(pid, "kopts", { "level" :
"11" }, token)
> server.modify_profile(pid, "kopts-post", "noapic", token)
> + server.modify_profile(pid, "virt-auto-boot", 0, token)
> server.modify_profile(pid, "virt-file-size", 20, token)
> server.modify_profile(pid, "virt-ram", 2048, token)
> server.modify_profile(pid, "repos", [], token)
> @@ -2050,6 +2051,7 @@ def test_xmlrpc_rw():
> server.modify_image(iid, "arch", "x86_64", token)
> server.modify_image(iid, "file",
"nfs://server/path/to/x.iso", token)
> server.modify_image(iid, "owners", [ "alex",
"michael" ], token)
> + server.modify_image(iid, "virt-auto-boot", 0, token)
> server.modify_image(iid, "virt-cpus", 1, token)
> server.modify_image(iid, "virt-file-size", 5, token)
> server.modify_image(iid, "virt-bridge", "virbr0", token)
> diff --git a/cobbler/settings.py b/cobbler/settings.py
> index ce49d9c..576af2c 100644
> --- a/cobbler/settings.py
> +++ b/cobbler/settings.py
> @@ -108,6 +108,7 @@ DEFAULTS = {
> "tftpd_bin" : "/usr/sbin/in.tftpd",
> "tftpd_conf" : "/etc/xinetd.d/tftp",
> "tftpd_rules" : "/etc/tftpd.rules",
> + "virt_auto_boot" : 0,
> "vsftpd_bin" : "/usr/sbin/vsftpd",
> "webdir" : "/var/www/cobbler",
> "xmlrpc_port" : 25151,
> diff --git a/cobbler/utils.py b/cobbler/utils.py
> index 72b438f..badc524 100644
> --- a/cobbler/utils.py
> +++ b/cobbler/utils.py
> @@ -1177,6 +1177,28 @@ def set_virt_file_size(self,num):
> raise CX(_("invalid virt file size"))
> return True
>
> +def set_virt_auto_boot(self,num):
> + """
> + For Virt only.
> + Specifies whether the VM should automatically boot upon host reboot
> + 0 tells Koan not to auto_boot virtuals
> + """
> +
> + if num == "<<inherit>>":
> + self.virt_auto_boot = "<<inherit>>"
> + return True
> +
> + # num is a non-negative integer (0 means default)
> + try:
> + inum = int(num)
> + if (inum == 0) or (inum == 1):
> + self.virt_auto_boot = inum
> + return True
> + return CX(_("invalid virt_auto_boot value: value must be
> either '0' (disabled) or '1' (enabled)"))
> + except:
> + return CX(_("invalid virt_auto_boot value: value must be
> either '0' (disabled) or '1' (enabled)"))
> + return True
> +
> def set_virt_ram(self,num):
> """
> For Virt only.
> diff --git a/contrib/ruby/lib/cobbler/image.rb
> b/contrib/ruby/lib/cobbler/image.rb
> index ea9dddc..03493c9 100644
> --- a/contrib/ruby/lib/cobbler/image.rb
> +++ b/contrib/ruby/lib/cobbler/image.rb
> @@ -32,7 +32,7 @@ module Cobbler
>
> ATTRIBUTES = [:name, :owners, :depth, :virt_file_size,
> :virt_path, :xml_file, :virt_bridge, :file, :parent,
> - :image_type, :virt_ram, :virt_cpus, :virt_type, :network_count]
> + :image_type, :virt_ram, :virt_auto_boot, :virt_cpus, :virt_type,
> :network_count]
>
> ATTRIBUTES.each do |attr|
> cobbler_field attr
> diff --git a/contrib/ruby/lib/cobbler/profile.rb
> b/contrib/ruby/lib/cobbler/profile.rb
> index 9ee27df..438ea26 100644
> --- a/contrib/ruby/lib/cobbler/profile.rb
> +++ b/contrib/ruby/lib/cobbler/profile.rb
> @@ -44,6 +44,7 @@ module Cobbler
> cobbler_field :server
> cobbler_field :virt_bridge
> cobbler_field :virt_ram
> + cobbler_field :virt_auto_boot
> cobbler_field :kernel_options
> cobbler_field :virt_cpus
> cobbler_field :ks_meta
> diff --git a/contrib/ruby/lib/cobbler/system.rb
> b/contrib/ruby/lib/cobbler/system.rb
> index 5751ede..b6d6cea 100644
> --- a/contrib/ruby/lib/cobbler/system.rb
> +++ b/contrib/ruby/lib/cobbler/system.rb
> @@ -46,6 +46,7 @@ module Cobbler
> cobbler_field :virt_file_size
> cobbler_field :virt_path
> cobbler_field :virt_ram
> + cobbler_field :virt_auto_boot
> cobbler_field :virt_type
> cobbler_field :virt_bridge
>
> diff --git a/contrib/ruby/test/test_image.rb
> b/contrib/ruby/test/test_image.rb
> index a29218f..53ff95c 100644
> --- a/contrib/ruby/test/test_image.rb
> +++ b/contrib/ruby/test/test_image.rb
> @@ -47,6 +47,7 @@ module Cobbler
> 'virt_path' => '<<inherit>>',
> 'virt_bridge' => '<<inherit>>',
> 'virt_ram' => '<<inherit>>',
> + 'virt_auto_boot' => '<<inherit>>',
> 'virt_cpus' => '<<inherit>>',
> 'file' =>
'/var/ftp/pub/Fedora-9-i686-Live-KDE.iso',
> 'parent' => nil,
> @@ -60,6 +61,7 @@ module Cobbler
> 'virt_path' => '<<inherit>>',
> 'virt_bridge' => '<<inherit>>',
> 'virt_ram' => '<<inherit>>',
> + 'virt_auto_boot' => '<<inherit>>',
> 'virt_cpus' => '<<inherit>>',
> 'file' =>
'/var/ftp/pub/Fedora-9-i686-Live.iso',
> 'parent' => nil,
> diff --git a/contrib/ruby/test/test_profile.rb
> b/contrib/ruby/test/test_profile.rb
> index 237f47b..76251a9 100644
> --- a/contrib/ruby/test/test_profile.rb
> +++ b/contrib/ruby/test/test_profile.rb
> @@ -44,6 +44,7 @@ module Cobbler
> 'owners' => ['admin'],
> 'repos' => [],
> 'server' => '<<inherit>>',
> + 'virt auto boot' => 0,
> 'virt bridge' => 'xenbr0',
> 'virt cpus' => '1',
> 'virt file size' => '5',
> @@ -62,6 +63,7 @@ module Cobbler
> 'owners' => ['admin'],
> 'repos' => [],
> 'server' => '<<inherit>>',
> + 'virt auto boot' => 0,
> 'virt bridge' => 'xenbr0',
> 'virt cpus' => '1',
> 'virt file size' => '5',
> diff --git a/contrib/ruby/test/test_system.rb
> b/contrib/ruby/test/test_system.rb
> index 727ea7e..db13bc3 100644
> --- a/contrib/ruby/test/test_system.rb
> +++ b/contrib/ruby/test/test_system.rb
> @@ -67,6 +67,7 @@ module Cobbler
> },
> 'virt_bridge' => '<<inherit>>',
> 'virt_ram' => '<<inherit>>',
> + 'virt_auto_boot' => '<<inherit>>',
> 'ks_meta' => nil,
> 'netboot_enabled' => 'True',
> 'kernel_options' => nil,
> @@ -89,6 +90,7 @@ module Cobbler
> 'mac_address' => 'AA:BB:CC:DD:EE:FF'}},
> 'virt_bridge' => '<<inherit>>',
> 'virt_ram' => '<<inherit>>',
> + 'virt_auto_boot' => '<<inherit>>',
> 'ks_meta' => nil,
> 'netboot_enabled' => 'True',
> 'kernel_options' => nil,
> diff --git a/installer_templates/settings.template
> b/installer_templates/settings.template
> index 51457a6..81ccdb4 100644
> --- a/installer_templates/settings.template
> +++ b/installer_templates/settings.template
> @@ -346,6 +346,11 @@ anamon_enabled: 0
> tftpd_bin: /usr/sbin/in.tftpd
> tftpd_conf: /etc/xinetd.d/tftp
>
> +# by default, profiles/systems will not be set to 'auto-boot' virtual
> systems;
> +# i.e. if a physical system reboots, the virtual systems hosted on that
> +# physical system will NOT be booted automatically.
> +virt_auto_boot: 0
> +
> # cobbler's web directory. Don't change this setting -- see the
> # Wiki on "relocating your cobbler install" if your /var partition
> # is not large enough.
> diff --git a/webui_templates/image_edit.tmpl
> b/webui_templates/image_edit.tmpl
> index 8c369db..83a2c21 100644
> --- a/webui_templates/image_edit.tmpl
> +++ b/webui_templates/image_edit.tmpl
> @@ -196,6 +196,21 @@ function disablename(value)
> </td>
> </tr>
>
> + ## self.virt_auto_boot = self.settings.virt_auto_boot
> +
> + <tr>
> + <td>
> + <label for="virtautoboot">Virt AutoBoot</label>
> + </td>
> + <td>
> + <input type="text" size="5" style="width:
150px;"
> name="virtautoboot" id="virtautoboot"
> + #if $image
> + value="$image.virt_auto_boot"
> + #end if
> + />
> + <p class="context-tip">For virtual installs only, enable/disable
VM
> autoboot.</p>
> + </td>
> + </tr>
> ## self.virt_file_size = self.settings.default_virt_file_size
>
> <tr>
> diff --git a/webui_templates/profile_edit.tmpl
> b/webui_templates/profile_edit.tmpl
> index 1091de5..4cbc20a 100644
> --- a/webui_templates/profile_edit.tmpl
> +++ b/webui_templates/profile_edit.tmpl
> @@ -299,6 +299,19 @@ function disablename(value)
>
> <tr>
> <td class="virtedit">
> + <label for="virtautoboot">Virt AutoBoot</label>
> + </td>
> + <td class="virtedit">
> + <input type="text" size="5" style="width:
150px;"
> name="virtautoboot" id="virtautoboot"
> + #if $profile
> + value="$profile.virt_auto_boot"
> + #end if
> + />
> + <p class="context-tip">For virtual installs only, enable/disable
VM
> autoboot.</p>
> + </td>
> + </tr>
> + <tr>
> + <td class="virtedit">
> <label for="virttype">Virt Type</label>
> </td>
> <td class="virtedit">
> diff --git a/webui_templates/search.tmpl b/webui_templates/search.tmpl
> index 44f1eb5..3f0adf0 100644
> --- a/webui_templates/search.tmpl
> +++ b/webui_templates/search.tmpl
> @@ -58,6 +58,7 @@
> <option value="redhat_management_server">red hat
management
> server</option>
> <option value="repos">repos</option>
> <option value="template_files">template
files</option>
> + <option value="virt_auto_boot">virt
autoboot</option>
> <option value="virt_bridge">virt bridge</option>
> <option value="virt_cpus">virt cpus</option>
> <option value="virt_file_size">virt file size
(GB)</option>
> @@ -104,6 +105,7 @@
> <option value="static">static</option>
> <option
value="static_routes">static_routes</option>
> <option value="template_files">template
files</option>
> + <option value="virt_auto_boot">virt
autoboot</option>
> <option value="virt_bridge">virt bridge</option>
> <option value="virt_cpus">virt cpus</option>
> <option value="virt_file_size">virt file size
(GB)</option>
> @@ -135,6 +137,7 @@
> <option value="network_count">network
count</option>
> <option value="os_version">os version</option>
> <option value="owners">owners</option>
> + <option value="virt_auto_boot">virt
autoboot</option>
> <option value="virt_ram">virt ram (MB)</option>
> <option value="virt_path">virt path</option>
> <option value="virt_type">virt type</option>
> diff --git a/webui_templates/system_edit.tmpl
> b/webui_templates/system_edit.tmpl
> index cf04725..b1d6335 100644
> --- a/webui_templates/system_edit.tmpl
> +++ b/webui_templates/system_edit.tmpl
> @@ -646,6 +646,18 @@ redhatmanagementserver"
>
> <tr>
> <td class="virtedit">
> + <label for="virtautoboot">Virt AutoBoot</label>
> + </td>
> + <td class="virtedit">
> + <input type="text" size="5" style="width:
150px;"
> name="virtautoboot" id="virtautoboot"
> + #if $system
> + value="$system.virt_auto_boot"
> + #end if
> + />
> + <p class="context-tip">For virtual installs only, enable/disable
VM
> autoboot.</p>
> + </td>
> + <tr>
> + <td class="virtedit">
> <label for="virttype">Virt Type</label>
> </td>
> <td class="virtedit">
>
>
Excellent, thanks... is there a koan patch series to go with this one so
the command will function?
I know you did the symlink thing before. If it only does the symlink
that's a start, and we can look at how to do it for qemu/KVM afterwards.
(Getting a bit late, so I will most likely will be applying patches
tomorrow, then I expect to be caught up with everyone's patches)
--Michael
_______________________________________________
cobbler-devel mailing list
cobbler-devel(a)lists.fedorahosted.org
https://fedorahosted.org/mailman/listinfo/cobbler-devel