[Spacewalk-list] How to get the RHEL binary using the provided XMLRPC library - HTTP Response '401 Authorization Required'

Waldirio Manhães Pinheiro waldirio at gmail.com
Thu Jun 25 09:49:34 UTC 2015


Hello Rangaraj

IMHO you can use your machine to download all packages (via yum will be the
easier/faster way) and upload to your SW server and control what will be
delivery by SW.

The life cicle and packages controll is one great feature from SW.

Take care.
Em 25/06/2015 06:16, "Rangaraj S" <ksrangaraj92 at gmail.com> escreveu:

> Thanks for the reply.
>
> My aim is to program the controlled updation of all my registered RHEL
> machines in the network, via a single machine.
> Hence, don't want to use yum (machine specific tool).
>
> As for downloading the RPM via RHN. I think there are a few discussions
> regarding that.
>
> Also, we are thrown a "401 Authorization Required" error when accessing
> listPackages as well as getPackages.
> Wouldn't there be a "404 Not Found" or "405 Method Not Allowed", if there
> was no provision to download?
>
> The problem I think is with the Request. Either some header is wrong or
> something is missing,
>
>
>
> On Thu, Jun 25, 2015 at 8:56 AM, Tomas Lestach <tlestach at redhat.com>
> wrote:
>
>> Well, I am not sure, whether you can download an RPM via xmlrpc from RHN.
>>
>> If you need the rhel6 rpm on your registered rhel6 server, why don't you
>> just use:
>> $ yumdownloader avahi-0.6.25-15.el6.x86_64
>> Loaded plugins: product-id, rhnplugin
>> This system is receiving updates from RHN Classic or Red Hat Satellite.
>> avahi-0.6.25-15.el6.x86_64.rpm                           | 218 kB
>>  00:00
>> $
>>
>> If you want to download packages using xmlrpc, you can do it from your
>> Spacewalk server (but not from RHN).
>> Check packages.getPackage and packages.getPackageUrl api calls on
>> https://<your_spacewalk>/rhn/apidoc/handlers/PackagesHandler.jsp
>> For examples how to use API, see:
>> https://<your_spacewalk>/rhn/apidoc/scripts.jsp
>>
>> Regards,
>> --
>> Tomas Lestach
>> Red Hat Satellite Engineering, Red Hat
>>
>>
>> ----- Original Message -----
>> > From: "Rangaraj S" <ksrangaraj92 at gmail.com>
>> > To: spacewalk-list at redhat.com
>> > Sent: Wednesday, June 24, 2015 11:20:55 AM
>> > Subject: [Spacewalk-list] How to get the RHEL binary using the provided
>> XMLRPC library - HTTP Response '401
>> > Authorization Required'
>> >
>> >
>> >
>> >
>> > Hi,
>> >
>> >
>> > I'm trying to get the rpm binary on my subscribed RHEL-6-Server
>> > machine using the XMLRPC calls to the URL "
>> > https://xmlrpc.rhn.redhat.com/XMLRPC ".
>> >
>> >
>> > I did the following :
>> >
>> >
>> > 1. Generated the systemid file using the command : rhn_register
>> >
>> >
>> > 2. Using the up2date.login call, I logged-in using my rhn account
>> > (/etc/sysconfig/rhn/systemid file).
>> >
>> >
>> >
>> ____________________________________________________________________________
>> >
>> >
>> > The corresponding HTTP Request-Response exchange is :
>> >
>> >
>> > --- request ---
>> >
>> >
>> > POST http://xmlrpc.rhn.redhat.com/XMLRPC
>> > Content-Type: application/json
>> > <?xml version="1.0"?>
>> > <methodCall>
>> > <methodName>up2date.login</methodName>
>> > <params>
>> > <param>
>> > <value>
>> > <string> **** System ID File Content **** </string>
>> > </value>
>> > </param>
>> > </params>
>> > </methodCall>
>> >
>> >
>> >
>> >
>> > -- response --
>> >
>> >
>> > 200 OK
>> > Date: Tue, 23 Jun 2015 06:30:39 GMT
>> > Server: Apache
>> > Content-Language: en; C
>> > Content-Length: 903
>> > X-RHN-Server-Capability: registration.finish_message(1)=1,
>> > registration.remaining_subscriptions(1)=1,
>> > applet.has_base_channel(1)=1, registration.smbios(1)=1,
>> > registration.extended_update_support(1)=1,
>> > rhncfg.filetype.directory(1)=1, rhncfg.content.base64_decode(1)=1,
>> > registration.register_osad(1)=1, registration.delta_packages(1)=1,
>> > xmlrpc.packages.extended_profile(1)=1,
>> > xmlrpc.packages.checksums(1)=1, xmlrpc.login.extra_data(1)=1
>> > X-RHN-Server-Id: 1000010000
>> > X-RHN-Proxy-Version: 0
>> > X-RHN-Auth-Server-Time: 1435041039.43
>> > X-RHN-Client-Version: 0
>> > X-Transport-Info: Extended Capabilities Transport (C) Red Hat, Inc
>> > (version $Revision$)
>> > X-RHN-Auth-Channels: rhel-x86_64-server-6:20150622101926:1:1
>> > X-RHN-Action: login
>> > X-RHN-Auth: *** Hidden Contents ***
>> > X-RHN-Auth-Expire-Offset: 3600.0
>> > Content-Type: text/xml
>> > X-Cache: MISS from web-server
>> > X-Cache-Lookup: MISS from web-server:3128
>> > Proxy-Connection: keep-alive
>> >
>> >
>> > <?xml version="1.0"?>
>> > <methodResponse>
>> > <params>
>> > <param>
>> > <value>
>> > <struct>
>> > <member>
>> > <name>X-RHN-Server-Id</name>
>> > <value>
>> > <int>1000010000</int>
>> > </value>
>> > </member>
>> > <member>
>> > <name>X-RHN-Auth-Server-Time</name>
>> > <value>
>> > <string>1435041039.43</string>
>> > </value>
>> > </member>
>> > <member>
>> > <name>X-RHN-Auth-Channels</name>
>> > <value>
>> > <array>
>> > <data>
>> > <value>
>> > <array>
>> > <data>
>> > <value>
>> > <string>rhel-x86_64-server-6</string>
>> > </value>
>> > <value>
>> > <string>20150622101926</string>
>> > </value>
>> > <value>
>> > <string>1</string>
>> > </value>
>> > <value>
>> > <string>1</string>
>> > </value>
>> > </data>
>> > </array>
>> > </value>
>> > </data>
>> > </array>
>> > </value>
>> > </member>
>> > <member>
>> > <name>X-RHN-Auth</name>
>> > <value>
>> > <string>rc+<-Hidden Contents->Q==</string>
>> > </value>
>> > </member>
>> > <member>
>> > <name>X-RHN-Auth-User-Id</name>
>> > <value>
>> > <string/>
>> > </value>
>> > </member>
>> > <member>
>> > <name>X-RHN-Auth-Expire-Offset</name>
>> > <value>
>> > <string>3600.0</string>
>> > </value>
>> > </member>
>> > </struct>
>> > </value>
>> > </param>
>> > </params>
>> > </methodResponse>
>> >
>> >
>> >
>> ____________________________________________________________________________
>> >
>> >
>> >
>> >
>> > 3. With these attainted credetials, am attempting to list all the
>> > packages for that channel. But, it gives a 401 Authorization
>> > Required HTTP Response.
>> >
>> >
>> >
>> ____________________________________________________________________________
>> >
>> >
>> > The corresponding exchange is as follows :
>> >
>> >
>> > --- request ---
>> >
>> >
>> > GET
>> >
>> http://xmlrpc.rhn.redhat.com/XMLRPC/$RHN/rhel-x86_64-server-6/listPackages
>> > X-RHN-Client-Version: 2
>> > X-RHN-Server-Id: 1000010000
>> > X-RHN-Auth-Server-Time: 1435041039.43
>> > X-RHN-Auth: rc+<-Hidden Contents->Q==
>> > X-RHN-Auth-User-Id:
>> > X-RHN-Auth-Channels: [['rhel-x86_64-server-6', '20150622101926', '1',
>> > '1']]
>> > X-RHN-Auth-Expire-Offset: 3600.0
>> >
>> >
>> >
>> >
>> > -- response --
>> >
>> >
>> > 401 Unauthorized
>> > Date: Tue, 23 Jun 2015 07:17:03 GMT
>> > Server: Apache
>> > X-RHN-Fault-Code: -33
>> > X-RHN-Fault-String:
>> >
>> CkVycm9yIE1lc3NhZ2U6CiAgICBJbnZhbGlkIGNsaWVudCBzZXNzaW9uIGtleQpFcnJvciBDbGFz,
>> >
>> cyBDb2RlOiAzMwpFcnJvciBDbGFzcyBJbmZvOiBDbGllbnQgc2Vzc2lvbiB0b2tlbiBpcyBpbnZh,
>> >
>> bGlkLgpFeHBsYW5hdGlvbjogCiAgICAgQW4gZXJyb3IgaGFzIG9jY3VycmVkIHdoaWxlIHByb2Nl,
>> >
>> c3NpbmcgeW91ciByZXF1ZXN0LiBJZiB0aGlzIHByb2JsZW0KICAgICBwZXJzaXN0cyBwbGVhc2Ug,
>> >
>> ZW50ZXIgYSBidWcgcmVwb3J0IGF0IGJ1Z3ppbGxhLnJlZGhhdC5jb20uCiAgICAgSWYgeW91IGNo,
>> >
>> b29zZSB0byBzdWJtaXQgdGhlIGJ1ZyByZXBvcnQsIHBsZWFzZSBiZSBzdXJlIHRvIGluY2x1ZGUK,
>> >
>> ICAgICBkZXRhaWxzIG9mIHdoYXQgeW91IHdlcmUgdHJ5aW5nIHRvIGRvIHdoZW4gdGhpcyBlcnJv,
>> >
>> ciBvY2N1cnJlZCBhbmQKICAgICBkZXRhaWxzIG9uIGhvdyB0byByZXByb2R1Y2UgdGhpcyBwcm9i,
>> > bGVtLgo=
>> > X-RHN-Proxy-Version: 0
>> > X-RHN-Client-Version: 2
>> > Content-Length: 472
>> > Content-Type: text/html; charset=iso-8859-1
>> > X-Cache: MISS from web-server
>> > X-Cache-Lookup: MISS from web-server:3128
>> > Proxy-Connection: keep-alive
>> >
>> >
>> > <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
>> > <html>
>> > <head>
>> > <title>401 Authorization Required</title>
>> > </head>
>> > <body>
>> > <h1>Authorization Required</h1>
>> > <p>This server could not verify that you
>> > are authorized to access the document
>> > requested. Either you supplied the wrong
>> > credentials (e.g., bad password), or your
>> > browser doesn't understand how to supply
>> > the credentials required.
>> > </p>
>> > <hr>
>> > <address>Apache Server at xmlrpc.rhn.redhat.com Port 80</address>
>> > </body>
>> > </html>
>> >
>> >
>> >
>> ____________________________________________________________________________
>> >
>> >
>> >
>> >
>> > This error is thrown for the HTTP GET Requests to the following URLs
>> > :
>> >
>> https://xmlrpc.rhn.redhat.com/XMLRPC/$RHN/rhel-x86_64-server-6/getPackageHeader/avahi-0.6.25-15.el6.x86_64.rpm
>> >
>> https://xmlrpc.rhn.redhat.com/XMLRPC/$RHN/rhel-x86_64-server-6/getPackage/avahi-0.6.25-15.el6.x86_64.rpm
>> >
>> >
>> > Am I missing something? Can someone please help me out?
>> >
>> >
>> > Also, share any documentation regarding the APIs used.
>> > (Could not relate to the only document I could find :
>> >
>> https://access.redhat.com/documentation/en-US/Red_Hat_Network/5.0.0/html/API_Documentation/
>> > )
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> > Thanks & Regards,
>> > Rangaraj
>> >
>> >
>> > _______________________________________________
>> > Spacewalk-list mailing list
>> > Spacewalk-list at redhat.com
>> > https://www.redhat.com/mailman/listinfo/spacewalk-list
>>
>> _______________________________________________
>> Spacewalk-list mailing list
>> Spacewalk-list at redhat.com
>> https://www.redhat.com/mailman/listinfo/spacewalk-list
>>
>
>
> _______________________________________________
> Spacewalk-list mailing list
> Spacewalk-list at redhat.com
> https://www.redhat.com/mailman/listinfo/spacewalk-list
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/spacewalk-list/attachments/20150625/78c6e28e/attachment.htm>


More information about the Spacewalk-list mailing list