diff --git a/doc/Pacemaker_Development/en-US/Author_Group.xml b/doc/Pacemaker_Development/en-US/Author_Group.xml index a40b3adcc6..4f315d6ad0 100644 --- a/doc/Pacemaker_Development/en-US/Author_Group.xml +++ b/doc/Pacemaker_Development/en-US/Author_Group.xml @@ -1,17 +1,23 @@ AndrewBeekhof Red Hat Co-author andrew@beekhof.net KenGaillot Red Hat Co-author kgaillot@redhat.com + + JanPokorný + Red Hat + Co-author + poki@redhat.com + diff --git a/doc/Pacemaker_Development/en-US/Ch-Evolution.txt b/doc/Pacemaker_Development/en-US/Ch-Evolution.txt new file mode 100644 index 0000000000..a117968487 --- /dev/null +++ b/doc/Pacemaker_Development/en-US/Ch-Evolution.txt @@ -0,0 +1,96 @@ +:compat-mode: legacy += Evolution of the project = + +anchor:ch-evolution[Chapter 3. Evolution] + +== Foreword == + +This chapter is currently not meant as a definite summary of how +Pacemaker got into where it stands now, but rather to provide few valuable +pointers an entusiasts (presumably software archeologist type of person) +may find useful. Moreover, well-intentioned contributors to Pacemaker +project may want to review them occasionally since, as the famous quote +has it, "those who do not learn history are doomed to repeat it". + +For anything more talkative with less emphasis on actual code, other +places will serve better for the time being (and if not, should not be +too hard to volunteer extensions to those writeups): + +* https://wiki.clusterlabs.org/wiki/Pacemaker[main entry at ClusterLabs + community wiki] +* https://en.wikipedia.org/wiki/Pacemaker_(software)[entry at wikipedia.org] +* https://www.alteeve.com/w/AN!Cluster_Tutorial_2#What_about_Pacemaker.3F[ + brief section dedicated to Pacemaker in Digimer's tutorial regarding + setting up the cluster with the old Red Hat Cluster Suite like stack] + +== Common ancestor: 'heartbeat' project == + +Pacemaker can be considered as a spin-off from `heartbeat', original +comprehensive HA suite started by Alan Robertson, and some portions of code +are shared, at least on the conceptual level if not verbatim, till today, +even if the effective percentage continually declines. Note that till +Pacemaker 2.0, it also used to stand for one (and initially the only) of +supported messaging back-ends (removal of this support made for one such +notable drop of reused code), see also +https://github.com/ClusterLabs/pacemaker/commit/55ab749bf0f0143bd1cd050c1bbe302aecb3898e[ +pre-2.0 commit 55ab749bf]. + +The codebase for heartbeat used to be hosted at http://hg.linux-ha.org, +but since that does not appear working anymore, an archive checkout +from 2016 is shared at https://gitlab.com/poki/archived-heartbeat[ +as a dedicated read-only repository], and anchored there, the most +notable commits are: + +* https://gitlab.com/poki/archived-heartbeat/commit/bb48551be418291c46980511aa31c7c2df3a85e4[ + initial check-in of what turned up to be the basis for Pacemaker later on] + +* https://gitlab.com/poki/archived-heartbeat/commit/74573ac6182785820d765ec76c5d70086381931a[ + drop of now-detached Pacemaker code] + +=== Influence of 'heartbeat' on Pacemaker === + +On a closer look, we can identify these things in common: + +* extensive use of data types and functions of + https://wiki.gnome.org/Projects/GLib[GLib] + +* Cluster Testing System (CTS) is inherited from initial implementation + by Alan Robertson + +* ... + +== Notable Restructuring Steps in the Codebase == + +File renames may not appear as notable ... unless one runs into complicated ++git blame+ and +git log+ scenarios, so some more massive ones may be stated +as well. + +* watchdog/'sbd' functionality spin-off: +** https://github.com/ClusterLabs/pacemaker/commit/eb7cce2a172a026336f4ba6c441dedce42f41092[ + start separating, eb7cce2a1] +** https://github.com/ClusterLabs/pacemaker/commit/5884db78080941cdc4e77499bc76677676729484[ + finish separating, 5884db780] + +* daemons' rename for 2.0 (in chronological order) +** https://github.com/ClusterLabs/pacemaker/commit/318a2e003d2369caf10a450fe7a7616eb7ffb264[ + start of moving daemon sources from their top-level directories under + new +/daemons+ hierarchy, 318a2e003] +** https://github.com/ClusterLabs/pacemaker/commit/01563cf2637040e9d725b777f0c42efa8ab075c7[ + +attrd+ -> +pacemaker-attrd+, 01563cf26] +** https://github.com/ClusterLabs/pacemaker/commit/36a00e2376fd50d52c2ccc49483e235a974b161c[ + +lrmd+ -> +pacemaker-execd+, 36a00e237] +** https://github.com/ClusterLabs/pacemaker/commit/e4f4a0d64c8b6bbc4961810f2a41383f52eaa116[ + +pacemaker_remoted+ -> +pacemaker-remoted+, e4f4a0d64] +** https://github.com/ClusterLabs/pacemaker/commit/db5536e40c77cdfdf1011b837f18e4ad9df45442[ + +crmd+ -> +pacemaker-controld+, db5536e40] +** https://github.com/ClusterLabs/pacemaker/commit/e2fdc2baccc3ae07652aac622a83f317597608cd[ + +pengine+ -> +pacemaker-schedulerd+, e2fdc2bac] +** https://github.com/ClusterLabs/pacemaker/commit/038c465e2380c5349fb30ea96c8a7eb6184452e0[ + +stonithd+ -> +pacemaker-fenced+, 038c465e2] +** https://github.com/ClusterLabs/pacemaker/commit/50584c234e48cd8b99d355ca9349b0dfb9503987[ + +cib daemon+ -> +pacemaker-based+, 50584c234] + +//// +TBD: +- standalone tengine -> part of crmd/pacemaker-controld +//// diff --git a/doc/Pacemaker_Development/en-US/Pacemaker_Development.xml b/doc/Pacemaker_Development/en-US/Pacemaker_Development.xml index 854d77aca5..288d667bf2 100644 --- a/doc/Pacemaker_Development/en-US/Pacemaker_Development.xml +++ b/doc/Pacemaker_Development/en-US/Pacemaker_Development.xml @@ -1,13 +1,14 @@ %BOOK_ENTITIES; ]> + diff --git a/doc/Pacemaker_Development/en-US/Revision_History.xml b/doc/Pacemaker_Development/en-US/Revision_History.xml index 6d9372b910..594b5df66d 100644 --- a/doc/Pacemaker_Development/en-US/Revision_History.xml +++ b/doc/Pacemaker_Development/en-US/Revision_History.xml @@ -1,52 +1,65 @@ %BOOK_ENTITIES; ]> Revision History 1-0 Tue Jul 26 2016 KenGaillot kgaillot@redhat.com Convert coding guidelines and developer FAQ to Publican document 1-1 Mon Aug 29 2016 KenGaillot kgaillot@redhat.com Add Python coding guidelines, and more about licensing 2-0 Fri Jan 12 2018 KenGaillot kgaillot@redhat.com Drop support for Python 2.6 + + 2-1 + Tue Sep 18 2018 + + JanPokorný + poki@redhat.com + + + Start documenting notable evolutionary + points + + +