We add optional support for ntpd, as some customers have demanded it
back. While preserving timesyncd as the default.
Change-Id: Ib954ee73e21b572beb9655c9ce471702e03f7142
(cherry picked from commit eac3e56b1d)
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
(cherry picked from commit 4c8443a182)
This check breaks Carrier replication so it was removed. Remove the
corresponding test.
Change-Id: I4220a68a85fa58967e7cd9275dc9425017c2448d
(cherry picked from commit 96897cb71b)
The package was updated to support pycodestyle in bullseye so we need
to rebuild the docker image now.
Change-Id: Id3b22ff1824225072e77dc1e4237acfd540e3c00
(cherry picked from commit 8a72eccede)
We use quite old pep8 v1.6.2 which in particular misses this
change https://github.com/PyCQA/pycodestyle/pull/502
Let's update Dockerfile to use pycodestyle(former pep8) from
bullseye.
Change-Id: Id29acd80be212cffa127550d9a4deb764a5b5b30
(cherry picked from commit d552f2c0c2bbb8c802aa29ac9c23ed4c12d5a1cc)
* Switch to use the ngcp-pushd.socket instead of .service, as the later
gets triggered by the formed when that is activated.
* Mark the .socket unit as enabled only when not using a process_handler,
as otherwise it will be managed by the HA system and be disabled.
Change-Id: I4a07410fe1c9dc17edde3e10921959a170556e1e
(cherry picked from commit 9cd6b39517)
Since Debian/bullseye there is diff:
===================================
17:11:02 not ok 1 Schema mysql, tables elements: global_priv.CREATE_OPTIONS are not equal:
17:11:02 ---
17:11:02 Schema1: transactional=1
17:11:02 Schema2: page_checksum=1 transactional=1
===================================
It's a harmless diff.
It seems mysqldump adds page_checksum for each non innodb tables by
default.
So add tables/mysql/global_priv/create_options exception.
Reformat output so it has the same format as exception so it's easier to
add the future exceptions.
Change-Id: I707b62b67016e2d67169de1c16e9e85e4f67671d
(cherry picked from commit 5169b10f2c)
This has been applied before after changes in deployment-iso to not add
this parameter to GRUB config, but as it was reverted there it had to be
reverted here too.
We could just leave it untested, but in principle it's better to ensure
that we have what expect, either to ensure that it's present or absent,
depending to the actions in deployment-iso.
Change-Id: I695c9396a0f16987ee1146a153fffe1aafca8502
(cherry picked from commit 85b92fbc54)
This reverts commit a8000f67b4.
The code in deployment-iso.git eliminating "net.ifnames=0" was reverted,
so this check needs to follow.
Change-Id: Ief89d2c7c0badd90be4e120e5aedc81a9ca682a8
This reverts commit 930b1c89fc.
Extra things commited that shouldn't have been (experimental local tests).
Change-Id: I43857d0e0f15f7d03d644491e0664dc5824984d3
This could be restricted this in the future to only "neth*" or others if
we settle on that, but at the moment keep it a bit flexible while we're
migrating and make things easier if we have to step back and look again.
Change-Id: Id96970ed0dfdd3bae59120ae19a35bd2523d1294
voisniff was missing the test for symlink, now the directory mode
changed to the more restrictive 0750, and this is only relevant for Pro.
Change-Id: I8f317ced7469704326f4b32fc3408fc5cc86e447
Fixes commit cf9a6c94b8
The dir for redis was added with wrong expected permissions, while other
dirs are only Pro/Carrier, add them to the config file for tests that
it's meant to run only in those systems and not in CE.
Change-Id: Ia8e02eba1b657ef0094a8643000d876ed452e555
For some reason some of the existing directories are tested while others
are not.
Add them, as some of them are created in the installer, so they will be
missing in upgrades installing through second root partition, and we
want to catch those cases before we start upgrading real systems.
Change-Id: If74db0fa91a16202d0c1297acc3d20abc3c09962
There were an simplifications in templates.git
commit 0141070a5077b8e5a07c2246d3fa2410584b13e2
which allows to use both v1 and v2 in parallel.
The proper URL for customer interface is now simple:
https://x.x.x.x (on default port and no extra URL location).
Change-Id: I5b9be3d25a874a970809bb94faa28788cd59e2ec
Fixes commit 837cde059a
The current output after the last change is "1", which then is evaluated
as different from "true" (see below), so set "true"/"false" explicitly.
Service: victoria-metrics.service: enabled: doesn't match, expect: [1] found: [true]
Change-Id: If1fec840e70e26a352516ce2ceee983d0f0d74fe
mr9.5/bulsseye+ has to provide access on /etc/mysql/debian.cnf
for mysql2 on port 3308 (Carrier proxy node).
Change-Id: Ic08d210477a5fc7b422ed284699ae3e4bfea1353
In templates.git, the template-conditions for ngcp-service.services.yml are:
victoria-metrics:
group:
- ngcp-upgrade-ignore
- monitoring
systemd: victoria-metrics.service
monit: victoria-metrics
enable: [% monitoring.backend == 'prometheus' && monitoring.prometheus_server == 'victoria-metrics' ? 'yes' : 'no' %]
so the service is enabled in all nodes, not only management, and thus
system-tests complains:
https://jenkins.mgm.sipwise.com/job/system-tester/399308/tapTestReport/
194 - - Service: victoria-metrics.service: enabled: doesn't match, expect: [false] found: [true]
195 - - Service: victoria-metrics.service: running: doesn't match, expect: [false] found: [true]
So setting the same conditions for these tests as for its enablement in
the services config file.
Change-Id: I1be7ca2fc21463685ba0119746ad5bbe9a0c14a0
Quoting from "man bash" about `-E` (AKA errtrace):
| If set, any trap on ERR is inherited by shell functions, command
| substitutions, and commands executed in a subshell environment.
| The ERR trap is normally not inherited in such cases.
To demonstrate the problem see this short shell script:
| % cat foo
| set -eu -o pipefail
|
| bailout() {
| echo "Bailing out because of error" >&2
| exit 1
| }
| trap bailout 1 2 3 6 9 14 15 ERR
|
| foo() {
| echo "Executing magic"
| magic
| }
|
| foo
| echo end
If "magic" can't be executed, then this fails as follows:
| % bash ./foo
| Executing magic
| ./foo: line 11: magic: command not found
But it doesn't invoke the bailout function via trap.
When using `set -eE` (AKA errexit + errtrace), instead of only
`set -e` (errexit), then it behaves as expected though:
| % bash ./foo
| Executing magic
| ./foo: line 11: magic: command not found
| Bailing out because of error
Change-Id: I3feca2af2276cd64cd17f8768eb9bf130e170f92
With newer systemd versions the is-enabled command returns «alias»
and a success exit code for service names that are aliases instead
of «disabled» and an error exit code, as was previously the case
with older versions, which breaks the expected goss checks.
Change-Id: I94d56cf5c9cd32d8b7579a4ce12136295876a472
This reverts commit 4e164bf39f.
The change of enabling "::" as listening interface for sshd is only
applied in new installations, not on upgrades (neither as upgrade step
nor as cfg-schema script), so this test only works on newly installed
systems.
For systems installed before mr9.3 and upgraded, all systems fail at
this point of the tests. Thus, all upgrade tests upgrading to mr9.3 are
failing at the moment because of this (and will keep failing for future
versions as well).
So unless and until there are plans to extend this change to systems
installed before mr9.3 by upgrading this configuration, we have to
revert this test.
Change-Id: Ic5e87651fab3daad9462c7135be81f37ef346950
Check for ngcp-io-scheduler.service instead of io-scheduler.service,
as more recent versions of systemd (as present in Debian/bullseye)
resolve aliases and no longer report them as enabled but as alias.
State on Debian/buster:
| sipwise@spce:~$ systemctl list-unit-files '*scheduler*'
| UNIT FILE STATE
| io-scheduler.service enabled
| ngcp-io-scheduler.service enabled
|
| 2 unit files listed.
State on Debian/bullseye:
| root@spce:~# systemctl list-unit-files '*scheduler*'
| UNIT FILE STATE VENDOR PRESET
| io-scheduler.service alias -
| ngcp-io-scheduler.service enabled enabled
|
| 2 unit files listed.
Change-Id: I57b1b68dce32290055aa216084287aa314fc0de5
It's no longer running as mysqld but as mariadbd process.
The mysql.service is present (as in: reachable) but not a
separate systemd unit any longer:
| root@spce:~# systemctl status mysql.service | head -1
| ● mariadb.service - MariaDB 10.5.8 database server
| root@spce:~# systemctl show -p Names --value mariadb.service
| mariadb.service mysqld.service mysql.service
Fixes:
| not ok 505 - Process: mysqld: running: doesn't match, expect: [true] found: [false]
| not ok 205 - Service: mysql.service: enabled: doesn't match, expect: [true] found: [false]
Change-Id: I0740461e0dd77a3d5d8c285fd66018192e3b6308
Some of our scripts and templates rely on sshd listening on the
localhost addresses (e.g. the port test in monitrc). Normally this is
achieved either by having an ssh_ role assigned to the `lo` interface,
or by listening the addresses explicitly in the `listen_addresses` list.
Add an explicit test for this in case it is missing.
Change-Id: Iee409551e8237fbdec56fe33d1bb63d56d0af802
As of systemd v243 the kernel.core_pattern for systemd-coredump (once
again[1]) no longer includes the hostname, see systemd.git commit:
| commit 47cf786c0a13fccd777c334bed4b1e7b02f18d42
| Author: Franck Bui <fbui@suse.com>
| Date: Fri Jun 21 13:12:41 2019 +0200
|
| coredump: rely on /proc exclusively to get the name of the crashing process
[1] This is similar to a revert of our commit a78509496d,
which mentioned:
| commit f45b8015513d38ee5f7cc361db9c5b88c9aae704
| Author: Jakub Filak <jakub@thefilaks.net>
| Date: Thu Feb 15 12:12:46 2018 +0100
|
| coredump: accept hostname on command line (#8033)
We can't just revert the change though, as we need to distinguish between
Debian 11/bullseye and older releases, while commit a78509496d was
for Debian 10/buster and older releases.
Change-Id: I844bc6f23b1acd2ce583bc59f67ea70956863653
Add support for selecting which prometheus scraper and database server
to use, so we are only going to be running with either prometheus or
victoria-metrics, as they will use the same port.
Change-Id: I24dad2c825cf74946ef807fcc0056880375b25ab
InfluxDB is going to be running either when it is the current monitoring
backend, or when it is not but its data has not yet been migrated. We
want to check both cases so make sure the service is there and contains
data.
Change-Id: I45c71f41b6e2106b1ecf3a2665f669c920e59074
The new installations are going to be using Prometheus, and old ones
will be fine with the new influxdb alternatives. This simplifies the
installation process, as then we do not need to install the prometheus
packages and remove the influxdb packages as independent steps.
Change-Id: Id47b0713fa47a698f1d2ffc0505d0763483ff01b