I use this code to detect server features: ping_status, errmsg, headerinfo = rhnpush.rhnpush_v2.PingPackageUpload(self.url_v2).ping() if headerinfo.getheader("X-RHN-Check-Package-Exists"): self.features.add("check-pkg-flag") if ping_status == 200: self.features.add("upload-v2") I'd also like to have have information that the sha256 feature exists so client (rhnpush) can use it or fall back to md5 (compatibility with older spacewalk servers). Can you add "X-RHN-New-Checksums" header to ping() headers, please?
Pushes to hosted do not work: rhnpush --server=scripts.rhn.webdev.redhat.com --nullorg /mnt/redhat/brewroot/packages/yum/3.2.27/14.el6_0.1/data/signed/fd431d51/src/yum-3.2.27-14.el6_0.1.src.rpm --source Internal server error 500 Internal Server Error Error pushing /mnt/redhat/brewroot/packages/yum/3.2.27/14.el6_0.1/data/signed/fd431d51/src/yum-3.2.27-14.el6_0.1.src.rpm: Error Message: File-MD5sum Error Class Code: 500 Error Class Info: Missing HTTP header information (500) Adding the requested header to spacewalk and fixing rhnpush accordingly would do the job.
just couple more details: - hosted always expects md5sum on upload - rhnpush now automatically chooses checksum type according rpm checksum - different headers are sent I use a workaround in pub - I force md5 on hosted. Checksum feature detection would be much better IMO.
Moving to product Satellite.