TODO 4.4 KB

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