mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 18:21:39 +01:00
point, because they ought to be immediate. Tidy up the examples in the presentation and wire-protocol sections, and bring them into sync with the main body text. Signed-off-by: Ewan Mellor <ewan@xensource.com>
143 lines
4.4 KiB
TeX
143 lines
4.4 KiB
TeX
%
|
|
% Copyright (c) 2006 XenSource, Inc.
|
|
%
|
|
% Permission is granted to copy, distribute and/or modify this document under
|
|
% the terms of the GNU Free Documentation License, Version 1.2 or any later
|
|
% version published by the Free Software Foundation; with no Invariant
|
|
% Sections, no Front-Cover Texts and no Back-Cover Texts. A copy of the
|
|
% license is included in the section entitled
|
|
% "GNU Free Documentation License" or the file fdl.tex.
|
|
%
|
|
% Authors: Ewan Mellor, Richard Sharp, Dave Scott, Jon Harrop.
|
|
%
|
|
|
|
\section{To-Do}
|
|
|
|
Lots and lots! Including:
|
|
|
|
\subsection{Clarity}
|
|
|
|
\begin{itemize}
|
|
|
|
\item Roll constructors and get\_by\_uuid etc (section 1.2) into section 2 so
|
|
that it is clearer that each class has these.
|
|
|
|
\item Emphasise that enums are strings on the wire, and so are not restricted
|
|
to a certain number of bits.
|
|
|
|
\item Clarify return values, in particular that void means return a status
|
|
code, potential error description, but otherwise no value.
|
|
|
|
\item Talk about UUID generation.
|
|
|
|
\item Clarify session behaviour wrt timeouts and disconnects.
|
|
|
|
\item Clarify behaviour of progress field on asyncrhonous request polling when
|
|
that request fails.
|
|
|
|
\item Clarify which calls have asynchronous counterparts by marking them as such in the reference. (Individual getters and setters are too small and quick to justify having async versions)
|
|
|
|
\end{itemize}
|
|
|
|
\subsection{Content}
|
|
|
|
\subsubsection{Model}
|
|
|
|
\begin{itemize}
|
|
|
|
\item Improve the set of available power\_states and corresponding lifecycle
|
|
semantics. Rename power\_state, maybe.
|
|
|
|
\item Specify the CPU scheduler configuration properly, inc CPU affinity,
|
|
weights, etc.
|
|
|
|
\item Add Vm.architecture and Host.compatible\_architecture fields.
|
|
|
|
\item Add migration calls, including the ability to test whether a migration
|
|
will succeed, and authentication token exchange.
|
|
|
|
\item Improve asynchronous task handling, with a registration call, a
|
|
``blocking poll'' call, and an explicit notification destination. Registration
|
|
for ``power\_state'' is useful.
|
|
|
|
\item Specify that session keys outlive the HTTP session, and add a timeout
|
|
for them (configurable in the tools).
|
|
|
|
\item Add places for people to store extra data (``otherConfig'' perhaps)
|
|
|
|
\item Specify how hardware UUIDs are used / accessed.
|
|
|
|
\item Marking VDIs as exclusive / shareable (locking?)
|
|
|
|
\item Consider how to represent CDROMs (as VDIs?)
|
|
|
|
\item Define lists of exceptions which may be thrown by each RPC, including
|
|
error codes and parameters.
|
|
|
|
\item Host characteristics: minimum amount of memory, TPM, network bandwidth,
|
|
amount of host memory, amount consumed by VMs, max amount available for new
|
|
VMs?
|
|
|
|
\item Cooked resource monitoring interface.
|
|
|
|
\item Network needs additional attributes that provide media characteristics
|
|
of the NIC:
|
|
|
|
\begin{itemize}
|
|
|
|
\item RO bandwidth integer Bandwidth in mbps
|
|
\item RO latency integer time in ms for an icmp roundtrip to a host on the
|
|
same subnet.
|
|
|
|
\end{itemize}
|
|
|
|
\item TPM
|
|
\begin{itemize}
|
|
|
|
\item Would it not be better to have a class TPM and a member TPMs ((TPM ref)
|
|
Set) containing an array of zero or one references to TPMs? I assume that
|
|
an empty array would make it clear that no TPM is associated with the VM
|
|
instead of encoding its existence into TPM/instance or TPM/backend
|
|
somehow. The current members instance and backend could then be moved into
|
|
the TPM class.
|
|
|
|
\item Also a Xen system can be running an access control policy where each
|
|
VM's run-time access to resources is restricted by the label it has been given
|
|
compared to those of the resources. Currently a VM's configuration file may
|
|
contain a line like access\_control[policy='$<$name of the system's
|
|
policy$>$',label='$<$label given to VM$>$']. I think the identifiers 'policy'
|
|
and 'label' should also be part of the VM class either directly in the form
|
|
'access\_control/policy' or indirectly in an access\_control class.
|
|
|
|
\end{itemize}
|
|
|
|
\item Mike Day's Vm.profile field?
|
|
|
|
\item Clone customisation?
|
|
|
|
\item NIC teaming? The NIC field of the Network class should be a list (Set)
|
|
so that we can signify NIC teaming. (Combining physical NICs in a single host
|
|
interface to achieve greater bandwidth).
|
|
|
|
\end{itemize}
|
|
|
|
\subsubsection{Transport}
|
|
|
|
\begin{itemize}
|
|
|
|
\item Allow non-HTTP transports. Explicitly allow stdio transport, for SSH.
|
|
|
|
\end{itemize}
|
|
|
|
\subsubsection{Authentication}
|
|
|
|
\begin{itemize}
|
|
|
|
\item Delegation to the transport layer.
|
|
|
|
\item Extend PAM exchange across the wire.
|
|
|
|
\item Fine-grained access control.
|
|
|
|
\end{itemize}
|