Bug 859128

Summary: Consumer fails to consume content from a Headpin distributor PYCURL ERROR 52 - "Empty reply from server"
Product: [Retired] Subscription Asset Manager Reporter: Eric Sammons <esammons>
Component: thumbslugAssignee: Bryan Kearney <bkearney>
Status: CLOSED ERRATA QA Contact: Tazim Kolhar <tkolhar>
Severity: urgent Docs Contact:
Priority: unspecified    
Version: 1.2CC: bkearney, cwelton, gkhachik, jweiss, omaciel
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-02-21 19:18:01 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 816564    

Description Eric Sammons 2012-09-20 15:39:24 UTC
Description of problem:
With a properly provisioned and subscribed system, the system is unable to consume content receiving "PYCURL Empty reply from server error".

Version-Release number of selected component (if applicable):
thumbslug-0.0.25-1.fc16.noarch
katello-common-1.1.12-1.git.151.6bd8e76.fc16.noarch

Steps to Reproduce:
1.Build a RHEL 6.2 system that will consume content.
2.subscription-manager register --user xxxxx -password xxxx --org ACME_Corporation --environment some_env --auto --force
3. yum repolist
4. yum install zsh
  
Actual results:
--client--
[Errno 14] PYCURL ERROR 52 - "Empty reply from server"

--/var/log/thumbslug/error.log---
Sep 20 11:15:40 [New I/O server worker #1-1] ERROR org.candlepin.thumbslug.HttpRequestHandler - Exception caught!
java.lang.NoClassDefFoundError: net/oauth/OAuthException
        at org.candlepin.thumbslug.HttpRequestHandler.requestStartReceived(HttpRequestHandler.java:173)
        at org.candlepin.thumbslug.HttpRequestHandler.messageReceived(HttpRequestHandler.java:80)
        at org.candlepin.thumbslug.HttpRequestLogger.handleUpstream(HttpRequestLogger.java:102)
        at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:302)
        at org.jboss.netty.handler.codec.replay.ReplayingDecoder.unfoldAndfireMessageReceived(ReplayingDecoder.java:523)
        at org.jboss.netty.handler.codec.replay.ReplayingDecoder.callDecode(ReplayingDecoder.java:507)
        at org.jboss.netty.handler.codec.replay.ReplayingDecoder.messageReceived(ReplayingDecoder.java:444)
        at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:302)
        at org.jboss.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessageReceived(FrameDecoder.java:317)
        at org.jboss.netty.handler.codec.frame.FrameDecoder.callDecode(FrameDecoder.java:299)
        at org.jboss.netty.handler.codec.frame.FrameDecoder.messageReceived(FrameDecoder.java:216)
        at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:274)
        at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:261)
        at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:350)
        at org.jboss.netty.channel.socket.nio.NioWorker.processSelectedKeys(NioWorker.java:281)
        at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:201)
        at org.jboss.netty.util.internal.IoWorkerRunnable.run(IoWorkerRunnable.java:46)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
        at java.lang.Thread.run(Thread.java:679)
Caused by: java.lang.ClassNotFoundException: net.oauth.OAuthException
        at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:266)

Expected results:
zsh is installed by way of the Headpin distributor.

Additional info:

Comment 1 James Bowes 2012-11-05 17:09:51 UTC
Fixed in thumbslug master. I can't find the original commit, but it will be in thumbslug-0.0.26

Comment 3 James Bowes 2012-11-08 14:43:47 UTC
*** Bug 873336 has been marked as a duplicate of this bug. ***

Comment 4 Tazim Kolhar 2012-11-12 09:30:43 UTC
FAILED:

# rpm -qa | grep katello
katello-common-1.2.4-1h.el6_3.noarch
katello-candlepin-cert-key-pair-1.0-1.noarch
katello-certs-tools-1.2.1-1h.el6_3.noarch
katello-cli-1.2.3-1h.el6_3.noarch
katello-selinux-1.2.1-1h.el6_3.noarch
katello-cli-common-1.2.3-1h.el6_3.noarch
katello-headpin-1.2.4-1h.el6_3.noarch
katello-configure-1.2.2-1h.el6_3.noarch
katello-headpin-all-1.2.4-1h.el6_3.noarch
katello-glue-candlepin-1.2.4-1h.el6_3.noarch

# yum install zsh
Loaded plugins: product-id, security, subscription-manager
Updating certificate-based repositories.
https://pogolinux-1.rhts.eng.rdu.redhat.com:8088/content/dist/rhel/server/6/6Server/x86_64/cf-tools/1.0/os/repodata/repomd.xml: [Errno 14] PYCURL ERROR 7 - "couldn't connect to host"
Trying other mirror.
Error: Cannot retrieve repository metadata (repomd.xml) for repository: rhel-6-server-cf-tools-1-rpms. Please verify its path and try again


# tail /var/log/thumbslug/error.log
org.candlepin.thumbslug.ssl.SslKeystoreException: Failed to initialize the server-side SSLContext.
	at org.candlepin.thumbslug.ssl.SslContextFactory.getServerContext(SslContextFactory.java:92)
	at org.candlepin.thumbslug.Main.configureSSL(Main.java:69)
	at org.candlepin.thumbslug.Main.main(Main.java:148)
Caused by: java.io.FileNotFoundException: /etc/thumbslug/client-ca.pem (No such file or directory)
	at java.io.FileInputStream.open(Native Method)
	at java.io.FileInputStream.<init>(FileInputStream.java:137)
	at java.util.Scanner.<init>(Scanner.java:653)
	at org.candlepin.thumbslug.ssl.SslContextFactory.getServerContext(SslContextFactory.java:78)
	... 2 more

Comment 5 James Bowes 2012-11-13 15:53:43 UTC
(In reply to comment #4)
<snip>
> # tail /var/log/thumbslug/error.log
> org.candlepin.thumbslug.ssl.SslKeystoreException: Failed to initialize the
> server-side SSLContext.
> 	at
> org.candlepin.thumbslug.ssl.SslContextFactory.
> getServerContext(SslContextFactory.java:92)
> 	at org.candlepin.thumbslug.Main.configureSSL(Main.java:69)
> 	at org.candlepin.thumbslug.Main.main(Main.java:148)
> Caused by: java.io.FileNotFoundException: /etc/thumbslug/client-ca.pem (No
> such file or directory)


^^ you're missing a config file
This could probably be opened as a bug against the configuration script to set this automatically; but it's not the same issue.

> 	at java.io.FileInputStream.open(Native Method)
> 	at java.io.FileInputStream.<init>(FileInputStream.java:137)
> 	at java.util.Scanner.<init>(Scanner.java:653)
> 	at
> org.candlepin.thumbslug.ssl.SslContextFactory.
> getServerContext(SslContextFactory.java:78)
> 	... 2 more

Comment 6 James Bowes 2012-11-15 13:53:02 UTC
You can verify this one just by making sure that thumbslug will run properly, after you have the new config values set.

it will actually be in thumbslug-0.0.27, however.

Comment 7 Garik Khachikyan 2012-11-23 13:10:02 UTC
@Tazim: 
please. Seems the recent (greatest) SAM 1.2 compose that we have (20Nov) has this thumbslug version.

Please go on with verification. I am setting the status on_qa now to make another round.

Comment 8 Tazim Kolhar 2012-11-26 10:00:03 UTC
VERIFIED : 

# rpm -qa | grep katello
katello-common-1.2.6-2h.el6_3.noarch
katello-candlepin-cert-key-pair-1.0-1.noarch
katello-certs-tools-1.2.1-1h.el6_3.noarch
katello-cli-1.2.4-2h.el6_3.noarch
katello-glue-candlepin-1.2.6-2h.el6_3.noarch
katello-cli-common-1.2.4-2h.el6_3.noarch
katello-headpin-1.2.6-2h.el6_3.noarch
katello-configure-1.2.3-1h.el6_3.noarch
katello-headpin-all-1.2.6-2h.el6_3.noarch
katello-selinux-1.2.1-1h.el6_3.noarch


1.# subscription-manager clean

2.# yum clean all

3.# subscription-manager register --user xxxxx -password xxxx --org ACME_Corporation --environment some_env --auto --force

4.# yum repolist

5.# yum install -y zsh

6. # tail -f /var/log/thumbslug/error.log
Nov 22 01:00:17 [main] WARN  org.candlepin.thumbslug.Main - Shutting down...
Nov 22 01:00:18 [main] INFO  org.candlepin.thumbslug.ssl.SslContextFactory - reading keystore
Nov 22 01:00:18 [main] WARN  org.candlepin.thumbslug.Main - Running Thumbslug on port 8088

Comment 11 errata-xmlrpc 2013-02-21 19:18:01 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHSA-2013-0544.html