Statistics
| Branch: | Tag: | Revision:

root / doc / design-2.0-index.rst @ 0c55c24b

History | View | Annotate | Download (2.7 kB)

1 84f4dc28 Iustin Pop
Ganeti 2.0 design documents
2 84f4dc28 Iustin Pop
===========================
3 84f4dc28 Iustin Pop
4 84f4dc28 Iustin Pop
5 84f4dc28 Iustin Pop
The 2.x versions of Ganeti will constitute a rewrite of the 'core'
6 84f4dc28 Iustin Pop
architecture, plus some additional features (however 2.0 is geared
7 84f4dc28 Iustin Pop
toward the core changes).
8 84f4dc28 Iustin Pop
9 84f4dc28 Iustin Pop
Core changes
10 84f4dc28 Iustin Pop
------------
11 84f4dc28 Iustin Pop
12 84f4dc28 Iustin Pop
The main changes will be switching from a per-process model to a
13 84f4dc28 Iustin Pop
daemon based model, where the individual gnt-* commands will be
14 84f4dc28 Iustin Pop
clients that talk to this daemon (see the design-2.0-master-daemon
15 84f4dc28 Iustin Pop
document). This will allow us to get rid of the global cluster lock
16 84f4dc28 Iustin Pop
for most operations, having instead a per-object lock (see
17 84f4dc28 Iustin Pop
design-2.0-granular-locking). Also, the daemon will be able to queue
18 84f4dc28 Iustin Pop
jobs, and this will allow the invidual clients to submit jobs without
19 84f4dc28 Iustin Pop
waiting for them to finish, and also see the result of old requests
20 84f4dc28 Iustin Pop
(see design-2.0-job-queue).
21 84f4dc28 Iustin Pop
22 84f4dc28 Iustin Pop
Beside these major changes, another 'core' change but that will not be
23 84f4dc28 Iustin Pop
as visible to the users will be changing the model of object attribute
24 84f4dc28 Iustin Pop
storage, and separate that into namespaces (such that an Xen PVM
25 84f4dc28 Iustin Pop
instance will not have the Xen HVM parameters). This will allow future
26 109509e4 Iustin Pop
flexibility in defining additional parameters. More details in the
27 109509e4 Iustin Pop
design-2.0-cluster-parameters document.
28 109509e4 Iustin Pop
29 109509e4 Iustin Pop
The various changes brought in by the master daemon model and the
30 109509e4 Iustin Pop
read-write RAPI will require changes to the cluster security; we move
31 109509e4 Iustin Pop
away from Twisted and use http(s) for intra- and extra-cluster
32 73100cf5 Iustin Pop
communications. For more details, see the security document in the
33 73100cf5 Iustin Pop
doc/ directory.
34 84f4dc28 Iustin Pop
35 84f4dc28 Iustin Pop
36 84f4dc28 Iustin Pop
Functionality changes
37 84f4dc28 Iustin Pop
---------------------
38 84f4dc28 Iustin Pop
39 84f4dc28 Iustin Pop
The disk storage will receive some changes, and will also remove
40 84f4dc28 Iustin Pop
support for the drbd7 and md disk types. See the
41 84f4dc28 Iustin Pop
design-2.0-disk-changes document.
42 84f4dc28 Iustin Pop
43 84f4dc28 Iustin Pop
The configuration storage will be changed, with the effect that more
44 84f4dc28 Iustin Pop
data will be available on the nodes for access from outside ganeti
45 84f4dc28 Iustin Pop
(e.g. from shell scripts) and that nodes will get slightly more
46 84f4dc28 Iustin Pop
awareness of the cluster configuration.
47 84f4dc28 Iustin Pop
48 84f4dc28 Iustin Pop
The RAPI will enable modify operations (beside the read-only queries
49 84f4dc28 Iustin Pop
that are available today), so in effect almost all the operations
50 84f4dc28 Iustin Pop
available today via the ``gnt-*`` commands will be available via the
51 84f4dc28 Iustin Pop
remote API.
52 84f4dc28 Iustin Pop
53 84f4dc28 Iustin Pop
A change in the hypervisor support area will be that we will support
54 84f4dc28 Iustin Pop
multiple hypervisors in parallel in the same cluster, so one could run
55 84f4dc28 Iustin Pop
Xen HVM side-by-side with Xen PVM on the same cluster.
56 84f4dc28 Iustin Pop
57 84f4dc28 Iustin Pop
New features
58 84f4dc28 Iustin Pop
------------
59 84f4dc28 Iustin Pop
60 84f4dc28 Iustin Pop
There will be a number of minor feature enhancements targeted to
61 84f4dc28 Iustin Pop
either 2.0 or subsequent 2.x releases:
62 84f4dc28 Iustin Pop
63 84f4dc28 Iustin Pop
- multiple disks, with custom properties (read-only/read-write, exportable,
64 84f4dc28 Iustin Pop
  etc.)
65 84f4dc28 Iustin Pop
- multiple NICs
66 109509e4 Iustin Pop
67 109509e4 Iustin Pop
These changes will require OS API changes, details are in the
68 109509e4 Iustin Pop
design-2.0-os-interface document. And they will also require many
69 109509e4 Iustin Pop
command line changes, see the design-2.0-commandline-parameters
70 109509e4 Iustin Pop
document.