diff --git a/.corosync.metadata b/.corosync.metadata new file mode 100644 index 0000000..f3eae1a --- /dev/null +++ b/.corosync.metadata @@ -0,0 +1 @@ +5ae73ce01b451531b92eb6084d51bc69846f1375 SOURCES/corosync-3.1.5.tar.gz diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..14f1b19 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/corosync-3.1.5.tar.gz diff --git a/SOURCES/bz2024652-1-totem-Add-cancel_hold_on_retransmit-config-option.patch b/SOURCES/bz2024652-1-totem-Add-cancel_hold_on_retransmit-config-option.patch new file mode 100644 index 0000000..d8b82fd --- /dev/null +++ b/SOURCES/bz2024652-1-totem-Add-cancel_hold_on_retransmit-config-option.patch @@ -0,0 +1,128 @@ +From cdf72925db5a81e546ca8e8d7d8291ee1fc77be4 Mon Sep 17 00:00:00 2001 +From: Jan Friesse +Date: Wed, 11 Aug 2021 17:34:05 +0200 +Subject: [PATCH] totem: Add cancel_hold_on_retransmit config option + +Previously, existence of retransmit messages canceled holding +of token (and never allowed representative to enter token hold +state). + +This makes token rotating maximum speed and keeps processor +resending messages over and over again - overloading network +and reducing chance to successfully deliver the messages. + +Also there were reports of various Antivirus / IPS / IDS which slows +down delivery of packets with certain sizes (packets bigger than token) +what make Corosync retransmit messages over and over again. + +Proposed solution is to allow representative to enter token hold +state when there are only retransmit messages. This allows network to +handle overload and/or gives Antivirus/IPS/IDS enough time scan and +deliver packets without corosync entering "FAILED TO RECEIVE" state and +adding more load to network. + +Signed-off-by: Jan Friesse +Reviewed-by: Christine Caulfield +--- + exec/totemconfig.c | 6 ++++++ + exec/totemsrp.c | 5 +++-- + include/corosync/totem/totem.h | 2 ++ + man/corosync.conf.5 | 15 ++++++++++++++- + 4 files changed, 25 insertions(+), 3 deletions(-) + +diff --git a/exec/totemconfig.c b/exec/totemconfig.c +index 57a1587a..46e09952 100644 +--- a/exec/totemconfig.c ++++ b/exec/totemconfig.c +@@ -81,6 +81,7 @@ + #define MAX_MESSAGES 17 + #define MISS_COUNT_CONST 5 + #define BLOCK_UNLISTED_IPS 1 ++#define CANCEL_TOKEN_HOLD_ON_RETRANSMIT 0 + /* This constant is not used for knet */ + #define UDP_NETMTU 1500 + +@@ -144,6 +145,8 @@ static void *totem_get_param_by_name(struct totem_config *totem_config, const ch + return totem_config->knet_compression_model; + if (strcmp(param_name, "totem.block_unlisted_ips") == 0) + return &totem_config->block_unlisted_ips; ++ if (strcmp(param_name, "totem.cancel_token_hold_on_retransmit") == 0) ++ return &totem_config->cancel_token_hold_on_retransmit; + + return NULL; + } +@@ -365,6 +368,9 @@ void totem_volatile_config_read (struct totem_config *totem_config, icmap_map_t + + totem_volatile_config_set_boolean_value(totem_config, temp_map, "totem.block_unlisted_ips", deleted_key, + BLOCK_UNLISTED_IPS); ++ ++ totem_volatile_config_set_boolean_value(totem_config, temp_map, "totem.cancel_token_hold_on_retransmit", ++ deleted_key, CANCEL_TOKEN_HOLD_ON_RETRANSMIT); + } + + int totem_volatile_config_validate ( +diff --git a/exec/totemsrp.c b/exec/totemsrp.c +index 949d367b..d24b11fa 100644 +--- a/exec/totemsrp.c ++++ b/exec/totemsrp.c +@@ -3981,8 +3981,9 @@ static int message_handler_orf_token ( + transmits_allowed = fcc_calculate (instance, token); + mcasted_retransmit = orf_token_rtr (instance, token, &transmits_allowed); + +- if (instance->my_token_held == 1 && +- (token->rtr_list_entries > 0 || mcasted_retransmit > 0)) { ++ if (instance->totem_config->cancel_token_hold_on_retransmit && ++ instance->my_token_held == 1 && ++ (token->rtr_list_entries > 0 || mcasted_retransmit > 0)) { + instance->my_token_held = 0; + forward_token = 1; + } +diff --git a/include/corosync/totem/totem.h b/include/corosync/totem/totem.h +index 8b166566..bdb6a15f 100644 +--- a/include/corosync/totem/totem.h ++++ b/include/corosync/totem/totem.h +@@ -244,6 +244,8 @@ struct totem_config { + + unsigned int block_unlisted_ips; + ++ unsigned int cancel_token_hold_on_retransmit; ++ + void (*totem_memb_ring_id_create_or_load) ( + struct memb_ring_id *memb_ring_id, + unsigned int nodeid); +diff --git a/man/corosync.conf.5 b/man/corosync.conf.5 +index 0588ad1e..a3771ea7 100644 +--- a/man/corosync.conf.5 ++++ b/man/corosync.conf.5 +@@ -32,7 +32,7 @@ + .\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF + .\" * THE POSSIBILITY OF SUCH DAMAGE. + .\" */ +-.TH COROSYNC_CONF 5 2021-07-23 "corosync Man Page" "Corosync Cluster Engine Programmer's Manual" ++.TH COROSYNC_CONF 5 2021-08-11 "corosync Man Page" "Corosync Cluster Engine Programmer's Manual" + .SH NAME + corosync.conf - corosync executive configuration file + +@@ -584,6 +584,19 @@ with an old configuration. + + The default value is yes. + ++.TP ++cancel_token_hold_on_retransmit ++Allows Corosync to hold token by representative when there is too much ++retransmit messages. This allows network to process increased load without ++overloading it. Used mechanism is same as described for ++.B hold ++directive. ++ ++Some deployments may prefer to never hold token when there is ++retransmit messages. If so, option should be set to yes. ++ ++The default value is no. ++ + .PP + Within the + .B logging +-- +2.27.0 + diff --git a/SOURCES/bz2024657-1-totemsrp-Switch-totempg-buffers-at-the-right-time.patch b/SOURCES/bz2024657-1-totemsrp-Switch-totempg-buffers-at-the-right-time.patch new file mode 100644 index 0000000..39f1e01 --- /dev/null +++ b/SOURCES/bz2024657-1-totemsrp-Switch-totempg-buffers-at-the-right-time.patch @@ -0,0 +1,109 @@ +From e7a82370a7b5d3ca342d5e42e25763fa2c938739 Mon Sep 17 00:00:00 2001 +From: Jan Friesse +Date: Tue, 26 Oct 2021 18:17:59 +0200 +Subject: [PATCH] totemsrp: Switch totempg buffers at the right time + +Commit 92e0f9c7bb9b4b6a0da8d64bdf3b2e47ae55b1cc added switching of +totempg buffers in sync phase. But because buffers got switch too early +there was a problem when delivering recovered messages (messages got +corrupted and/or lost). Solution is to switch buffers after recovered +messages got delivered. + +I think it is worth to describe complete history with reproducers so it +doesn't get lost. + +It all started with 402638929e5045ef520a7339696c687fbed0b31b (more info +about original problem is described in +https://bugzilla.redhat.com/show_bug.cgi?id=820821). This patch +solves problem which is way to be reproduced with following reproducer: +- 2 nodes +- Both nodes running corosync and testcpg +- Pause node 1 (SIGSTOP of corosync) +- On node 1, send some messages by testcpg + (it's not answering but this doesn't matter). Simply hit ENTER key + few times is enough) +- Wait till node 2 detects that node 1 left +- Unpause node 1 (SIGCONT of corosync) + +and on node 1 newly mcasted cpg messages got sent before sync barrier, +so node 2 logs "Unknown node -> we will not deliver message". + +Solution was to add switch of totemsrp new messages buffer. + +This patch was not enough so new one +(92e0f9c7bb9b4b6a0da8d64bdf3b2e47ae55b1cc) was created. Reproducer of +problem was similar, just cpgverify was used instead of testcpg. +Occasionally when node 1 was unpaused it hang in sync phase because +there was a partial message in totempg buffers. New sync message had +different frag cont so it was thrown away and never delivered. + +After many years problem was found which is solved by this patch +(original issue describe in +https://github.com/corosync/corosync/issues/660). +Reproducer is more complex: +- 2 nodes +- Node 1 is rate-limited (used script on the hypervisor side): + ``` + iface=tapXXXX + # ~0.1MB/s in bit/s + rate=838856 + # 1mb/s + burst=1048576 + tc qdisc add dev $iface root handle 1: htb default 1 + tc class add dev $iface parent 1: classid 1:1 htb rate ${rate}bps \ + burst ${burst}b + tc qdisc add dev $iface handle ffff: ingress + tc filter add dev $iface parent ffff: prio 50 basic police rate \ + ${rate}bps burst ${burst}b mtu 64kb "drop" + ``` +- Node 2 is running corosync and cpgverify +- Node 1 keeps restarting of corosync and running cpgverify in cycle + - Console 1: while true; do corosync; sleep 20; \ + kill $(pidof corosync); sleep 20; done + - Console 2: while true; do ./cpgverify;done + +And from time to time (reproduced usually in less than 5 minutes) +cpgverify reports corrupted message. + +Signed-off-by: Jan Friesse +Reviewed-by: Fabio M. Di Nitto +--- + exec/totemsrp.c | 16 +++++++++++++++- + 1 file changed, 15 insertions(+), 1 deletion(-) + +diff --git a/exec/totemsrp.c b/exec/totemsrp.c +index d24b11fa..fd71771b 100644 +--- a/exec/totemsrp.c ++++ b/exec/totemsrp.c +@@ -1989,13 +1989,27 @@ static void memb_state_operational_enter (struct totemsrp_instance *instance) + trans_memb_list_totemip, instance->my_trans_memb_entries, + left_list, instance->my_left_memb_entries, + 0, 0, &instance->my_ring_id); ++ /* ++ * Switch new totemsrp messages queue. Messages sent from now on are stored ++ * in different queue so synchronization messages are delivered first. Totempg ++ * buffers will be switched later. ++ */ + instance->waiting_trans_ack = 1; +- instance->totemsrp_waiting_trans_ack_cb_fn (1); + + // TODO we need to filter to ensure we only deliver those + // messages which are part of instance->my_deliver_memb + messages_deliver_to_app (instance, 1, instance->old_ring_state_high_seq_received); + ++ /* ++ * Switch totempg buffers. This used to be right after ++ * instance->waiting_trans_ack = 1; ++ * line. This was causing problem, because there may be not yet ++ * processed parts of messages in totempg buffers. ++ * So when buffers were switched and recovered messages ++ * got delivered it was not possible to assemble them. ++ */ ++ instance->totemsrp_waiting_trans_ack_cb_fn (1); ++ + instance->my_aru = aru_save; + + /* +-- +2.27.0 + diff --git a/SPECS/corosync.spec b/SPECS/corosync.spec new file mode 100644 index 0000000..0b50d9b --- /dev/null +++ b/SPECS/corosync.spec @@ -0,0 +1,812 @@ +# Conditionals +# Invoke "rpmbuild --without " or "rpmbuild --with " +# to disable or enable specific features +%bcond_with watchdog +%bcond_with monitoring +%bcond_without snmp +%bcond_without dbus +%bcond_without systemd +%bcond_without xmlconf +%bcond_without nozzle +%bcond_without vqsim +%bcond_without runautogen +%bcond_without userflags + +%global gitver %{?numcomm:.%{numcomm}}%{?alphatag:.%{alphatag}}%{?dirty:.%{dirty}} +%global gittarver %{?numcomm:.%{numcomm}}%{?alphatag:-%{alphatag}}%{?dirty:-%{dirty}} + +Name: corosync +Summary: The Corosync Cluster Engine and Application Programming Interfaces +Version: 3.1.5 +Release: 3%{?gitver}%{?dist} +License: BSD +URL: http://corosync.github.io/corosync/ +Source0: http://build.clusterlabs.org/corosync/releases/%{name}-%{version}%{?gittarver}.tar.gz + +Patch0: bz2024652-1-totem-Add-cancel_hold_on_retransmit-config-option.patch +Patch1: bz2024657-1-totemsrp-Switch-totempg-buffers-at-the-right-time.patch + +# Runtime bits +# The automatic dependency overridden in favor of explicit version lock +Requires: corosynclib%{?_isa} = %{version}-%{release} + +# Support crypto reload +Requires: libknet1 >= 1.18 +# NSS crypto plugin should be always installed +Requires: libknet1-crypto-nss-plugin >= 1.18 + +# Build bits +BuildRequires: gcc +BuildRequires: groff +BuildRequires: libqb-devel +BuildRequires: libknet1-devel >= 1.18 +BuildRequires: zlib-devel +%if %{with runautogen} +BuildRequires: autoconf automake libtool +%endif +%if %{with monitoring} +BuildRequires: libstatgrab-devel +%endif +%if %{with snmp} +BuildRequires: net-snmp-devel +%endif +%if %{with dbus} +BuildRequires: dbus-devel +%endif +%if %{with nozzle} +BuildRequires: libnozzle1-devel +%endif +%if %{with systemd} +%{?systemd_requires} +BuildRequires: systemd +BuildRequires: systemd-devel +%else +Requires(post): /sbin/chkconfig +Requires(preun): /sbin/chkconfig +%endif +%if %{with xmlconf} +Requires: libxslt +%endif +%if %{with vqsim} +BuildRequires: readline-devel +%endif +BuildRequires: make + +%prep +%setup -q -n %{name}-%{version}%{?gittarver} + +%patch0 -p1 -b .bz2024652-1 +%patch1 -p1 -b .bz2024657-1 + +%build +%if %{with runautogen} +./autogen.sh +%endif + +%{configure} \ +%if %{with watchdog} + --enable-watchdog \ +%endif +%if %{with monitoring} + --enable-monitoring \ +%endif +%if %{with snmp} + --enable-snmp \ +%endif +%if %{with dbus} + --enable-dbus \ +%endif +%if %{with systemd} + --enable-systemd \ +%endif +%if %{with xmlconf} + --enable-xmlconf \ +%endif +%if %{with nozzle} + --enable-nozzle \ +%endif +%if %{with vqsim} + --enable-vqsim \ +%endif +%if %{with userflags} + --enable-user-flags \ +%endif + --with-initddir=%{_initrddir} \ + --with-systemddir=%{_unitdir} \ + --docdir=%{_docdir} + +%make_build + +%install +%make_install + +%if %{with dbus} +mkdir -p -m 0700 %{buildroot}/%{_sysconfdir}/dbus-1/system.d +install -m 644 %{_builddir}/%{name}-%{version}%{?gittarver}/conf/corosync-signals.conf %{buildroot}/%{_sysconfdir}/dbus-1/system.d/corosync-signals.conf +%endif + +## tree fixup +# drop static libs +rm -f %{buildroot}%{_libdir}/*.a +rm -f %{buildroot}%{_libdir}/*.la +# drop docs and html docs for now +rm -rf %{buildroot}%{_docdir}/* +# /etc/sysconfig/corosync-notifyd +mkdir -p %{buildroot}%{_sysconfdir}/sysconfig +install -m 644 tools/corosync-notifyd.sysconfig.example \ + %{buildroot}%{_sysconfdir}/sysconfig/corosync-notifyd +# /etc/sysconfig/corosync +install -m 644 init/corosync.sysconfig.example \ + %{buildroot}%{_sysconfdir}/sysconfig/corosync + +%description +This package contains the Corosync Cluster Engine Executive, several default +APIs and libraries, default configuration files, and an init script. + +%post +%if %{with systemd} && 0%{?systemd_post:1} +%systemd_post corosync.service +%else +if [ $1 -eq 1 ]; then + /sbin/chkconfig --add corosync || : +fi +%endif + +%preun +%if %{with systemd} && 0%{?systemd_preun:1} +%systemd_preun corosync.service +%else +if [ $1 -eq 0 ]; then + /sbin/service corosync stop &>/dev/null || : + /sbin/chkconfig --del corosync || : +fi +%endif + +%postun +%if %{with systemd} && 0%{?systemd_postun:1} +%systemd_postun corosync.service +%endif + +%files +%doc LICENSE +%{_sbindir}/corosync +%{_sbindir}/corosync-keygen +%{_sbindir}/corosync-cmapctl +%{_sbindir}/corosync-cfgtool +%{_sbindir}/corosync-cpgtool +%{_sbindir}/corosync-quorumtool +%{_sbindir}/corosync-notifyd +%{_bindir}/corosync-blackbox +%if %{with xmlconf} +%{_bindir}/corosync-xmlproc +%dir %{_datadir}/corosync +%{_datadir}/corosync/xml2conf.xsl +%{_mandir}/man8/corosync-xmlproc.8* +%{_mandir}/man5/corosync.xml.5* +%endif +%dir %{_sysconfdir}/corosync +%dir %{_sysconfdir}/corosync/uidgid.d +%config(noreplace) %{_sysconfdir}/corosync/corosync.conf.example +%config(noreplace) %{_sysconfdir}/sysconfig/corosync-notifyd +%config(noreplace) %{_sysconfdir}/sysconfig/corosync +%config(noreplace) %{_sysconfdir}/logrotate.d/corosync +%if %{with dbus} +%{_sysconfdir}/dbus-1/system.d/corosync-signals.conf +%endif +%if %{with snmp} +%{_datadir}/snmp/mibs/COROSYNC-MIB.txt +%endif +%if %{with systemd} +%{_unitdir}/corosync.service +%{_unitdir}/corosync-notifyd.service +%else +%{_initrddir}/corosync +%{_initrddir}/corosync-notifyd +%endif +%dir %{_localstatedir}/lib/corosync +%dir %{_localstatedir}/log/cluster +%{_mandir}/man7/corosync_overview.7* +%{_mandir}/man8/corosync.8* +%{_mandir}/man8/corosync-blackbox.8* +%{_mandir}/man8/corosync-cmapctl.8* +%{_mandir}/man8/corosync-keygen.8* +%{_mandir}/man8/corosync-cfgtool.8* +%{_mandir}/man8/corosync-cpgtool.8* +%{_mandir}/man8/corosync-notifyd.8* +%{_mandir}/man8/corosync-quorumtool.8* +%{_mandir}/man5/corosync.conf.5* +%{_mandir}/man5/votequorum.5* +%{_mandir}/man7/cmap_keys.7* + +# library +# +%package -n corosynclib +Summary: The Corosync Cluster Engine Libraries + +%description -n corosynclib +This package contains corosync libraries. + +%files -n corosynclib +%doc LICENSE +%{_libdir}/libcfg.so.* +%{_libdir}/libcpg.so.* +%{_libdir}/libcmap.so.* +%{_libdir}/libquorum.so.* +%{_libdir}/libvotequorum.so.* +%{_libdir}/libsam.so.* +%{_libdir}/libcorosync_common.so.* + +%ldconfig_scriptlets -n corosynclib + +%package -n corosynclib-devel +Summary: The Corosync Cluster Engine Development Kit +Requires: corosynclib%{?_isa} = %{version}-%{release} +Requires: pkgconfig +Provides: corosync-devel = %{version}-%{release} +Provides: corosync-devel%{?_isa} = %{version}-%{release} + +%description -n corosynclib-devel +This package contains include files and man pages used to develop using +The Corosync Cluster Engine APIs. + +%files -n corosynclib-devel +%doc LICENSE +%dir %{_includedir}/corosync/ +%{_includedir}/corosync/corodefs.h +%{_includedir}/corosync/cfg.h +%{_includedir}/corosync/cmap.h +%{_includedir}/corosync/corotypes.h +%{_includedir}/corosync/cpg.h +%{_includedir}/corosync/hdb.h +%{_includedir}/corosync/sam.h +%{_includedir}/corosync/quorum.h +%{_includedir}/corosync/votequorum.h +%{_libdir}/libcfg.so +%{_libdir}/libcpg.so +%{_libdir}/libcmap.so +%{_libdir}/libquorum.so +%{_libdir}/libvotequorum.so +%{_libdir}/libsam.so +%{_libdir}/libcorosync_common.so +%{_libdir}/pkgconfig/*.pc +%{_mandir}/man3/cpg_*3* +%{_mandir}/man3/quorum_*3* +%{_mandir}/man3/votequorum_*3* +%{_mandir}/man3/sam_*3* +%{_mandir}/man3/cmap_*3* + +%if %{with vqsim} +%package -n corosync-vqsim +Summary: The Corosync Cluster Engine - Votequorum Simulator +Requires: corosynclib%{?_isa} = %{version}-%{release} +Requires: pkgconfig + +%description -n corosync-vqsim +A command-line simulator for the corosync votequorum subsystem. +It uses the same code as the corosync quorum system but forks +them into subprocesses to simulate nodes. +Nodes can be added and removed as well as partitioned (to simulate +network splits) + +%files -n corosync-vqsim +%doc LICENSE +%{_bindir}/corosync-vqsim +%{_mandir}/man8/corosync-vqsim.8* +%endif + +%changelog +* Thu Nov 25 2021 Jan Friesse - 3.1.5-3 +- Resolves: rhbz#2024652 +- Resolves: rhbz#2024657 + +- totem: Add cancel_hold_on_retransmit config option (rhbz#2024652) +- merge upstream commit cdf72925db5a81e546ca8e8d7d8291ee1fc77be4 (rhbz#2024652) +- totemsrp: Switch totempg buffers at the right time (rhbz#2024657) +- merge upstream commit e7a82370a7b5d3ca342d5e42e25763fa2c938739 (rhbz#2024657) + +* Mon Aug 09 2021 Mohan Boddu - 3.1.5-2 +- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags + Related: rhbz#1991688 + +* Wed Aug 04 2021 Jan Friesse - 3.1.5-1 +- Related: rhbz#1948974 + +- New upstream release (rhbz#1948974) + +* Fri Jul 23 2021 Jan Friesse - 3.1.4-3 +- Related: rhbz#1948974 + +- Add support for cgroup v2 and auto mode (rhbz#1948974) + +* Tue Jun 22 2021 Mohan Boddu - 3.1.4-2 +- Rebuilt for RHEL 9 BETA for openssl 3.0 + Related: rhbz#1971065 + +* Thu Jun 03 2021 Jan Friesse - 3.1.4-1 +- Related: rhbz#1948974 +- Resolves: rhbz#1967485 + +- New upstream release (rhbz#1948974) +- stats: fix crash when iterating over deleted keys (rhbz#1967485) + +* Fri May 21 2021 Jan Friesse - 3.1.3-1 +- Resolves: rhbz#1948974 + +- New upstream release + +* Wed Apr 21 2021 Jan Friesse - 3.1.2-1 +- Related: rhbz#1948974 + +- New upstream release + +* Thu Apr 15 2021 Mohan Boddu - 3.1.1-2 +- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937 + +* Wed Mar 31 2021 Jan Friesse - 3.1.1-1 +- New upstream release + +* Tue Jan 26 2021 Fedora Release Engineering - 3.1.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Mon Nov 02 2020 Jan Friesse - 3.1.0-2 +- Add isa version of corosync-devel +- Add release to corosync-devel version to match autogenerated + corosynclib-devel provides + +* Tue Oct 20 2020 Jan Friesse - 3.1.0-1 +- New upstream release + +* Thu Aug 27 2020 Josef Řídký - 3.0.4-6 +- Rebuilt for new net-snmp release + +* Mon Jul 27 2020 Fedora Release Engineering - 3.0.4-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Mon Jul 13 2020 Tom Stellard - 3.0.4-4 +- Use make macros +- https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro + +* Wed May 13 2020 Jan Friesse - 3.0.4-3 +- Fix typo in the changelog + +* Wed May 13 2020 Jan Friesse - 3.0.4-2 +- Rebuild for new libqb + +* Thu Apr 23 2020 Jan Friesse - 3.0.4-1 +- New upstream release + +* Fri Mar 27 2020 Jan Friesse - 3.0.3-3 +- Add CI tests +- Enable gating + +* Tue Jan 28 2020 Fedora Release Engineering - 3.0.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Mon Nov 25 2019 Jan Friesse - 3.0.3-1 +- New upstream release + +* Wed Jul 24 2019 Fedora Release Engineering - 3.0.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Wed Jun 12 2019 Jan Friesse - 3.0.2-1 +- New upstream release + +* Thu Jan 31 2019 Fedora Release Engineering - 3.0.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Tue Jan 15 2019 Jan Friesse - 3.0.1-1 +- New upstream release + +* Fri Dec 14 2018 Jan Friesse - 3.0.0-1 +- New upstream release + +* Fri Dec 7 2018 Jan Friesse - 2.99.5-1 +- New upstream release + +* Tue Dec 4 2018 Jan Friesse - 2.99.4-2 +- Add libknet1-crypto-nss-plugin dependency + +* Tue Nov 20 2018 Jan Friesse - 2.99.4-1 +- New upstream release + +* Thu Aug 16 2018 Jan Pokorný - 2.99.3-3 +- Rebuild again, since the previous one was so unfortunate it got affected + with binutils (2.31.1-3.fc29) producing non-monotonically increasing + section offsets causing unprepared eu-strip to damage the binary + (related: rhbz#1609577) +- Apply patch to prevent redundancy in systemd journal + +* Tue Jul 24 2018 Adam Williamson - 2.99.3-2 +- Rebuild for new net-snmp + +* Fri Jul 13 2018 Jan Friesse - 2.99.3-1 +- New upstream release + +* Thu Jul 12 2018 Fedora Release Engineering - 2.99.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Mon Apr 30 2018 Jan Friesse - 2.99.2-1 +- New upstream release + +* Fri Mar 16 2018 Jan Friesse - 2.99.1-1 +- New upstream release + +* Wed Feb 07 2018 Fedora Release Engineering - 2.4.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Fri Jan 19 2018 Igor Gnatenko - 2.4.3-2 +- Rebuild to fix upgradepath + +* Fri Oct 20 2017 Jan Friesse - 2.4.3-1 +- New upstream release + +* Mon Oct 09 2017 Troy Dawson - 2.4.2-7 +- Cleanup spec file conditionals + +* Mon Oct 02 2017 Troy Dawson - 2.4.2-6 +- Bump to rebuild on newer binutils + +* Wed Aug 23 2017 Adam Williamson - 2.4.2-5 +- Disable RDMA on 32-bit ARM (#1484155) + +* Wed Aug 02 2017 Fedora Release Engineering - 2.4.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 2.4.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Feb 10 2017 Fedora Release Engineering - 2.4.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Mon Nov 7 2016 Jan Friesse - 2.4.2-1 +- New upstream release + +* Thu Aug 4 2016 Jan Friesse - 2.4.1-1 +- New upstream release + +* Thu Jun 30 2016 Jan Friesse - 2.4.0-1 +- New upstream release + +* Thu Jun 16 2016 Jan Friesse - 2.3.6-1 +- New upstream release + +* Wed Feb 03 2016 Fedora Release Engineering - 2.3.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Wed Jul 01 2015 Jan Friesse - 2.3.5-1 +- New upstream release + +* Wed Jun 17 2015 Fedora Release Engineering - 2.3.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Tue Aug 26 2014 Jan Friesse - 2.3.4-1 +- New upstream release + +* Sat Aug 16 2014 Fedora Release Engineering - 2.3.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sat Jun 07 2014 Fedora Release Engineering - 2.3.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Tue Jan 14 2014 Jan Friesse - 2.3.3-1 +- New upstream release + +* Mon Sep 16 2013 Jan Friesse - 2.3.2-1 +- New upstream release + +* Mon Aug 19 2013 Jan Friesse 2.3.1-3 +- Resolves: rhbz#998362 + +- Fix scheduler pause-detection timeout (rhbz#998362) +- merge upstream commit 2740cfd1eac60714601c74df2137fe588b607866 (rhbz#998362) + +* Sat Aug 03 2013 Fedora Release Engineering - 2.3.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Wed Jul 10 2013 Jan Friesse - 2.3.1-1 +- New upstream release +- Fix incorrect dates in specfile changelog section + +* Mon Mar 25 2013 Jan Friesse - 2.3.0-3 +- Resolves: rhbz#925185 + +- Run autogen by default + +* Wed Feb 13 2013 Fedora Release Engineering - 2.3.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Fri Jan 18 2013 Jan Friesse - 2.3.0-1 +- New upstream release + +* Wed Dec 12 2012 Jan Friesse - 2.2.0-1 +- New upstream release + +* Thu Oct 11 2012 Jan Friesse - 2.1.0-1 +- New upstream release + +* Fri Aug 3 2012 Steven Dake - 2.0.1-3 +- add groff as a BuildRequires as it is no longer installed in the buildroot + +* Wed Jul 18 2012 Fedora Release Engineering - 2.0.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Tue May 22 2012 Jan Friesse - 2.0.1-1 +- New upstream release + +* Tue Apr 17 2012 Fabio M. Di Nitto - 2.0.0-2 +- Backport IPCS fix from master (ack by Steven) + +* Tue Apr 10 2012 Jan Friesse - 2.0.0-1 +- New upstream release + +* Thu Apr 05 2012 Karsten Hopp 1.99.9-1.1 +- bump release and rebuild on PPC + +* Tue Mar 27 2012 Jan Friesse - 1.99.9-1 +- New upstream release + +* Fri Mar 16 2012 Jan Friesse - 1.99.8-1 +- New upstream release + +* Tue Mar 6 2012 Jan Friesse - 1.99.7-1 +- New upstream release + +* Tue Feb 28 2012 Jan Friesse - 1.99.6-1 +- New upstream release + +* Wed Feb 22 2012 Jan Friesse - 1.99.5-1 +- New upstream release + +* Tue Feb 14 2012 Jan Friesse - 1.99.4-1 +- New upstream release + +* Tue Feb 14 2012 Jan Friesse - 1.99.3-1 +- New upstream release + +* Tue Feb 7 2012 Fabio M. Di Nitto - 1.99.2-1 +- New upstream release +- Re-enable xmlconfig bits +- Ship cmap man pages +- Add workaround to usrmove breakage!! + +* Thu Feb 2 2012 Fabio M. Di Nitto - 1.99.1-2 +- Add proper Obsoltes on openais/cman/clusterlib + +* Wed Feb 1 2012 Fabio M. Di Nitto - 1.99.1-1 +- New upstream release +- Temporary disable xml config (broken upstream tarball) + +* Tue Jan 24 2012 Jan Friesse - 1.99.0-1 +- New upstream release + +* Thu Jan 12 2012 Fedora Release Engineering - 1.4.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Thu Oct 06 2011 Jan Friesse - 1.4.2-1 +- New upstream release + +* Thu Sep 08 2011 Jan Friesse - 1.4.1-2 +- Add upstream fixes + +* Tue Jul 26 2011 Jan Friesse - 1.4.1-1 +- New upstream release + +* Wed Jul 20 2011 Jan Friesse - 1.4.0-2 +- Change attributes of cluster log directory + +* Tue Jul 19 2011 Jan Friesse - 1.4.0-1 +- New upstream release +- Resync spec file with upstream changes + +* Fri Jul 08 2011 Jan Friesse - 1.3.2-1 +- New upstream release + +* Tue May 10 2011 Fabio M. Di Nitto - 1.3.1-1 +- New upstream release + +* Tue Feb 08 2011 Fedora Release Engineering - 1.3.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Thu Dec 2 2010 Fabio M. Di Nitto - 1.3.0-1 +- New upstream release +- drop upstream patch revision-2770.patch now included in release +- update spec file to ship corosync-blackbox + +* Thu Sep 2 2010 Fabio M. Di Nitto - 1.2.8-1 +- New upstream release + +* Thu Jul 29 2010 Fabio M. Di Nitto - 1.2.7-1 +- New upstream release + +* Fri Jul 9 2010 Dan Horák - 1.2.6-2 +- no InfiniBand stack on s390(x) + +* Mon Jul 5 2010 Fabio M. Di Nitto - 1.2.6-1 +- New upstream release +- Resync spec file with upstream changes + +* Tue May 25 2010 Fabio M. Di Nitto - 1.2.3-1 +- New upstream release +- Rediff revision 2770 patch + +* Mon May 17 2010 Fabio M. Di Nitto - 1.2.2-1 +- New upstream release +- Add upstream trunk revision 2770 to add cpg_model_initialize api. +- Fix URL and Source0 entries. +- Add workaround to broken 1.2.2 Makefile with make -j. + +* Wed Mar 24 2010 Fabio M. Di Nitto - 1.2.1-1 +- New upstream release + +* Tue Dec 8 2009 Fabio M. Di Nitto - 1.2.0-1 +- New upstream release +- Use global instead of define +- Update Source0 url +- Use more name macro around +- Cleanup install section. Init script is now installed by upstream +- Cleanup whitespace +- Don't deadlock between package upgrade and corosync condrestart +- Ship service.d config directory +- Fix Conflicts vs Requires +- Ship new sam library and man pages + +* Fri Oct 23 2009 Fabio M. Di Nitto - 1.1.2-1 +- New upstream release fixes major regression on specific loads + +* Wed Oct 21 2009 Fabio M. Di Nitto - 1.1.1-1 +- New upstream release + +* Fri Sep 25 2009 Fabio M. Di Nitto - 1.1.0-1 +- New upstream release +- spec file updates: + * enable IB support + * explicitly define built-in features at configure time + +* Tue Sep 22 2009 Fabio M. Di Nitto - 1.0.1-1 +- New upstream release +- spec file updates: + * use proper configure macro + +* Tue Jul 28 2009 Fabio M. Di Nitto - 1.0.0-3 +- spec file updates: + * more consistent use of macros across the board + * fix directory ownership + +* Fri Jul 24 2009 Fedora Release Engineering - 1.0.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Wed Jul 8 2009 Fabio M. Di Nitto - 1.0.0-1 +- New upstream release + +* Thu Jul 2 2009 Fabio M. Di Nitto - 0.100-1 +- New upstream release + +* Sat Jun 20 2009 Fabio M. Di Nitto - 0.98-1 +- New upstream release +- spec file updates: + * Drop corosync-trunk patch and alpha tag. + * Fix alphatag vs buildtrunk handling. + * Drop requirement on ais user/group and stop creating them. + * New config file locations from upstream: /etc/corosync/corosync.conf. + +* Wed Jun 10 2009 Fabio M. Di Nitto - 0.97-1.svn2233 +- spec file updates: + * Update to svn version 2233 to include library linking fixes + +* Wed Jun 10 2009 Fabio M. Di Nitto - 0.97-1.svn2232 +- New upstream release +- spec file updates: + * Drop pkgconfig fix that's now upstream + * Update to svn version 2232 + * Define buildtrunk if we are using svn snapshots + * BuildRequires: nss-devel to enable nss crypto for network communication + * Force autogen invokation if buildtrunk is defined + * Whitespace cleanup + * Stop shipping corosync.conf in favour of a generic example + * Update file list + +* Mon Mar 30 2009 Fabio M. Di Nitto - 0.95-2 +- Backport svn commit 1913 to fix pkgconfig files generation + and unbreak lvm2 build. + +* Tue Mar 24 2009 Fabio M. Di Nitto - 0.95-1 +- New upstream release +- spec file updates: + * Drop alpha tag + * Drop local patches (no longer required) + * Allow to build from svn trunk by supporting rpmbuild --with buildtrunk + * BuildRequires autoconf automake if building from trunk + * Execute autogen.sh if building from trunk and if no configure is available + * Switch to use rpm configure macro and set standard install paths + * Build invokation now supports _smp_mflags + * Remove install section for docs and use proper doc macro instead + * Add tree fixup bits to drop static libs and html docs (only for now) + * Add LICENSE file to all subpackages + * libraries have moved to libdir. Drop ld.so.conf.d corosync file + * Update BuildRoot usage to preferred versions/names + +* Tue Mar 10 2009 Fabio M. Di Nitto - 0.94-5.svn1797 +- Update the corosync-trunk patch for real this time. + +* Tue Mar 10 2009 Fabio M. Di Nitto - 0.94-4.svn1797 +- Import fixes from upstream: + * Cleanup logsys format init around to use default settings (1795) + * logsys_format_set should use its own internal copy of format_buffer (1796) + * Add logsys_format_get to logsys API (1797) +- Cherry pick svn1807 to unbreak CPG. + +* Mon Mar 9 2009 Fabio M. Di Nitto - 0.94-3.svn1794 +- Import fixes from upstream: + * Add reserve/release feature to totem message queue space (1793) + * Fix CG shutdown (1794) + +* Fri Mar 6 2009 Fabio M. Di Nitto - 0.94-2.svn1792 +- Import fixes from upstream: + * Fix uninitialized memory. Spotted by valgrind (1788) + * Fix logsys_set_format by updating the right bits (1789) + * logsys: re-add support for timestamp (1790) + * Fix cpg crash (1791) + * Allow logsys_format_set to reset to default (1792) + +* Tue Mar 3 2009 Fabio M. Di Nitto - 0.94-1 +- New upstream release. +- Drop obsolete patches. +- Add soname bump patch that was missing from upstream. + +* Wed Feb 25 2009 Fabio M. Di Nitto - 0.93-4 +- Add Makefile fix to install all corosync tools (commit r1780) + +* Tue Feb 24 2009 Fedora Release Engineering - 0.93-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Mon Feb 23 2009 Fabio M. Di Nitto - 0.93-2 +- Rename gcc-4.4 patch to match svn commit (r1767). +- Backport patch from trunk (commit r1774) to fix quorum engine. + +* Thu Feb 19 2009 Fabio M. Di Nitto - 0.93-1 +- New upstream release. +- Drop alphatag from spec file. +- Drop trunk patch. +- Update Provides for corosynclib-devel. +- Backport gcc-4.4 build fix from trunk. + +* Mon Feb 2 2009 Fabio M. Di Nitto - 0.92-7.svn1756 +- Update to svn trunk at revision 1756 from upstream. +- Add support pkgconfig to devel package. +- Tidy up spec files by re-organazing sections according to packages. +- Split libraries from corosync to corosynclib. +- Rename corosync-devel to corosynclib-devel. +- Comply with multiarch requirements (libraries). + +* Tue Jan 27 2009 Fabio M. Di Nitto - 0.92-6.svn1750 +- Update to svn trunk at revision 1750 from upstream. +- Include new quorum service in the packaging. + +* Mon Dec 15 2008 Fabio M. Di Nitto - 0.92-5.svn1709 +- Update to svn trunk at revision 1709 from upstream. +- Update spec file to include new include files. + +* Wed Dec 10 2008 Fabio M. Di Nitto - 0.92-4.svn1707 +- Update to svn trunk at revision 1707 from upstream. +- Update spec file to include new lcrso services and include file. + +* Mon Oct 13 2008 Dennis Gilmore - 0.92-3 +- remove ExclusiveArch line + +* Wed Sep 24 2008 Steven Dake - 0.92-2 +- Add conflicts for openais and openais-devel packages older then 0.90. + +* Wed Sep 24 2008 Steven Dake - 0.92-1 +- New upstream release corosync-0.92. + +* Sun Aug 24 2008 Steven Dake - 0.91-3 +- move logsys_overview.8.* to devel package. +- move shared libs to main package. + +* Wed Aug 20 2008 Steven Dake - 0.91-2 +- use /sbin/service instead of calling init script directly. +- put corosync-objctl man page in the main package. +- change all initrddir to initddir for fedora 10 guidelines. + +* Thu Aug 14 2008 Steven Dake - 0.91-1 +- First upstream packaged version of corosync for rawhide review.