acassen / keepalived

Keepalived
https://www.keepalived.org
GNU General Public License v2.0
3.93k stars 733 forks source link

org.keepalived.Vrrp1.Vrrp.xml, errno 2 (No such file or directory) #2090

Open gdanov opened 2 years ago

gdanov commented 2 years ago

Describe the bug dbus is enabled and the error message below is logged at start-up Feb 01 09:45:40 pp-staging-2 Keepalived_vrrp[189587]: Unable to open DBus file /usr/share/dbus-1/interfaces/org.keepalived.Vrrp1.Vrrp.xml, errno 2 (No such file or directory)

To Reproduce enable dbus

Expected behavior no log

Keepalived version

Keepalived v2.2.7 (01/16,2022)

Distro (please complete the following information): Description: Ubuntu 20.04.3 LTS

Details of any containerisation or hosted service (e.g. AWS) hetzner VPS

Configuration file:

global_defs {
  script_user root
  enable_script_security
  # see https://serverfault.com/a/871783/407607
  enable_dbus
  # see https://groups.io/g/keepalived-users/topic/what_are_the_best_priority/84312332?p=,,,20,0,0,0::recentpostdate%2Fsticky,,,20,2,0,84312332
  max_auto_priority 99
  vrrp_rt_priority 99
  vrrp_no_swap
  vrrp_rlimit_rttime 10000000
}
then vrrp defs, IMO not relevant
pqarmitage commented 2 years ago

@gdanov Does the file /usr/share/dbus-1/interfaces/org.keepalived.Vrrp1.Vrrp.xml exist? Can you please provide the output of ls -l /usr/share/dbus-1/interfaces/. Can you also please provide the output of head -40 config.log in the directory where you built keepalived.

Did you run, as root, make install after running make?

gdanov commented 2 years ago

shocking is everything's fine on the prod nodes that are supposed to be identical twins of the staging... here are the details you requested, from the faulty nodes:

root@pp-staging-2:~# ll /usr/share/dbus-1/interfaces/
total 164K
drwxr-xr-x 2 root root 4.0K Jan 28 15:42 .
drwxr-xr-x 7 root root 4.0K Jan 28 14:47 ..
-rw-r--r-- 1 root root  86K Sep 23  2020 org.freedesktop.PackageKit.Transaction.xml
-rw-r--r-- 1 root root  22K Sep 23  2020 org.freedesktop.PackageKit.xml
-rw-r--r-- 1 root root  15K Jun 13  2019 org.freedesktop.bolt.xml
-rw-r--r-- 1 root root  25K Jun 29  2021 org.freedesktop.fwupd.xml

the package was not built, but installed via snap.

root@pp-staging-2:~# snap info keepalived
name:      keepalived
summary:   High availability VRRP/BFD and load-balancing for Linux
publisher: Keepalived (keepalived-project✓)
store-url: https://snapcraft.io/keepalived
contact:   https://github.com/acassen/keepalived/issues
license:   unset
description: |
  Keepalived is a routing software written in C. The main goal of this project is to provide simple
  and robust facilities for loadbalancing and high-availability to Linux system and Linux based
  infrastructures. Loadbalancing framework relies on well-known and widely used Linux Virtual Server
  (IPVS) kernel module providing Layer4 loadbalancing. Keepalived implements a set of checkers to
  dynamically and adaptively maintain and manage loadbalanced server pool according their health. On
  the other hand high-availability is achieved by VRRP protocol. VRRP is a fundamental brick for
  router failover. In addition, Keepalived implements a set of hooks to the VRRP finite state
  machine providing low-level and high-speed protocol interactions. In order to offer fastest
  network failure detection, Keepalived implements BFD protocol. VRRP state transition can take into
  account BFD hint to drive fast state transition. Keepalived frameworks can be used independently
  or all together to provide resilient infrastructures.
commands:
  - keepalived.310
  - keepalived.415
  - keepalived.418
  - keepalived.504
  - keepalived.508
  - keepalived.genhash
  - keepalived
services:
  keepalived.daemon: forking, enabled, active
snap-id:      V4Z90JuG4d64ycAAl948fM4vWQA9594q
tracking:     latest/stable
refresh-date: 5 days ago, at 14:48 UTC
channels:
  latest/stable:    2.2.7              2022-01-16 (2345) 21MB classic
  latest/candidate: 2.2.7              2022-01-16 (2345) 21MB classic
  latest/beta:      2.2.7              2022-01-16 (2345) 21MB classic
  latest/edge:      v2.2.7-6-gd88fea9d 2022-01-29 (2355) 21MB classic
installed:          2.2.7                         (2345) 21MB classic

on both sets of servers I had the apt version of keepalived but it was outdated so switched to snap version.

pqarmitage commented 2 years ago

It appears that there are additional items that need specifying in snapcraft.yaml for building the snap - see SNAP DBus interface.

I am not familiar with this, and it is not immediately obvious to me what needs to be done. If anyone is familiar with setting up snaps to use dbus, then any suggestions regarding what needs to changed would be gratefully received. If there are no suggestions, then I will look at this in due course.