Leapp fails when /etc/passwd contains external accounts
Issue
External accounts from NIS, LDAP or Active Directory are used and leapp
fails with the below traceback:
====> * system_facts
Provides data about many facts from system.
Process Process-213:
Traceback (most recent call last):
File "/usr/lib64/python2.7/multiprocessing/process.py", line 258, in _bootstrap
self.run()
File "/usr/lib64/python2.7/multiprocessing/process.py", line 114, in run
self._target(*self._args, **self._kwargs)
File "/usr/lib/python2.7/site-packages/leapp/repository/actor_definition.py", line 72, in _do_run
actor_instance.run(*args, **kwargs)
File "/usr/lib/python2.7/site-packages/leapp/actors/__init__.py", line 335, in run
self.process(*args)
File "/usr/share/leapp-repository/repositories/system_upgrade/common/actors/systemfacts/actor.py", line 38, in process
self.produce(systemfacts.get_system_users_status())
File "/usr/share/leapp-repository/repositories/system_upgrade/common/actors/systemfacts/libraries/systemfacts.py", line 55, in get_system_users_status
return UsersFacts(users=_get_system_users())
File "/usr/share/leapp-repository/repositories/system_upgrade/common/actors/systemfacts/libraries/systemfacts.py", line 22, in inner
return list(f(*args, **kwargs))
File "/usr/share/leapp-repository/repositories/system_upgrade/common/actors/systemfacts/libraries/systemfacts.py", line 49, in _get_system_users
home=p.pw_dir
File "/usr/lib/python2.7/site-packages/leapp/models/__init__.py", line 88, in __init__
getattr(defined_fields[field], init_method)(kwargs, field, self)
File "/usr/lib/python2.7/site-packages/leapp/models/fields/__init__.py", line 110, in from_initialization
self._validate_model_value(value=source_value, name=name)
File "/usr/lib/python2.7/site-packages/leapp/models/fields/__init__.py", line 179, in _validate_model_value
super(BuiltinField, self)._validate_model_value(value, name)
File "/usr/lib/python2.7/site-packages/leapp/models/fields/__init__.py", line 60, in _validate_model_value
raise ModelViolationError('The value of "{name}" field is None, but this is not allowed'.format(name=name))
ModelViolationError: The value of "home" field is None, but this is not allowed
Environment
- Red Hat Enterprise Linux 7.9
leapp
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.