large unused dependency ncclient + paramiko in os-ken

Bug #1988220 reported by Josh Bailey
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
neutron
Won't Fix
Medium
Rodolfo Alonso

Bug Description

Hello,

ncclient which adds paramiko as a dependency, was added as a dependency in os-ken 2.5.0, though ncclient doesn't appear to be actually used anywhere (https://github.com/openstack/os-ken/commit/2495ebdff927a3de2f642b3346ed4f438b2c6316).

Would it be possible for this dependency to be removed? It is not used - it increases os-ken's footprint substantially, and for non-x86 platforms wheels have to be built, which is very resource intensive.

Thanks,

Tags: os-ken
Revision history for this message
Brian Haley (brian-haley) wrote :

I'll assign to Rodolfo since he authored the patch remove 'nose':

https://review.opendev.org/c/openstack/os-ken/+/850631

Looking at that I wonder if ncclient can just be added to test-requirements.txt ?

Changed in neutron:
importance: Undecided → Medium
status: New → Confirmed
assignee: nobody → Rodolfo Alonso (rodolfo-alonso-hernandez)
Revision history for this message
Rodolfo Alonso (rodolfo-alonso-hernandez) wrote :

Hello Josh:

The "ncclient" library is currently used in the "os-ken" project: https://codesearch.openstack.org/?q=ncclient&i=nope&literal=nope&files=&excludeFiles=&repos=openstack/os-ken. I can't remove this dependency.

Regards.

Changed in neutron:
status: Confirmed → Won't Fix
Revision history for this message
Josh Bailey (anarkiwi) wrote : Re: [Bug 1988220] Re: large unused dependency ncclient + paramiko in os-ken

Thanks for following up and for continuing to extend os-ken!

Unfortunately that now means os-ken is now not practical on non-x86
platforms that don't use ncclient, due to the resource intensive process of
producing wheels each time during the pip3 install process (many hours to
build, even under buildx). I understand os-ken is intended to support
OpenStack, but unfortunately with this dependency added os-ken is less
useful outside of OpenStack.

We'll fork os-ken without ncclient dependencies and use that - thank you
for creating it!

On Wed, Aug 31, 2022 at 8:46 PM Rodolfo Alonso <email address hidden>
wrote:

> Hello Josh:
>
> The "ncclient" library is currently used in the "os-ken" project:
>
> https://codesearch.openstack.org/?q=ncclient&i=nope&literal=nope&files=&excludeFiles=&repos=openstack/os-
> ken. I can't remove this dependency.
>
> Regards.
>
>
> ** Changed in: neutron
> Status: Confirmed => Won't Fix
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1988220
>
> Title:
> large unused dependency ncclient + paramiko in os-ken
>
> Status in neutron:
> Won't Fix
>
> Bug description:
> Hello,
>
> ncclient which adds paramiko as a dependency, was added as a
> dependency in os-ken 2.5.0, though ncclient doesn't appear to be
> actually used anywhere (https://github.com/openstack/os-
> ken/commit/2495ebdff927a3de2f642b3346ed4f438b2c6316).
>
> Would it be possible for this dependency to be removed? It is not used
> - it increases os-ken's footprint substantially, and for non-x86
> platforms wheels have to be built, which is very resource intensive.
>
> Thanks,
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/neutron/+bug/1988220/+subscriptions
>
>

Revision history for this message
Rodolfo Alonso (rodolfo-alonso-hernandez) wrote :

Hello Josh:

This dependency has been always there. I explicitly added to the requirements file because it was missing.

You can:
1) Implement this code in os-ken using another library, always providing the same functionality.
2) Try to use the original project, ryu [1], of which this project is a fork.

Regards.

[1]https://github.com/faucetsdn/ryu

Revision history for this message
Josh Bailey (anarkiwi) wrote :

Hi Rodolfo,

I totally understand - it was not an issue for us before, as we don't use
OFConfig at all (to use OpenFlow and OFConfig are orthogonal). I totally
understand os-ken is for OpenStack and probably non-x86 is not a priority,
that is totally understandable - you have other priorities - it's the
nature of open source.

I have forked os-ken at this point and removed the OFConfig references. We
can continue to benefit from os-ken (thank you again).

My colleagues did inherit Ryu, but unfortunately Ryu has become very
challenging to maintain as it has much more complex dependencies - os-ken
is much better in that regard.

Thanks,

On Wed, Aug 31, 2022 at 10:20 PM Rodolfo Alonso <email address hidden>
wrote:

> Hello Josh:
>
> This dependency has been always there. I explicitly added to the
> requirements file because it was missing.
>
> You can:
> 1) Implement this code in os-ken using another library, always providing
> the same functionality.
> 2) Try to use the original project, ryu [1], of which this project is a
> fork.
>
> Regards.
>
> [1]https://github.com/faucetsdn/ryu
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1988220
>
> Title:
> large unused dependency ncclient + paramiko in os-ken
>
> Status in neutron:
> Won't Fix
>
> Bug description:
> Hello,
>
> ncclient which adds paramiko as a dependency, was added as a
> dependency in os-ken 2.5.0, though ncclient doesn't appear to be
> actually used anywhere (https://github.com/openstack/os-
> ken/commit/2495ebdff927a3de2f642b3346ed4f438b2c6316).
>
> Would it be possible for this dependency to be removed? It is not used
> - it increases os-ken's footprint substantially, and for non-x86
> platforms wheels have to be built, which is very resource intensive.
>
> Thanks,
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/neutron/+bug/1988220/+subscriptions
>
>

Revision history for this message
Brian Haley (brian-haley) wrote :

Thanks for the answers Rodolfo, I hadn't looked at the code just that patch.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.