Bug 1851967

Summary: if dbhome directory is set online backup fails
Product: Red Hat Enterprise Linux 8 Reporter: mreynolds
Component: 389-ds-baseAssignee: Simon Pichugin <spichugi>
Status: CLOSED ERRATA QA Contact: RHDS QE <ds-qe-bugs>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 8.0CC: pasik, sgouvern, spichugi, tbordaz, vashirov
Target Milestone: rcFlags: pm-rhel: mirror+
Target Release: 8.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: 389-ds-devel-1.4-8040020201105165416.866effaa Doc Type: Bug Fix
Doc Text:
Cause: While doing an online backup and while the dbhome directory is set to a wrong path, true error is hidden. Consequence: The online backup fails but wrong error is returned. Fix: Process the error and return it to the user. Result: Proper error is returned when the path is not found.
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-05-18 15:45:16 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description mreynolds 2020-06-29 14:29:11 UTC
This bug is created as a clone of upstream ticket:
https://pagure.io/389-ds-base/issue/51059

if the dbhome directory is set, eg to /dev/shm/instance then an online backup fails because it looks for the log.000000x file in the wring diretcory.

     [29/Apr/2020:17:58:57.268949526 +0200] - ERR - dblayer_copyfile - Failed to open source file /dev/shm/dirsrv/slapd-master1/log.0000000001 by "No such file or directory"
     [29/Apr/2020:17:58:57.275365122 +0200] - ERR - dblayer_backup - Error in copying file '/dev/shm/dirsrv/slapd-master1/log.0000000001' (err=-1)

unfortunately this is hidden because the return  code is overwritten before checking


       /* tell it to archive */
       return_value = dblayer_backup(li, directory, task);
       return_value = plugin_call_plugins(pb, SLAPI_PLUGIN_BE_POST_BACKUP_FN);

Comment 6 sgouvern 2020-11-17 10:32:47 UTC
With 389-ds-base-libs-1.4.3.16-1.module+el8.4.0+8740+d5ec8778.x86_64

# PYTHONPATH=src/lib389 py.test -s -v dirsrvtests/tests/suites/backups/backup_test.py::test_db_home_dir_online_backup
re-exec with libfaketime dependencies
================================================================ test session starts =================================================================
platform linux -- Python 3.6.8, pytest-6.1.2, py-1.9.0, pluggy-0.13.1 -- /usr/bin/python3.6
cachedir: .pytest_cache
metadata: {'Python': '3.6.8', 'Platform': 'Linux-4.18.0-247.el8.x86_64-x86_64-with-redhat-8.4-Ootpa', 'Packages': {'pytest': '6.1.2', 'py': '1.9.0', 'pluggy': '0.13.1'}, 'Plugins': {'metadata': '1.10.0', 'html': '3.0.0', 'libfaketime': '0.1.2'}}
389-ds-base: 1.4.3.16-1.module+el8.4.0+8740+d5ec8778
nss: 3.53.1-11.el8_2
nspr: 4.25.0-2.el8_2
openldap: 2.4.46-16.el8
cyrus-sasl: 2.1.27-5.el8
FIPS: disabled
rootdir: /mnt/tests/rhds/tests/upstream/ds/dirsrvtests, configfile: pytest.ini
plugins: metadata-1.10.0, html-3.0.0, libfaketime-0.1.2
collected 1 item                                                                                                                                     

dirsrvtests/tests/suites/backups/backup_test.py::test_db_home_dir_online_backup INFO:lib389.SetupDs:Starting installation...
INFO:lib389.SetupDs:Completed installation for standalone1
INFO:lib389.topologies:Instance with parameters {'ldap-port': 38901, 'ldap-secureport': 63601, 'server-id': 'standalone1', 'suffix': 'dc=example,dc=com'} was created.
ERROR:lib389:Error: backup task backup_11162020_072033 exited with -1
PASSED

=========================================================== 1 passed, 4 warnings in 14.47s ===========================================================

-> Marking as verified:tested

Comment 9 sgouvern 2020-11-23 09:46:11 UTC
verified:tested (see comment 6) with build https://brewweb.engineering.redhat.com/brew/buildinfo?buildID=1383684 
-> marking as VERIFIED

Comment 11 errata-xmlrpc 2021-05-18 15:45:16 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (389-ds:1.4 bug fix and enhancement update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2021:1835