cli: Add --boot initdir, inituser, initgroup options

XML Mapping:

<os>
...
<initdir>X</initdir>
<inituser>X</inituser>
<initgroup>X</initgroup>
...
</os>

Reviewed-by: Cole Robinson <crobinso@redhat.com>
Signed-off-by: Athina Plaskasoviti <athina.plaskasoviti@gmail.com>
This commit is contained in:
Athina Plaskasoviti 2019-08-02 16:17:59 +03:00 committed by Cole Robinson
parent 6c7a586a9c
commit 7f8648c53d
4 changed files with 14 additions and 1 deletions

View File

@ -94,6 +94,9 @@
<os firmware="efi">
<type arch="x86_64" machine="q35">hvm</type>
<loader>/foo/bar</loader>
<initdir>/my/custom/cwd</initdir>
<inituser>tester</inituser>
<initgroup>1000</initgroup>
<boot dev="network"/>
<smbios mode="sysinfo"/>
<bootmenu enable="no"/>
@ -319,6 +322,9 @@
<os firmware="efi">
<type arch="x86_64" machine="q35">hvm</type>
<loader>/foo/bar</loader>
<initdir>/my/custom/cwd</initdir>
<inituser>tester</inituser>
<initgroup>1000</initgroup>
<boot dev="cdrom"/>
<boot dev="fd"/>
<boot dev="hd"/>

View File

@ -508,7 +508,7 @@ cache.mode=emulate,cache.level=3
--cputune vcpupin0.vcpu=0,vcpupin0.cpuset=0-3
--iothreads iothreads=2,iothreadids.iothread1.id=1,iothreadids.iothread2.id=2
--metadata title=my-title,description=my-description,uuid=00000000-1111-2222-3333-444444444444,genid=e9392370-2917-565e-692b-d057f46512d6
--boot cdrom,fd,hd,network,menu=off,loader=/foo/bar,emulator=/new/emu,bootloader=/new/bootld,rebootTimeout=3,initargs="foo=bar baz=woo",firmware=efi
--boot cdrom,fd,hd,network,menu=off,loader=/foo/bar,emulator=/new/emu,bootloader=/new/bootld,rebootTimeout=3,initargs="foo=bar baz=woo",initdir=/my/custom/cwd,inituser=tester,initgroup=1000,firmware=efi
--idmap uid_start=0,uid_target=1000,uid_count=10,gid_start=0,gid_target=1000,gid_count=10
--seclabel type=static,label='system_u:object_r:svirt_image_t:s0:c100,c200',relabel=yes,baselabel=baselabel
--seclabel type=dynamic,label=012:345

View File

@ -2330,6 +2330,9 @@ class ParserBoot(VirtCLIParser):
cls.add_arg("initargs", "initargs", cb=cls.set_initargs_cb)
cls.add_arg("initarg[0-9]*", "val",
find_inst_cb=cls.initarg_find_inst_cb)
cls.add_arg("initdir", "initdir")
cls.add_arg("inituser", "inituser")
cls.add_arg("initgroup", "initgroup")
cls.add_arg("loader", "loader")
cls.add_arg("loader.readonly", "loader_ro", is_onoff=True)
cls.add_arg("loader.type", "loader_type")

View File

@ -67,6 +67,7 @@ class DomainOs(XMLBuilder):
XML_NAME = "os"
_XML_PROP_ORDER = ["arch", "os_type", "loader", "loader_ro", "loader_type",
"nvram", "nvram_template", "kernel", "initrd",
"initdir", "inituser", "initgroup",
"kernel_args", "dtb", "bootdevs", "smbios_mode"]
def _get_bootorder(self):
@ -100,6 +101,9 @@ class DomainOs(XMLBuilder):
kernel_args = XMLProperty("./cmdline")
init = XMLProperty("./init")
initdir = XMLProperty("./initdir")
inituser = XMLProperty("./inituser")
initgroup = XMLProperty("./initgroup")
loader = XMLProperty("./loader")
loader_ro = XMLProperty("./loader/@readonly", is_yesno=True)
loader_type = XMLProperty("./loader/@type")