aboutsummaryrefslogtreecommitdiffstats
path: root/docs/xen-api/todo.tex
diff options
context:
space:
mode:
Diffstat (limited to 'docs/xen-api/todo.tex')
-rw-r--r--docs/xen-api/todo.tex140
1 files changed, 140 insertions, 0 deletions
diff --git a/docs/xen-api/todo.tex b/docs/xen-api/todo.tex
new file mode 100644
index 0000000000..2778ccce55
--- /dev/null
+++ b/docs/xen-api/todo.tex
@@ -0,0 +1,140 @@
+%
+% 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.
+
+\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}