Description of problem:
config comparison fails with "Fatal error in Python code occured []"
Steps to Reproduce:
1. Schedule config comparison with channel where there is a directory.
2. Run rhn-check on client.
3. Check up2date logs for any of the client and we have:
Traceback (most recent call last):
File "/usr/sbin/rhn_check", line 342, in __run_action
(status, message, data) = CheckCli.__do_call(method, params, kwargs)
File "/usr/sbin/rhn_check", line 335, in __do_call
retval = method(*params, **kwargs)
File "/usr/share/rhn/actions/configfiles.py", line 342, in diff
diff = fp.diff(file)
File "/usr/share/rhn/config_common/file_utils.py", line 128, in diff
temp_file, temp_dirs = self.process(file_struct)
File "/usr/share/rhn/config_common/file_utils.py", line 48, in process
fullpath = directory + file_struct['path']
<type 'exceptions.TypeError'>: unsupported operand type(s) for +: 'NoneType' and 'str'
Task fails with "Fatal error in Python code occurred []".
Task should complete successfully.
Issue was introduced with changes for Bug 1177656.
Notes for QA:
* To reproduce this you will need not only files in config channel,
but also directories.
* Please check that following 3 things work:
* compare configs (with directories)
* deploy configs (with directories)
* fetch config channel with "rhncfg-manager download-channel"
Moving bugs to ON_QA as we move to release Spacewalk 2.3
Spacewalk 2.3 has been released. See