Giter Site home page Giter Site logo

xenopsd's People

Contributors

akshayramani avatar alexz avatar andyhhp avatar blp avatar citrix-openstack-jenkins-xx avatar djs55 avatar edwintorok avatar ejj avatar euanh avatar fillzero avatar gaborigloi avatar jjd27 avatar johnelse avatar jonathanknowles avatar jonludlam avatar kc284 avatar krizex avatar lindig avatar mg12ctx avatar mietek avatar minglumlu avatar mseri avatar psafont avatar rabink avatar robhoes avatar rosslagerwall avatar samoht avatar simonjbeaumont avatar thomassa avatar zli avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

xenopsd's Issues

Irrespective of configure arguments, we still need /etc/xcp

sudo /home/djs/.opam/system/bin/xenopsd-xl -config //home/djs/.opam/system/etc/xenopsd.conf
Fatal error: exception Unix.Unix_error(20, "open", "/etc/xcp/22737414-9720-4997-8542-2f92decd326d")

This is probably because of xcp-inventory.

xenguesthelper "Insufficient space to load modules" when trying to launch an hvm vm.

Hope this is the right place to report. Builded xenserver-core on debian jessie this weekend using the buildroot git from xenserver gitup. Modified the build environment to build only those packages not already existing in jessie with the exception of ocaml-lwt, js_of_ocmal whom had to be rebuild to build ocaml-cohttp.
After alot of tweaks to various config files and py libraries i finaly got it working to an stage where the ffs storage can be used an liunx pv vm's can be imported and run without issues.
If I try to start an hvm vm however it fails and the only error message that appears in the syslog is

May 20 03:57:43 jessie2 xenopsd-xc: [debug|jessie2|10|Async.VM.start R:c1b7e326f2e6|task_server] Task 70 failed; exception = ["Internal_error", "XenguestHelper.Domain_builder_error("hvm_build", 1, " Insufficient space to load modules.\\"")"]

Full debug log during the vm start can be seen here:
https://gist.github.com/achim71/75685fa525a8fe8a4c00

dmesg during dom0 start
https://gist.github.com/achim71/e1f92eca0da85db7530a

qemu-dm-wrapper fails to run on CentOS 6.3 due to setrlimit soft>hard violation

When invoked by xenopsd qemu-dm-wrapper fails silently however when run interactively it is fine. The problem is that the enable_core_dumps function tries to set RLIMIT_CORE with a soft limit of 64M and a hard limit (from the existing hard limit) of 0 - this leads to an unhandled ValueError. A possible fix is:

    hardlimit = oldlimits[1]
    if limit > hardlimit:
        hardlimit = limit
    setrlimit(RLIMIT_CORE, (limit, hardlimit))

0.9.38: build failure Vm.sexp_of_t

+ /usr/bin/ocamlfind ocamlc -c -g -I lib -warn-error +a -warn-error +a -package 
cohttp -package fd-send-recv -package forkexec -package rpclib -syntax camlp4o -
package rpclib.syntax -package sexplib -syntax camlp4o -package sexplib.syntax -
package threads -package threads.posix -package uri -package uuidm -package uutf
 -package xcp -package xcp-inventory -package xcp-rrd -package xcp.memory -packa
ge xcp.rrd -package xcp.storage -package xcp.xen -package xenctrl -package xenst
ore -package xenstore.unix -package xenstore_transport -package xenstore_transpo
rt.unix -package xmlm -syntax camlp4o -thread -I xc -I lib -o xc/xenops_server_x
en.cmo xc/xenops_server_xen.ml
File "xc/xenops_server_xen.ml", line 1233, characters 19-31:
Error: Unbound value Vm.sexp_of_t
Command exited with code 2.

xenopsd vs xl udev hotplug scripts mismatch

By default xl runs hotplug scripts itself rather than via udev. xenopsd requires udev to run the scripts. This means that a Xen 4.2 system which has used xl at some point will have /local/domain/0/libxl/disable_udev set which cause udev-run scripts to exit.

Easy workaround it to put xl into udev mode (in /etc/xen/xl.conf set "run_hotplug_scripts=0") and (if xl has already been run in non-udev mode) remove the offending xenstore key.

need to expose VM/device specific datasources

The VM/device performance counters are backend specific and the code for dealing with them currently lives in xapi. Instead xenopsd should export the data sources allowing xapi or rrdd (or someone else like an SNMP agent) to process them.

'xe console' with no tty causes xapi to go crazy

This can be reproduced as:

ssh xenserver xe console vm=myvm

This causes a fast loop of connecting, exiting, and restarting several times per second, which floods the debug log. The problem continues after 'xe console' is killed, but clears up once xapi is restarted.

opam build failure due to missing oclock dependency

#=== ERROR while installing xapi-xenopsd.0.9.44 ===============================#
# opam-version         1.2.0 (75c4bf0dd32913f9218ffa882e683e01d6cdfb0f)
# os                   linux
# command              make
# path                 /home/opam/.opam/4.01.0/build/xapi-xenopsd.0.9.44
# compiler             4.01.0
# exit-code            2
# env-file             /home/opam/.opam/4.01.0/build/xapi-xenopsd.0.9.44/xapi-xenopsd-17557-ab22a1.env
# stdout-file          /home/opam/.opam/4.01.0/build/xapi-xenopsd.0.9.44/xapi-xenopsd-17557-ab22a1.out
# stderr-file          /home/opam/.opam/4.01.0/build/xapi-xenopsd.0.9.44/xapi-xenopsd-17557-ab22a1.err
### stdout ###
# ...[truncated]
# /home/opam/.opam/4.01.0/bin/ocamlfind ocamlc -c -g -annot -bin-annot -I lib -package cohttp -package fd-send-recv -package forkexec -package rpclib -syntax camlp4o -package rpclib.syntax -package sexplib -syntax camlp4o -package sexplib.syntax -package threads -package threads.posix -package uri -package uuidm -package uutf -package xcp -package xcp-inventory -package xcp-rrd -package xcp.memory -package xcp.rrd -package xcp.storage -package xcp.xen -package xenctrl -package xenstore -package xenstore.unix -package xenstore_transport -package xenstore_transport.unix -package xmlm -thread -I xc -I lib -o xc/hotplug.cmo xc/hotplug.ml
# /home/opam/.opam/4.01.0/bin/ocamlfind ocamlc -c -g -annot -bin-annot -I lib -package cohttp -package fd-send-recv -package forkexec -package rpclib -syntax camlp4o -package rpclib.syntax -package sexplib -syntax camlp4o -package sexplib.syntax -package threads -package threads.posix -package uri -package uuidm -package uutf -package xcp -package xcp-inventory -package xcp-rrd -package xcp.memory -package xcp.rrd -package xcp.storage -package xcp.xen -package xenctrl -package xenstore -package xenstore.unix -package xenstore_transport -package xenstore_transport.unix -package xmlm -thread -I xc -I lib -o xc/memory.cmo xc/memory.ml
# /home/opam/.opam/4.01.0/bin/ocamlfind ocamlc -c -g -annot -bin-annot -I lib -package cohttp -package fd-send-recv -package forkexec -package rpclib -syntax camlp4o -package rpclib.syntax -package sexplib -syntax camlp4o -package sexplib.syntax -package threads -package threads.posix -package uri -package uuidm -package uutf -package xcp -package xcp-inventory -package xcp-rrd -package xcp.memory -package xcp.rrd -package xcp.storage -package xcp.xen -package xenctrl -package xenstore -package xenstore.unix -package xenstore_transport -package xenstore_transport.unix -package xmlm -thread -I xc -I lib -o xc/stubdom.cmi xc/stubdom.mli
# /home/opam/.opam/4.01.0/bin/ocamlfind ocamlc -c -g -annot -bin-annot -I lib -package cohttp -package fd-send-recv -package forkexec -package rpclib -syntax camlp4o -package rpclib.syntax -package sexplib -syntax camlp4o -package sexplib.syntax -package threads -package threads.posix -package uri -package uuidm -package uutf -package xcp -package xcp-inventory -package xcp-rrd -package xcp.memory -package xcp.rrd -package xcp.storage -package xcp.xen -package xenctrl -package xenstore -package xenstore.unix -package xenstore_transport -package xenstore_transport.unix -package xmlm -thread -I xc -I lib -o xc/xenctrlext.cmi xc/xenctrlext.mli
# /home/opam/.opam/4.01.0/bin/ocamlfind ocamlc -c -g -annot -bin-annot -I lib -package cohttp -package fd-send-recv -package forkexec -package rpclib -syntax camlp4o -package rpclib.syntax -package sexplib -syntax camlp4o -package sexplib.syntax -package threads -package threads.posix -package uri -package uuidm -package uutf -package xcp -package xcp-inventory -package xcp-rrd -package xcp.memory -package xcp.rrd -package xcp.storage -package xcp.xen -package xenctrl -package xenstore -package xenstore.unix -package xenstore_transport -package xenstore_transport.unix -package xmlm -thread -I xc -I lib -o xc/xenstore_watch.cmo xc/xenstore_watch.ml
# /home/opam/.opam/4.01.0/bin/ocamlfind ocamlc -c -g -annot -bin-annot -I lib -package cohttp -package fd-send-recv -package forkexec -package rpclib -syntax camlp4o -package rpclib.syntax -package sexplib -syntax camlp4o -package sexplib.syntax -package threads -package threads.posix -package uri -package uuidm -package uutf -package xcp -package xcp-inventory -package xcp-rrd -package xcp.memory -package xcp.rrd -package xcp.storage -package xcp.xen -package xenctrl -package xenstore -package xenstore.unix -package xenstore_transport -package xenstore_transport.unix -package xmlm -syntax camlp4o -thread -I xc -I lib -o xc/xenops_server_xen.cmo xc/xenops_server_xen.ml
# + /home/opam/.opam/4.01.0/bin/ocamlfind ocamlc -c -g -annot -bin-annot -I lib -package cohttp -package fd-send-recv -package forkexec -package rpclib -syntax camlp4o -package rpclib.syntax -package sexplib -syntax camlp4o -package sexplib.syntax -package threads -package threads.posix -package uri -package uuidm -package uutf -package xcp -package xcp-inventory -package xcp-rrd -package xcp.memory -package xcp.rrd -package xcp.storage -package xcp.xen -package xenctrl -package xenstore -package xenstore.unix -package xenstore_transport -package xenstore_transport.unix -package xmlm -syntax camlp4o -thread -I xc -I lib -o xc/xenops_server_xen.cmo xc/xenops_server_xen.ml
# File "xc/xenops_server_xen.ml", line 165, characters 28-42:
# Error: Unbound module Oclock
# Command exited with code 2.

race btw blkid and destroy_vbd_frontend can cause hang

On EL6:

When building a PV VM with pygrub, create_vbd_frontend attaches the VM's boot block device to dom0 for pygrub to operate on. This triggers udev to start blkid.

If blkid does not finish before pygrub, destroy_vbd_frontend will fail to close the device, since blkid is holding it open.

After this, bad stuff. The task will hang, the vdi will remain attached to the dom0, the blkid process can't be killed, and a reboot is required, but the reboot process hangs when stopping the 'blk-availability' service, so the host must be power cycled.

The following links suggest running something like 'udevadm settle', which will wait for the udev event queue to empty, and then exit:

https://www.redhat.com/archives/libguestfs/2012-February/msg00023.html

https://rwmj.wordpress.com/2012/01/19/udev-unexpectedness/#content

For a cheap hack, I added this to the end of the pygrub script, and the problem seems to have disappeared. Of course pygrub isn't the right place for this, but I'm not sure what is. The above links suggest it's possible to run 'udevadm settle' too early before the event is placed in the udev queue, so perhaps it should be in destroy_vbd_frontend.

Failed to build xapi-xenopsd

Hi

I'm pretty new with Ocaml stuff, perhaps I have done something wrong but xapi-xenopsd build failed with:

File "lib/xenopsd.ml", lines 188-193, characters 8-11:
188 | ........Rpc.
189 | {
190 | name= "VM.import_metadata"
191 | ; params=
192 | [Rpc.Dict [("debug_info", debug_info); ("metadata", metadata)]]
193 | }
Error: Some record fields are undefined: notif

Logs
xenopsd.log

Thx

Let's not depend on OCaml 4.02 (yet)

File "lib/suspend_image_viewer.ml", line 55, characters 41-43:
Error: Unbound value |>
Command exited with code 2.

It's useful to support earlier v4 compilers for a bit longer. I believe RHEL 7 is < 4.02

Does make install work? I think it doesn't

I notice our .spec file performs a manual install. Running "make install" shows me:

# # Parallel statistics: { count(total): 13(125), max: 7, min: 2, average(total): 3.308(1.240) }
# install -D ./dist/build/xenopsd_libvirt/xenopsd_libvirt //home/vagrant/.opam/system/bin/xenopsd_libvirt

which appears to be an obuild path, in an OASIS project...

need to expose a HOST.stat interface

Higher-level tools like xapi need to be able to query

  1. the number of physical CPUs
  2. the CPU metadata (modelname, stepping etc)
  3. the hypervisor type and version

To be consistent with the rest of the xenopsd API, we should use HOST.stat.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.