Bug 1018551 - Packstack installation fails with error "package nc is not installed" in f-19
Packstack installation fails with error "package nc is not installed" in f-19
Status: CLOSED EOL
Product: Fedora
Classification: Fedora
Component: openstack-packstack (Show other bugs)
19
x86_64 Linux
unspecified Severity medium
: ---
: ---
Assigned To: Humble Chirammal
Fedora Extras Quality Assurance
: Reopened
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2013-10-13 03:49 EDT by Humble Chirammal
Modified: 2015-02-18 06:14 EST (History)
7 users (show)

See Also:
Fixed In Version: openstack-packstack-2013.2.1-0.12.dev806.fc20
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2015-02-18 06:14:21 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
Patch to avoid package dependency error in packstack. (793 bytes, patch)
2013-10-13 03:58 EDT, Humble Chirammal
no flags Details | Diff


External Trackers
Tracker ID Priority Status Summary Last Updated
OpenStack gerrit 51446 None None None Never

  None (edit)
Description Humble Chirammal 2013-10-13 03:49:47 EDT
Description of problem:

Packstack installation was attempted and failed with error :

Adding post install manifest entries...                [ DONE ]
Installing Dependencies...                          [ ERROR ]

ERROR : Error running remote script: puppet-3.1.1-7.fc19.noarch
openssh-clients-6.2p2-5.fc19.x86_64
tar-1.26-24.fc19.x86_64
package nc is not installed
Loaded plugins: langpacks, refresh-packagekit, versionlock

Please check log file /var/tmp/packstack/20131013-102147-P7HjWO/openstack-setup.log for more information

Additional information:
*****

The puppet log file holds below error with it :


2013-10-13 10:57:20::INFO::run_setup::359::root:: Comparing pre- conditions, value: 'yes', and match: 'yes'
2013-10-13 10:57:36::ERROR::shell::83::root:: ============= STDERR ==========
2013-10-13 10:57:36::ERROR::shell::85::root:: Warning: Permanently added '192.168.1.4' (RSA) to the list of known hosts.^M
+ trap t ERR
+ rpm -q puppet
+ rpm -q openssh-clients
+ rpm -q tar
+ rpm -q nc
+ yum install -y nc
Error: Cannot find a valid baseurl for repo: russianfedora-free/19/x86_64
++ t
++ exit 1

2013-10-13 10:57:36::ERROR::run_setup::906::root:: Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/packstack/installer/run_setup.py", line 901, in main
    _main(confFile)
  File "/usr/lib/python2.7/site-packages/packstack/installer/run_setup.py", line 577, in _main
    runSequences()
  File "/usr/lib/python2.7/site-packages/packstack/installer/run_setup.py", line 554, in runSequences
    controller.runAllSequences()
  File "/usr/lib/python2.7/site-packages/packstack/installer/setup_controller.py", line 90, in runAllSequences
    sequence.run(self.CONF)
  File "/usr/lib/python2.7/site-packages/packstack/installer/core/sequences.py", line 105, in run
    step.run(config=config)
  File "/usr/lib/python2.7/site-packages/packstack/installer/core/sequences.py", line 52, in run
    raise SequenceError(str(ex))
SequenceError: Error running remote script: puppet-3.1.1-7.fc19.noarch
openssh-clients-6.2p2-5.fc19.x86_64
tar-1.26-24.fc19.x86_64
package nc is not installed
Loaded plugins: langpacks, refresh-packagekit, versionlock


Version-Release number of selected component (if applicable):

openstack-packstack-2013.2.1-0.1.dev691.fc19.noarch
puppet-3.1.1-7.fc19.noarch

How reproducible:

Generate answer file and try installation using packstack.

Steps to Reproduce:

#packstack --answer-file=/root/pack_answer_file

Actual results:

Failed with error when installing 'dependency' packages.

Expected results:

Should not fail as 'nc' is already available in the system.

Additional info:

"nc" binary is available in system, how-ever packstack puppet try to install ;nc' package which is not available in fedora 19 version. How-ever 'nc' binary (link to ncat ) is available via 'nmap-ncat'.

[root@humbles-lap tmp]# which nc
/usr/bin/nc
[root@humbles-lap tmp]# rpm -qf /usr/bin/nc
nmap-ncat-6.40-2.fc19.x86_64
Comment 1 Humble Chirammal 2013-10-13 03:56:41 EDT
The patch should either look like [1] or [2]

[1]
--- /usr/lib/python2.7/site-packages/packstack/plugins/puppet_950.py.org	2013-10-13 12:32:24.174715212 +0530
+++ /usr/lib/python2.7/site-packages/packstack/plugins/puppet_950.py	2013-10-13 12:32:41.310095819 +0530
@@ -78,7 +78,7 @@ def runCleanup(config):
 def installdeps(config):
     for hostname in getinstallhostlist(controller.CONF):
         server = utils.ScriptRunner(hostname)
-        for package in ("puppet", "openssh-clients", "tar", "nc"):
+        for package in ("puppet", "openssh-clients", "tar", "nmap-ncat"):
             server.append("rpm -q %s || yum install -y %s" % (package, package))
         server.execute()

[2]

--- /usr/lib/python2.7/site-packages/packstack/plugins/puppet_950.py.org	2013-10-13 12:32:24.174715212 +0530
+++ /usr/lib/python2.7/site-packages/packstack/plugins/puppet_950.py.sec	2013-10-13 13:24:23.549021618 +0530
@@ -78,7 +78,11 @@ def runCleanup(config):
 def installdeps(config):
     for hostname in getinstallhostlist(controller.CONF):
         server = utils.ScriptRunner(hostname)
-        for package in ("puppet", "openssh-clients", "tar", "nc"):
+	if platform.linux_distribution()[0] == "Fedora":
+		packagelist = ["puppet", "openssh-clients", "tar", "nmap-ncat"]
+	else:
+		packagelist = ["puppet", "openssh-clients", "tar", "nc"]
+        for package in packagelist:
             server.append("rpm -q %s || yum install -y %s" % (package, package))
         server.execute()
 
I believe second one is better, if agreed I will push to upstream.

--Humble
Comment 2 Humble Chirammal 2013-10-13 03:58:47 EDT
Created attachment 811689 [details]
Patch to avoid package dependency error in packstack.
Comment 3 Pádraig Brady 2013-10-14 04:41:52 EDT
nc is available:
$ repoquery -q --repoid=rawhide --whatprovides nc
nmap-ncat-2:6.40-2.fc20.x86_64

I guess this is another instance of this puppet rpm handling bug:
http://projects.puppetlabs.com/issues/5831

Can we just patch puppet to fix that already?
Comment 4 Fedora Admin XMLRPC Client 2013-10-14 05:51:56 EDT
This package has changed ownership in the Fedora Package Database.  Reassigning to the new owner of this component.
Comment 5 Fedora Admin XMLRPC Client 2013-10-14 05:52:30 EDT
This package has changed ownership in the Fedora Package Database.  Reassigning to the new owner of this component.
Comment 6 Martin Magr 2013-10-15 10:34:42 EDT
For nc we use "yum install -y nc", so the problem is somewhere else. 

Looking at your log, following shows your repos are failing: Error: Cannot find a valid baseurl for repo: russianfedora-free/19/x86_64
Comment 7 Pádraig Brady 2013-10-15 12:00:42 EDT
Not so hasty.
packstack also does `rpm -q` which doesn't account for Provides:

packstack should be doing `rpm -q --whatprovides`

In addition the nmap package needs to be updated to Provides: nc
since the updated ncat now supports the old nc interface.
I've sent an email separately about this.
Comment 8 Humble Chirammal 2013-10-16 01:33:35 EDT
(In reply to Pádraig Brady from comment #7)
> Not so hasty.
> packstack also does `rpm -q` which doesn't account for Provides:
> 
> packstack should be doing `rpm -q --whatprovides`
> 
> In addition the nmap package needs to be updated to Provides: nc
> since the updated ncat now supports the old nc interface.
> I've sent an email separately about this.

Thanks Padraig & Martin,

Yes, nmap-ncat should be pulled without effort here. How-ever, changing 'rpm -q --whatprovides' looks to be a must here.. I will resend the patch with this change..
Comment 9 Humble Chirammal 2013-10-16 02:08:11 EDT
(In reply to Pádraig Brady from comment #7)
> Not so hasty.
> packstack also does `rpm -q` which doesn't account for Provides:
> 
> packstack should be doing `rpm -q --whatprovides`
> 
> In addition the nmap package needs to be updated to Provides: nc
> since the updated ncat now supports the old nc interface.
> I've sent an email separately about this.

Hi Padraig, resubmitted https://review.openstack.org/#/c/51446/ with the proposed change.. please review it..

Thanks,
Humble
Comment 10 John Griffith 2013-10-21 18:50:13 EDT
Not sure, but the above patch didn't seem to work for me.  I did however get the rubygems install to work by adding the optional rpms repo:
    yum-config-manager --enable rhel-6-server-optional-rpms

I actually manually did a yum install ruby-gems and puppet, but I would imagine that having this repo added would allow the packstack routine to finish successfully as well.
Comment 11 Pádraig Brady 2013-10-21 19:22:14 EDT
Hi John. So the only patch associated with this bug is to get packstack to use:
`rpm -q --whatprovides` to determine nc is installed.
That will return nc on RHEL6 and nmap-ncat on newer Fedora.
Packstack 806 should do this automatically on newer Fedora.

Your response seems to suggest that you are using RDO on RHEL,
in which case the "Optional" repo is mandatory as per:
http://openstack.redhat.com/Repositories
Coincidentally as per bug 978651,
Packstack 806 should do this automatically on RHEL.
Comment 12 Fedora End Of Life 2015-01-09 17:36:09 EST
This message is a notice that Fedora 19 is now at end of life. Fedora 
has stopped maintaining and issuing updates for Fedora 19. It is 
Fedora's policy to close all bug reports from releases that are no 
longer maintained. Approximately 4 (four) weeks from now this bug will
be closed as EOL if it remains open with a Fedora 'version' of '19'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 19 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.
Comment 13 Fedora End Of Life 2015-02-18 06:14:21 EST
Fedora 19 changed to end-of-life (EOL) status on 2015-01-06. Fedora 19 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.

Note You need to log in before you can comment on or make changes to this bug.