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"
--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list