Issue Description dsconf fails with ERROR: Error: values has to be a tuple, was None when adding a new objectClass Package Version and Platform: 1.4.4.3+ Steps to Reproduce [root@server-f33 ds]# dsconf -v server-f33 schema objectclasses add testOC DEBUG: The 389 Directory Server Configuration Tool DEBUG: Inspired by works of: ITS, The University of Adelaide DEBUG: dsrc path: /root/.dsrc DEBUG: dsrc container path: /data/config/container.inf DEBUG: dsrc instances: [] DEBUG: dsrc no such section: slapd-server-f33 DEBUG: Called with: Namespace(instance='server-f33', verbose=True, binddn=None, bindpw=None, prompt=False, pwdfile=None, basedn=None, starttls=False, json=False, name='testOC', oid=None, desc=None, x_origin=None, must=None, may=None, kind=None, sup=None, func=<function add_objectclass at 0x7f5917562dc0>) DEBUG: Instance details: {'uri': 'server-f33', 'basedn': None, 'binddn': None, 'bindpw': None, 'saslmech': None, 'tls_cacertdir': None, 'tls_cert': None, 'tls_key': None, 'tls_reqcert': None, 'starttls': False, 'prompt': False, 'pwdfile': None, 'args': {'ldapurl': 'server-f33', 'root-dn': None}} DEBUG: Allocate <class 'lib389.DirSrv'> with ldapi://%2fvar%2frun%2fslapd-server-f33.socket DEBUG: Allocate <class 'lib389.DirSrv'> with %2fvar%2frun%2fslapd-server-f33.socket DEBUG: Allocate <class 'lib389.DirSrv'> with server-f33.example.com:389 DEBUG: Allocate <class 'lib389.DirSrv'> with server-f33.example.com:389 DEBUG: Allocate <class 'lib389.DirSrv'> with ldapi://%2fvar%2frun%2fslapd-server-f33.socket DEBUG: Allocate <class 'lib389.DirSrv'> with %2fvar%2frun%2fslapd-server-f33.socket DEBUG: Allocate <class 'lib389.DirSrv'> with server-f33.example.com:389 DEBUG: Allocate <class 'lib389.DirSrv'> with server-f33.example.com:389 DEBUG: open(): Connecting to uri ldapi://%2fvar%2frun%2fslapd-server-f33.socket DEBUG: Using dirsrv ca certificate /etc/dirsrv/slapd-server-f33 DEBUG: Using external ca certificate /etc/dirsrv/slapd-server-f33 DEBUG: Using external ca certificate /etc/dirsrv/slapd-server-f33 DEBUG: Using /etc/openldap/ldap.conf certificate policy DEBUG: ldap.OPT_X_TLS_REQUIRE_CERT = 2 DEBUG: open(): Using root autobind ... DEBUG: open(): bound as None DEBUG: Retrieving entry with [('',)] DEBUG: Retrieved entry [dn: vendorVersion: 389-Directory/2.0.3.20210309gitaefc1acbf B2021.068.1215 ] DEBUG: cn=schema get_attr_vals('objectClasses') DEBUG: values has to be a tuple, was None Traceback (most recent call last): File "/usr/sbin/dsconf", line 134, in <module> result = args.func(inst, None, log, args) File "/usr/lib/python3.9/site-packages/lib389/cli_conf/schema.py", line 144, in add_objectclass schema.add_objectclass(parameters) File "/usr/lib/python3.9/site-packages/lib389/schema.py", line 330, in add_objectclass return self._add_schema_object(parameters, ObjectClass) File "/usr/lib/python3.9/site-packages/lib389/schema.py", line 215, in _add_schema_object return self.add(attr_name, str(schema_object)) File "/usr/lib64/python3.9/site-packages/ldap/schema/models.py", line 179, in __str__ result.append(self.key_list('X-ORIGIN',self.x_origin,quoted=1)) File "/usr/lib64/python3.9/site-packages/ldap/schema/models.py", line 79, in key_list assert type(values)==tuple,TypeError("values has to be a tuple, was %r" % values) AssertionError: values has to be a tuple, was None ERROR: Error: values has to be a tuple, was None
Upstream ticket: https://github.com/389ds/389-ds-base/issues/4663 This also impacts 389-ds-base-1.4.3
BUILD tested : 89-ds-base-1.4.3.22-1.module+el8dsrv+10501+8ce33e95.x86_64 389-ds-base-libs-1.4.3.22-1.module+el8dsrv+10501+8ce33e95.x86_64 STEPS: Verified with automation: ============================================================================================================ test session starts ============================================================================================================= platform linux -- Python 3.6.8, pytest-6.2.3, py-1.10.0, pluggy-0.13.1 389-ds-base: 1.4.3.22-1.module+el8dsrv+10501+8ce33e95 nss: 3.53.1-17.el8_3 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.11.0, html-3.1.1, libfaketime-0.1.2 collected 4 items dirsrvtests/tests/suites/clu/schema_test.py .... [100%] ============================================================================================================= 4 passed in 8.12s ============================================================================================================== Marking as VERIFIED
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 (redhat-ds:11 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-2021:2038