Unable to Register System With Exception Type 'exceptions.IOError' On Red Hat Enterprise Linux 6

Solution In Progress - Updated -

Environment

  • Red Hat Enterprise Linux 6
  • Red Hat Satellite 5.4

Issue

  • When attempting to register a server I get the following error:
Exception type <type 'exceptions.IOError'> Exception while handling function repodata Request object information:
URI: /XMLRPC/GET-REQ/rhel-x86_64-server-6/repodata/repomd.xml

Resolution

  • Ensure permissions on /var/cache on the server being registered are 755
# chmod 755 /var/cache
  • Ensure that selinux is allowing httpd to write to /var/log/cache
# restorecon /var/log/cache

Root Cause

  • Satellite needs to write to /var/cache to copy repo information.
  • If this write operation fails, you will get an IO Error.

Diagnostic Steps

  • Also check /var/log/audit/audit.log for the following:
Aug 21 07:59:38 lrhssr02 setroubleshoot: SELinux is preventing /usr/sbin/httpd from search access on the directory /var/cache. For complete SELinux messages. run sealert -l 9032053f-9c92-4f60-9b4c-653fe2ce1b02
Aug 21 07:59:39 lrhssr02 setroubleshoot: SELinux is preventing /usr/sbin/httpd from search access on the directory /var/cache. For complete SELinux messages. run sealert -l 9032053f-9c92-4f60-9b4c-653fe2ce1b02

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.