On a CE the general.process_handler is always set to 'none'. So we need
to take this into account and mark it as enabled.
Change-Id: Id1347ac027412861a1319a95d1537aaeb778bf6a
The rate-o-mat service can run in active-active or in active-standby
modes. If the service is enabled and on the proxy nodes, the former
mode means the service will be enabled and running on both peers, the
latter will mean it's in the traditional HA mode and thus only running
on the active node.
Change-Id: I020c8a00706135ed5d432bf8b1b8874cf1b2f532
The openssh-server Debian package no longer uses the "ssh" group,
but renamed it to "_ssh" (see git rev 18da782e in
https://salsa.debian.org/ssh-team/openssh.git + Debian's #990456), which
was shipped starting with v1:8.4p1-6.
Debian/bookworm currently ships openssh-server v1:9.0p1-1+b2,
so adjust tests accordingly.
Change-Id: I4f75e94ac32ce9d06a4bc9991fa62b73086e4f45
Previously we compared only schemes between sp1 and sp2 and didn't check
prx 3308 instances while it's quite important part.
So:
1. Adopt compare_dbs.pl script.
1.1 Add host and port as the connection parameters.
1.2 Do not specify connection of remote instance but get the list of
replicas and compare local schemes with remote ones.
1.3 Remove --schemes parameter and get the list of schemes from
replication filter.
1.4 Use replication filters for exceptions.
1.4.1 Change 'constraints' query so it matches
constraints/<schema_name>/<table_name> pattern.
1.5 Use names like <ngcp-hostname>:<port> instead of Schema[12].
2. Adopt ngcp-mysql-compare-dbs.
2.1 Get list of local mysql instances.
2.2 Remove usage of DB_BACKUP_LIST because compare_dbs.pl gets the list
of schemes.
Change-Id: I90eb0209d3b2a51cf4f9223c817b484d149db135
lintian v2.115.3 - as currently present in Debian/booksworm - doesn't
support the existing syntax for the file-in-etc-not-marked-as-conffile
override, and therefore fails with:
| E: ngcp-system-tests: file-in-etc-not-marked-as-conffile [etc/ngcp-config/templates/etc/ngcp-system-tests/000_self-test-command.yaml.tt2]
| E: ngcp-system-tests: file-in-etc-not-marked-as-conffile [etc/ngcp-config/templates/etc/ngcp-system-tests/110_filesys-cores.yaml.tt2]
| E: ngcp-system-tests: file-in-etc-not-marked-as-conffile [etc/ngcp-config/templates/etc/ngcp-system-tests/120_filesys-free-space.yaml.tt2]
| E: ngcp-system-tests: file-in-etc-not-marked-as-conffile [etc/ngcp-config/templates/etc/ngcp-system-tests/130_filesys-ngcp.yaml.tt2]
| E: ngcp-system-tests: file-in-etc-not-marked-as-conffile [etc/ngcp-config/templates/etc/ngcp-system-tests/131_filesys-ngcp-pro.yaml.tt2]
| E: ngcp-system-tests: file-in-etc-not-marked-as-conffile [etc/ngcp-config/templates/etc/ngcp-system-tests/132_filesys-ngcp-templates.yaml.tt2]
| E: ngcp-system-tests: file-in-etc-not-marked-as-conffile [etc/ngcp-config/templates/etc/ngcp-system-tests/133_filesys-deprecated.yaml.tt2]
| E: ngcp-system-tests: file-in-etc-not-marked-as-conffile [etc/ngcp-config/templates/etc/ngcp-system-tests/134_filesys-voisniff.yaml.tt2]
| [...]
It instead expects the filename(s) to be listed under "[...]".
By using "*etc/ngcp-config/templates/*" instead, we can support the
lintian versions as present in bookworm and bullseye at the same time
(thanks to Guillem for the hint!).
Change-Id: I412ad99ae409288a92bdb1143340ffd58c3cc32c
It's an often error after upgrade that this file is missing.
It happens because right after reboot there is no such file and it's not
created by logrotate because we use missingok, notifempty option for
it.
So make it optional.
Change-Id: I4ee18e8ba5e93d19e4b80fd3fcf8197d144f1ea3
In the output it was look like:
columns/provisioning/voip_subscribers_pbx_hunt_policy/column_type
So it's hard to understand where is table name (voip_subscribers)
and where is column name (pbx_hunt_policy).
Use '/' so it will look readable.
Change-Id: I2e7ba54ab6a12b3cfc763964ac79feb7a057d63a
Before the logic was - compare 2 structures and if they are different
analyze every element and exception list.
But there is no sense to do this 1st comparison as they are always
different that's why we have exception list. So remove this module.
Also add perl:Depends to dependencies.
Change-Id: Ia7e1628108d823601a9cd6e6ce14310b9afba795
If formatter=tap is used - exit with 0 code so jenkins can parse tap
report.
If this option is not set - exit 0 if schemes are equal but exit 1 if
they are not.
Change-Id: Ie1f034205acde538187e016e51ebad1caf555d91
grep 3.8 deprecated support for egrep + fgrep, and now prints a warning on stderr:
| egrep: warning: egrep is obsolescent; using grep -E
| fgrep: warning: fgrep is obsolescent; using grep -F
Change-Id: Iae561f2dc592a24359832a80fde4d6d7cfea97d0
Currently we have diff in all tables of 'mysql' schema:
========================
Schema1: transactional=1
Schema2: page_checksum=1 transactional=1
========================
This is harmless diff investigated in TT#108653
So to skip all the specific entities instead of comparing every element
just use regex matching.
Change-Id: I3b9a38c3fbf055724139cbf4b476117b90edbefe
The old obsolete metrics got removed in commit
8a99fc1809, but these had been replaced by
newer entries in the sipTable. Use those so that we can keep detecting
regressions or misbehavior.
Change-Id: I41c21f7dd47bb5f9a6a584672836c9dd5c176380
These OIDs had been obsoleted for a while and have now been removed in
Iddf81e4fcfd1e6bac0c478c01074ab220a49c96a.
Change-Id: Ib88d965495609ed2766639975280bc16bf45aa6b
These are now conditional on a config knob. We should not expect them to
be present of they are disabled.
Change-Id: I2ebc68db597db0fbccf9f990ceab101589a8e914
The configuration files specific to the ngcpcfg tool should not be
mixed with the site specific configuration, as that's rather confusing,
more so when the actual ngcpcfg configuration contains references to the
location of the ngcp-config dir itself, which makes it self-referential.
Change-Id: I25bee17e69e9c302d40b1bb55f73a1e88e505a8d
We check that when the pathname exists it is a symlink. We will perform
further consistency checks from «ngcpcfg check».
Change-Id: I3850d9cf23fd77b926d08ae47a6969cac1790cf0
The rtpengine project used to be called rtpengine-ng, and before that
mediaproxy-ng, which was an implementation using the same protocol as
the rtpproxy project. It's about time we rename the config.yml section
so that this is less confusing.
Change-Id: Ia36ab199caf242605d9558f2eb27806215a0a0d2
These are shared files across all PRO/Carrier nodes, but at the time
they were introduced we did not have the concept of a shared-files
subdirectory. All other such shared files have been moved over time to
that subdirectory, but this was still remaining behind. Let's move it
now for consistency, and so that its purpose is more clear.
Change-Id: I45c89245d36706dba5ed1fb47a8bf9124c390dae
Goss doesn't trim the trailing space at the end of process name.
It is a workaround for the issue reported upstream as:
> https://github.com/aelsabbahy/goss/issues/762
It can be reverted as soon as issue is fixed in goss.
Change-Id: Ie3d7e2b3470aed9aa3c5ee3743d950237919dbde
These components are obsolete and not available anymore since mr10.5.
Force them to never be enabled nor running.
Change-Id: I25efecd1714d85b9591ac599d7ae33cdab87dec5
From now on the 'sems' config.yml section is deprecated,
and we have to only use 'b2b'. This commit concerns it.
Change-Id: I8e1a4c480011404a005ea52d66a7f770f97123bf
Starting with mr10.5, the heartbeat-2 support is now obsolete and not
available anymore. Switch all heartbeat-2 service and process checks
to expect them to be disabled. Remove the UDP check, as we have now
removed the RPC port start limitation, so we might end up checking for
an unrelated colliding port.
Change-Id: Ibacaf2d55e45b3f86a5218b92204d180e934e1e2
goss checks the name of the *binary*, not the name of the *process*.
This can be checked from a user perspective via:
| $ systemctl cat ngcp-rest-api | grep ExecStart
| ExecStart=/usr/bin/node --title ngcp-rest-api /usr/share/ngcp-rest-api/server
| $ sudo systemctl status ngcp-rest-api | grep PID
| Main PID: 327024 (node)
| $ ps -p 327024 -o comm
| COMMAND
| node
Underneath, goss looks at the cmdline and stat files inside procfs:
| $ cat /proc/327024/cmdline
| ngcp-rest-api
| $ cat /proc/327024/stat
| 327024 (node) S 1 327024 327024 0 -1 4194560 38500 0 47 0 121 13 0 0 20 0 7 0 552217 704745472 32511 18446744073709551615 1 1 0 0 0 0 0 4096 82434 0 0 0 17 0 0 0 1 0 0 0 0 0 0 0 0 0 0
Since those two don't match with each other, our ngcp-rest-api service,
running under the node binary, isn't identified as such a running process.
NOTE: we're already checking for goss' service named ngcp-rest-api from
within templates/510_init-daemons-ngcp.yaml.tt2, but this doesn't check
if the process is alive. We need to explicitly check for the expected
process name, which we're doing hereby.
Change-Id: Iafa63b8e9fbfeee9edb2c0d48e8ed3514da4804a
The prevalent convention in the project is to use «-» instead of «_» to
split words in options. Switch the options to that, and keep backwards
compatibility option alias that emits a deprecation warning while people
transition to the new names. The alias will be removed on the next LTS.
Clarify --help output.
Change-Id: Ic25ba7a152ce11c3be5106dc58d481add7ca02a8
ngcpcfg-api.service is supposed to be disabled by default, and running
only during ongoing deployments.
Fixes:
| not ok 218 - Service: ngcpcfg-api.service: enabled: doesn't match, expect: [true] found: [false]
| not ok 219 - Service: ngcpcfg-api.service: running: doesn't match, expect: [true] found: [false]
Change-Id: Ide7e17f90b83f205b79db689d2e226df4bc990da
Otherwise the resulting file isn't valid json syntax:
| root@sp1:~# goss --gossfile /etc/ngcp-system-tests/goss.yaml --vars /tmp/ngcp-system-tests.1O3urIHya7.yaml validate --format tap
| Error: could not read json data in /etc/ngcp-system-tests/135_filesys-logfiles.yaml: could not unmarshal "file:\n\n /var/log/messages:\n
| [...]
Change-Id: I3a99570e5069553411a574f02fcd95355a9e3e7f