Good morning, all.

I'm in the process of setting up a new Spacewalk 2.3 environment (clean 
install, not an upgrade,) and have run into a problem using 
spacewalk-common-channels.  In short, I get a crash on repository creation when 
the generated label exceeds 64 characters.  In my particular environment, I'm 
using x86_64 architectures only, CentOS 6 & 7 and Oracle Linux 5, 6 and 7 
operating systems (I have not looked at any other distributions.)  The CentOS 
channels & repositories are created just fine.  Only the Oracle repositories 
end up with the issue.  When replicating the activity in the browser front end, 
I receive the following:

Label cannot be greater than 64 characters (Note: double byte chars are not 
supported).

The XMLRPC error that is returned is decidedly non-intuitive:

$ spacewalk-common-channels -v -u adminacct -a x86_64 'oraclelinux*'
Connecting to http://localhost/rpc/api
Password:
Base channel 'Oracle Linux 5 (x86_64)' - creating...
* Child channel 'Addons for Oracle Linux 5 (x86_64)' - creating...
* Child channel 'Oracle software addons for Oracle Linux 5 (x86_64)' - 
creating...
* Child channel 'Spacewalk 2.2 Client for Oracle Linux 5 (x86_64)' - creating...
* Child channel 'Latest Unbreakable Enterprise Kernel for Oracle Linux 5 
(x86_64)' - creating...
Traceback (most recent call last):
  File "/usr/bin/spacewalk-common-channels", line 333, in <module>
    child_info['yumrepo_url'])
  File "/usr/lib64/python2.6/xmlrpclib.py", line 1199, in __call__
    return self.__send(self.__name, args)
  File "/usr/lib64/python2.6/xmlrpclib.py", line 1489, in __request
    verbose=self.__verbose
  File "/usr/lib64/python2.6/xmlrpclib.py", line 1243, in request
    headers
xmlrpclib.ProtocolError: <ProtocolError for localhost/rpc/api: 500 Internal 
Server Error>

The report in /var/log/rhn/rhn_web_api.log is only a little less murky:

[2015-05-20 10:17:47,304] ERROR - REQUESTED FROM: 127.0.0.1 CALL: 
channel.software.createRepo(root_oel, External - Latest Unbreakable Enterprise 
Kernel for Oracle Linux 5 (x86_64), yum, 
http://public-yum.oracle.com/repo/OracleLinux/OL5/UEK/latest/x86_64/) CALLER: 
(root_oel) TIME: 0.037 seconds
redstone.xmlrpc.XmlRpcFault: unhandled internal exception: could not insert: 
[com.redhat.rhn.domain.channel.ContentSource]

Looking into the database definition, it appears that the label column in the 
rhncontentsources table is defined as "varying(64)".

Before I open up a Bugzilla report on this, has anyone else ran into this?

Here's the diff output between the original spacewalk-common-channels.ini and a 
modified version:
< name     = Oracle Linux 7 (%(arch)s)
---
> name     = OL 7 (%(arch)s)
904c904
< name     = Optional Packages for Oracle Linux 7 (%(arch)s)
---
> name     = Optional Packages for OL 7 (%(arch)s)
911c911
< name     = Addons for Oracle Linux 7 (%(arch)s)
---
> name     = Addons for OL 7 (%(arch)s)
918c918
< name     = Latest Unbreakable Enterprise Kernel Release 3 for Oracle Linux 7 
(%(arch)s)
---
> name     = Latest UEK Release 3 for OL 7 (%(arch)s)
925c925
< name     = MySQL 5.5 for Oracle Linux 7 (%(arch)s)
---
> name     = MySQL 5.5 for OL 7 (%(arch)s)
932c932
< name     = MySQL 5.6 for Oracle Linux 7 (%(arch)s)
---
> name     = MySQL 5.6 for OL 7 (%(arch)s)
939c939
< name     = Spacewalk 2.2 Client for Oracle Linux 7 (%(arch)s)
---
> name     = Spacewalk 2.2 Client for OL 7 (%(arch)s)
946c946
< name     = Oracle Linux 6 (%(arch)s)
---
> name     = OL 6 (%(arch)s)
957c957
< name     = Addons for Oracle Linux 6 (%(arch)s)
---
> name     = Addons for OL 6 (%(arch)s)
964c964
< name     = Latest Unbreakable Enterprise Kernel Release 2 for Oracle Linux 6 
(%(arch)s)
---
> name     = Latest UEK Release 2 for OL 6 (%(arch)s)
971c971
< name     = Latest Unbreakable Enterprise Kernel Release 3 for Oracle Linux 6 
(%(arch)s)
---
> name     = Latest UEK Release 3 for OL 6 (%(arch)s)
978c978
< name     = MySQL 5.5 for Oracle Linux 6 (%(arch)s)
---
> name     = MySQL 5.5 for OL 6 (%(arch)s)
985c985
< name     = MySQL 5.6 for Oracle Linux 6 (%(arch)s)
---
> name     = MySQL 5.6 for OL 6 (%(arch)s)
992c992
< name     = Playground (Mainline) Kernels for Oracle Linux 6 (%(arch)s)
---
> name     = Playground (Mainline) Kernels for OL 6 (%(arch)s)
999c999
< name     = Spacewalk 2.2 Server for Oracle Linux 6 (%(arch)s)
---
> name     = Spacewalk 2.2 Server for OL 6 (%(arch)s)
1006c1006
< name     = Spacewalk 2.2 Client for Oracle Linux 6 (%(arch)s)
---
> name     = Spacewalk 2.2 Client for OL 6 (%(arch)s)
1013c1013
< name     = Oracle Linux 5 (%(arch)s)
---
> name     = OL 5 (%(arch)s)
1023c1023
< name     = Addons for Oracle Linux 5 (%(arch)s)
---
> name     = Addons for OL 5 (%(arch)s)
1030c1030
< name     = Oracle software addons for Oracle Linux 5 (%(arch)s)
---
> name     = Oracle software addons for OL 5 (%(arch)s)
1037c1037
< name     = Productivity Applications for Oracle Linux 5 (%(arch)s)
---
> name     = Productivity Applications for OL 5 (%(arch)s)
1044c1044
< name     = Latest Unbreakable Enterprise Kernel for Oracle Linux 5 (%(arch)s)
---
> name     = Latest UEK for OL 5 (%(arch)s)
1051c1051
< name     = Spacewalk 2.2 Client for Oracle Linux 5 (%(arch)s)
---
> name     = Spacewalk 2.2 Client for OL 5 (%(arch)s)

Running spacewalk-common-channels with the modified .ini file does get all 
Oracle Linux channels & repositories created gracefully.

I don't see this as a problem with the 2.2 version.  It appears that the Oracle 
labels are not significantly longer.

This isn't a show stopper by any means, but I can see it causing some confusion 
for new Spacewalk users.

Jeff Kalchik
Systems Engineering
Land O'Lakes
651-375-2421
This message may contain confidential material from Land O'Lakes, Inc. (or its 
subsidiary) for the sole use of the intended recipient(s) and may not be 
reviewed, disclosed, copied, distributed or used by anyone other than the 
intended recipient(s). If you are not the intended recipient, please contact 
the sender by reply email and delete all copies of this message.
_______________________________________________
Spacewalk-list mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/spacewalk-list

Reply via email to