All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Charles Coffing" <ccoffing@novell.com>
To: xen-devel@lists.xensource.com
Subject: Control tools work
Date: Tue, 31 May 2005 11:57:16 -0600	[thread overview]
Message-ID: <s29c514c.000@sinclair.provo.novell.com> (raw)

I've been looking at the next-generation of control tools, and see some areas that I think still need some work.  I'm working on some code that will be ready "soon", but I wanted to post and get feedback on my ideas now rather than later.  Here are the things I'm working on:

1.  Providing a higher-level consistent API for domain actions (create, save, migrate, restore, pause, etc).

2.  Making the tools/libraries agnostic w.r.t. the guest OS type.

3.  Pushing rate-limiting lower into the IO streams.

4.  Making xfrd's functionality available as a library.


I'll give you some of my motivation, for each of these items:

1.  Higher-level API:  This is listed as a task in Andrew/Keir/Christian's Xen Control Tools Design Plan.  This is also becoming important to support items #2 and #4.

2.  OS agnostic:  I can give some examples of where this is not the case (migrations assume Linux; rate limiting is only Linux, etc).  But beyond specific examples, making things OS agnostic forces some concepts to be clarified in the code.  High-level commands (such as "create") logically have a fixed sequence of steps, regardless of the OS type.  Those high-level logical steps should be separate from OS-specific implementation details.  Mixing the two creates maintenance and portability headaches.

3.  Rate limiting:  Rate limiting should be available to all IO streams, regardless of OS and regardless of the current action.  Currently it is only available for a Linux domain.  I'm pushing this down the stack, so that it is more transparent (but optional still).

4.  libxfrd:  Xend and xfrd are tied pretty tightly together via an SXP-based protocol.  Once xend is gone, either xfrd will need to be reworked or the xend replacement will need to adhere to this protocol.  Since we're moving towards multiple single-purpose tools (e.g., VM-tools), continuing to maintain this protocol would be awkward.  I would prefer to have xfrd's functionality available as a library, that any tool can link against.  I still see the receiving end of xfrd running as a daemon (a small daemon using the xfrd library, that is).  But commands that want to initiate xfrd-style sends can call the library directly.  Other advantages of this are that progress reports can be done via a simple C callback, and you can get finer-grained error reporting (rather than the current success/failure code).  Once you start looking at this within a larger management framework, these things become important.


I'm refactoring / rewriting / writing code in xutil, libxc, and xfrd (although it wouldn't be hard to slip libxen in there instead of libxc if that is the ultimate direction).  I hope to have something to show in a week or two.

Cheers,
Charles

             reply	other threads:[~2005-05-31 17:57 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-05-31 17:57 Charles Coffing [this message]
2005-05-31 21:07 ` Control tools work Christian Limpach
2005-05-31 23:33 ` Jacob Gorm Hansen
2005-06-01 10:28   ` Grzegorz Milos
  -- strict thread matches above, loose matches on Subject: below --
2005-05-31 21:29 Charles Coffing
2005-05-31 21:48 ` Daniel Stekloff
2005-05-31 22:25 ` Steven Hand
2005-06-01  0:25   ` Christian Limpach
2005-06-03  1:01 ` Anthony Liguori
     [not found] <s29c82f6.030@sinclair.provo.novell.com>
2005-06-01  0:15 ` Christian Limpach
2005-06-01 13:56 Charles Coffing
     [not found] <s29d6a51.010@sinclair.provo.novell.com>
2005-06-01 20:13 ` Christian Limpach

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=s29c514c.000@sinclair.provo.novell.com \
    --to=ccoffing@novell.com \
    --cc=xen-devel@lists.xensource.com \
    /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.