From 3f260ceed3fa899bb972b5dd80aa151a79d6c98f7368ad613cee885924687860 Mon Sep 17 00:00:00 2001 From: Yan Gao Date: Thu, 26 Jan 2023 15:14:14 +0000 Subject: [PATCH] Accepting request 1061237 from home:yan_gao:branches:network:ha-clustering:Factory - Update to version 2.1.5+20230125.95bb4788a: - libpacemaker: avoid assertion failure if a node_state entry doesn't have an uname yet (bsc#1207319) - libpacemaker: unify bailing out in pcmk__inject_node() (bsc#1207319) - Update to version 2.1.5+20230124.a29e52df9: - executor: fix regression in remote node shutdown - scheduler: avoid memory leak when finding compatible instance - Update to version 2.1.5+20230123.f414133a7: - libcrmcommon: avoid infinite regression when logging v1 patchsets - controller: clear last failure from CIB even if executor state unavailable - scheduler: downgrade message about instance where it shouldn't be - controller: use %u with g_hash_table_size() - fenced: use enum fenced_target_by consistently - scheduler: update Chinese translation - Update to version 2.1.5+20230117.dd503ddbb: - libcrmcommon: bump feature set for crm_attribute --pattern with -v/-D and permanent attributes - resource agents: add depth="0" to validate-all metadata - Update to version 2.1.5+20230111.39e62b78e: - rpm: Add a python3-pacemaker subpackage. - python: Add a private pacemaker._cts module. - python: Add the pacemaker.buildoptions module. - python: Add the pacemaker.exitstatus module. - python: Add the very beginnings of a pacemaker python library. - Update to version 2.1.5+20230110.292d6bf6b: - libpe_status: clarify more pointer arguments - libcrmcommon: Improve prefix spacing in XML logging functions OBS-URL: https://build.opensuse.org/request/show/1061237 OBS-URL: https://build.opensuse.org/package/show/network:ha-clustering:Factory/pacemaker?expand=0&rev=374 --- _service | 2 +- _servicedata | 2 +- pacemaker-2.1.5+20221212.b4db7685a.tar.xz | 3 - pacemaker-2.1.5+20230125.95bb4788a.tar.xz | 3 + pacemaker.changes | 63 ++++++++++- pacemaker.spec | 127 ++++++++++++++++------ 6 files changed, 163 insertions(+), 37 deletions(-) delete mode 100644 pacemaker-2.1.5+20221212.b4db7685a.tar.xz create mode 100644 pacemaker-2.1.5+20230125.95bb4788a.tar.xz diff --git a/_service b/_service index 89000fe..6482f3a 100644 --- a/_service +++ b/_service @@ -11,7 +11,7 @@ 2.1.5 --> 2.1.5+%cd.%h - b4db7685a + 95bb4788a enable diff --git a/_servicedata b/_servicedata index e9c79ce..6d89d0d 100644 --- a/_servicedata +++ b/_servicedata @@ -5,4 +5,4 @@ https://github.com/ClusterLabs/pacemaker.git - b4db7685a5a6b117bd977a49b6377e99b21599eb \ No newline at end of file + e46bd496da15932f697b23d7a6e2441575e450ba \ No newline at end of file diff --git a/pacemaker-2.1.5+20221212.b4db7685a.tar.xz b/pacemaker-2.1.5+20221212.b4db7685a.tar.xz deleted file mode 100644 index 949ea99..0000000 --- a/pacemaker-2.1.5+20221212.b4db7685a.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b1303ec8b27f35139cf7ae8ca969f5e744d5d4157cddb54b265e2eae93d5a441 -size 4121404 diff --git a/pacemaker-2.1.5+20230125.95bb4788a.tar.xz b/pacemaker-2.1.5+20230125.95bb4788a.tar.xz new file mode 100644 index 0000000..8de7d06 --- /dev/null +++ b/pacemaker-2.1.5+20230125.95bb4788a.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f2d96173dfcc0118ae49b537c018db10b5a632dcd174fe1aad29e5d774944f3d +size 4134232 diff --git a/pacemaker.changes b/pacemaker.changes index b83098f..c8f5d3d 100644 --- a/pacemaker.changes +++ b/pacemaker.changes @@ -1,9 +1,70 @@ +------------------------------------------------------------------- +Thu Jan 26 09:49:40 UTC 2023 - Yan Gao + +- Update to version 2.1.5+20230125.95bb4788a: +- libpacemaker: avoid assertion failure if a node_state entry doesn't have an uname yet (bsc#1207319) +- libpacemaker: unify bailing out in pcmk__inject_node() (bsc#1207319) + +------------------------------------------------------------------- +Wed Jan 25 09:18:57 UTC 2023 - Yan Gao + +- Update to version 2.1.5+20230124.a29e52df9: +- executor: fix regression in remote node shutdown +- scheduler: avoid memory leak when finding compatible instance + +------------------------------------------------------------------- +Tue Jan 24 14:01:07 UTC 2023 - Yan Gao + +- Update to version 2.1.5+20230123.f414133a7: +- libcrmcommon: avoid infinite regression when logging v1 patchsets +- controller: clear last failure from CIB even if executor state unavailable +- scheduler: downgrade message about instance where it shouldn't be +- controller: use %u with g_hash_table_size() +- fenced: use enum fenced_target_by consistently +- scheduler: update Chinese translation + +------------------------------------------------------------------- +Wed Jan 18 11:16:06 UTC 2023 - Yan Gao + +- Update to version 2.1.5+20230117.dd503ddbb: +- libcrmcommon: bump feature set for crm_attribute --pattern with -v/-D and permanent attributes +- resource agents: add depth="0" to validate-all metadata + +------------------------------------------------------------------- +Thu Jan 12 16:25:11 UTC 2023 - Yan Gao + +- Update to version 2.1.5+20230111.39e62b78e: +- rpm: Add a python3-pacemaker subpackage. +- python: Add a private pacemaker._cts module. +- python: Add the pacemaker.buildoptions module. +- python: Add the pacemaker.exitstatus module. +- python: Add the very beginnings of a pacemaker python library. + +------------------------------------------------------------------- +Thu Jan 12 14:51:46 UTC 2023 - Yan Gao + +- Update to version 2.1.5+20230110.292d6bf6b: +- libpe_status: clarify more pointer arguments +- libcrmcommon: Improve prefix spacing in XML logging functions + +------------------------------------------------------------------- +Fri Dec 23 13:27:39 UTC 2022 - Yan Gao + +- Update to version 2.1.5+20221220.51cc0bfbc: +- scheduler: order cloned fence device probes same as other clones +- libcrmcommon: Remove colon and space from log line after prefix +- libcrmcommon: Avoid out-of-bounds string access in log_data_element +- libcrmcommon: Don't use aliases in XML logging functions +- libcrmcommon: pcmk__output_xml_add_node() -> *_copy() +- libcrmcommon: Assert on failed copy in copy_xml() +- tools: Allow patterns for permanent attribute in crm_attribute. + ------------------------------------------------------------------- Thu Dec 22 12:59:33 UTC 2022 - Yan Gao - Update to version 2.1.5+20221212.b4db7685a: - cts-scheduler: update test for preventing inactive instances from starting if probe is unrunnable on any nodes (bsc#1206263) -- scheduler: prevent inactive instances from starting if probe is unrunnable on any nodes (bsc#1206263) +- scheduler: prevent inactive instances from starting if probe is unrunnable on any nodes (bsc#1206263) - libpacemaker: ensure any pending recurring monitor gets updated if it fails (bsc#1206263) - cts-scheduler: update test for preventing a leftover pending monitor from causing unexpected stop of other instances (bsc#1206263) - scheduler: prevent a leftover pending monitor from causing unexpected stop of other instances (bsc#1206263) diff --git a/pacemaker.spec b/pacemaker.spec index aeda443..0698869 100644 --- a/pacemaker.spec +++ b/pacemaker.spec @@ -99,20 +99,18 @@ %endif %define with_nagios 1 -%define enable_cluster_libs_pkg 0 +%define enable_cluster_libs_pkg 1 %define enable_fatal_warnings 0 %define with_regression_tests 0 Name: pacemaker -Version: 2.1.5+20221212.b4db7685a +Version: 2.1.5+20230125.95bb4788a Release: 0 Summary: Scalable High-Availability cluster resource manager # AGPL-3.0 licensed extra/clustermon.sh is not present in the binary License: GPL-2.0-only AND GPL-2.0-or-later AND LGPL-2.1-or-later Group: Productivity/Clustering/HA URL: https://www.clusterlabs.org/ -# Hint: use "spectool -s 0 pacemaker.spec" (rpmdevtools) to check the final URL: -# https://github.com/ClusterLabs/pacemaker/archive/e91769e5a39f5cb2f7b097d3c612368f0530535e/pacemaker-e91769e.tar.gz Source0: %{name}-%{version}.tar.xz Source1: crm_report.in Source100: pacemaker.rpmlintrc @@ -126,7 +124,7 @@ Patch7: bug-977201_pacemaker-controld-self-fencing.patch Patch8: bug-995365_pacemaker-cts-restart-systemd-journald.patch Patch9: pacemaker-cts-StartCmd.patch Patch10: bsc#1180966-0001-Log-pacemakerd-downgrade-the-warning-about-SBD_SYNC_.patch -# Required for core functionality +# Required basic build tools BuildRequires: autoconf BuildRequires: automake BuildRequires: coreutils @@ -137,9 +135,11 @@ BuildRequires: gettext-tools >= 0.18 BuildRequires: grep BuildRequires: help2man BuildRequires: libtool -BuildRequires: ncurses-devel +BuildRequires: make BuildRequires: pam-devel BuildRequires: pkgconfig +BuildRequires: python-rpm-macros +BuildRequires: python3-setuptools # Required for agent_config.h which specifies the correct scratch directory BuildRequires: resource-agents BuildRequires: sed @@ -148,22 +148,26 @@ BuildRequires: pkgconfig(bzip2) BuildRequires: pkgconfig(cmocka) BuildRequires: pkgconfig(corosync) >= 2.0.0 BuildRequires: pkgconfig(dbus-1) +# Required for core functionality BuildRequires: pkgconfig(glib-2.0) >= 2.42 BuildRequires: pkgconfig(gnutls) -BuildRequires: pkgconfig(libexslt) # Pacemaker requires a minimum libqb functionality -BuildRequires: pkgconfig(libqb) > 0.17.0 +BuildRequires: pkgconfig(libqb) >= 0.17.0 BuildRequires: pkgconfig(libxml-2.0) BuildRequires: pkgconfig(libxslt) +BuildRequires: pkgconfig(ncurses) # Pacemaker requires a minimum Python functionality BuildRequires: pkgconfig(python3) -BuildRequires: python-rpm-macros BuildRequires: pkgconfig(systemd) BuildRequires: pkgconfig(uuid) Requires: %{name}-cli = %{version}-%{release} +%if %{enable_cluster_libs_pkg} +Requires: %{name}-cluster-libs = %{version}-%{release} +%endif +Requires: %{name}-libs = %{version}-%{release} Requires: corosync >= 2.0.0 -Requires: psmisc Requires: python3 +Requires: python3-%{name} = %{version}-%{release} Requires: resource-agents Recommends: crmsh Recommends: fence-agents @@ -172,6 +176,7 @@ Recommends: sbd Suggests: graphviz Conflicts: heartbeat < 3.0 Conflicts: libheartbeat2 < 3.0.0 +# Booth requires this Provides: pacemaker-ticket-support = 2.0 BuildRoot: %{_tmppath}/%{name}-%{version}-build %{?systemd_requires} @@ -235,6 +240,7 @@ be part of the cluster. Summary: Core Pacemaker libraries Group: System/Libraries Requires(pre): shadow +Requires: %{name}-schemas = %{version}-%{release} # sbd 1.4.0+ supports the libpe_status API for pe_working_set_t # sbd 1.4.2+ supports startup/shutdown handshake via pacemakerd-api # and handshake defaults to enabled for rhel builds @@ -248,25 +254,39 @@ Obsoletes: libpacemaker3 < %version-%release Pacemaker is an advanced, scalable High-Availability cluster resource manager. -The pacemaker-libs package contains shared libraries needed for cluster +The %{name}-libs package contains shared libraries needed for cluster nodes and those just running the CLI tools. %package cluster-libs Summary: Cluster Libraries used by Pacemaker Group: System/Libraries +Requires: %{name}-libs = %{version}-%{release} %description cluster-libs Pacemaker is an advanced, scalable High-Availability cluster resource manager. -The pacemaker-cluster-libs package contains cluster-aware shared +The %{name}-cluster-libs package contains cluster-aware shared libraries needed for nodes that will form part of the cluster nodes. +%package -n python3-%{name} +Summary: Python libraries for Pacemaker +Requires: %{name}-libs = %{version}-%{release} +Requires: python3 +BuildArch: noarch + +%description -n python3-%{name} +Pacemaker is an advanced, scalable High-Availability cluster resource +manager. + +The python3-%{name} package contains a Python library that can be used +to interface with Pacemaker. + %package remote Summary: Pacemaker remote executor daemon for non-cluster nodes Group: Productivity/Clustering/HA Requires: %{name}-cli = %{version}-%{release} -Requires: procps +Requires: %{name}-libs = %{version}-%{release} Requires: resource-agents %{?systemd_requires} @@ -307,35 +327,47 @@ Obsoletes: libpacemaker-devel < %version-%release Pacemaker is an advanced, scalable High-Availability cluster resource manager. -The pacemaker-devel package contains headers and shared libraries +The %{name}-devel package contains headers and shared libraries for developing tools for Pacemaker. -%package cts +%package cts Summary: Test framework for cluster-related technologies Group: Productivity/Clustering/HA Requires: %{name} = %{version}-%{release} Requires: procps Requires: psmisc Requires: python3 +Requires: python3-%{name} = %{version}-%{release} Requires: python3-psutil BuildArch: noarch #Requires: python3-systemd Recommends: python3-systemd -%description cts +%description cts Test framework for cluster-related technologies like Pacemaker -%package doc +%package doc Summary: Documentation for Pacemaker Group: Productivity/Clustering/HA BuildArch: noarch -%description doc +%description doc Documentation for Pacemaker. Pacemaker is an advanced, scalable High-Availability cluster resource manager. +%package schemas +Summary: Schemas and upgrade stylesheets for Pacemaker +Group: Productivity/Clustering/HA +BuildArch: noarch + +%description schemas +Schemas and upgrade stylesheets for Pacemaker + +Pacemaker is an advanced, scalable High-Availability cluster resource +manager + %prep %autosetup -p1 @@ -360,7 +392,6 @@ autoreconf -fvi %configure \ --docdir=%{_docdir}/%{name} \ - --disable-static \ --disable-silent-rules \ %if %{with_nagios} --with-nagios=true \ @@ -380,6 +411,7 @@ autoreconf -fvi %{?concurrent_fencing} \ %{?resource_stickiness} \ %{?compat20} \ + --disable-static \ --with-initdir=%{_initddir} \ --with-runstatedir=%{_rundir} \ --localstatedir=%{_var} \ @@ -387,9 +419,17 @@ autoreconf -fvi make %{?_smp_mflags} +pushd python +%py3_build +popd + %install %make_install +pushd python +%py3_install +popd + rm -fr %{buildroot}/etc/sysconfig install -d -m755 %{buildroot}%{_fillupdir} install -m 644 etc/sysconfig/pacemaker %{buildroot}%{_fillupdir}/sysconfig.pacemaker @@ -404,12 +444,6 @@ find %{buildroot} -type f -name "*.a" -delete -print # Don't package libtool archives find %{buildroot} -type f -name "*.la" -delete -print -# For now, don't package the servicelog-related binaries built only for -# ppc64le when certain dependencies are installed. If they get more exercise by -# advanced users, we can reconsider. -rm -f %{buildroot}/%{_sbindir}/notifyServicelogEvent -rm -f %{buildroot}/%{_sbindir}/ipmiservicelogd - ln -s service %{buildroot}%{_sbindir}/rcpacemaker ln -s service %{buildroot}%{_sbindir}/rcpacemaker_remote ln -s service %{buildroot}%{_sbindir}/rccrm_mon @@ -483,12 +517,17 @@ getent group %{gname} >/dev/null || groupadd -r %{gname} -g %{hacluster_id} getent passwd %{uname} >/dev/null || useradd -r -g %{gname} -u %{hacluster_id} -s /sbin/nologin -c "cluster user" %{uname} exit 0 +%if %{defined ldconfig_scriptlets} +%ldconfig_scriptlets libs +%ldconfig_scriptlets cluster-libs +%else %post libs -p /sbin/ldconfig %postun libs -p /sbin/ldconfig %if %{enable_cluster_libs_pkg} %post cluster-libs -p /sbin/ldconfig -%postun clsuter-libs -p /sbin/ldconfig +%postun cluster-libs -p /sbin/ldconfig +%endif %endif %if %{with_regression_tests} @@ -517,7 +556,9 @@ fi %dir %{_libexecdir}/pacemaker %{_libexecdir}/pacemaker/* +%if %{with stonithd} %{_sbindir}/fence_legacy +%endif %{_sbindir}/fence_watchdog %{_mandir}/man7/pacemaker-controld.7%{ext_man} @@ -526,7 +567,9 @@ fi %{_mandir}/man7/ocf_pacemaker_controld.7%{ext_man} %{_mandir}/man7/ocf_pacemaker_o2cb.7%{ext_man} %{_mandir}/man7/ocf_pacemaker_remote.7%{ext_man} +%if %{with stonithd} %{_mandir}/man8/fence_legacy.8%{ext_man} +%endif %{_mandir}/man8/fence_watchdog.8%{ext_man} %{_mandir}/man8/pacemakerd.8%{ext_man} @@ -560,6 +603,7 @@ fi %{_sbindir}/crm_mon %{_sbindir}/crm_node %{_sbindir}/crm_resource +%{_sbindir}/crm_rule %{_sbindir}/crm_standby %{_sbindir}/crm_verify %{_sbindir}/crmadmin @@ -568,13 +612,12 @@ fi %{_sbindir}/crm_simulate %{_sbindir}/crm_report %{_sbindir}/crm_report.pacemaker -%{_sbindir}/crm_rule %{_sbindir}/crm_ticket %{_sbindir}/stonith_admin -%exclude %{_datadir}/pacemaker/alerts -%exclude %{_datadir}/pacemaker/tests -%{_datadir}/pacemaker -%{_datadir}/pkgconfig/pacemaker-schemas.pc +# "dirname" is owned by -schemas, which is a prerequisite +%{_datadir}/pacemaker/report.collector +%{_datadir}/pacemaker/report.common +# XXX "dirname" is not owned by any prerequisite %{_datadir}/snmp/mibs/PCMK-MIB.txt %exclude %{ocf_root}/resource.d/pacemaker/controld @@ -595,7 +638,9 @@ fi %exclude %{_mandir}/man7/ocf_pacemaker_o2cb.* %exclude %{_mandir}/man7/ocf_pacemaker_remote.* %{_mandir}/man8/* +%if %{with stonithd} %exclude %{_mandir}/man8/fence_legacy.* +%endif %exclude %{_mandir}/man8/fence_watchdog.* %exclude %{_mandir}/man8/pacemakerd.* %exclude %{_mandir}/man8/pacemaker-remoted.* @@ -622,7 +667,9 @@ fi #%license licenses/LGPLv2.1 %license COPYING %doc ChangeLog +%if !%{enable_cluster_libs_pkg} %{_libdir}/libcrmcluster.so.* +%endif %if %{enable_cluster_libs_pkg} %files cluster-libs @@ -632,6 +679,14 @@ fi %doc ChangeLog %endif +%files -n python3-%{name} +%{python3_sitelib}/pacemaker/ +%{python3_sitelib}/pacemaker-*.egg-info +%exclude %{python3_sitelib}/pacemaker/_cts/ +#%license licenses/LGPLv2.1 +%license COPYING +%doc ChangeLog + %files remote %{_unitdir}/pacemaker_remote.service %{_sbindir}/rcpacemaker_remote @@ -651,6 +706,7 @@ fi %files cts %{python3_sitelib}/cts +%{python3_sitelib}/pacemaker/_cts/ %{_datadir}/pacemaker/tests %{_libexecdir}/pacemaker/cts-log-watcher @@ -668,4 +724,13 @@ fi %license COPYING %doc ChangeLog +%files schemas +#%license licenses/GPLv2 +%dir %{_datadir}/pacemaker +%{_datadir}/pacemaker/*.rng +%{_datadir}/pacemaker/*.xsl +%{_datadir}/pacemaker/api +%{_datadir}/pacemaker/base +%{_datadir}/pkgconfig/pacemaker-schemas.pc + %changelog