root / doc / design-2.1.rst @ d1268971
History | View | Annotate | Download (2.9 kB)
1 |
================= |
---|---|
2 |
Ganeti 2.1 design |
3 |
================= |
4 |
|
5 |
This document describes the major changes in Ganeti 2.1 compared to |
6 |
the 2.0 version. |
7 |
|
8 |
The 2.1 version will be a relatively small release. Its main aim is to avoid |
9 |
changing too much of the core code, while addressing issues and adding new |
10 |
features and improvements over 2.0, in a timely fashion. |
11 |
|
12 |
.. contents:: :depth: 3 |
13 |
|
14 |
Objective |
15 |
========= |
16 |
|
17 |
Ganeti 2.1 will add features to help further automatization of cluster |
18 |
operations, further improbe scalability to even bigger clusters, and make it |
19 |
easier to debug the Ganeti core. |
20 |
|
21 |
Background |
22 |
========== |
23 |
|
24 |
Overview |
25 |
======== |
26 |
|
27 |
Detailed design |
28 |
=============== |
29 |
|
30 |
As for 2.0 we divide the 2.1 design into three areas: |
31 |
|
32 |
- core changes, which affect the master daemon/job queue/locking or all/most |
33 |
logical units |
34 |
- logical unit/feature changes |
35 |
- external interface changes (eg. command line, os api, hooks, ...) |
36 |
|
37 |
Core changes |
38 |
------------ |
39 |
|
40 |
Feature changes |
41 |
--------------- |
42 |
|
43 |
Redistribute Config |
44 |
~~~~~~~~~~~~~~~~~~~ |
45 |
|
46 |
Current State and shortcomings |
47 |
++++++++++++++++++++++++++++++ |
48 |
Currently LURedistributeConfig triggers a copy of the updated configuration |
49 |
file to all master candidates and of the ssconf files to all nodes. There are |
50 |
other files which are maintained manually but which are important to keep in |
51 |
sync. These are: |
52 |
|
53 |
- rapi SSL key certificate file (rapi.pem) (on master candidates) |
54 |
- rapi user/password file rapi_users (on master candidates) |
55 |
|
56 |
Furthermore there are some files which are hypervisor specific but we may want |
57 |
to keep in sync: |
58 |
|
59 |
- the xen-hvm hypervisor uses one shared file for all vnc passwords, and copies |
60 |
the file once, during node add. This design is subject to revision to be able |
61 |
to have different passwords for different groups of instances via the use of |
62 |
hypervisor parameters, and to allow xen-hvm and kvm to use an equal system to |
63 |
provide password-protected vnc sessions. In general, though, it would be |
64 |
useful if the vnc password files were copied as well, to avoid unwanted vnc |
65 |
password changes on instance failover/migrate. |
66 |
|
67 |
Optionally the admin may want to also ship files such as the global xend.conf |
68 |
file, and the network scripts to all nodes. |
69 |
|
70 |
Proposed changes |
71 |
++++++++++++++++ |
72 |
|
73 |
RedistributeConfig will be changed to copy also the rapi files, and to call |
74 |
every enabled hypervisor asking for a list of additional files to copy. We also |
75 |
may want to add a global list of files on the cluster object, which will be |
76 |
propagated as well, or a hook to calculate them. If we implement this feature |
77 |
there should be a way to specify whether a file must be shipped to all nodes or |
78 |
just master candidates. |
79 |
|
80 |
This code will be also shared (via tasklets or by other means, if tasklets are |
81 |
not ready for 2.1) with the AddNode and SetNodeParams LUs (so that the relevant |
82 |
files will be automatically shipped to new master candidates as they are set). |
83 |
|
84 |
External interface changes |
85 |
-------------------------- |
86 |
|