Bug 718182

Summary: spacewalk-create-channel crashes, when reusing channel with incompatible architecture
Product: Red Hat Satellite 5 Reporter: Šimon Lukašík <slukasik>
Component: ClientAssignee: Michael Mráka <mmraka>
Status: CLOSED DEFERRED QA Contact: Red Hat Satellite QA List <satqe-list>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 541CC: cperry
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-07-04 13:26:42 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On:    
Bug Blocks: 462714    

Description Šimon Lukašík 2011-07-01 10:09:05 UTC
Description of problem:
When spacewalk-create-channel is issued twice in row (each time with
a different architecture), the second run crashes. However, there is
a possibility that some of the noarch packages are already pushed prior
the crash. Which implies that result is undefined.

Version-Release number of selected component (if applicable):
RHN Satellite 5.4.1
spacewalk-remote-utils-1.0.2-7.el6sat.noarch

How reproducible:
always

Steps to Reproduce:
1. spacewalk-create-channel \
   --server=FQDN --user=admin --password=secret123 \
   --version=6 --update=u1 --arch=i386 --release=Server \
   --destChannel=my-channel
2. spacewalk-create-channel \
   --server=FQDN --user=admin --password=secret123 \
   --version=6 --update=u1 --arch=x86_86 --release=Server \
   --destChannel=my-channel
3.
  
Actual results:
You have not specified a source channel, we will try to determine it from inputs
Trying with source channel: rhel-x86_64-server-6
Reusing sw_create_channel_26083 as destination channel
3480 packages in source file to push.
Pushing 3480 packages, please wait.
0 of 3480
Traceback (most recent call last):
  File "/usr/bin/spacewalk-create-channel", line 450, in <module>
    main()
  File "/usr/bin/spacewalk-create-channel", line 181, in main
    populate(client, auth, srcChanLabel, newChannelLabel, newChannelName, filename, parent, clear, skiplist=skiplist)
  File "/usr/bin/spacewalk-create-channel", line 255, in populate
    client.channel.software.addPackages(auth, newChannel, ids_to_add[:bundleSize])
  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 1253, in request
    return self._parse_response(h.getfile(), sock)
  File "/usr/lib64/python2.6/xmlrpclib.py", line 1392, in _parse_response
    return u.close()
  File "/usr/lib64/python2.6/xmlrpclib.py", line 838, in close
    raise Fault(**self._stack[0])
xmlrpclib.Fault: <Fault -1: 'redstone.xmlrpc.XmlRpcFault: unhandled internal exception: Following package ids: [10460, 9110, 8987, 9107, 8323, 10299, 10463, 8320, 8318, 8179, 10464, 9108, 10619, 8988, 8319, 10620, 8325, 8986, 8831, 10461, 10645, 7639, 8833, 8832, 10643, 8180, 9109, 8322, 10644, 8830, 10242, 10458, 8027, 10462, 8183, 9114, 10459] are incompatible with channel architecture (IA-32)'>


Expected results:
Print a polite error message. And do not attempt to push packages,
when channel architecture mismatch.

Additional info: