- "-E" which is enables debug mode, removed from unit files.
- not daemonize will be reached by changing sems config file options
Change-Id: I0778aa2b15c08cd9a85739283fb2355046f64d78
If an SDP UPDATE is received after the 183, but before the 200,
SEMS fails when it receive the final ACK. In fact SEMS tries to
find the SDP content inside the ACK message itself.
The solution is copied from sems-pbx module where the issue
doesn't happen.
Change-Id: Ib9402071c44afa032a45f97e2acd30629e7bc89b
The current problem is massive services restart on: systemctl restart glusterd.service
which is not really necessary on NGCP.
Use 'Wants' instead of 'Requires' so dependent services aren't
restarted on restart of remote-fs.target.
Change-Id: I512fdc7ae83efb10cc442da12e72d4b902dba96c
Is service B "Requires" service A to be started before B
and B does NOT require B restart on A restart, B should use "Wants=A".
Convert Wants=network-online.target to After=network-online.target
to be identical for all other NGCP services. IMHO sems should be
restarted if networking got restarted (listen new IP's, etc).
Also sort them alphabetically.
Change-Id: I2e239eec2c33a90f150fe2773566f671cbd2483a
Otherwise it refuses to stop, until it reaches the timeout.
Confirmed that it's OK to kill in this way, and waiting for implementation
changes so this is not necessary.
Change-Id: I34fc0b017b17779e8a15e031bf78960bbca2ada7
This service requires write access to redis, and relies on redis-master
to setup Redis in that mode. If we switch the redis master/slave roles
while SEMS is still running, or while we are trying to shut it down,
it gets very confused and takes very long to realize and shutdown.
So we should always make sure that redis-master is running before we
start sems, and stop sems before we stop redis-master.
Change-Id: Iaa43186230df6ab8365c94585192fbb6db2652cc
The default is 90s, so when it fails for some reason, it takes (unnecessarily)
too long to recover.
This happens when calling twice "ngcp-service ngcp-sems restart", or "systemctl
restart ngcp-sems", while having debugging enabled. The processes apparently
get blocked, until they get killed after 90s of default timeout.
Perhaps it is still necessary (and better) to fix it in other ways, like finding
the root cause of the blockage (racing conditions during initialisation?).
Waiting for ~1s between restarts almost completely solves the problem, which
points to some problem of that sort.
However, given the current problem and the fact that 10s should be enough to for
this service to stop, it's probably a good idea to change from the default to
10s, so if finding similar problems for other reasons, they have less impact and
the timeouts are more acceptable.
Change-Id: I5487493bee5c9147972d9fa6e063176a8d9ca4fd
With the previous change (b106d5bb0e), the file
was not processed correctly by dh_installinit because of an extra -s in the
filename.
Change-Id: Ie78bcfbb9565e520c395fc26e1551ecfe961dd46
According to Guillem (thanks to him) in a comment to another package:
"Actually dh_installinit already handles these files in stretch you just need
to name it debian/pkgname.tmpfile."
Change-Id: I43f23be57fb4c19adaeebb9f4e522d24816ca018
It breaks some tests, that could be changed, but maybe there are some other
unintended consequences, and it's not important to change to /run right now (in
fact, it might be undesired for consistency reasons with respect to the other
sems-service variant, etc.)
User: sems: home: doesn't match, expect: [{"or":["/var/run/ngcp-sems","/var/run/sems"]}] found: ["/run/ngcp-sems"]
Change-Id: I2038e0d90b46dc12eeecf4bcc7ad4e249688ad20
One reason to have full systemd support is to increase consistency when bringing
up and shutting down the system, or when restarting services, to have more
integration with the init system as a whole.
But apart from that reason, the original reason is that it has been noticed as
part of TT#31163 (service action tests) that the autogenerated unit file in
/run/systemd/generator.late/ngcp-sems.service does not properly depend on
MariaDB/MySQL (it had "After=mysql.service", but not Wants or Requires).
Unlike with sysvinit, with systemd the services are started in parallel, so
starting "after" another doesn't mean that the former is finished and fully
working by the time that the latter is ready.
Under these tests, this service sometimes fails to start, so it might be because
the DB is not ready (or at least it can be one of the reasons contributing to
the failure). In any case, if it should start after "mysql" in sysvinit (or
"mariadb.service", as we're renaming it under systemd), SEMS probably assumes
that "mariadb.service" would be fully working, so the additional annotation
"Requires" is more correct than having only "After=mariadb.service".
As part of this change and since we are revamping the init support, we also
remove sysvinit support (including /etc/default/ngcp-sems) and delete or modify
some maintainer scripts referencing old sysvinit support.
Change-Id: I46b0b7b92fc6b13b467aafbb38e9383e88d0ad65
Unset Sems internal Session Timers in case B leg doesn't support it
(no Timer in Supported header of 200OK message).
Change-Id: I21fd1de2a088ab71042cbee54bd00cd1ea9f5a0b
These override any of our global settings set in sysctl.d for example.
Which can be very confusing. Only set process specific settings to not
disturb the whole system.
Change-Id: I131d273804b530b1a5326fec82f44517676d4b40
This helper does not work properly when we specify a private directory
on the command-line, so we need to run it twice.
Change-Id: I67498cbd6d1db20c95ce7c1dbba989eea2d2c9c2
This has become an opaque struct in latest versions, use instead the
accessor that is available already in Debian jessie.
Change-Id: I2a5e17f91707871343b0b358fd195db507d7e43b
port from 1.4-ha-sw:
upstream commit 1f02da5 implements
https://services.frafos.net/frafosbt/view.php?id=758
commit 1f02da5c8cc9dc711ded015059ae85a5126dd269
Author: Stefan Sayer <stefan.sayer@googlemail.com>
Date: Fri Jan 13 23:30:01 2017 +0100
db_reg_agent: add username_with_domain option to use auth user with domain part
implements M758
Change-Id: I8de585443f4efa941a30cff185c426d90ad7a1c6
Noticed during an upgrade:
| Setting up ngcp-sems-app (1.6.0-1+0~mr4.5.3.1) ...
| -ne Sems start disabled by default file
| Setting up ngcp-prompts-pro (0.8.3.1+0~mr4.5.3.1) ...
This is caused by POSIX echo not supporting the "-e"
option, compare dash:
| $ echo -ne "Sems start disabled by default file"
| -ne Sems start disabled by default file
with e.g. bash:
| $ echo -ne "Sems start disabled by default file"
| Sems start disabled by default file$
Let's avoid the "-n" option as well though to
have a proper and full newline in package
upgrades.
Change-Id: I620da808843c0c29d8d59994c5652a3fdc3ceef0
* Make all the C++ code build again. Due to the build system not
failing on compilation/link errors, parts of the code base has
suffered bit rot.
* Build the library as shared. Otherwise we are trying to link a
static library built as PIE into a shared library.
* Fix module exclusion logic. Several of the modules cannot be
compiled because they miss Makefiles, others require additional
dependencies or similar. So encode this in the build system so
that people building do not have to figure this out, even if
they pass an explicit list of modules to include or exclude.
* Revamp the build system.
- Make errors fatal, so that they do not get ignored anymore.
- Use sane make variables that a shell will accept as valid,
otherwise the exports do not work at all.
- Do not use system paths when we should use in-tree ones.
Change-Id: I795783e0f1bd655cdbb2de0329c389e2bb2e2f07
This reverts commit 693429e353.
libmysql++-dev is needed for building, it was just hidden by the
broken sems build system and therefore commit 693429e353 looked
like it was ok but it clearly wasn't (the mysql++/*.h files provided
by libmysql++-dev are required).
FTR: libmysql++-dev is on its way back to Debian testing (AKA stretch)
currently.
Change-Id: I1d7ab3ea0c3013f6fedb3f19a9d8b945d20fb2e0