gdha / rear-automated-testing

Relax-and-Recover Automated Testing
https://gdha.github.io/rear-automated-testing/
GNU General Public License v3.0
10 stars 2 forks source link

server vm: bareos-dir failed at start-up #46

Closed gdha closed 4 years ago

gdha commented 6 years ago

Yesterday I re-provioned the VMs and I'm pretty sure the bareos tables were created without errors. Therefore, I'm surprised bareos-dir failed at start-up (the other 2 daemons were started without problems).

# cat /var/lib/bareos/bareos-dir.bareos-dir.40319736.mail
06-Dec 14:43 bareos-dir JobId 0: Fatal error: Query failed: SELECT VersionId FROM Version: ERR=ERROR:  permission denied for relation version

06-Dec 14:43 bareos-dir JobId 0: Fatal error: Could not open Catalog "MyCatalog", database "bareos".
06-Dec 14:43 bareos-dir JobId 0: Fatal error: Query failed: SELECT VersionId FROM Version: ERR=ERROR:  permission denied for relation version

06-Dec 14:43 bareos-dir ERROR TERMINATION

The link https://bugs.bareos.org/view.php?id=655 proposed a solution, but that did not fix it. The following did work for me:

[root@server vagrant]# systemctl status bareos-dir
● bareos-dir.service - Bareos Director Daemon service
   Loaded: loaded (/usr/lib/systemd/system/bareos-dir.service; enabled; vendor preset: disabled)
   Active: inactive (dead) since Wed 2017-12-06 14:45:31 CET; 3s ago
     Docs: man:bareos-dir(8)
  Process: 2600 ExecStart=/usr/sbin/bareos-dir (code=exited, status=0/SUCCESS)
  Process: 2597 ExecStartPre=/usr/sbin/bareos-dir -t -f (code=exited, status=1/FAILURE)
 Main PID: 2603 (code=exited, status=1/FAILURE)

Dec 06 14:45:30 server.box systemd[1]: Starting Bareos Director Daemon service...
Dec 06 14:45:30 server.box systemd[1]: PID file /var/lib/bareos/bareos-dir.9101.pid not readable (yet?) after start.
Dec 06 14:45:30 server.box systemd[1]: Started Bareos Director Daemon service.

[root@server vagrant]# ls /usr/lib/bareos/scripts/
bareos-config         btraceback.gdb          disk-changer             make_bareos_tables      update_bareos_tables
bareos-config-lib.sh  create_bareos_database  drop_bareos_database     make_catalog_backup
bareos-explorer       ddl                     drop_bareos_tables       make_catalog_backup.pl
bconsole              delete_catalog_backup   grant_bareos_privileges  query.sql

[root@server vagrant]# su postgres -c /usr/lib/bareos/scripts/grant_bareos_privileges 
Warning: failed to get "dbname" from config, using default value "bareos", see /tmp/bareos-config.2616.log
Warning: failed to get "dbuser" from config, using default value "bareos", see /tmp/bareos-config.2616.log
Warning: failed to get "dbpassword" from config, see /tmp/bareos-config.2616.log
Warning: failed to get "dbdriver" from config, see /tmp/bareos-config.2616.log
Granting postgresql tables
could not change directory to "/home/vagrant"
could not change directory to "/home/vagrant"
psql:/tmp/grants.sql.2616:1: ERROR:  role "bareos" already exists
GRANT
GRANT
...
GRANT
Privileges for user bareos granted ON database bareos.

[root@server vagrant]# systemctl restart bareos-dir
[root@server vagrant]# systemctl status bareos-dir
● bareos-dir.service - Bareos Director Daemon service
   Loaded: loaded (/usr/lib/systemd/system/bareos-dir.service; enabled; vendor preset: disabled)
   Active: active (running) since Wed 2017-12-06 14:46:23 CET; 2s ago
     Docs: man:bareos-dir(8)
  Process: 2666 ExecStart=/usr/sbin/bareos-dir (code=exited, status=0/SUCCESS)
  Process: 2663 ExecStartPre=/usr/sbin/bareos-dir -t -f (code=exited, status=0/SUCCESS)
 Main PID: 2669 (bareos-dir)
   CGroup: /system.slice/bareos-dir.service
           └─2669 /usr/sbin/bareos-dir

Dec 06 14:46:23 server.box systemd[1]: Starting Bareos Director Daemon service...
Dec 06 14:46:23 server.box systemd[1]: PID file /var/lib/bareos/bareos-dir.9101.pid not readable (yet?) after start.
Dec 06 14:46:23 server.box systemd[1]: Started Bareos Director Daemon service.
gdha commented 6 years ago

Just tested on VirtualBox with the latest bareos repo's from the subscription site - it worked fine. Need to retest with libvirt

gdha commented 6 years ago

on libvirt we have the following situation:

bareos-director-17.2.4-9.1.el7.x86_64
[root@server vagrant]# systemctl status bareos-dir
● bareos-dir.service - Bareos Director Daemon service
   Loaded: loaded (/usr/lib/systemd/system/bareos-dir.service; enabled; vendor preset: disabled)
   Active: inactive (dead) since Tue 2018-03-06 16:36:01 CET; 5min ago
     Docs: man:bareos-dir(8)
  Process: 19628 ExecStart=/usr/sbin/bareos-dir (code=exited, status=0/SUCCESS)
  Process: 19558 ExecStartPre=/usr/sbin/bareos-dir -t -f (code=exited, status=1/FAILURE)
 Main PID: 19631 (code=exited, status=1/FAILURE)

Mar 06 16:35:56 server.box systemd[1]: Starting Bareos Director Daemon service...
Mar 06 16:36:01 server.box systemd[1]: PID file /var/lib/bareos/bareos-dir.9101.pid not readable (yet?) after start.
Mar 06 16:36:01 server.box systemd[1]: Started Bareos Director Daemon service.
[root@server vagrant]# cat /var/lib/bareos/bareos-dir.bareos-dir.1
bareos-dir.bareos-dir.12344120.mail  bareos-dir.bareos-dir.19704632.mail  
[root@server vagrant]# cat /var/lib/bareos/bareos-dir.bareos-dir.19704632.mail 
06-Mar 16:36 bareos-dir JobId 0: Fatal error: Query failed: SELECT VersionId FROM Version: ERR=ERROR:  permission denied for relation version

06-Mar 16:36 bareos-dir JobId 0: Fatal error: Could not open Catalog "MyCatalog", database "bareos".
06-Mar 16:36 bareos-dir JobId 0: Fatal error: Query failed: SELECT VersionId FROM Version: ERR=ERROR:  permission denied for relation version

06-Mar 16:36 bareos-dir ERROR TERMINATION
Please correct the configuration in /etc/bareos/bareos-dir.conf

[root@server vagrant]# su postgres -c /usr/lib/bareos/scripts/grant_bareos_privileges 

[root@server vagrant]# systemctl restart bareos-dir
[root@server vagrant]# systemctl status bareos-dir
● bareos-dir.service - Bareos Director Daemon service
   Loaded: loaded (/usr/lib/systemd/system/bareos-dir.service; enabled; vendor preset: disabled)
   Active: active (running) since Tue 2018-03-06 16:44:59 CET; 7s ago
     Docs: man:bareos-dir(8)
  Process: 20059 ExecStart=/usr/sbin/bareos-dir (code=exited, status=0/SUCCESS)
  Process: 20056 ExecStartPre=/usr/sbin/bareos-dir -t -f (code=exited, status=0/SUCCESS)
 Main PID: 20062 (bareos-dir)
   CGroup: /system.slice/bareos-dir.service
           └─20062 /usr/sbin/bareos-dir

Mar 06 16:44:59 server.box systemd[1]: Starting Bareos Director Daemon service...
Mar 06 16:44:59 server.box systemd[1]: PID file /var/lib/bareos/bareos-dir.9101.pid not readable (yet?) after start.
Mar 06 16:44:59 server.box systemd[1]: Started Bareos Director Daemon service.

So, not solved yet

gdha commented 6 years ago

On newly build SLES12 (OpenSUSE Leap 43) the bareos-dir service also does not start from the first time:

server:/home/vagrant # cat /var/lib/bareos/bareos-dir.bareos-dir.23180584.mail
20-Mar 16:46 bareos-dir JobId 0: Fatal error: Could not open Catalog "MyCatalog", database "bareos".
20-Mar 16:46 bareos-dir JobId 0: Fatal error: postgresql.c:253 Unable to connect to PostgreSQL server. Database=bareos User=bareos
Possible causes: SQL server not running; password incorrect; max_connections exceeded.
20-Mar 16:46 bareos-dir ERROR TERMINATION
Please correct the configuration in /etc/bareos/bareos-dir.conf

For some reason su postgres -c /usr/lib/bareos/scripts/make_bareos_tables was not done properly albeit:

ASK [rear-test : Run 'create_bareos_database' script] *************************
changed: [server]

TASK [rear-test : Run 'make_bareos_tables' script] *****************************
changed: [server]

TASK [rear-test : Run 'grant_bareos_privileges' script] ************************
changed: [server]

marked as done successfully. Perhaps we have to add some test or a better implementation of the creation of the tables?

gdha commented 6 years ago

On Sles 11 we have the same issue:

server:/etc/zypp/repos.d # cat /var/lib/bareos/bareos-dir.bareos-dir.135406016.mail 
30-Mar 13:58 bareos-dir JobId 0: Fatal error: Query failed: SELECT VersionId FROM Version: ERR=ERROR:  relation "version" does not exist

30-Mar 13:58 bareos-dir JobId 0: Fatal error: Could not open Catalog "MyCatalog", database "bareos".
30-Mar 13:58 bareos-dir JobId 0: Fatal error: Query failed: SELECT VersionId FROM Version: ERR=ERROR:  relation "version" does not exist

30-Mar 13:58 bareos-dir ERROR TERMINATION
Please correct the configuration in /etc/bareos/bareos-dir.conf

and during ansible task:

TASK [rear-test : Enable/Start bareos related services] ************************
failed: [server] (item=bareos-dir) => {"changed": false, "item": "bareos-dir", "msg": "Checking Configuration and Database connection ... \nbareos-dir: dird.c:1161-0 Could not open Catalog \"MyCatalog\", database \"bareos\".\nbareos-dir: dird.c:1166-0 Query failed: SELECT VersionId FROM Version: ERR=ERROR:  relation \"version\" does not exist\n\n������Vxi�bareos-dir ERROR TERMINATION\nPlease correct the configuration in /etc/bareos/bareos-dir.conf\nConfiguration check failed, please check log file for errors\n"}
changed: [server] => (item=bareos-sd)
changed: [server] => (item=bareos-fd)

seems like step "Run 'make_bareos_tables' script" fails

github-actions[bot] commented 4 years ago

Stale issue message