All of lore.kernel.org
 help / color / mirror / Atom feed
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xen.org, Ian.Campbell@citrix.com,
	ian.jackson@eu.citrix.com, stefano.stabellini@eu.citrix.com,
	wei.liu2@citrix.com, dgdegra@tycho.nsa.gov
Cc: Juergen Gross <jgross@suse.com>
Subject: [PATCH v3 00/15] xenstore: make it easier to run xenstore in a domain
Date: Fri,  8 Jan 2016 14:08:31 +0100	[thread overview]
Message-ID: <1452258526-4797-1-git-send-email-jgross@suse.com> (raw)

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

-- 
2.6.2

             reply	other threads:[~2016-01-08 13:08 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-08 13:08 Juergen Gross [this message]
2016-01-08 13:08 ` [PATCH v3 01/15] xen: add xenstore domain flag to hypervisor Juergen Gross
2016-01-08 14:07   ` Jan Beulich
2016-01-08 16:13     ` David Vrabel
     [not found]   ` <568FD0B902000078000C4E8F@suse.com>
2016-01-08 14:22     ` Juergen Gross
2016-01-08 14:25       ` Andrew Cooper
2016-01-08 16:03       ` Jan Beulich
     [not found]       ` <568FEBE402000078000C500D@suse.com>
2016-01-08 16:10         ` Juergen Gross
2016-01-15 15:50   ` Ian Campbell
2016-01-08 13:08 ` [PATCH v3 02/15] libxc: support new xenstore domain flag in libxc Juergen Gross
2016-01-08 13:08 ` [PATCH v3 03/15] libxl: provide a flag in dominfo to avoid stopping it Juergen Gross
2016-01-15 15:51   ` Ian Campbell
2016-01-08 13:08 ` [PATCH v3 04/15] xenstore: move init-xenstore-domain to tools/helpers Juergen Gross
2016-01-15 15:51   ` Ian Campbell
2016-01-08 13:08 ` [PATCH v3 05/15] xenstore: adjust coding style of init-xenstore-domain.c Juergen Gross
2016-01-15 15:54   ` Ian Campbell
2016-01-08 13:08 ` [PATCH v3 06/15] libxl: move xen-init-dom0 to tools/helpers Juergen Gross
2016-01-15 15:55   ` Ian Campbell
2016-01-08 13:08 ` [PATCH v3 07/15] xenstore: destroy xenstore domain in case of error after creating it Juergen Gross
2016-01-15 16:02   ` Ian Campbell
2016-01-08 13:08 ` [PATCH v3 08/15] xenstore: add error messages to init-xenstore-domain Juergen Gross
2016-01-08 13:08 ` [PATCH v3 09/15] xenstore: modify init-xenstore-domain parameter syntax Juergen Gross
2016-01-08 13:08 ` [PATCH v3 10/15] xenstore: make use of the "xenstore domain" flag Juergen Gross
2016-01-15 16:03   ` Ian Campbell
2016-01-08 13:08 ` [PATCH v3 11/15] xenstore: add init-xenstore-domain parameter to specify cmdline Juergen Gross
2016-01-08 13:08 ` [PATCH v3 12/15] tools: split up xen-init-dom0.c Juergen Gross
2016-01-08 13:08 ` [PATCH v3 13/15] xenstore: write xenstore domain data to xenstore Juergen Gross
2016-01-08 13:08 ` [PATCH v3 14/15] tools: don't stop xenstore domain when stopping dom0 Juergen Gross
2016-01-15 16:12   ` Ian Campbell
2016-01-15 16:24     ` Juergen Gross
2016-01-08 13:08 ` [PATCH v3 15/15] docs: document xenstore domain xenstore paths Juergen Gross
2016-01-15 16:14   ` Ian Campbell
2016-01-15 16:22     ` Juergen Gross
2016-01-15 16:27       ` Ian Campbell
2016-01-15 15:04 ` [PATCH v3 00/15] xenstore: make it easier to run xenstore in a domain Juergen Gross

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1452258526-4797-1-git-send-email-jgross@suse.com \
    --to=jgross@suse.com \
    --cc=Ian.Campbell@citrix.com \
    --cc=dgdegra@tycho.nsa.gov \
    --cc=ian.jackson@eu.citrix.com \
    --cc=stefano.stabellini@eu.citrix.com \
    --cc=wei.liu2@citrix.com \
    --cc=xen-devel@lists.xen.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.