mirror of
https://git.proxmox.com/git/mirror_corosync
synced 2025-11-02 15:42:34 +00:00
Add a new object called totem.interface.dynamic to allow creation/deletion of new child objects using the corosync-objctl utility: to add new member: linux# corosync-objctl -c totem.interface.dynamic.10-211-55-12 to delete an existing member: linux# corosync-objctl -d totem.interface.dynamic.10-211-55-12 Corosync will dynamically add these members to the configuration and start communicating with those nodes. Signed-off-by: Anton Jouline <anton.jouline@cbsinteractive.com> Reviewed-by: Steven Dake <sdake@redhat.com>
136 lines
5.7 KiB
Plaintext
136 lines
5.7 KiB
Plaintext
--------------------------------------------------------
|
|
The Corosync Cluster Engine Topic Branches and Backlog
|
|
--------------------------------------------------------
|
|
|
|
----------------------------
|
|
Last Updated: October 2011
|
|
----------------------------
|
|
|
|
--------------------------------------
|
|
Current priority list for Needle 2.0
|
|
--------------------------------------
|
|
1. implement topic-map
|
|
2. replace confdb callers with map callers
|
|
3. quorum debugging and rework
|
|
4. implement topic-xmlconfig
|
|
5. remove external plug-in api
|
|
6. remove logsys.h from external headers
|
|
7. remove hardcoded values in totempg.c check_q_level
|
|
8. check max message size restrictions
|
|
9. investigate if https://github.com/asalkeld/libqb/issues/1 is still an issue.
|
|
10. allow a cluster name to autogenerate a mcastaddr
|
|
11. ring status change via corosync-notifyd
|
|
12. remove dashes in UDPU notifier and replace with dots once map code is in
|
|
13. put addition/removal of members in totem.interface.member objects
|
|
14. dynamic UDPU needs ring id settings for multiple rings
|
|
|
|
--------------------------------------
|
|
Current priority list for Needle 2.1
|
|
--------------------------------------
|
|
1. implement topic-onecrypt
|
|
2. implement add/remove nodes from udpu
|
|
3. logsys glue layer removal
|
|
4. implement topic-zerocopy
|
|
5. implement topic-rdmaud
|
|
6. harden and finish ykd algorithm
|
|
|
|
We use topic branches in our git repository to develop new disruptive features
|
|
that define our future roadmap. This file describes the topic branches
|
|
the developers have interest in investigating further.
|
|
|
|
targets can be: whitetank, needle2.0, needle3.0, or future (3.0+).
|
|
Finished can be: percentage or date merged to master. Once in a shipped
|
|
version, please remove from the topic list.
|
|
|
|
------------------------------------------------------------------------------
|
|
topic-map
|
|
------------------------------------------------------------------------------
|
|
Main Developer: Honza Friesse
|
|
Started: not started
|
|
Finished: 20%
|
|
target: needle2.0
|
|
Currently confdb is very difficult to use. We use this component for
|
|
our diagnostic feature set as well as storing our runtime configuration. A
|
|
map is a better choice for a data structure here. Current thinking is to
|
|
use the trie implementation from libqb to provide the core of this
|
|
functionality
|
|
|
|
------------------------------------------------------------------------------
|
|
topic-xmlconfig
|
|
------------------------------------------------------------------------------
|
|
Main Developer: Honza Friesse
|
|
Started: not started
|
|
Finished: 0%
|
|
target: needle2.0
|
|
Test suites and users alike would like to configure the software via XML
|
|
configuration. Current thinking is we will implement a separate binary which
|
|
converts xml to native config format via XSLT. This keeps libxml out of the
|
|
corosync process address space. During startup, corosync could either fork
|
|
and exec this process, or it could be part of the system startup mechanism.
|
|
|
|
------------------------------------------------------------------------------
|
|
topic-onecrypt
|
|
------------------------------------------------------------------------------
|
|
Main Developer: Honza Friesse
|
|
Started: not started
|
|
Finished: 0%
|
|
target: needle2.1
|
|
Description:
|
|
Currently encryption code is located in totemudp.c, totemudpu.c, and iba has
|
|
no encryption support. This topic merges the encryption code into a new
|
|
file such as totemcrp.c and provides a mechanism for totemnet.c to register
|
|
encrypt and decrypt functions with totem[udp|iba|udpu] and use them as
|
|
requested by the configuration.
|
|
|
|
------------------------------------------------------------------------------
|
|
topic-netmalloc
|
|
------------------------------------------------------------------------------
|
|
Main Developer: Honza Friesse
|
|
Started: not started
|
|
Finished: 0%
|
|
target: needle2.1
|
|
Description:
|
|
The totemiba.c driver must allocate memory and assign it to a protection domain
|
|
in order for an infiniband driver to transmit memory. In the current
|
|
implementation, totemsrp.c also allocates these same frames. This results in
|
|
an extra memcpy when transmitting with libibverbs technology. Memory copies
|
|
are to be avoided. The simple solution is to have each network driver provide
|
|
a memory allocation function. When totemsrp wants a free frame, it requests
|
|
it from the network driver.
|
|
|
|
------------------------------------------------------------------------------
|
|
topic-rdmaud
|
|
------------------------------------------------------------------------------
|
|
Main Developer: Honza Friesse Steven Dake
|
|
Started: not started
|
|
Finished: 0%
|
|
target: needle2.1
|
|
Description:
|
|
Currently our RDMA code uses librdmacm to setup connections. We are not
|
|
certain this extra library is needed, and may be able to use only ibverbs. If
|
|
this is possible, the totem code may be more reliable, especially around
|
|
failure conditions.
|
|
|
|
------------------------------------------------------------------------------
|
|
topic-zerocopy
|
|
------------------------------------------------------------------------------
|
|
Main Developer: Honza Friesse
|
|
Started: not started
|
|
Finished: 0%
|
|
target: needle2.1
|
|
Description:
|
|
Totem has many copies involved in messaging which we would like to investigate
|
|
removing. Our goal is to deliver wire speed performance for rdma networks,
|
|
and if this can be achieved by our other topic investigations, we may not
|
|
further investigate this topic. The basic idea of the topic is to handle
|
|
message assembly/fragmentation in libcpg, and have totem be responsible for
|
|
sending these pages that are shared via posix shared memory.
|
|
|
|
------------------------------------------------------------------------------
|
|
other topics not yet defined:
|
|
* disallow binding to localhost interfae in redundant ring configuation.
|
|
* doxygenize include and lib directories.
|
|
* sort out binding to localhost in general
|
|
* totem multiring
|
|
* load balancing over different speed links in RRP
|