Description of problem: When configuring PackStack, one of the valid mechanism drivers is the cisco_nexus driver. All the prerequisites are available in the rhel-7-server-rpms or rhel-7-server-openstack-5.0-rpms repos except ncclient. Prerequisites can be found here: https://wiki.openstack.org/wiki/Neutron/ML2/MechCiscoNexus Version-Release number of selected component (if applicable): OSP5 How reproducible: Steps to Reproduce: 1. subscription-manager repos --disable=* 2. subscription-manager repos --enable=rhel-7-server-rpms 3. subscription-manager repos --enable=rhel-7-server-openstack-5.0-rpms 4. yum install ncclient Actual results: ncclient not found Expected results: ncclient installed Additional info:
I've checked the link. Cisco asks us to ship some patched version of ncclient to be able to use the plugin. Doesn't it mean Cisco should first make sure that upstream packages depend on the library (by putting it into requirements.txt)? We should go that route instead of shipping some untrusted code from github in a package. Britt, can I ask you to work on getting upstream dependency straight?
FYI: I've sent an email to clarify the status of the dependency: http://lists.openstack.org/pipermail/openstack-dev/2014-August/042724.html
Ihar - looks like your thread has uncovered that in Juno time frame, the upstream version of ncclient will work. So for OSP6, it will make sense to include the upstream version. But for Icehouse and before, Pradeep has already provided spec file: RPM Spec: https://github.com/CiscoSystems/ncclient-spec SOURCE: https://github.com/CiscoSystems/ncclient I have the packages built here for reference http://pkilambi.fedorapeople.org/python-ncclient/ I believe these are already in the build system. Can we get the package built based on these spec included in the OSP5 repo?
@Brit, Red Hat will not ship custom code from github that does not follow usual procedures like peer review or CI. It's great that Cisco plugin is now able to use stock ncclient in Juno. Once we get that in Icehouse, we may reconsider making Cisco plugin depending on it. If you want users of the plugin not to be forced to go thru checking out the code from github, you can deliver your custom RPM to them. Also, I'm currently working on setting dependencies straight in upstream, so that plugin do not depend on any modules implicitly avoiding requirements.txt file. But this is a long term thing and is not applicable to RHOSP5.
https://pypi.python.org/pypi/ncclient 0.4.1 looks good.
Reopening for 0.4.1 version.
@Lon, Cisco plugin was not compatible to u/s ncclient till very recently in Juno. If we want to use the package from PyPI, we should first make sure we have the needed patches in Icehouse to work with it.
I've requested a backport for Icehouse for the plugin to use upstream ncclient. Also, I went with preparing a SPEC to package it: http://people.redhat.com/~ihrachys/python-ncclient.spec There is one problem that is currently blocking review for the package for Fedora Rawhide: license file is missing from the package provided at PyPI. I've contacted its owner thru email to add the missing file to the package.
Quoting the maintainer of the upstream library, "Rel. 0.4.2 just hit the road and it includes the missing LICENSE file." So we should be ok now with building an upstream package for Fedora.
I've requested a Fedora package at: https://bugzilla.redhat.com/show_bug.cgi?id=1170629
Sorry, closed wrong bug.
Also made openstack-neutron-2014.2.1-2.el7ost depend on python-ncclient for ml2, cisco, and brocade plugins that use the module.
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. https://rhn.redhat.com/errata/RHEA-2015-0144.html