Uploaded image for project: 'RHEL'
  1. RHEL
  2. RHEL-107003

Improve output dsctl dbverify when backend does not exist

Linking RHIVOS CVEs to...Migration: Automation ...Sync from "Extern...XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Undefined Undefined
    • rhel-10.2
    • rhel-8.10
    • 389-ds-base
    • None
    • No
    • Low
    • rhel-idm-ds
    • None
    • None
    • Unspecified
    • Unspecified
    • Unspecified
    • None

      As a system administrator responsible for managing RHDS I would like to know from the `dsctl dbverify` command when I specified a non-existing back-end database.

      For example, on my lab instance the following back-end database exists that I would like to verify:

      [root@rhds13-1 ~]# dsconf -D "cn=Directory Manager" ldap://rhds13-1.lab1.nat backend suffix list
      Enter password for cn=Directory Manager on ldap://rhds13-1.lab1.nat: 
      dc=example,dc=com (userroot)
      

      Expected outcome of DB verification:

      [root@rhds13-1 ~]# dsctl rhds13_instance1 stop
      Instance "rhds13_instance1" has been stopped
      [root@rhds13-1 ~]# dsctl -v rhds13_instance1 dbverify userroot
      DEBUG: The 389 Directory Server Administration Tool
      DEBUG: Inspired by works of: ITS, The University of Adelaide
      DEBUG: Called with: Namespace(verbose=True, json=False, instance='rhds13_instance1', list=False, remove_all=False, backend='userroot', func=<function dbtasks_verify at 0x7fba6e75a660>)
      DEBUG: Allocate local instance <class 'lib389.DirSrv'> with None
      DEBUG: Instance allocated
      DEBUG: systemd status -> True
      [12/Jun/2025:13:50:43.314989478 +0000] - INFO - ldbm_instance_config_cachememsize_set - force a minimal value 512000
      INFO: dbverify successful
      

      When I have a type in back-end database name or specify a non-existent DB the output is unexpected:

      [root@rhds13-1 ~]# dsctl -v rhds13_instance1 dbverify useroot
      DEBUG: The 389 Directory Server Administration Tool
      DEBUG: Inspired by works of: ITS, The University of Adelaide
      DEBUG: Called with: Namespace(verbose=True, json=False, instance='rhds13_instance1', list=False, remove_all=False, backend='useroot', func=<function dbtasks_verify at 0x7f58e9772660>)
      DEBUG: Allocate local instance <class 'lib389.DirSrv'> with None
      DEBUG: Instance allocated
      DEBUG: systemd status -> True
      [12/Jun/2025:13:53:21.284106458 +0000] - INFO - ldbm_instance_config_cachememsize_set - force a minimal value 512000
      INFO: dbverify successful
      
      [root@rhds13-1 ~]# dsctl -v rhds13_instance1 dbverify TEST
      DEBUG: The 389 Directory Server Administration Tool
      DEBUG: Inspired by works of: ITS, The University of Adelaide
      DEBUG: Called with: Namespace(verbose=True, json=False, instance='rhds13_instance1', list=False, remove_all=False, backend='TEST', func=<function dbtasks_verify at 0x7f4f7d6f6660>)
      DEBUG: Allocate local instance <class 'lib389.DirSrv'> with None
      DEBUG: Instance allocated
      DEBUG: systemd status -> True
      [12/Jun/2025:13:53:43.909130056 +0000] - INFO - ldbm_instance_config_cachememsize_set - force a minimal value 512000
      INFO: dbverify successful
      
      • How can I get `dbverify successful` when the specified back-end DBs (useroot and TEST) do not exist?
      • I would expect to get an error message like
        • "dbverify failed because backend does not exist"

      Can this be implemented?

      Please don't hesitate to get back to me with any questions.

      Best regards,
      Joerg

              Unassigned Unassigned
              rhn-support-jkastnin Joerg Kastning
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated: