Troubleshooting "incompatible user IDs have been found" error
This article helps debug the "ValueError: Invalid username:" error involving LDAP users during upgrades.
LAST TESTED ON CHECKMK 2.2.0P1
Table of Contents
This issue has been resolved in Werk #15815.
This issue has been noticed while upgrading from 2.1 to 2.2.
Problem
While upgrading from 2.1 to 2.2, an error referencing "Invalid username" or something related to Ldap and sync_time may occur.
-| Updating Checkmk configuration...
-| 01/20 Validate user IDs...
-| ERROR: Update aborted.
-| Incompatible user IDs have been found. Updating is not possible. See Werk #15182
-| for further information. There are no invalid users in contacts.mk and users.mk.
-| Check 'etc/htpasswd', 'etc/auth.serials', and the directory names in
-| 'var/check_mk/web'.
-| + "Validate user IDs" failed
-| Traceback (most recent call last):
-| File "/omd/sites/mysite/lib/python3/cmk/update_config/main.py", line 223, in _call_
-| action(self._logger, self.update_state.setdefault(action.name))
-| File "/omd/sites/mysite/lib/python3/cmk/update_config/plugins/actions/validate_user_ids.py", line 28, in _call_
-| load_users()
-| File "/omd/sites/mysite/lib/python3/cmk/gui/userdb/store.py", line 217, in load_users
-| uid = UserId(user_dir)
-| ^^^^^^^^^^^^^^^^
-| File "/omd/sites/mysite/lib/python3/cmk/utils/type_defs/user_id.py", line 145, in _new_
-| cls.validate(text)
-| File "/omd/sites/mysite/lib/python3/cmk/utils/type_defs/user_id.py", line 125, in validate
-| raise ValueError(f"Invalid username: {text!r}")
-| ValueError: Invalid username: 'my_ldap_user (T0)_sync_time.mk'
-| ERROR: Please repair this and run "cmk-update-config" BEFORE starting the site again.
-| Traceback (most recent call last):
-| File "/omd/sites/mysite/lib/python3/cmk/update_config/main.py", line 90, in main
-| return ConfigUpdater(logger, update_state)()
-| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-| File "/omd/sites/mysite/lib/python3/cmk/update_config/main.py", line 223, in _call_
-| action(self._logger, self.update_state.setdefault(action.name))
-| File "/omd/sites/mysite/lib/python3/cmk/update_config/plugins/actions/validate_user_ids.py", line 28, in _call_
-| load_users()
-| File "/omd/sites/mysite/lib/python3/cmk/gui/userdb/store.py", line 217, in load_users
-| uid = UserId(user_dir)
-| ^^^^^^^^^^^^^^^^
-| File "/omd/sites/mysite/lib/python3/cmk/utils/type_defs/user_id.py", line 145, in _new_
-| cls.validate(text)
-| File "/omd/sites/mysite/lib/python3/cmk/utils/type_defs/user_id.py", line 125, in validate
-| raise ValueError(f"Invalid username: {text!r}
-| ValueError: Invalid username: 'my_ldap_user (T0)_sync_time.mk'
-| ERROR: Please repair this and run "cmk-update-config" BEFORE starting the site again.
Solution
While logged in as the site user, run a find command to search for that particular user
OMD[mysite]~$ find . -name "my_ldap_user (T0)_sync_time.mk" ./var/check_mk/web/my_ldap_user (T0)_sync_time.mkThis command found a filename related to that user within
~/var/check_mk/web/Move that file outside of your site folder
OMD[mysite]~$ mv ~/var/check_mk/web/my_ldap_user (T0)_sync_time.mk /home/mylinuxuser/In the above example, the file was moved to the home directory of a basic Linux user
.Verify the configuration
OMD[mysite]~$ cmk-update-config -vv
Related articles