Move init script into /usr/share/heartbeat so that it is not easily
accessible as a proper sysvinit script. It did not use lsb/init-functions
and as such was not redirecting to the systemd service, making the script
dangerous to have laying around as it could mess up with our systemd
support.
Change-Id: Ia317b719cf23933523cb3f945d701015384e39cc
We do not require monit in any way now. Listing it as a dependency and
declaring an After ordering means that on reboot, heartbeat is always
shut down first, it will then try to shut down all NGCP services, and
meanwhile monit will notice and try to restart them, making heartbeat
not be able to shut down cleanly.
Change-Id: I454c7714159b92c9237f2530ba8ba82316481478
The service hb_watchdog.service was designed to handle the one case only:
HA split brain when both nodes are master. So, we must have a dependencies
on heartbeat.service here. Since hb_watchdog should be stopped if heartbeat.service
is not running, adding Requires= instead of Want= here.
Also there is no point to have dependencies on monit.service here.
Change-Id: I50e688cd342cb6bf9f1777aaffc5ef735c81b16d
Heartbeat doesn't depends on monit anymore since mr6.2+.
HA uses ngcp-service and ngcp-service calls systemctl directly to
wait for services to be up and ready. It allows to handle services
dependencies properly. ngcp-service also calls 'monit monitor/unmonitor'
while it should work well with Wants=monit.service, in the worst case
the monit on active node will show 'Not monitored' for already running
services. It is a price for keeping HA running on monit service restart.
The price is acceptable here as we are going to remove monit anyway and
'ngcp-service summary' output is already reliable here for all the
corner cases.
Change-Id: I9060ca63ac0e7aceadf045f6f4465811f3c595ad
The changes we did to make them order correctly with sysvinit do not
get picked up automatically as systemd's sysvinit generator does not
understand the $all facility nor insserv overrides.
Change-Id: I1fc2d2c427454c1591ddb5eab38e00b9f15e50c5
Upstream has completely removed cl_malloc support in 3.0. In addition
glib has deprecated its vtable memory allocator hooks. So let's just do
the same and switch our code to use the libc malloc.
Replace the non-functional option --enable-glib-malloc with
--enable-libc-malloc.
Change-Id: I7d015a82246cb30518e2c63e59401d80a3f3df32
- Bump Standards-Version to 3.9.8.
- Bump debhelper compatibility version 10.
- Switch from Priority extra to optional.
- Add a space between version and operator in Build-Depends.
- Remove quilt from Build-Depends, already using source format 3.0 (quilt),
and patch and unpatch targets from debian/rules.
- Remove obsolete comment referring to ssh and scp paths.
- Dot not set INSTALL_PROGRAM, dh_strip handles stripping already.
- Fix target dependencies in debian/rules, to support parallel builds.
- Use $(CURDIR) instead of `pwd` in debian/rules.
- Delegate package artifact removal to dh_clean.
- Use dh_prep instead of deprecated «dh_clean -k».
- Remove commented out debhelper commands.
- Do not pass priorities to update-rc.d either directly or via
dh_installinit, use the defaults.
- Always assume that invoke-rc.d is present.
- Remove unnecessary dpkg-checkbuild local script, replaced long ago by
stock dpkg-checkbuilddeps.
- Update .gitignore and debian/.gitignore files.
Change-Id: I17848019d677afd62747f6838512c866e1d2544f
The output now contains a colon after the interface name which trips
over several of the codepaths that parse the «ifconfig -a» output.
Change-Id: If394a5a9e908ecc8631f4873321baa2c87996b0b
The gnutls_certificate_type_set_priority() and gnutls_kx_set_priority()
functions are obsolete and do not exist anymore in recent gnutls
releases anymore (libgnutls28-dev versions at least >=3.5.5 as present
in Debian testing/stretch nowadays).
Based-on-patch-by: Michael Prokop <mprokop@sipwise.com>
Change-Id: Icec4b4aa74f1d07d11646ff9e4322e60f8b98e2e
On Debian/stretch we otherwise run into:
| dh_clean: Compatibility levels before 5 are no longer supported (level 4 requested)
So ensure we're at the most current debhelper compatibility level.
Change-Id: Ibfa7efcadaa70400dc2c708c51bf930a9b5a1967
The former is an obsolete transitional/dummy package, let's switch to
the latter package before the former disappears.
Run «wrap-and-sort -a -t -s» on debian/control.
Change-Id: Ie6b6a94f378d5df2015869569de256c4fce03a0d
As identified via the according binary build of
https://jenkins.mgm.sipwise.com/job/heartbeat-sources/ build
number 206 all the Makefiles get rebuilt if we don't apply the
debian-changes that has been used so far (see e.g. working builds
like #208 and #211).
Without this patch we get:
| [...]
| missing --run aclocal-1.7
| [....]
| missing --run automake-1.7
| [...]
| missing --run autoconf
| [...]
| /bin/bash ./config.status --recheck
| [...]
| configure: creating ./config.status
| [...]
| /bin/bash ./config.status Makefile
| config.status: creating Makefile
during the build process (tools like aclocal-1.7 and automake-1.7
aren't even available at all). The resulting heartbeat binary
doesn't use /usr/lib64 in its library path then, therefore
failing with:
| /usr/lib64/heartbeat/heartbeat: error while loading shared libraries: libstonith.so.1: cannot open shared object file: No such file or directory
One possible workaround for this would be to run:
| echo /usr/lib64 > /etc/ld.so.conf.d/heartbeat.conf; ldconfig
but to avoid possible further hidden problems with this let's
apply sipwise-debian-changes.patch. This patch is the
result of actually using the source from
| dget -u http://archive.debian.org/debian/pool/main/h/heartbeat/heartbeat_2.1.3-6lenny4.dsc
as its base since the very beginning of this repository.
dpkg-source automatically recorded those changes for us as
debian-changes file (see commit id f94588851c). We
want to be able to have a clean repository state for a decent
workflow with git and quilt. Therefore instead of using this
patch implicitly, make this patch an explicit one.