Bug 1798394

Summary: Port dbgen from legacy tools package
Product: Red Hat Enterprise Linux 8 Reporter: bsmejkal
Component: 389-ds-baseAssignee: mreynolds
Status: CLOSED ERRATA QA Contact: RHDS QE <ds-qe-bugs>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 8.2CC: pasik, spichugi, tbordaz, vashirov
Target Milestone: rcFlags: pm-rhel: mirror+
Target Release: 8.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: 389-ds-base-1.4.3.8-2.module+el8.3.0+6591+ebfc9766 Doc Type: Enhancement
Doc Text:
Feature: port dbgen.pl to dsctl CLI tool Reason: We are deprecating all the Perl and Shell toolls in DS, and porting them tothe new python CLI toolset Result: You can run generate testing LDIF using "dsctl ldifgen"
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-11-04 03:07:24 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description bsmejkal 2020-02-05 09:01:43 UTC
Description of problem:

Because we plan to phase-out legacy tools package, we should port dbgen to the new CLI.

Comment 1 mreynolds 2020-04-15 19:44:57 UTC
https://pagure.io/389-ds-base/issue/50545

Comment 4 bsmejkal 2020-06-01 10:26:50 UTC
Build tested:
389-ds-base-1.4.3.8-2.module+el8.3.0+6591+ebfc9766.x86_64

# dsctl slapd-localhost dbgen users
usage: dsctl [-h] [-v] [-j] [-l]
             [instance]
             {restart,start,stop,status,remove,db2index,db2bak,db2ldif,dbverify,bak2db,ldif2db,backups,ldifs,tls,healthcheck,get-nsstate,ldifgen}
             ...
dsctl: error: invalid choice: 'dbgen' (choose from 'restart', 'start', 'stop', 'status', 'remove', 'db2index', 'db2bak', 'db2ldif', 'dbverify', 'bak2db', 'ldif2db', 'backups', 'ldifs', 'tls', 'healthcheck', 'get-nsstate', 'ldifgen')


Option dbgen is not present for dsctl. Marking as ASSIGNED.

Comment 5 mreynolds 2020-06-01 12:55:19 UTC
(In reply to bsmejkal from comment #4)
> Build tested:
> 389-ds-base-1.4.3.8-2.module+el8.3.0+6591+ebfc9766.x86_64
> 
> # dsctl slapd-localhost dbgen users
> usage: dsctl [-h] [-v] [-j] [-l]
>              [instance]
>             
> {restart,start,stop,status,remove,db2index,db2bak,db2ldif,dbverify,bak2db,
> ldif2db,backups,ldifs,tls,healthcheck,get-nsstate,ldifgen}
>              ...
> dsctl: error: invalid choice: 'dbgen' (choose from 'restart', 'start',
> 'stop', 'status', 'remove', 'db2index', 'db2bak', 'db2ldif', 'dbverify',
> 'bak2db', 'ldif2db', 'backups', 'ldifs', 'tls', 'healthcheck',
> 'get-nsstate', 'ldifgen')
> 
> 
> Option dbgen is not present for dsctl. Marking as ASSIGNED.


We renamed it to ldifgen, not dbgen.

Comment 6 bsmejkal 2020-06-01 13:03:49 UTC
Thanks for clarifying.
I was following this guide where it was still dbgen: http://www.port389.org/docs/389ds/design/dbgen-design.html
I will retest with ldifgen.

Comment 7 mreynolds 2020-06-01 13:17:39 UTC
(In reply to bsmejkal from comment #6)
> Thanks for clarifying.
> I was following this guide where it was still dbgen:
> http://www.port389.org/docs/389ds/design/dbgen-design.html
> I will retest with ldifgen.

Sorry the name was changed late in the feature development.  I will update the design doc, sorry about it being out of date!!!!

Comment 8 bsmejkal 2020-06-25 14:58:24 UTC
=============================================================================================== test session starts ===============================================================================================
platform linux -- Python 3.6.8, pytest-5.4.3, 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-214.el8.x86_64-x86_64-with-redhat-8.3-Ootpa', 'Packages': {'pytest': '5.4.3', 'py': '1.9.0', 'pluggy': '0.13.1'}, 'Plugins': {'metadata': '1.10.0', 'html': '2.1.1'}}
389-ds-base: 1.4.3.8-3.module+el8.3.0+6935+6f68b788
nss: 3.44.0-15.el8
nspr: 4.21.0-2.el8_0
openldap: 2.4.46-11.el8
cyrus-sasl: 2.1.27-5.el8
FIPS: disabled
rootdir: /mnt/tests/rhds/tests/upstream/ds/dirsrvtests, inifile: pytest.ini
plugins: metadata-1.10.0, html-2.1.1
collected 11 items                                                                                                                                                                                                

dirsrvtests/tests/suites/clu/dbgen_test.py::test_dsconf_dbgen_users PASSED                                                                                                                                  [  9%]
dirsrvtests/tests/suites/clu/dbgen_test.py::test_dsconf_dbgen_groups PASSED                                                                                                                                 [ 18%]
dirsrvtests/tests/suites/clu/dbgen_test.py::test_dsconf_dbgen_cos_classic PASSED                                                                                                                            [ 27%]
dirsrvtests/tests/suites/clu/dbgen_test.py::test_dsconf_dbgen_cos_pointer PASSED                                                                                                                            [ 36%]
dirsrvtests/tests/suites/clu/dbgen_test.py::test_dsconf_dbgen_cos_indirect PASSED                                                                                                                           [ 45%]
dirsrvtests/tests/suites/clu/dbgen_test.py::test_dsconf_dbgen_cos_template PASSED                                                                                                                           [ 54%]
dirsrvtests/tests/suites/clu/dbgen_test.py::test_dsconf_dbgen_managed_role PASSED                                                                                                                           [ 63%]
dirsrvtests/tests/suites/clu/dbgen_test.py::test_dsconf_dbgen_filtered_role PASSED                                                                                                                          [ 72%]
dirsrvtests/tests/suites/clu/dbgen_test.py::test_dsconf_dbgen_nested_role PASSED                                                                                                                            [ 81%]
dirsrvtests/tests/suites/clu/dbgen_test.py::test_dsconf_dbgen_mod_ldif_mixed PASSED                                                                                                                         [ 90%]
dirsrvtests/tests/suites/clu/dbgen_test.py::test_dsconf_dbgen_nested_ldif PASSED                                                                                                                            [100%]

=================================================================================== 11 passed in 109.30s (0:01:49) ===============================================================================================

Marking as VERIFIED.

Comment 11 errata-xmlrpc 2020-11-04 03:07:24 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/RHEA-2020:4695