I have a OpenSUSE 42.1 system that is registered with my SUSE Manager server and subscribed to 42.1 channels. To try and upgrade to 42.2, I did the following:

  1. Subscribed the system to 42.2 base & child channels for updates and patches.
  2. Ran `zypper dist-upgrade --no-recommends` to upgrade to the 42.2 level.
  3. Verified that '/etc/os-release' now reports it's at 42.2.
  4. Rebooted the system.

After rebooting, anytime I'd try to use `zypper` for anything, it would try to refresh the spacewalk service as usual, but would throw the following exception and bomb out:

Traceback (most recent call last): 
File "/usr/lib/zypp/plugins/urlresolver/spacewalk", line 48, in RESOLVEURL self.doRESOLVEURL(headers, body) 
File "/usr/lib/zypp/plugins/urlresolver/spacewalk", line 96, in  doRESOLVEURL login_info = up2dateAuth.getLoginInfo(timeout=timeout) 
File "/usr/share/rhn/up2date_client/up2dateAuth.py", line 246, in getLoginInfo login(timeout=timeout) 
File "/usr/share/rhn/up2date_client/up2dateAuth.py", line 211, in login maybeUpdateVersion() 
File "/usr/share/rhn/up2date_client/up2dateAuth.py", line 55, in maybeUpdateVersion systemVer = up2dateUtils.getVersion() 
File "/usr/share/rhn/up2date_client/up2dateUtils.py", line 87,  in getVersion os_release, version, release = _getOSVersionAndRelease() 
File "/usr/share/rhn/up2date_client/up2dateUtils.py", line 54,  in _getOSVersionAndRelease bp =  os.path.abspath(os.path.join(os.path.dirname(baseproduct),  os.readlink(baseproduct))) OSError: [Errno 22] Invalid argument:  '/etc/products.d/baseproduct'
The problem is that somehow '/etc/products.d/baseproduct' is no longer a symlink to '/etc/products.d/openSUSE.prod', but a stand-alone file. This causes the 'os.readlink' in '/usr/share/rhn/up2date_client/up2dateUtils.py' (provided by 'rhn-client-tools' package) to throw an exception.

If you manually create the link, everything appears to start working with zypper.

That file was a symlink before the dist-upgrade, what I'm trying to find out is why it would become a stand-alone file, rather than a simple symlink to the 'openSUSE.prod' product file?

Any advice would be much appreciated. Please let me know if any further information can be provided to assist. I'll keep digging in the meantime.