diff --git a/tests/cli-test-xml/compare/virt-install-arm-vexpress-f19.xml b/tests/cli-test-xml/compare/virt-install-arm-vexpress-f19.xml
index 42b39438..493de632 100644
--- a/tests/cli-test-xml/compare/virt-install-arm-vexpress-f19.xml
+++ b/tests/cli-test-xml/compare/virt-install-arm-vexpress-f19.xml
@@ -8,7 +8,7 @@
hvm
/f19-arm.kernel
/f19-arm.initrd
- console=ttyAMA0 rw root=/dev/vda3
+ console=ttyAMA0,1234 rw root=/dev/vda3
/f19-arm.dtb
diff --git a/tests/clitest.py b/tests/clitest.py
index 3b1e47b0..36f7f625 100644
--- a/tests/clitest.py
+++ b/tests/clitest.py
@@ -520,7 +520,7 @@ c.add_compare("--os-variant fedora20 --nodisks --boot network --nographics --arc
c.add_compare("--os-variant fedora20 --boot fd --graphics spice --machine pc --cpu none --disk %(EXISTIMG1)s,bus=scsi --controller virtio-scsi", "kvm-machine") # kvm machine type 'pc'
c.add_compare("--os-variant fedora20 --nodisks --boot fd --graphics sdl --arch sparc --machine SS-20", "qemu-sparc") # exotic arch + machine type
c.add_compare("--arch armv7l --machine vexpress-a9 --boot kernel=/f19-arm.kernel,initrd=/f19-arm.initrd,dtb=/f19-arm.dtb,extra_args=\"console=ttyAMA0 rw root=/dev/mmcblk0p3\" --disk %(EXISTIMG1)s --nographics", "arm-vexpress-plain", skip_check=support.SUPPORT_CONN_DISK_SD)
-c.add_compare("--arch armv7l --machine vexpress-a15 --boot kernel=/f19-arm.kernel,initrd=/f19-arm.initrd,dtb=/f19-arm.dtb,kernel_args=\"console=ttyAMA0 rw root=/dev/vda3\",extra_args=foo --disk %(EXISTIMG1)s --nographics --os-variant fedora19", "arm-vexpress-f19", skip_check=support.SUPPORT_CONN_VIRTIO_MMIO)
+c.add_compare("--arch armv7l --machine vexpress-a15 --boot kernel=/f19-arm.kernel,initrd=/f19-arm.initrd,dtb=/f19-arm.dtb,kernel_args=\"console=ttyAMA0,1234 rw root=/dev/vda3\",extra_args=foo --disk %(EXISTIMG1)s --nographics --os-variant fedora19", "arm-vexpress-f19", skip_check=support.SUPPORT_CONN_VIRTIO_MMIO)
c.add_compare("--arch ppc64 --machine pseries --boot network --disk %(EXISTIMG1)s --os-variant fedora20 --network none", "ppc64-pseries-f20")
c.add_compare("--disk none --location /tmp/fake.iso --nonetworks", "location-iso") # Using --location iso mounting
c.add_compare("--disk %(EXISTIMG1)s --pxe --os-variant rhel6.4", "kvm-rhel6") # RHEL6 defaults
@@ -752,7 +752,7 @@ c.add_valid("--paravirt --location %(TREEDIR)s") # Paravirt location
c.add_valid("--paravirt --location %(TREEDIR)s --os-variant none") # Paravirt location with --os-variant none
c.add_valid("--hvm --location %(TREEDIR)s --os-variant fedora12") # URL install with manual os-variant
c.add_valid("--hvm --pxe --boot menu=on") # Boot menu
-c.add_valid("--hvm --pxe --boot kernel=/tmp/foo1.img,initrd=/tmp/foo2.img,dtb=/tmp/foo2.dtb,kernel_args='ro quiet console=/dev/ttyS0'") # Kernel params
+c.add_valid("--hvm --pxe --boot kernel=/tmp/foo1.img,initrd=/tmp/foo2.img,dtb=/tmp/foo2.dtb,extra_args='ro quiet console=/dev/ttyS0,456'") # Kernel params
c.add_valid("--hvm --pxe --boot cdrom,fd,hd,network,menu=off") # Boot order
c.add_valid("--hvm --boot network,hd,menu=on") # Boot w/o other install option
c.add_invalid("--hvm --pxe --virt-type bogus") # Bogus virt-type
@@ -763,7 +763,7 @@ c.add_invalid("--livecd") # LiveCD with no media
c.add_invalid("--hvm --pxe --os-variant farrrrrrrge") # Bogus --os-variant
c.add_invalid("--hvm --pxe --boot menu=foobar")
c.add_invalid("--hvm --cdrom %(EXISTIMG1)s --extra-args console=ttyS0") # cdrom fail w/ extra-args
-c.add_invalid("--hvm --boot kernel=%(TREEDIR)s/pxeboot/vmlinuz,initrd=%(TREEDIR)s/pxeboot/initrd.img --initrd-inject virt-install") # initrd-inject with manual kernel/initrd
+c.add_invalid("--hvm --boot kernel=%(TREEDIR)s/pxeboot/vmlinuz,initrd=%(TREEDIR)s/pxeboot/initrd.img,kernel_args='foo bar' --initrd-inject virt-install") # initrd-inject with manual kernel/initrd
diff --git a/virtinst/cli.py b/virtinst/cli.py
index 0892d1d4..e57ffbb0 100644
--- a/virtinst/cli.py
+++ b/virtinst/cli.py
@@ -797,7 +797,11 @@ class VirtOptionString(object):
"""
self.fullopts = optstr
- virtargmap = dict((arg.cliname, arg) for arg in virtargs)
+ virtargmap = {}
+ for arg in virtargs:
+ virtargmap[arg.cliname] = arg
+ for alias in arg.aliases:
+ virtargmap[alias] = arg
# @opts: A dictionary of the mapping {cliname: val}
# @orderedopts: A list of tuples (cliname: val), in the order
@@ -1290,7 +1294,8 @@ class ParserBoot(VirtCLIParser):
self.set_param("os.loader_type", "loader_type")
self.set_param("os.nvram", "nvram")
self.set_param("os.nvram_template", "nvram_template")
- self.set_param("os.kernel_args", "kernel_args", aliases=["extra_args"])
+ self.set_param("os.kernel_args", "kernel_args",
+ aliases=["extra_args"], can_comma=True)
self.set_param("os.init", "init")
self.set_param("os.arch", "arch")
self.set_param("type", "domain_type")