Univention Bugzilla – Bug 37924
60_umc-system 33_umc_users_user_unset_userexpiry failed in UCS 4.0-1
Last modified: 2016-11-10 14:15:51 CET
Test failed with a traceback recently: http://jenkins.knut.univention.de:8080/job/UCS-4.0/job/UCS-4.0-1/job/Autotest%20MultiEnv/24/SambaVersion=s4,Systemrolle=master/testReport/junit/60_umc-system/33_umc_users_user_unset_userexpiry/test/ Standard Ausgabe (STDOUT) Creating a user 'umc_test_user_w0ahbx' without posix Creating users/user object with {'username': 'umc_test_user_w0ahbx', 'policy_reference': 'cn=default-umc-all,cn=UMC,cn=policies,dc=AutoTest091,dc=local', 'firstname': 'ptpw9pdqld', 'lastname': 'm4y83tstto', 'position': 'cn=users,dc=AutoTest091,dc=local', 'password': 'univention', 'options': ['posix', 'samba', 'kerberos']} Waiting for replication: OK: replication complete (nid=16808 lid=16808) Done: replication complete. Response Code: 200 Response Cookie: UMCSessionId=9b444fbb-7a02-4083-9ed3-0aacc18f0ccc; expires=Sun, 01-Mar-2020 02:27:42 GMT; Path=/; Version=1 Response Message: OK: unset of userexpiry via empty string succeeded Cleanup after exception: <type 'exceptions.KeyError'> 'userexpiry' Performing UCSTestUDM cleanup... UCSTestUDM cleanup done Standard Fehler (STDERR) Traceback (most recent call last): File "33_umc_users_user_unset_userexpiry", line 134, in <module> sys.exit(TestUMC.main()) File "33_umc_users_user_unset_userexpiry", line 121, in main if response[0]["userexpiry"] != "2015-02-02": KeyError: 'userexpiry'
Happened again: http://jenkins.knut.univention.de:8080/job/UCS-4.1/job/UCS-4.1-4/job/AutotestJoin/13/SambaVersion=s4,Systemrolle=master/testReport/junit/60_umc-system/33_umc_users_user_unset_userexpiry/test/ *** BEGIN *** ['/usr/bin/python', '33_umc_users_user_unset_userexpiry'] *** *** 60_umc-system/33_umc_users_user_unset_userexpiry *** Test unsetting userexpiry attribute via UMC *** *** START TIME: 2016-11-08 05:18:43 *** Creating a user 'umc_test_user_mtonre' without posix Creating users/user object with /usr/sbin/udm-test users/user create --position cn=users,dc=AutoTest091,dc=local --policy-reference cn=default-umc-all,cn=UMC,cn=policies,dc=AutoTest091,dc=local --option posix --option samba --option kerberos --set username=umc_test_user_mtonre --set firstname=jg3dvlpkxt --set lastname=tmh25xh8uo --set password=univention . Waiting for DRS replication, filter: 'cn=umc_test_user_mtonre' . . . . DRS replication took 4 seconds Response Code: 200 Response Cookie: UMCSessionId=13894091-0a05-4e5c-8de3-20e90406fe3a; expires=Sun, 08-Nov-2020 05:18:50 GMT; Path=/umcp/; Version=1, UMCUsername=Administrator; expires=Sun, 08-Nov-2020 05:18:50 GMT; Path=/umcp/; Version=1 Response Message: {"status": 200, "message": null, "options": null, "result": {"username": "Administrator"}} *** UMC request: "command/udm/put" (users/user) data = [{'object': {'$dn$': 'uid=umc_test_user_mtonre,cn=users,dc=AutoTest091,dc=local', 'userexpiry': '2015-02-02'}}] *** UMC response: [{u'$dn$': u'uid=umc_test_user_mtonre,cn=users,dc=AutoTest091,dc=local', u'success': True}] *** UMC request: "command/udm/get" (users/user) data = ['uid=umc_test_user_mtonre,cn=users,dc=AutoTest091,dc=local'] *** UMC response: [{u'$dn$': u'uid=umc_test_user_mtonre,cn=users,dc=AutoTest091,dc=local', u'$flags$': [], u'$labelObjectType$': u'Benutzer', u'$operations$': [u'add', u'edit', u'remove', u'search', u'move'], u'$options$': {u'kerberos': True, u'ldap_pwd': False, u'mail': True, u'person': False, u'pki': False, u'posix': True, u'samba': True}, u'$policies$': {u'policies/umc': [u'cn=default-umc-all,cn=UMC,cn=policies,dc=AutoTest091,dc=local']}, u'$references$': [], u'CtxBrokenSession': u'0000', u'CtxCallback': u'', u'CtxCallbackNumber': u'', u'CtxCfgClientDrivers': u'0', u'CtxCfgClientPrinters': u'0', u'CtxCfgDefaultClientPrinters': u'0', u'CtxCfgFlags1': u'', u'CtxCfgPresent': u'', u'CtxCfgTSLogon': u'1', u'CtxInitialProgram': u'', u'CtxKeyboardLayout': u'', u'CtxMaxConnectionTime': u'', u'CtxMaxDisconnectionTime': u'', u'CtxMaxIdleTime': u'', u'CtxMinEncryptionLevel': u'', u'CtxNWLogonServer': u'', u'CtxRASDialin': u'E', u'CtxReconnectSession': u'0000', u'CtxShadow': u'00000000', u'CtxStartprogramClient': u'0', u'CtxWFHomeDir': u'', u'CtxWFHomeDirDrive': u'', u'CtxWFProfilePath': u'', u'CtxWorkDirectory': u'', u'UniventionDovecotUserQuota': u'0', u'disabled': u'none', u'displayName': u'tmh25xh8uo', u'gecos': u'tmh25xh8uo', u'gidNumber': u'5001', u'groups': [u'cn=Domain Users,cn=groups,dc=AutoTest091,dc=local'], u'lastname': u'tmh25xh8uo', u'locked': u'none', u'primaryGroup': u'cn=Domain Users,cn=groups,dc=AutoTest091,dc=local', u'sambaRID': u'1906', u'shell': u'/bin/bash', u'uidNumber': u'2286', u'unixhome': u'/home/umc_test_user_mtonre', u'username': u'umc_test_user_mtonre'}] Cleanup after exception: <type 'exceptions.KeyError'> 'userexpiry' Performing UCSTestUDM cleanup... Traceback (most recent call last): File "33_umc_users_user_unset_userexpiry", line 136, in <module> sys.exit(TestUMC.main()) File "33_umc_users_user_unset_userexpiry", line 111, in main if response[0]["userexpiry"] != "2015-02-02": KeyError: 'userexpiry' UCSTestUDM cleanup done *** END TIME: 2016-11-08 05:18:52 *** *** TEST DURATION (H:MM:SS.ms): 0:00:09.413546 *** *** END *** 1 ***
I would not say that this is a bug in the test case. One way to produce this is: ucr set directory/manager/web/modules/users/user/properties/userexpiry/syntax=password But I guess that's not the cause. Helpful would be a ldif of the user at this state. My guess is that in some situations/state of the object the put (!) call returns with success while it didn't change anything (because UDM internally doesn't detect any change).
I couldn't reproduce this so I added some more debugging into the test case: ucs-test (6.0.37-9): r74229 | Bug #37924: add more debug output