From 3bf9d38613807e2a34ba42d4cc98af23787ef93e Mon Sep 17 00:00:00 2001 From: Andrew Beekhof Date: May 12 2010 11:11:52 +0000 Subject: Upstream 1.1.2 release --- diff --git a/.cvsignore b/.cvsignore index 4ac2882..eb948ce 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -60b7753f7310.tar.bz2 +Pacemaker-1.1.2.tar.bz2 diff --git a/pacemaker.spec b/pacemaker.spec index 6ed31a3..71f5ec4 100644 --- a/pacemaker.spec +++ b/pacemaker.spec @@ -1,53 +1,83 @@ %global gname haclient %global uname hacluster -%global with_ais_support 1 -%global with_heartbeat_support 1 %global pcmk_docdir %{_docdir}/%{name} +# Supported cluster stacks, must support at least one +%bcond_without ais +%bcond_without heartbeat + +# ESMTP is not available in RHEL, only in EPEL. Allow people to build +# the RPM without ESMTP in case they choose not to use EPEL packages +%bcond_without esmtp + +# SNMP trap support only works with Net-SNMP 5.4 and above +%bcond_without snmp + +# We generate some docs using Publican, but its not available everywhere +%bcond_without publican + %global specversion 1 -%global upstream_version 60b7753f7310 -%global upstream_prefix Pacemaker-Devel- +%global upstream_version Pacemaker-1.1.2 +%global upstream_prefix Pacemaker-1-1- # Keep around for when/if required -%global alphatag %{upstream_version}.hg +#global alphatag %{upstream_version}.hg %global pcmk_release %{?alphatag:0.}%{specversion}%{?alphatag:.%{alphatag}}%{?dist} +# Compatibility macros for distros that don't provide Python macros by default. +# Do this instead of trying to conditionally include +# %{_rpmconfigdir}/macros.python which doesn't always exist +%{!?py_ver: %{expand: %%global py_ver %%(echo `python -c "import sys; print sys.version[:3]"`)}} +%{!?py_prefix: %{expand: %%global py_prefix %%(echo `python -c "import sys; print sys.prefix"`)}} +%{!?py_libdir: %{expand: %%global py_libdir %%{expand:%%%%{py_prefix}/lib/python%%%%{py_ver}}}} +%{!?py_sitedir: %{expand: %%global py_sitedir %%{expand:%%%%{py_libdir}/site-packages}}} + # When downloading directly from Mercurial, it will automatically add a prefix # Invoking 'hg archive' wont but you can add one with: # hg archive -t tgz -p "$upstream_prefix-$upstream_version" -r $upstream_version $upstream_version.tar.gz Name: pacemaker Summary: Scalable High-Availability cluster resource manager -Version: 1.1.1 +Version: 1.1.2 Release: %{pcmk_release} License: GPLv2+ and LGPLv2+ Url: http://www.clusterlabs.org Group: System Environment/Daemons -Source0: http://hg.clusterlabs.org/pacemaker/devel/archive/%{upstream_version}.tar.bz2 - +Source0: http://hg.clusterlabs.org/pacemaker/1.1/archive/%{upstream_version}.tar.bz2 BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) AutoReqProv: on Requires(pre): cluster-glue Requires: resource-agents -Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) +Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) # Required for core functionality -BuildRequires: automake autoconf libtool pkgconfig libtool-ltdl-devel +BuildRequires: automake autoconf libtool pkgconfig libtool-ltdl-devel python-devel BuildRequires: glib2-devel cluster-glue-libs-devel libxml2-devel libxslt-devel BuildRequires: pkgconfig python-devel gcc-c++ bzip2-devel gnutls-devel pam-devel # Enables optional functionality -BuildRequires: help2man ncurses-devel net-snmp-devel openssl-devel -BuildRequires: libesmtp-devel lm_sensors-devel libselinux-devel +BuildRequires: help2man ncurses-devel openssl-devel libselinux-devel -%if %with_ais_support +%if %{with esmtp} +BuildRequires: libesmtp-devel +%endif + +%if %{with snmp} +BuildRequires: net-snmp-devel >= 5.4 +Requires: net-snmp >= 5.4 +%endif + +%if %{with ais} BuildRequires: corosynclib-devel -Requires: corosync %endif -%if %with_heartbeat_support + +%if %{with heartbeat} BuildRequires: heartbeat-devel heartbeat-libs -Requires: heartbeat >= 3.0.0 +%endif + +%if %{with publican} +BuildRequires: publican %endif %description @@ -84,10 +114,10 @@ Summary: Pacemaker development package Group: Development/Libraries Requires: %{name}-libs = %{version}-%{release} Requires: cluster-glue-libs-devel -%if %with_ais_support +%if %{with ais} Requires: corosynclib-devel %endif -%if %with_heartbeat_support +%if %{with heartbeat} Requires: heartbeat-devel %endif @@ -104,22 +134,55 @@ It will run scripts at initialization, when machines go up or down, when related resources fail and can be configured to periodically check resource health. +%package cts +License: GPLv2+ and LGPLv2+ +Summary: Test framework for cluster-related technologies like Pacemaker +Group: System Environment/Daemons +Requires: python + +%description cts +Test framework for cluster-related technologies like Pacemaker + +%package doc +License: GPLv2+ and LGPLv2+ +Summary: Documentation for Pacemaker +Group: Documentation + +%description doc +Documentation for Pacemaker. + +Pacemaker is an advanced, scalable High-Availability cluster resource +manager for OpenAIS/Corosync. + +It supports "n-node" clusters with significant capabilities for +managing resources and dependencies. + +It will run scripts at initialization, when machines go up or down, +when related resources fail and can be configured to periodically check +resource health. + %prep %setup -q -n %{upstream_prefix}%{upstream_version} %build ./autogen.sh -%{configure} --localstatedir=%{_var} --enable-fatal-warnings=no --docdir=%{pcmk_docdir} +%{configure} \ + %{?_without_heartbeat} \ + %{?_without_ais} \ + %{?_without_esmtp} \ + %{?_without_snmp} \ + --docdir=%{pcmk_docdir} \ + --localstatedir=%{_var} \ + --enable-fatal-warnings=no + make %{_smp_mflags} %install rm -rf %{buildroot} -make install DESTDIR=%{buildroot} +make DESTDIR=%{buildroot} install # Scripts that need should be executable -chmod a+x %{buildroot}/%{_libdir}/heartbeat/hb2openais-helper.py chmod a+x %{buildroot}/%{_datadir}/pacemaker/tests/cts/CTSlab.py -chmod a+x %{buildroot}/%{_datadir}/pacemaker/tests/cts/OCFIPraTest.py chmod a+x %{buildroot}/%{_datadir}/pacemaker/tests/cts/extracttests.py # These are not actually scripts @@ -131,12 +194,12 @@ find %{buildroot} -name '*.dtd' -type f -print0 | xargs -0 chmod a-x # Dont package static libs or compiled python find %{buildroot} -name '*.a' -type f -print0 | xargs -0 rm -f find %{buildroot} -name '*.la' -type f -print0 | xargs -0 rm -f -find %{buildroot} -name '*.pyc' -type f -print0 | xargs -0 rm -f -find %{buildroot} -name '*.pyo' -type f -print0 | xargs -0 rm -f # Don't package these either -rm %{buildroot}/%{_libdir}/heartbeat/crm_primitive.py -rm %{buildroot}/%{_libdir}/service_crm.so +rm -f %{buildroot}/%{_libdir}/heartbeat/hb2openais-helper.py +rm -f %{buildroot}/%{_libdir}/heartbeat/crm_primitive.py +rm -f %{buildroot}/%{_libdir}/service_crm.so +rm -f %{buildroot}/usr/lib/ocf/resource.d/pacemaker/pingd %clean rm -rf %{buildroot} @@ -149,6 +212,8 @@ rm -rf %{buildroot} ########################################################### %defattr(-,root,root) +%exclude %{_datadir}/pacemaker/tests + %{_datadir}/pacemaker %{_datadir}/snmp/mibs/PCMK-MIB.txt %{_libdir}/heartbeat/* @@ -159,7 +224,9 @@ rm -rf %{buildroot} %{_sbindir}/crm_master %{_sbindir}/crm_mon %{_sbindir}/crm +%{_sbindir}/crm_simulate %{_sbindir}/crm_resource +%{_sbindir}/crm_report %{_sbindir}/crm_standby %{_sbindir}/crm_verify %{_sbindir}/crmadmin @@ -169,25 +236,21 @@ rm -rf %{buildroot} %{_sbindir}/crm_shadow %{_sbindir}/cibpipe %{_sbindir}/crm_node -%{_sbindir}/crm_simulate %{_sbindir}/fence_legacy %{_sbindir}/stonith_admin +%{py_sitedir}/crm +#%{_mandir}/man8/*.8* +%{_mandir} -%if %with_heartbeat_support +%if %{with heartbeat} %{_sbindir}/crm_uuid %else %exclude %{_sbindir}/crm_uuid %endif # Packaged elsewhere -%exclude %{pcmk_docdir}/AUTHORS -%exclude %{pcmk_docdir}/COPYING -%exclude %{pcmk_docdir}/COPYING.LIB - -%doc %{pcmk_docdir}/crm_cli.txt -%doc %{pcmk_docdir}/crm_fencing.txt -%doc %{pcmk_docdir}/README.hb2openais -%doc %{_mandir}/man8/*.8* +%exclude %{_datadir}/pacemaker/tests + %doc COPYING %doc AUTHORS @@ -197,7 +260,7 @@ rm -rf %{buildroot} %dir /usr/lib/ocf %dir /usr/lib/ocf/resource.d /usr/lib/ocf/resource.d/pacemaker -%if %with_ais_support +%if %{with ais} %{_libexecdir}/lcrso/pacemaker.lcrso %endif @@ -214,14 +277,89 @@ rm -rf %{buildroot} %doc COPYING.LIB %doc AUTHORS +%files doc +%defattr(-,root,root) +%doc %{pcmk_docdir} + +%files cts +%defattr(-,root,root) +%{py_sitedir}/cts +%{_datadir}/pacemaker/tests/cts +%doc COPYING.LIB +%doc AUTHORS + %files -n pacemaker-libs-devel %defattr(-,root,root) +%exclude %{_datadir}/pacemaker/tests/cts +%{_datadir}/pacemaker/tests %{_includedir}/pacemaker %{_libdir}/*.so %doc COPYING.LIB %doc AUTHORS %changelog +%changelog +* Wed May 12 2010 Andrew Beekhof - 1.1.2-1 +- Update the tarball from the upstream 1.1.2 release + + High: ais: Bug lf#2340 - Force rogue child processes to terminate after waiting 2.5 minutes + + High: ais: Bug lf#2359 - Default expected votes to 2 inside Corosync/OpenAIS plugin + + High: ais: Bug lf#2359 - expected-quorum-votes not correctly updated after membership change + + High: ais: Bug rhbz#525552 - Move non-threadsafe calls to setenv() to after the fork() + + High: ais: Do not count votes from offline nodes and calculate current votes before sending quorum data + + High: ais: Ensure the list of active processes sent to clients is always up-to-date + + High: ais: Fix previous commit, actually return a result in get_process_list() + + High: ais: Fix two more uses of getpwnam() in non-thread-safe locations + + High: ais: Look for the correct conf variable for turning on file logging + + High: ais: Need to find a better and thread-safe way to set core_uses_pid. Disable for now. + + High: ais: Use the threadsafe version of getpwnam + + High: Core: Bug lf#2414 - Prevent use-after-free reported by valgrind when doing xpath based deletions + + High: Core: Bump the feature set due to the new failcount expiry feature + + High: Core: Fix memory leak in replace_xml_child() reported by valgrind + + High: Core: fix memory leaks exposed by valgrind + + High: crmd: Bug 2401 - Improved detection of partially active peers + + High: crmd: Bug bnc#578644 - Improve handling of cancelled operations caused by resource cleanup + + High: crmd: Bug lf#2379 - Ensure the cluster terminates when the PE is not available + + High: crmd: Bug lf#2414 - Prevent use-after-free of the PE connection after it dies + + High: crmd: Bug lf#2414 - Prevent use-after-free of the stonith-ng connection + + High: crmd: Do not allow the target_rc to be misused by resource agents + + High: crmd: Do not ignore action timeouts based on FSA state + + High: crmd: Ensure we dont get stuck in S_PENDING if we loose an election to someone that never talks to us again + + High: crmd: Fix memory leaks exposed by valgrind + + High: crmd: Remove race condition that could lead to multiple instances of a clone being active on a machine + + High: crmd: Send erase_status_tag() calls to the local CIB when the DC is fenced, since there is no DC to accept them + + High: crmd: Use global fencing notifications to prevent secondary fencing operations of the DC + + High: fencing: Account for stonith_get_info() always returning a pointer to the same static buffer + + High: PE: Allow startup probes to be disabled - their calculation is a major bottleneck for very large clusters + + High: PE: Bug lf#2317 - Avoid needless restart of primitive depending on a clone + + High: PE: Bug lf#2358 - Fix master-master anti-colocation + + High: PE: Bug lf#2361 - Ensure clones observe mandatory ordering constraints if the LHS is unrunnable + + High: PE: Bug lf#2383 - Combine failcounts for all instances of an anonymous clone on a host + + High: PE: Bug lf#2384 - Fix intra-set colocation and ordering + + High: PE: Bug lf#2403 - Enforce mandatory promotion (colocation) constraints + + High: PE: Bug lf#2412 - Correctly locate clone instances by their prefix + + High: PE: Correctly implement optional colocation between primitives and clone resources + + High: PE: Do not be so quick to pull the trigger on nodes that are coming up + + High: PE: Fix memory leaks exposed by valgrind + + High: PE: Fix memory leaks reported by valgrind + + High: PE: Repair handling of unordered groups in RHS ordering constraints + + High: PE: Rewrite native_merge_weights() to avoid Fix use-after-free + + High: PE: Suppress duplicate ordering constraints to achieve orders of magnitude speed increases for large clusters + + High: Shell: add support for xml in cli + + High: Shell: always reload status if working with the cluster (bnc#590035) + + High: Shell: check timeouts also against the default-action-timeout property + + High: Shell: Default to using the status section from the live CIB (bnc#592762) + + High: Shell: edit multiple meta_attributes sets in resource management (lf#2315) + + High: Shell: enable comments (lf#2221) + + High: Shell: implement new cibstatus interface and commands (bnc#580492) + + High: Shell: improve configure commit (lf#2336) + + High: Shell: new cibstatus import command (bnc#585471) + + High: Shell: new configure filter command + + High: Shell: restore error reporting in options + + High: Shell: split shell into modules + + High: Shell: support for the utilization element (old patch for the new structure) + + High: Shell: update previous node lookup procedure to include the id where necessary + + High: Tools: crm_mon - fix memory leaks exposed by valgrind + * Thu Feb 11 2010 Andrew Beekhof - 1.1.1-0.1-60b7753f7310.hg - Update the tarball from upstream to version 60b7753f7310 + First public release of the 1.1 series @@ -232,7 +370,7 @@ rm -rf %{buildroot} * Thu Oct 29 2009 Andrew Beekhof - 1.0.5-4 - Include the fixes from CoroSync integration testing -- Move the resource templates - they're not documentation +- Move the resource templates - they are not documentation - Ensure documentation is placed in a standard location - Exclude documentation that is included elsewhere in the package @@ -250,9 +388,9 @@ rm -rf %{buildroot} + High: Core: Bug lf#2169 - Allow dtd/schema validation to be disabled + High: PE: Bug lf#2106 - Not all anonymous clone children are restarted after configuration change + High: PE: Bug lf#2170 - stop-all-resources option had no effect - + High: PE: Bug lf#2171 - Prevent groups from starting if they depend on a complex resource which can't + + High: PE: Bug lf#2171 - Prevent groups from starting if they depend on a complex resource which cannot + High: PE: Disable resource management if stonith-enabled=true and no stonith resources are defined - + High: PE: Don't include master score if it would prevent allocation + + High: PE: Do not include master score if it would prevent allocation + High: ais: Avoid excessive load by checking for dead children every 1s (instead of 100ms) + High: ais: Bug rh#525589 - Prevent shutdown deadlocks when running on CoroSync + High: ais: Gracefully handle changes to the AIS nodeid @@ -264,7 +402,7 @@ rm -rf %{buildroot} + Medium: PE: Bug lf#2178 - Indicate unmanaged clones + Medium: PE: Bug lf#2180 - Include node information for all failed ops + Medium: PE: Bug lf#2189 - Incorrect error message when unpacking simple ordering constraint - + Medium: PE: Correctly log resources that would like to start but can't + + Medium: PE: Correctly log resources that would like to start but cannot + Medium: PE: Stop ptest from logging to syslog + Medium: ais: Include version details in plugin name + Medium: crmd: Requery the resource metadata after every start operation diff --git a/sources b/sources index b113ecf..9823f4e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -6f8c608f8f743d7e3e5fbfae57572850 60b7753f7310.tar.bz2 +3d8c879cdbe6e98228f23a54e380cfa2 Pacemaker-1.1.2.tar.bz2