Description of problem: I ran 'yum install ddd' on a client registered to webqa, and it failed twice: Failure #1: [root@bnackash-64 etc]# yum install ddd Setting up Install Process Setting up repositories https://xmlrpc.rhn.webqa.redhat.com/XMLRPC/GET-REQ/rhel5-beta-client-i386-test/repodata/repomd.xml: [Errno 7] HTTP Exception (Bad StatusLine): Trying other mirror. Error: Cannot open/read repomd.xml file for repository: rhel5-beta-client-i386-test Failure #2: [root@bnackash-64 etc]# yum install ddd Setting up Install Process Setting up repositories https://xmlrpc.rhn.webqa.redhat.com/XMLRPC/GET-REQ/rhel5-beta-client-i386-test/repodata/repomd.xml: [Errno 7] HTTP Exception (Bad StatusLine): Trying other mirror. Error: Cannot open/read repomd.xml file for repository: rhel5-beta-client-i386-test And then it worked the third time: [root@bnackash-64 etc]# yum -e 10 -d 10 install ddd Yum Version: 2.9.3 COMMAND: yum -e 10 -d 10 Installroot: / Ext Commands: ddd Setting up Install Process Setting up repositories rhel5-beta-client-i386-te 100% |=========================| 672 B 00:00 Reading repository metadata in from local files Setting up Package Sacks primary.xml.gz 100% |=========================| 707 kB 00:00 ################################################## 2266/2266 Reading Local RPMDB Parsing package install arguments No other ddd installed, adding to list for potential install reduced installs : Traceback (most recent call last): File "/usr/lib/python2.4/logging/__init__.py", line 731, in emit msg = self.format(record) File "/usr/lib/python2.4/logging/__init__.py", line 617, in format return fmt.format(record) File "/usr/lib/python2.4/logging/__init__.py", line 405, in format record.message = record.getMessage() File "/usr/lib/python2.4/logging/__init__.py", line 276, in getMessage msg = msg % self.args TypeError: not enough arguments for format string skipping reposetup, pkgsack exists skipping reposetup, pkgsack exists Building updates object putting glibc in complex update putting openssl in complex update processing glibc.i686 processing openssl Resolving Dependencies 1155905963.16 --> Populating transaction set with selected packages. Please wait. Member: ddd.i386 0-3.3.11-7.1 - u ---> Downloading header for ddd to pack into transaction set. ddd-3.3.11-7.1.i386.rpm 100% |=========================| 14 kB 00:00 Adding Package ddd - 3.3.11-7.1.i386 in mode u ---> Package ddd.i386 0:3.3.11-7.1 set to be updated --> Running transaction check # of Deps = 2 Dep Number: 1/2 ddd requires: libXp.so.6 --> Processing Dependency: libXp.so.6 for package: ddd Requiring package is from transaction set Resolving for requiring package: ddd-3.3.11-7.1 in state u Resolving for requirement: libXp.so.6 Searching pkgSack for dep: libXp.so.6 Potential match for libXp.so.6 from libXp - 1.0.0-4.1.i386 Matched libXp - 1.0.0-4.1.i386 to require for libXp.so.6 TSINFO: Marking libXp - 1.0.0-4.1.i386 as install for ddd Dep Number: 2/2 ddd requires: libXm.so.4 --> Processing Dependency: libXm.so.4 for package: ddd Requiring package is from transaction set Resolving for requiring package: ddd-3.3.11-7.1 in state u Resolving for requirement: libXm.so.4 Searching pkgSack for dep: libXm.so.4 Potential match for libXm.so.4 from openmotif - 2.3.0-0.2.1.i386 Matched openmotif - 2.3.0-0.2.1.i386 to require for libXm.so.4 TSINFO: Marking openmotif - 2.3.0-0.2.1.i386 as install for ddd miss = 0 conf = 0 CheckDeps = 2 --> Restarting Dependency Resolution with new changes. ---> Loop Number: 2 Restarting Loop --> Populating transaction set with selected packages. Please wait. Member: libXp.i386 0-1.0.0-4.1 - u ---> Downloading header for libXp to pack into transaction set. libXp-1.0.0-4.1.i386.rpm 100% |=========================| 5.8 kB 00:00 Adding Package libXp - 1.0.0-4.1.i386 in mode u ---> Package libXp.i386 0:1.0.0-4.1 set to be updated Member: ddd.i386 0-3.3.11-7.1 - u Member: openmotif.i386 0-2.3.0-0.2.1 - u ---> Downloading header for openmotif to pack into transaction set. openmotif-2.3.0-0.2.1.i38 100% |=========================| 16 kB 00:00 Adding Package openmotif - 2.3.0-0.2.1.i386 in mode u ---> Package openmotif.i386 0:2.3.0-0.2.1 set to be updated --> Running transaction check Running "postresolve" handler for "installonlyn" plugin Dependencies Resolved 1155905964.13 ============================================================================= Package Arch Version Repository Size ============================================================================= Installing: ddd i386 3.3.11-7.1 rhel5-beta-client-i386-test 3.6 M Installing for dependencies: libXp i386 1.0.0-4.1 rhel5-beta-client-i386-test 21 k openmotif i386 2.3.0-0.2.1 rhel5-beta-client-i386-test 1.5 M Transaction Summary ============================================================================= Install 3 Package(s) Update 0 Package(s) Remove 0 Package(s) Total download size: 5.2 M Is this ok [y/N]: n Exiting on user Command Complete! Version-Release number of selected component (if applicable): yum-2.9.3-2 How reproducible: can't seem to pinpoint what makes this happen ... other than maybe this: I pushed new content to the channel on webqa since I originally got yum install working days ago. Maybe the first time(s) you run yum install against new channel content it does this? Steps to Reproduce: 1. 2. 3. Actual results: Expected results: Additional info:
As far as reproducing this: My comment in "How reproducible" is actually correct. If you push any new or updated packages to the channel, the first and second (and possibly third) time the client subsequently runs "yum list updates" you will see the repomd.xml failure. It will work on the third or fourth try.
It looks like what's happening here is the proxy that sits between the client and the RHN code that generates the repomd.xml file is timing out its connection to RHN before the generation is complete.
Removing from rhel5 beta blocker list: Since the beta 1 channels are going to have content pushed to them and made public only once, the repomd.xml file will be generated before any customers ever try to get packages from the channel. Therefore, for beta 1, this issue will not be a blocker. However, it will block RHN500 and has been moved off RHEL and onto RHN.
Just to clarify, this is not a defect in any client-side code (ie yum or yum-rhn-plugin). It will not be a problem for beta 1 because we can pre-generate repomd.xml and related files before clients connect to the channels on hosted. We do want to ensure that this content is generated fast enough for RHN 500 (both on hosted and satellites).
Moving this back onto the beta 2 proposed blocker.
THis should not be a blocker for RHEL5 Beta2. This work will be delivered with RHN416.
I just tried this on poopsmith and seems to work fine for me the first time itself. From the above bug description, usually a bad status line occurs if the server has problems accepting connections. It could just be that someone restarted apache while yum was trying to send the request, [root@poopsmith ~]# yum install ddd Loading "rhnplugin" plugin Loading "installonlyn" plugin Setting up Install Process Setting up repositories Cluster 100% |=========================| 1.1 kB 00:00 ClusterStorage 100% |=========================| 1.1 kB 00:00 VT 100% |=========================| 1.1 kB 00:00 rhel-i386-server-5-beta 100% |=========================| 951 B 00:00 Server 100% |=========================| 1.1 kB 00:00 Reading repository metadata in from local files Parsing package install arguments Resolving Dependencies --> Populating transaction set with selected packages. Please wait. ---> Downloading header for ddd to pack into transaction set. ddd-3.3.11-7.1.i386.rpm 100% |=========================| 14 kB 00:00 ---> Package ddd.i386 0:3.3.11-7.1 set to be updated --> Running transaction check --> Processing Dependency: libXp.so.6 for package: ddd --> Processing Dependency: libXm.so.4 for package: ddd --> Restarting Dependency Resolution with new changes. --> Populating transaction set with selected packages. Please wait. ---> Downloading header for libXp to pack into transaction set. libXp-1.0.0-7.i386.rpm 100% |=========================| 6.7 kB 00:00 ---> Package libXp.i386 0:1.0.0-7 set to be updated ---> Downloading header for openmotif to pack into transaction set. openmotif-2.3.0-0.2.1.i38 100% |=========================| 16 kB 00:00 ---> Package openmotif.i386 0:2.3.0-0.2.1 set to be updated --> Running transaction check Dependencies Resolved ============================================================================= Package Arch Version Repository Size ============================================================================= Installing: ddd i386 3.3.11-7.1 rhel-i386-server-5-beta 3.6 M Installing for dependencies: libXp i386 1.0.0-7 Server 23 k openmotif i386 2.3.0-0.2.1 rhel-i386-server-5-beta 1.5 M Transaction Summary ============================================================================= nstall 3 Package(s) Update 0 Package(s) Remove 0 Package(s) Total download size: 5.2 M Is this ok [y/N]: y Downloading Packages: (1/3): libXp-1.0.0-7.i386 100% |=========================| 23 kB 00:00 (2/3): ddd-3.3.11-7.1.i38 100% |=========================| 3.6 MB 00:00 (3/3): openmotif-2.3.0-0. 100% |=========================| 1.5 MB 00:00 Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Installing: libXp ######################### [1/3] .... marking as works for me...
forgot to clear the cache, re-testing...
jbowes and I added some performance improvements to repomd server code to overcome the timeout issues. Afetr the fixes: [root@poopsmith rhn]# yum install ddd Loading "rhnplugin" plugin Loading "installonlyn" plugin Setting up Install Process Setting up repositories Cluster 100% |=========================| 1.1 kB 00:00 ClusterStorage 100% |=========================| 1.1 kB 00:00 VT 100% |=========================| 1.1 kB 00:00 rhel-i386-server-5-beta 100% |=========================| 950 B 00:00 Server 100% |=========================| 1.1 kB 00:00 Reading repository metadata in from local files primary.xml.gz 100% |=========================| 4.0 kB 00:00 ################################################## 9/9 primary.xml.gz 100% |=========================| 2.2 kB 00:00 ################################################## 5/5 primary.xml.gz 100% |=========================| 8.2 kB 00:00 ################################################## 4/4 primary.xml.gz 100% |=========================| 501 kB 00:00 ################################################## 1988/1988 primary.xml.gz 100% |=========================| 690 kB 00:00 ################################################## 2021/2021 Parsing package install arguments Resolving Dependencies --> Populating transaction set with selected packages. Please wait. ---> Downloading header for ddd to pack into transaction set. ddd-3.3.11-7.1.i386.rpm 100% |=========================| 14 kB 00:00 ---> Package ddd.i386 0:3.3.11-7.1 set to be updated --> Running transaction check Dependencies Resolved ============================================================================= Package Arch Version Repository Size ============================================================================= Installing: ddd i386 3.3.11-7.1 rhel-i386-server-5-beta 3.6 M Transaction Summary ============================================================================= Install 1 Package(s) Update 0 Package(s) Remove 0 Package(s) Total download size: 3.6 M Is this ok [y/N]: y Downloading Packages: (1/1): ddd-3.3.11-7.1.i38 100% |=========================| 3.6 MB 00:00 Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Installing: ddd ######################### [1/1] Installed: ddd.i386 0:3.3.11-7.1 Complete! this should work, the first time itself. test plan: - make sure client is subscribed to rhel5-beta channel - clear yum cache from server: rm -rf /var/cache/rhn/repomd* - clear cache on client (make sure rhn-plugin for yum is on) $ yum clean all - run $ yum install ddd this should complete the installation successfully.
QA Verified fixed
hello, we have a same problem with RHEL 5 beta 1. For any repositories (e.g. DAG) we can get the primary.xml.gz, for RHN we cannot. for DAG (yum-rhn-plugin is off) --------- # yum update "rhnplugin" plugin is disabled Loading "installonlyn" plugin Running "config" handler for "installonlyn" plugin Yum Version: 3.0 COMMAND: yum Installroot: / Setting up Update Process Setting up repositories dag 100% |=========================| 1.1 kB 00:00 Reading repository metadata in from local files Setting up Package Sacks primary.xml.gz 100% |=========================| 1.2 MB 00:00 ################################################## 5197/5197 Reading Local RPMDB Building updates object Resolving Dependencies ... ---------------- for RHN (plugin is on) ------------ # yum update Loading "rhnplugin" plugin Loading "installonlyn" plugin Running "config" handler for "installonlyn" plugin Running "init" handler for "rhnplugin" plugin Yum Version: 3.0 COMMAND: yum Installroot: / Setting up Update Process Setting up repositories https://xmlrpc.rhn.redhat.com/XMLRPC/GET-REQ/rhel-i386-client-5-beta/repodata/repomd.xml: [Errno 4] IOError: <urlopen error (1, 'error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol')> Trying other mirror. Error: Cannot open/read repomd.xml file for repository: rhel-i386-client-5-beta ---------- EOM regards, Ilja
Closing, post-416 install