Future of the (deprecated) paramiko connection plugin

The paramiko connection plugin (which has been part of Ansible since version 0.1 apparently) has been deprecated in ansible-core 2.19, but apparently without any indication in the documentation and no runtime warning when someone uses the plugin, and also no mention in the porting guide. (So basically if you didn’t read about it in the changelog, you can’t know about it, even if you use it.) (If you’re interested in why it’s deprecated, see issue #83757 in ansible/ansible.)

(I think the lack of properly communicating the deprecation is a big problem and thus the deprecation should be moved to a later version, but that shouldn’t be the topic of this discussion.)

Recently @shertel created a PR in community.general to add the connection plugin there. After some time, there apparently was a discussion of the networking team taking over the plugin, and thus the PR was closed. But then it turned out that the networking team only wants to keep a subset of it for the network_cli connection plugin, so the future of the general paramiko_ssh plugin is open again. Right now it will be removed from ansible-core without any replacement.

So I guess the big question is: does anyone still use this plugin? I’m happy to get it included in community.general and trying to (help to) keep it alive, but I’m not sure whether it’s still needed. (And since its users might not have even noticed that it will be removed, it’s quite possible that there is a larger user-base who didn’t speak up so far because they simply don’t know that it will get removed.)

2 Likes

There’s also the ssh connection plugin. I don’t use or even know about both plugins. They look somewhat redundant to me. So it would be interesting to know what’s possible with the paramiko plugin that can’t be done with the ssh one.

Some history can be found here. I picked the Ansible 5 docs because the old texts were still there (they likely were already no longer accurate by then).

I don’t remember much about all these, but my guess is that once SSH with ControlPersist became pretty much standard everywhere there wasn’t that much use for the other SSH connection plugins than ssh anymore, except maybe for some special circumstances. I have no idea what these special circumstances can be, which is part of why I opened this thread :wink: If there are none, I guess there’s no need to keep the plugin alive.

2 Likes