Leapp fails when /etc/passwd contains external accounts

Solution Verified - Updated -

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.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content