Uploaded image for project: 'RHEL'
  1. RHEL
  2. RHEL-24957

[ModelViolationError] systemfacts actor fails when there are unexpected configuration settings in /etc/passwd

    • None
    • None
    • rhel-sst-upgrades
    • None
    • False
    • Hide

      None

      Show
      None
    • None
    • Red Hat Enterprise Linux
    • None
    • None
    • None
    • x86_64
    • None

      What were you trying to do that didn't work?

      https://access.redhat.com/solutions/6577151

      /etc/passwd had +/- symbol in it. 

      We already have BUG which is 'closed errata' that fixes the issue for leapp actor considering +/- symbol as unrecognized, however, this Jira is to request having a better logging by leapp of wrong params found in this file.

      Expected results

      Leapp needs to better parse configuration files.

      If there is a problem ,we need a clear explanation of the problem.

      Actual results

      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

              leapp-notifications leapp-notifications
              rhn-support-plawate Pranav Lawate
              leapp-notifications leapp-notifications
              RHEL Upgrades QE Team RHEL Upgrades QE Team
              Miriam Portman Miriam Portman
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Created:
                Updated: