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

Re: [Xen-devel] [PATCH v3 00/15] xenstore: make it easier to run xenstore in a domain



On 08/01/16 14:08, Juergen Gross wrote:
> Xen supports to run xenstore in a dedicated domain. It is, however, a
> setup which isn't easy to configure. Today flask is required for full
> functionality and the resulting xenstore domain is not configurable in
> the same way as the xenstore daemon.
> 
> This patch series enables running a xenstore domain without flask. The
> tool needed to start that domain is added to the installed binaries
> and it is modified to pass arbitrary options to the xenstore domain.
> 
> I didn't include a configuration option for starting xenstore as an
> own domain instead of the daemon, as this will require some major
> tweaking of especially the systemd configuration files. Support for
> this will be added later. The main issue is that running xenstore in
> a domain requires the xenstore sockets not to be created. I don't
> think this is possible with the current scheme of letting systemd
> create those sockets.
> 
> Changes in V3:
> - patch 1: changed comment as requested by Ian Campbell
> - patch 2: changed name of flag from "xs_domain" to "xenstore" as requested
>            by Ian Campbell
> - patch 3: flag in dominfo instead function to get xenstore domid as requested
>            by Ian Campbell
> - patch 4: don't adapt coding style as requested by Ian Campbell
>            adjust .gitignore
> - new patch 5: adapt coding style of init-xenstore-domain.c
> - patch 6 (was 5): adjust .gitignore as requested by Ian Campbell
>            use libxentoollog instead of libxc as requested by Ian Campbell
> - patch 10 (was 9): omit dom0 when checking for xenstore domain as suggested 
> by
>            Ian Campbell
>            log an error in case of an error when obtaining domain info as
>            requested by Ian Campbell
> - patch 14 (was 13): xl shutdown modified to query the "never_stop" flag
>            instead of the xenstore domain id as requested by Ian Campbell
>            drop usage of xenstore-exists as requested by Ian Campbell
> - new patch 15: add xenstore domain xenstroe paths to docs as requested by
>            Ian Campbell
> 
> Changes in V2:
> - add new patch 3 to get the xenstore domain id via libxl
> - move init-xenstore-domain to new directory tools/helpers in patch 4
>   (former patch 3) and modify it to use the standard tools coding style
> - add new patch 5 moving xen-init-dom0 to tools/helpers
> - split patch 6 (former patch 4) into 2 patches as requested by Ian Campbell
> - correct parameter parsing in patch 8 (former patch 5)
> - modified commit message of patch 9 (former patch 6) as requested by
>   Ian Campbell
> - add new patch 11 to split up xen-init-dom0
> - modify patch 12 (former patch 8) to create json object and more xenstore
>   entries, add error messages as requested by Ian Campbell
> - drop former patch 9
> - add new patch 13 to avoid stopping xenstore domain on dom0 shutdown
> 
> Juergen Gross (15):
>   xen: add xenstore domain flag to hypervisor
>   libxc: support new xenstore domain flag in libxc
>   libxl: provide a flag in dominfo to avoid stopping it
>   xenstore: move init-xenstore-domain to tools/helpers
>   xenstore: adjust coding style of init-xenstore-domain.c
>   libxl: move xen-init-dom0 to tools/helpers
>   xenstore: destroy xenstore domain in case of error after creating it
>   xenstore: add error messages to init-xenstore-domain
>   xenstore: modify init-xenstore-domain parameter syntax
>   xenstore: make use of the "xenstore domain" flag
>   xenstore: add init-xenstore-domain parameter to specify cmdline
>   tools: split up xen-init-dom0.c
>   xenstore: write xenstore domain data to xenstore
>   tools: don't stop xenstore domain when stopping dom0
>   docs: document xenstore domain xenstore paths
> 
>  .gitignore                            |   4 +-
>  docs/misc/xenstore-paths.markdown     |  10 +
>  tools/Makefile                        |   1 +
>  tools/helpers/Makefile                |  46 +++++
>  tools/helpers/init-dom-json.c         |  59 ++++++
>  tools/helpers/init-dom-json.h         |  18 ++
>  tools/helpers/init-xenstore-domain.c  | 343 
> ++++++++++++++++++++++++++++++++++
>  tools/helpers/xen-init-dom0.c         |  67 +++++++
>  tools/hotplug/Linux/xendomains.in     |  15 ++
>  tools/libxc/include/xenctrl.h         |   2 +-
>  tools/libxc/xc_domain.c               |   1 +
>  tools/libxl/Makefile                  |  14 +-
>  tools/libxl/libxl.c                   |  11 +-
>  tools/libxl/libxl.h                   |   9 +
>  tools/libxl/libxl_types.idl           |   1 +
>  tools/libxl/xen-init-dom0.c           | 120 ------------
>  tools/libxl/xl_cmdimpl.c              |   8 +-
>  tools/xenstore/Makefile               |   9 -
>  tools/xenstore/init-xenstore-domain.c | 119 ------------
>  xen/common/domain.c                   |   6 +
>  xen/common/domctl.c                   |  14 +-
>  xen/include/public/domctl.h           |   6 +
>  xen/include/xen/sched.h               |   5 +
>  xen/include/xsm/dummy.h               |   6 +
>  xen/include/xsm/xsm.h                 |   1 +
>  25 files changed, 620 insertions(+), 275 deletions(-)
>  create mode 100644 tools/helpers/Makefile
>  create mode 100644 tools/helpers/init-dom-json.c
>  create mode 100644 tools/helpers/init-dom-json.h
>  create mode 100644 tools/helpers/init-xenstore-domain.c
>  create mode 100644 tools/helpers/xen-init-dom0.c
>  delete mode 100644 tools/libxl/xen-init-dom0.c
>  delete mode 100644 tools/xenstore/init-xenstore-domain.c

I'd appreciate some more comments/Acks.


Juergen


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.