[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [libvirt] Xen 4.1 misc issues



On 09/11/2013 08:29 PM, Jim Fehlig wrote:
Roberto Sassu wrote:
Hi everyone

I'm using Ubuntu 12.04.3 LTS with the Xen hypervisor
installed (package version: 4.1.2-2ubuntu2.10),
and Libvirt v0.10.2.2 (that interacts with Xen through
the libxl driver).

I performed some adjustments to have the required
features:

  - Switch from Xend to libxl:
      I created upstart jobs for xenstored and xenconsoled
      so that necessary daemons are started earlier enough
      and Libvirt can contact the hypervisor through libxl.

  - Add support for Open vSwitch:
      I added the script 'vif-openvswitch', taken from
      the master branch of the GIT repository, to the
      /etc/xen/scripts directory in order to plug network
      interfaces to Open vSwitch switches.

I know that the support for libxl is experimental
in Xen 4.1, but I'm wondering if someone has a solution
to the following issues:

Note that in libvirt 1.0.1, I removed support for Xen 4.1 libxl from the
libvirt libxl driver when adding support for libxl in Xen 4.2 and beyond

https://www.redhat.com/archives/libvir-list/2012-November/msg01582.html

The libxl interface underwent several incompatible changes between 4.1
and 4.2, and since libxl in 4.1 was experimental I saw no reason to
clutter the libvirt libxl driver with support both.  For Xen <= 4.1, you
should use the legacy xen libvirt driver, which has been around for
years and is quite stable.

If you are interested in libxl, can you use a more recent Xen (>= 4.2)
and libvirt (preferably 1.1.2 since it contains console support you
mention below)?  IMO, I don't think we should waste time investigating
issues in a configuration no longer supported.


Hi Jim

ok. Just an update on the tests I'm doing that may help others
which are encountering the same error.

The failure rate of the configuration I reported in the
previous email is about 36% (18 failed attempts over 50 total).

If I remove the 'vfb' block in the Xen domain configuration
or the 'graphics' block in the Libvirt XML, the failure
rate is 0,56% (7 failed attempts over 1241 total).

The issue seems related to the device attaching operation,
as I observed, in the output of 'xenstore-ls', that the
state of 'qdisk' in the dom0 section is '1' instead
of '4' and the state of 'vbd' in the domU section is '3'
instead of '4'.

I'm attaching the output of xenstore-ls after instantiating
with virsh two VMs without the 'graphics' block, once at time.
I'm reporting the content for a VM correctly instantiated
and for a VM not properly started.

Regards

Roberto Sassu


Regards,
Jim


1) On domain destroy, the host configuration is not clean:
    if the flag 'force' is set to 0 some entries in the
    xenstored database are not removed (console, ...)
    if the flag 'force' is set to 1 (as it is done
    in Libvirt), the event 'online' associated to the
    network interface is not triggered and, thus, the
    vif is not removed from the Open vSwitch switch.
    To fix this issue, I temporarily added a call
    to vif-openvswitch into the xen-hotplug-cleanup script.

2) When a domain is started from Libvirt, the console
    source path does not appear in the output of the
    command 'virsh dumpxml instance-00000381'

3) Sometimes, a domU is not started at all. If I start
    a virtual machine from Libvirt through virsh or directly
    through xl, these tools report that the virtual machine
    is running but I see no messages coming from the console
    and the CPU time remains fixed.

I'm attaching some files that may be useful to understand
the problem:

  - libvirt.xml: domain specifications (Libvirt format)
  - domain.xl: domain specifications (Xen format)
  - libvirt_virsh_dumpxml.log: output of the command
    'virsh dumpxml instance-00000381'
  - xl_create.log: output of the command 'xl create -d domain.xl'
  - xl_info.log: output of the command 'xl info'
  - qemu-dm-instance-00000381.log: qemu-dm log
  - syslog_vif6_0.log: vif attach/detach logs from /var/log/syslog
  - xenstore-db-not-clean.log: xenstore db entries not removed
    after 'xl destroy'
  - libvirt_libxl.log: log from /var/log/libvirt/libxl.log
    after the execution of the command 'virsh create libvirt.xml'

Lastly, I want to add that the image I'm using for the tests
is Ubuntu Precise 12.04.3 LTS, taken from the URL:

http://cloud-images.ubuntu.com/precise/current/precise-server-cloudimg-amd64-disk1.img


and the kernel is taken from the URL:

http://cloud-images.ubuntu.com/precise/current/unpacked/precise-server-cloudimg-amd64-vmlinuz-virtual



Thanks

Roberto Sassu


tool = ""
 xenstored = ""
local = ""
 domain = ""
  0 = ""
   name = "Domain-0"
   memory = ""
    target = "1366816"
    static-max = "4294967292"
    freemem-slack = "153544"
   device-model = ""
    1427 = ""
     disable_pf = "1"
     state = "running"
   backend = ""
    qdisk = ""
     1427 = ""
      51712 = ""
       frontend = "/local/domain/1427/device/vbd/51712"
       params = "aio:/var/lib/nova/instances/instance-00000381/disk"
       frontend-id = "1427"
       online = "1"
       removable = "1"
       bootable = "1"
       state = "4"
       dev = "xvda"
       type = "tap"
       mode = "w"
       feature-barrier = "1"
       info = "0"
       sector-size = "512"
       sectors = "4194304"
       hotplug-status = "connected"
    vif = ""
     1427 = ""
      0 = ""
       frontend = "/local/domain/1427/device/vif/0"
       frontend-id = "1427"
       online = "1"
       state = "4"
       script = "/etc/xen/scripts/vif-openvswitch"
       mac = "fa:16:3e:55:5d:e0"
       bridge = "br-tvd-91970"
       handle = "0"
       feature-sg = "1"
       feature-gso-tcpv4 = "1"
       feature-rx-copy = "1"
       feature-rx-flip = "0"
       hotplug-status = "connected"
    console = ""
     1427 = ""
      0 = ""
       frontend = "/local/domain/1427/console"
       frontend-id = "1427"
       online = "1"
       state = "4"
       domain = "instance-00000381"
       protocol = "vt100"
       hotplug-status = "connected"
  1427 = ""
   vm = "/vm/a65c782d-05fe-4c54-9911-8e7e4cb33244"
   name = "instance-00000381"
   control = ""
    shutdown = ""
    platform-feature-multiprocessor-suspend = "1"
   device = ""
    suspend = ""
     event-channel = ""
    vbd = ""
     51712 = ""
      backend = "/local/domain/0/backend/qdisk/1427/51712"
      backend-id = "0"
      state = "4"
      virtual-device = "51712"
      device-type = "disk"
      ring-ref = "8"
      event-channel = "9"
      protocol = "x86_64-abi"
    vif = ""
     0 = ""
      backend = "/local/domain/0/backend/vif/1427/0"
      backend-id = "0"
      state = "4"
      handle = "0"
      mac = "fa:16:3e:55:5d:e0"
      tx-ring-ref = "768"
      rx-ring-ref = "769"
      event-channel = "10"
      request-rx-copy = "1"
      feature-rx-notify = "1"
      feature-sg = "1"
      feature-gso-tcpv4 = "1"
   data = ""
   cpu = ""
    0 = ""
     availability = "online"
   memory = ""
    static-max = "524288"
    target = "524288"
    videoram = "0"
   error = ""
   drivers = ""
   attr = ""
   messages = ""
   domid = "1427"
   store = ""
    port = "1"
    ring-ref = "271883"
   console = ""
    backend = "/local/domain/0/backend/console/1427/0"
    backend-id = "0"
    limit = "1048576"
    type = "ioemu"
    output = "pty"
    tty = "/dev/pts/3"
    port = "2"
    ring-ref = "271882"
   image = ""
    device-model-pid = "26037"
vm = ""
 00000000-0000-0000-0000-000000000000 = ""
  memory = "1334"
 a65c782d-05fe-4c54-9911-8e7e4cb33244 = ""
  uuid = "a65c782d-05fe-4c54-9911-8e7e4cb33244"
  name = "instance-00000381"
  image = ""
   ostype = "linux"
   kernel = "/var/lib/nova/instances/instance-00000381/kernel"
   cmdline = "ro root=/dev/xvda1"
  start_time = "1378985104.40"
tool = ""
 xenstored = ""
local = ""
 domain = ""
  0 = ""
   name = "Domain-0"
   memory = ""
    target = "1366856"
    static-max = "4294967292"
    freemem-slack = "153544"
   device-model = ""
    250 = ""
     disable_pf = "1"
     state = "running"
   backend = ""
    qdisk = ""
     250 = ""
      51712 = ""
       frontend = "/local/domain/250/device/vbd/51712"
       params = "aio:/var/lib/nova/instances/instance-00000381/disk"
       frontend-id = "250"
       online = "1"
       removable = "1"
       bootable = "1"
       state = "1"
       dev = "xvda"
       type = "tap"
       mode = "w"
    vif = ""
     250 = ""
      0 = ""
       frontend = "/local/domain/250/device/vif/0"
       frontend-id = "250"
       online = "1"
       state = "4"
       script = "/etc/xen/scripts/vif-openvswitch"
       mac = "fa:16:3e:55:5d:e0"
       bridge = "br-tvd-91970"
       handle = "0"
       feature-sg = "1"
       feature-gso-tcpv4 = "1"
       feature-rx-copy = "1"
       feature-rx-flip = "0"
       hotplug-status = "connected"
    console = ""
     250 = ""
      0 = ""
       frontend = "/local/domain/250/console"
       frontend-id = "250"
       online = "1"
       state = "4"
       domain = "instance-00000381"
       protocol = "vt100"
       hotplug-status = "connected"
  250 = ""
   vm = "/vm/a65c782d-05fe-4c54-9911-8e7e4cb33244"
   name = "instance-00000381"
   control = ""
    shutdown = ""
    platform-feature-multiprocessor-suspend = "1"
   device = ""
    suspend = ""
     event-channel = ""
    vbd = ""
     51712 = ""
      backend = "/local/domain/0/backend/qdisk/250/51712"
      backend-id = "0"
      state = "3"
      virtual-device = "51712"
      device-type = "disk"
      ring-ref = "8"
      event-channel = "9"
      protocol = "x86_64-abi"
    vif = ""
     0 = ""
      backend = "/local/domain/0/backend/vif/250/0"
      backend-id = "0"
      state = "4"
      handle = "0"
      mac = "fa:16:3e:55:5d:e0"
      tx-ring-ref = "768"
      rx-ring-ref = "769"
      event-channel = "10"
      request-rx-copy = "1"
      feature-rx-notify = "1"
      feature-sg = "1"
      feature-gso-tcpv4 = "1"
   data = ""
   cpu = ""
    0 = ""
     availability = "online"
   memory = ""
    static-max = "524288"
    target = "524288"
    videoram = "0"
   error = ""
   drivers = ""
   attr = ""
   messages = ""
   domid = "250"
   store = ""
    port = "1"
    ring-ref = "271885"
   console = ""
    backend = "/local/domain/0/backend/console/250/0"
    backend-id = "0"
    limit = "1048576"
    type = "ioemu"
    output = "pty"
    tty = "/dev/pts/6"
    port = "2"
    ring-ref = "271884"
   image = ""
    device-model-pid = "18774"
vm = ""
 00000000-0000-0000-0000-000000000000 = ""
  memory = "1334"
 a65c782d-05fe-4c54-9911-8e7e4cb33244 = ""
  uuid = "a65c782d-05fe-4c54-9911-8e7e4cb33244"
  name = "instance-00000381"
  image = ""
   ostype = "linux"
   kernel = "/var/lib/nova/instances/instance-00000381/kernel"
   cmdline = "ro root=/dev/xvda1"
  start_time = "1378973386.23"

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]