]> git.proxmox.com Git - mirror_corosync.git/blob - TODO
logsys: Make logging of totem work again
[mirror_corosync.git] / TODO
1 --------------------------------------------------------
2 The Corosync Cluster Engine Topic Branches and Backlog
3 --------------------------------------------------------
4
5 ----------------------------
6 Last Updated: May 2012
7 ----------------------------
8
9 --------------------------------------
10 Current priority list for Needle 2.1
11 --------------------------------------
12 * disallow binding to localhost (Honza)
13 * don't rely on mcast loop (Honza)
14 * Add support for LOG_TRACE and log received messages in this level (Honza)
15 * Proper support for DNS (always return one address even if function
16 is called multiple times) (Honza)
17 * porting of qdisk to votequorum and eventually finalize qdevice API
18 in votequorum. (Fabio)
19 * Cleaner shutdown process -> free memory (Fabio)
20
21 --------------------------------------
22 Current priority list for Needle 2.X
23 --------------------------------------
24 * logsys glue layer removal
25 * harden and finish ykd algorithm
26 * implement topic-xmlschema
27 * Modify totemsrp to allow dynamic definitions of the ring counts
28 to allow a larger number of redundant rings then 2.
29 * Investigate always-on flight recorder
30 * implement topic-rdmaud
31
32 --------------------------------
33 Ideas for future releases (3.0+)
34 --------------------------------
35 * topic-netmalloc
36 * doxygenize include and lib directories.
37 * re-evaluate using libtool to link libraries.
38 * Support for clang as compiler (depends on libtool)
39 * reorganize library/headers/code in the tree
40 * change and simplify build defaults
41 * libtotem cleanup/rewrite
42 * Rewrite totem fragmentation layer
43 * rewrite top level totempg interface
44 * Split fragmentation layer in totem (ie: totempg talks to totemfrg
45 talks to totemsrp)
46 * Add a getopt and setopt feature to top level interface to allow
47 runtime configuration of the interface
48 * Improve cpg - opaque data in callbacks (client stores data about
49 itself, every node can access them), permissions (read only/read
50 write/ some application may disable listeners) - Probably implemented
51 as extra user space library on top of normal cpg
52 * Better statistic - histogram
53 * totem multiring
54 * load balancing over different speed links in RRP
55
56 We use topic branches in our git repository to develop new disruptive features
57 that define our future roadmap. This file describes the topic branches
58 the developers have interest in investigating further.
59
60 targets can be: needle2.1, needle2.X, or future (3.0).
61 Once in a shipped version, please remove from the topic list.
62
63 ------------------------------------------------------------------------------
64 topic-xmlschema
65 ------------------------------------------------------------------------------
66 XML configuration for corosync exists, but imput file is not checked against
67 XML schema. This topic is about implementing preferably RelaxNG schema of
68 corosync configuration.
69
70 ------------------------------------------------------------------------------
71 topic-onecrypt
72 ------------------------------------------------------------------------------
73 Currently encryption code is located in totemudp.c, totemudpu.c, and iba has
74 no encryption support. This topic merges the encryption code into a new
75 file such as totemcrp.c and provides a mechanism for totemnet.c to register
76 encrypt and decrypt functions with totem[udp|iba|udpu] and use them as
77 requested by the configuration.
78
79 ------------------------------------------------------------------------------
80 topic-netmalloc
81 ------------------------------------------------------------------------------
82 The totemiba.c driver must allocate memory and assign it to a protection domain
83 in order for an infiniband driver to transmit memory. In the current
84 implementation, totemsrp.c also allocates these same frames. This results in
85 an extra memcpy when transmitting with libibverbs technology. Memory copies
86 are to be avoided. The simple solution is to have each network driver provide
87 a memory allocation function. When totemsrp wants a free frame, it requests
88 it from the network driver.
89
90 ------------------------------------------------------------------------------
91 topic-rdmaud
92 ------------------------------------------------------------------------------
93 Currently our RDMA code uses librdmacm to setup connections. We are not
94 certain this extra library is needed, and may be able to use only ibverbs. If
95 this is possible, the totem code may be more reliable, especially around
96 failure conditions.