source: trunk/packages/xen-3.1/xen-3.1/docs/xen-api/todo.tex @ 34

Last change on this file since 34 was 34, checked in by hartmans, 18 years ago

Add xen and xen-common

File size: 4.0 KB
Line 
1%
2% Copyright (c) 2006 XenSource, Inc.
3%
4% Permission is granted to copy, distribute and/or modify this document under
5% the terms of the GNU Free Documentation License, Version 1.2 or any later
6% version published by the Free Software Foundation; with no Invariant
7% Sections, no Front-Cover Texts and no Back-Cover Texts.  A copy of the
8% license is included in the section entitled
9% "GNU Free Documentation License" or the file fdl.tex.
10%
11% Authors: Ewan Mellor, Richard Sharp, Dave Scott, Jon Harrop.
12%
13
14\section{To-Do}
15
16Lots and lots! Including:
17
18\subsection{Clarity}
19
20\begin{itemize}
21
22\item Roll constructors and get\_by\_uuid etc (section 1.2) into section 2 so
23that it is clearer that each class has these.
24
25\item Emphasise that enums are strings on the wire, and so are not restricted
26to a certain number of bits.
27
28\item Clarify return values, in particular that void means return a status
29code, potential error description, but otherwise no value.
30
31\item Talk about UUID generation.
32
33\item Clarify session behaviour wrt timeouts and disconnects.
34
35\item Clarify behaviour of progress field on asyncrhonous request polling when
36that request fails.
37
38\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)
39
40\end{itemize}
41
42\subsection{Content}
43
44\subsubsection{Model}
45
46\begin{itemize}
47
48\item Improve the set of available power\_states and corresponding lifecycle
49semantics.  Rename power\_state, maybe.
50
51\item Specify the CPU scheduler configuration properly, inc CPU affinity,
52weights, etc.
53
54\item Add Vm.architecture and Host.compatible\_architecture fields.
55
56\item Add migration calls, including the ability to test whether a migration
57will succeed, and authentication token exchange.
58
59\item Improve asynchronous task handling, with a registration call, a
60``blocking poll'' call, and an explicit notification destination.  Registration
61for ``power\_state'' is useful.
62
63\item Specify that session keys outlive the HTTP session, and add a timeout
64for them (configurable in the tools).
65
66\item Add places for people to store extra data (``otherConfig'' perhaps)
67
68\item Specify how hardware UUIDs are used / accessed.
69
70\item Marking VDIs as exclusive / shareable (locking?)
71
72\item Consider how to represent CDROMs (as VDIs?)
73
74\item Define lists of exceptions which may be thrown by each RPC, including
75error codes and parameters.
76
77\item Host characteristics: minimum amount of memory, TPM, network bandwidth,
78amount of host memory, amount consumed by VMs, max amount available for new
79VMs?
80
81\item Cooked resource monitoring interface.
82
83\item Network needs additional attributes that provide media characteristics
84of the NIC:
85
86\begin{itemize}
87
88\item RO bandwidth integer Bandwidth in mbps
89\item RO latency integer time in ms for an icmp roundtrip to a host on the
90same subnet.
91
92\end{itemize}
93
94\item ACM
95\begin{itemize}
96
97\item A Xen system can be running an access control policy where each
98VM's run-time access to resources is restricted by the label it has been given
99compared to those of the resources. Currently a VM's configuration file may
100contain a line like access\_control[policy='$<$name of the system's
101policy$>$',label='$<$label given to VM$>$'].  I think the identifiers 'policy'
102and 'label' should also be part of the VM class either directly in the form
103'access\_control/policy' or indirectly in an access\_control class.
104
105\end{itemize}
106
107\item Mike Day's Vm.profile field?
108
109\item Clone customisation?
110
111\item NIC teaming?  The NIC field of the Network class should be a list (Set)
112so that we can signify NIC teaming. (Combining physical NICs in a single host
113interface to achieve greater bandwidth).
114
115\end{itemize}
116
117\subsubsection{Transport}
118
119\begin{itemize}
120
121\item Allow non-HTTP transports.  Explicitly allow stdio transport, for SSH.
122
123\end{itemize}
124
125\subsubsection{Authentication}
126
127\begin{itemize}
128
129\item Delegation to the transport layer.
130
131\item Extend PAM exchange across the wire.
132
133\item Fine-grained access control.
134
135\end{itemize}
Note: See TracBrowser for help on using the repository browser.