<html><body>
<h3>Anton Marchukov created OVIRT-1896:</h3>
<pre>   Summary: Fwd: repoman error
       Key: OVIRT-1896
       URL: https://ovirt-jira.atlassian.net/browse/OVIRT-1896
   Project: oVirt - virtualization made easy
Issue Type: By-EMAIL
  Reporter: Anton Marchukov
  Assignee: infra</pre>
<p>Opening a ticket.</p>
<p>Might be server utilization problem, deficiency in repoman or both.</p>
<p>---------- Forwarded message --------- From: Lev Veyde &lt;lveyde@redhat.com&gt; Date: Wed, 14 Feb 2018 at 22:18 Subject: repoman error To: Sandro Bonazzola &lt;sbonazzo@redhat.com&gt;, Anton Marchukov &lt; amarchuk@redhat.com&gt;</p>
<p>Hi guys,</p>
<p>got the following error while was trying to add the new packages into the ovirt-4.2 repo:</p>
<p>2018-02-14 17:28:43,792::INFO::root::SIGNING: /var/www/html/pub/ovirt-4.2/rpm/el7/noarch/ovirt-node-ng-image-update-4.2.1.1-1.el7.centos.noarch.rpm 2018-02-14 17:33:55,267::ERROR::root::Failed to sign Traceback (most recent call last):</p>
<pre>File "/bin/repoman", line 10, in &lt;module&gt;
  sys.exit(main())
File "/usr/lib/python2.7/site-packages/repoman/cmd.py", line 460, in main
  exit_code = do_add(args, config, repo)
File "/usr/lib/python2.7/site-packages/repoman/cmd.py", line 360, in</pre>
<p>do_add</p>
<pre>  repo.save()
File "/usr/lib/python2.7/site-packages/repoman/common/repo.py", line 42,</pre>
<p>in _func</p>
<pre>  return func(self, *args, **kwargs)
File "/usr/lib/python2.7/site-packages/repoman/common/repo.py", line 201,</pre>
<p>in save</p>
<pre>  store.save()
File</pre>
<p>&ldquo;/usr/lib/python2.7/site-packages/repoman/common/stores/RPM/__init__.py&rdquo;, line 263, in save</p>
<pre>  self._save(**args)
File</pre>
<p>&ldquo;/usr/lib/python2.7/site-packages/repoman/common/stores/RPM/__init__.py&rdquo;, line 305, in _save</p>
<pre>  self.sign_rpms()
File</pre>
<p>&ldquo;/usr/lib/python2.7/site-packages/repoman/common/stores/RPM/__init__.py&rdquo;, line 524, in sign_rpms</p>
<pre>  pkg.sign(key_path=self.sign_key, passwd=self.sign_passphrase)
File "/usr/lib/python2.7/site-packages/repoman/common/stores/RPM/RPM.py",</pre>
<p>line 272, in sign</p>
<pre>raise exc</pre>
<p>pexpect.TIMEOUT: Timeout exceeded in read_nonblocking(). &lt;pexpect.spawn object at 0x566e810&gt; version: 2.3 ($Revision: 399 $) command: /bin/rpmsign args: ['/bin/rpmsign', &lsquo;--resign&rsquo;, &lsquo;-D&rsquo;, &lsquo;_signature gpg&rsquo;, &lsquo;-D&rsquo;, u'_gpg_name oVirt &lt;infra@ovirt.org&gt;', &lsquo;-D&rsquo;, &lsquo;__gpg /usr/bin/gpg&rsquo;, &lsquo;/var/www/html/pub/ovirt-4.2/rpm/el7/noarch/ovirt-node-ng-image-update-4.2.1.1-1.el7.centos.noarch.rpm&rsquo;] searcher: searcher_re:</p>
<pre>0: re.compile("pass phrase: ")
1: re.compile("passphrase: ")
2: re.compile("Passphrase: ")</pre>
<p>buffer (last 100 chars): before (last 100 chars): after: &lt;class 'pexpect.TIMEOUT'&gt; match: None match_index: None exitstatus: None flag_eof: False pid: 8648 child_fd: 3 closed: False timeout: 600 delimiter: &lt;class 'pexpect.EOF'&gt; logfile: None logfile_read: None logfile_send: None maxread: 2000 ignorecase: False searchwindowsize: None delaybeforesend: 0.05 delayafterclose: 0.1 delayafterterminate: 0.1</p>
<p>It looks this due to too small timeout value, as the following seems to work fine:</p>
<p>[root@resources02 pub]# /bin/rpmsign --resign -D _signature gpg -D _gpg_name oVirt &lt;infra@ovirt.org&gt; -D __gpg /usr/bin/gpg /var/www/html/pub/ovirt-4.2/rpm/el7/noarch/ovirt-node-ng-image-update-4.2.1.1-1.el7.centos.noarch.rpm -bash: infra@ovirt.org: No such file or directory [root@resources02 pub]# /bin/rpmsign --resign -D &lsquo;_signature gpg&rsquo; -D &lsquo;_gpg_name oVirt &lt;infra@ovirt.org&gt;&rsquo; -D &lsquo;__gpg /usr/bin/gpg&rsquo; /var/www/html/pub/ovirt-4.2/rpm/el7/noarch/ovirt-node-ng-image-update-4.2.1.1-1.el7.centos.noarch.rpm Enter pass phrase: Pass phrase is good. /var/www/html/pub/ovirt-4.2/rpm/el7/noarch/ovirt-node-ng-image-update-4.2.1.1-1.el7.centos.noarch.rpm:</p>
<p>However running it several times gave me some weird results &ndash; I increased the timeout to 15 minutes in the beginning, and it was still failing dropping out after what seemed to be like only 3.5 to 5 minutes. Quite weird stuff.</p>
<p>At the end I increased the timeout to 20 minutes and it seemed to make the trick, not sure that it's not random though (even though it failed many times before).</p>
<p>Noted another issue &ndash; it looks like the files to sign appear several times in case one runs the repoman again after failed run:</p>
<p>2018-02-14 19:50:45,937::INFO::root::SIGNING: /var/www/html/pub/ovirt-4.2/rpm/el7/noarch/ovirt-node-ng-nodectl-4.2.0-0.20180214.0.el7.noarch.rpm 2018-02-14 19:50:47,602::INFO::root::SIGNING: /var/www/html/pub/ovirt-4.2/rpm/el7/SRPMS/ovirt-engine-appliance-4.2-20180214.1.el7.centos.src.rpm 2018-02-14 19:57:42,360::INFO::root::SIGNING: /var/www/html/pub/ovirt-4.2/rpm/el7/noarch/ovirt-engine-appliance-4.2-20180214.1.el7.centos.noarch.rpm 2018-02-14 20:05:45,487::INFO::root::SIGNING: /var/www/html/pub/ovirt-4.2/rpm/el7/noarch/ovirt-engine-appliance-4.2-20180214.1.el7.centos.noarch.rpm 2018-02-14 20:15:21,869::INFO::root::SIGNING: /var/www/html/pub/ovirt-4.2/rpm/el7/SRPMS/ovirt-engine-appliance-4.2-20180214.1.el7.centos.src.rpm 2018-02-14 20:27:20,663::INFO::root::SIGNING: /var/www/html/pub/ovirt-4.2/rpm/fc25/noarch/ovirt-engine-appliance-4.2-20180214.1.fc25.noarch.rpm 2018-02-14 20:39:49,348::INFO::root::SIGNING: /var/www/html/pub/ovirt-4.2/rpm/el7/noarch/ovirt-node-ng-image-update-4.2.1.1-1.el7.centos.noarch.rpm 2018-02-14 20:47:29,586::INFO::root::SIGNING: /var/www/html/pub/ovirt-4.2/rpm/el7/noarch/ovirt-node-ng-tools-4.2.0-0.20180214.0.el7.noarch.rpm 2018-02-14 20:47:31,821::INFO::root::SIGNING: /var/www/html/pub/ovirt-4.2/rpm/el7/noarch/ovirt-node-ng-tools-4.2.0-0.20180214.0.el7.noarch.rpm 2018-02-14 20:47:32,581::INFO::root::SIGNING: /var/www/html/pub/ovirt-4.2/rpm/el7/noarch/ovirt-node-ng-docs-4.2.0-0.20180214.0.el7.noarch.rpm 2018-02-14 20:47:33,736::INFO::root::SIGNING: /var/www/html/pub/ovirt-4.2/rpm/el7/noarch/ovirt-node-ng-docs-4.2.0-0.20180214.0.el7.noarch.rpm 2018-02-14 20:47:34,806::INFO::root::SIGNING: /var/www/html/pub/ovirt-4.2/rpm/el7/SRPMS/ovirt-node-ng-4.2.0-0.20180214.0.el7.src.rpm 2018-02-14 20:58:44,292::INFO::root::SIGNING: /var/www/html/pub/ovirt-4.2/rpm/el7/SRPMS/ovirt-node-ng-4.2.0-0.20180214.0.el7.src.rpm</p>
<p>We probably should use a set instead of list there.</p>
<p>Sent a patch to increase the timeout: <a href="https://gerrit.ovirt.org/#/c/87694/">https://gerrit.ovirt.org/#/c/87694/</a></p>
<p>(Initially I thought that the issue is due to changed password prompt of the rpmsign, which appeared not to be the case. Despite this, the patch also rearranges the possible password prompts to a per line list to be future proof).</p>
<h3>Thanks in advance,</h3>
<p>Lev Veyde</p>
<p>Software Engineer, RHCE | RHCVA | MCITP</p>
<p>Red Hat Israel</p>
<p>&lt;<a href="https://www.redhat.com/">https://www.redhat.com</a>&gt;</p>
<p>lev@redhat.com | lveyde@redhat.com &lt;<a href="https://red.ht/sig">https://red.ht/sig</a>&gt; TRIED. TESTED. TRUSTED. &lt;<a href="https://redhat.com/trusted">https://redhat.com/trusted</a>&gt; &mdash; Anton Marchukov Team Lead &ndash; Release Management &ndash; RHV DevOps &ndash; Red Hat</p>
<p>&mdash; This message was sent by Atlassian Jira (v1001.0.0-SNAPSHOT#100079)</p>

<img src="https://u4043402.ct.sendgrid.net/wf/open?upn=i5TMWGV99amJbNxJpSp2-2BJ33BSM3tuiUfRTk64K-2BOjFgnbG00MdvmjLJd4h-2FsB1FKPQPil3rfz8ZkEzd5WkvtrAGxERX2oiU7DzgC7GI0LnML6ZYJBIP6isHRkhgFXUJr4ojpsMjLnzloIt9X-2FmBrRPjf6YcVkz4oPH87QyLgsT7TNAHEeTvfUzVmJzRMhuuUAP-2FVbWPNCQuFGfoJLidA-2FwHBfgzu1v1SBdfcWHHkASFDsufCm4kUO58xYeOizOM1TeXV93bwZ5pODxK6V3y65mfySQyBPmca8B0X72d2La2KhrRHWRsm2nZixYiF89wRpaQJZByCwKqtHYUMlX3moJ-2ByNETn3LFZ5fv93MSgYP-2FEv4OBUrmjS-2Fwwgwe631m45f3zDJyHf2EWjnHBrWP9YsiypdCoLfGmlaVulbsj4iFpycL0mBevDotOs4ALJp2" alt="" width="1" height="1" border="0" style="height:1px !important;width:1px !important;border-width:0 !important;margin-top:0 !important;margin-bottom:0 !important;margin-right:0 !important;margin-left:0 !important;padding-top:0 !important;padding-bottom:0 !important;padding-right:0 !important;padding-left:0 !important;"/>
</body></html>