On 09/22/2015 06:20 AM, Nan Xiao wrote: > Hi all, > > I want to use "virt-install" command to create a virtual machine, and > output the log from the > console. The command is like this: > > virt-install \ > --name opensuse12 \ > --ram 1024 \ > --disk path=./opensuse12.qcow2,size=8 \ > --vcpus 1 \ > --os-type linux \ > --os-variant generic \ > --network bridge=virbr0 \ > --graphics none \ > --console 'pty,target_type=serial' \ > --location 'http://download.opensuse.org/distribution/12.3/repo/oss/' \ > --extra-args 'console=ttyS0' \ > -d > > > > The execution result is: > > ...... > [Tue, 22 Sep 2015 06:13:20 virt-install 9309] ERROR (cli:296) 'in > <string>' requires string as left operand, not NoneType > [Tue, 22 Sep 2015 06:13:20 virt-install 9309] DEBUG (cli:298) > Traceback (most recent call last): > File "/usr/share/virt-manager/virt-install", line 1084, in <module> > sys.exit(main()) > File "/usr/share/virt-manager/virt-install", line 1069, in main > guest = build_guest_instance(conn, options, parsermap) > File "/usr/share/virt-manager/virt-install", line 651, in build_guest_instance > show_warnings(options, guest) > File "/usr/share/virt-manager/virt-install", line 556, in show_warnings > _show_nographics_warnings(options, guest) > File "/usr/share/virt-manager/virt-install", line 531, in > _show_nographics_warnings > if console_type in options.extra_args: > TypeError: 'in <string>' requires string as left operand, not NoneType > > >>From the virt-install source code: > > def _show_nographics_warnings(options, guest): > ...... > serial_arg = "console=ttyS0" > serial_arm_arg = "console=ttyAMA0" > virtio_arg = "console=hvc0" > console_type = None > if guest.conn.is_test() or guest.conn.is_qemu(): > console_type = serial_arg > if guest.os.arch.startswith("arm") or guest.os.arch == "aarch64": > console_type = serial_arm_arg > if guest.get_devices("console")[0].target_type == "virtio": > console_type = virtio_arg > > if not options.extra_args or "console=" not in options.extra_args: > logging.warn(_("No 'console' seen in --extra-args, a '%s' kernel " > "argument is likely required to see text install output from " > "the guest."), console_type or "console=") > return > > if console_type in options.extra_args: > return > ...... > > I can see since console_type is "None", so the function will return directly. > > > So I am confused how to set console correctly to redirect the log like > host machine? > > Thanks very much in advance! > Thanks for the report. That's a bug: console_type is None if using xen. Unfortunately the test suite doesn't hit this code path because we don't enter this function if --noautoconsole is set, and the test suite basically always uses that. Anyways I've fixed it in virt-manager.git now: commit 601a82cb87ebc055ba9dd52864317bd513613814 Author: Cole Robinson <crobinso@xxxxxxxxxx> Date: Tue Sep 22 08:42:09 2015 -0400 virt-install: Simplify --extra-args text install warnings - Drop the warnings about incorrect console=, that's a little too fine grained and was really only about virtio-console default confusion which doesn't apply anymore - Skip the check for xenpv which seems to always 'just work' - Drop the opencoded arm check, use is_arm - Fix an error when xen HVM is used (reported on virt-tools-list) Please give that a spin and confirm it fixes your issue: git clone git://github.com/virt-manager/virt-manager cd virt-manager ./virt-install ... Thanks, Cole _______________________________________________ virt-tools-list mailing list virt-tools-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/virt-tools-list