Got messy code via console log in AArch64

Bug #1604677 reported by Kevin Zhao on 2016-07-20
This bug affects 2 people
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
Kevin Zhao

Bug Description

After launching a instance in AArch64 via Nova, running nova console log I can get some messy code information. Due to the console type is not correct.
1.Using devstack to deploy openstack. Using default local.conf.

2.Upload the aarch64 image with glance.
$ source ~/devstack/openrc admin admin
$ glance image-create --name image-arm64.img --disk-format qcow2 --container-format bare --visibility public --file images/image-arm64-wily.qcow2 --progress
$ glance image-create --name image-arm64.vmlinuz --disk-format aki --container-format aki --visibility public --file images/image-arm64-wily.vmlinuz --progress
$ glance image-create --name image-arm64.initrd --disk-format ari --container-format ari --visibility public --file images/image-arm64-wily.initrd --progress
$ IMAGE_UUID=$(glance image-list | grep image-arm64.img | awk '{ print $2 }')
$ IMAGE_KERNEL_UUID=$(glance image-list | grep image-arm64.vmlinuz | awk '{ print $2 }')
$ IMAGE_INITRD_UUID=$(glance image-list | grep image-arm64.initrd | awk '{ print $2 }')
$ glance image-update --kernel-id ${IMAGE_KERNEL_UUID} --ramdisk-id ${IMAGE_INITRD_UUID} ${IMAGE_UUID}
3.Set the scsi model:
$ glance image-update --property hw_disk_bus --property hw_scsi_model=virtio-scsi ${IMAGE_UUID}

4.nova add keypair
$ nova keypair-add default --pub-key ~/.ssh/

5.Launch the instance:
$ image=$(nova image-list | egrep "image-arm64.img"'[^-]' | awk '{ print $2 }')
$ nova boot --flavor m1.small--image ${image} --key-name default test-arm64

6.nova console-log <instanceid>

Expected result
Get the console information

Actual result
Messy Code or No information.

The default kernel command line is not properly in AArch64. "console=tty0 console=ttyS0" is not supported in AArch64.

1. Exact version of OpenStack you are running. See the following
  list for all releases:
   Nova development, commit code: 3e96b0fde010c3f800a539eec5376c3c379c8594

2. Which hypervisor did you use?
    $ kvm --version
    QEMU emulator version 2.5.0 (Debian 1:2.5+dfsg-5ubuntu10.1), Copyright (c) 2003-2008 Fabrice Bellard
    $ libvirtd --version
    libvirtd (libvirt) 1.3.1

2. Which storage type did you use?
   In the host file system,all in one physics machine.
stack@u202154:/opt/stack/nova$ df -hl
Filesystem Size Used Avail Use% Mounted on
udev 7.8G 0 7.8G 0% /dev
tmpfs 1.6G 21M 1.6G 2% /run
/dev/sda2 917G 12G 859G 2% /
tmpfs 7.9G 0 7.9G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 7.9G 0 7.9G 0% /sys/fs/cgroup
/dev/sda1 511M 888K 511M 1% /boot/efi
cgmfs 100K 0 100K 0% /run/cgmanager/fs
tmpfs 1.6G 0 1.6G 0% /run/user/1002

3. Which networking type did you use?

4. Environment information:
   Architecture : AARCH64
   OS: Ubuntu 16.04

Detailed log info is in the accessory.
The guest xml is:
<domain type="kvm">
    <nova:instance xmlns:nova="">
      <nova:package version="14.0.0"/>
      <nova:creationTime>2016-07-20 06:09:32</nova:creationTime>
      <nova:flavor name="m1.medium">
        <nova:user uuid="0d6bdadb64b0465f91c29ed99bcfdc1b">admin</nova:user>
        <nova:project uuid="515d0c47f9834dd2be2295e5a6232548">admin</nova:project>
      <nova:root type="image" uuid="96c15ae2-7a6c-429f-8c73-0a06b76110ee"/>
    <type machine="virt">hvm</type>
    <cmdline>root=/dev/vda console=ttyAMA0</cmdline>
  <clock offset="utc">
    <timer name="pit" tickpolicy="delay"/>
    <timer name="rtc" tickpolicy="catchup"/>
  <cpu mode="host-passthrough" match="exact">
    <topology sockets="2" cores="1" threads="1"/>
    <disk type="file" device="disk">
      <driver name="qemu" type="qcow2" cache="none"/>
      <source file="/opt/stack/data/nova/instances/c1be4539-43ba-4c88-b725-cdaf0fbccf8e/disk"/>
      <target bus="virtio" dev="vda"/>
    <disk type="file" device="cdrom">
      <driver name="qemu" type="raw" cache="none"/>
      <source file="/opt/stack/data/nova/instances/c1be4539-43ba-4c88-b725-cdaf0fbccf8e/disk.config"/>
      <target bus="scsi" dev="sdz"/>
    <interface type="bridge">
      <mac address="fa:16:3e:cb:13:a1"/>
      <model type="virtio"/>
      <source bridge="br100"/>
      <filterref filter="nova-instance-instance-00000015-fa163ecb13a1"/>
    <serial type="file">
      <source path="/opt/stack/data/nova/instances/c1be4539-43ba-4c88-b725-cdaf0fbccf8e/console.log"/>
    <serial type="pty"/>
    <memballoon model="virtio">
      <stats period="10"/>

Kevin Zhao (kevin-zhao) on 2016-07-20
Changed in nova:
assignee: nobody → Kevin Zhao (kevin-zhao)

Fix proposed to branch: master

Changed in nova:
status: New → In Progress

Change abandoned by Michael Still (<email address hidden>) on branch: master
Reason: This patch has been sitting unchanged for more than 12 weeks. I am therefore going to abandon it to keep the review queue sane. Please feel free to restore the change if you're still working on it.

Sean Dague (sdague) wrote :

There are no currently open reviews on this bug, changing
the status back to the previous state and unassigning. If
there are active reviews related to this bug, please include
links in comments.

Changed in nova:
status: In Progress → New
assignee: Kevin Zhao (kevin-zhao) → nobody
Sean Dague (sdague) wrote :

The previous patch seems to have died because no unit tests were provided. Please feel free to update the bug with a new patch.

Changed in nova:
status: New → Opinion
importance: Undecided → Wishlist
Kevin Zhao (kevin-zhao) wrote :

Thanks @Sean, I will do this ASAP

Changed in nova:
assignee: nobody → Kevin Zhao (kevin-zhao)
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers