Description of problem: At present, the createOrUpdatePath API method in configchannel namespace does not accept binary files and throws a ISE. In xmlrpc binary contents can be represented using base64 encoding, wrapping the contents between <base64> </base64>. However createOrUpdatePath API method only deals with directories or text files. Version-Release number of selected component (if applicable): 510 How reproducible: always Steps to Reproduce: 1. Create a config channel 'channel-foo' 2. Create/copy a binary file as '/tmp/binary' 3. Run the following script (setup the variables to your configuraiton) """ #!/usr/bin/env python from xmlrpclib import Server, Binary SATELLITE_HOST = "<your satellite host>" SATELLITE_URL = "http://%s/rpc/api" % SATELLITE_HOST SATELLITE_LOGIN = "admin" SATELLITE_PASSWORD = "password" client = xmlrpclib.Server(SATELLITE_URL, verbose=1) key = client.auth.login(SATELLITE_LOGIN, SATELLITE_PASSWORD) data = Binary(open("/tmp/binary","rb").read()) client.configchannel.createOrUpdatePath(key,'channel-foo', "/tmp/afoo3",False, dict( contents = data, owner = "root", group = "root", permissions = "777")) """ Actual results: 500 ISE - typically a class cast exception in the log. Expected results: Proper output showing information pertaining to the create configuration file. Additional info:
This has been now resolved in both trunk and 5.1.1 http://svn.rhndev.redhat.com/viewcvs?rev=172380&view=rev
Moving to ON_QA
Verified.
5.1.1 Satellite is now GA, bugs Closed for Current Release.