Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use of _transport instead of the more appropriate get_transport() #37

Closed
bitprophet opened this issue Aug 19, 2011 · 5 comments
Closed

Comments

@bitprophet
Copy link
Member

Description

Fabric depends on Paramiko > 1.7. In all the 1.7 releases of Paramiko the suggested way of accessing the transport is the use of get_transport() instead of _transport. The main benefit is being able to interchangeably use Channels or SSHClients as generic 'client' objects.

From what I see there are 2 occurrences of _transport in the code and both are in operations.py. Incidentally again this would increase freedom to implement extensions to Fabric since it wouldn't rely on a specific private interface but on a public interface that Paramiko uses across multiple objects.


Originally submitted by Anonymous () on 2009-07-27 at 04:13pm EDT


Closed as Done on 2011-03-16 at 02:53pm EDT

@ghost ghost assigned bitprophet Aug 19, 2011
@bitprophet
Copy link
Member Author

Erich Heine (sophacles) posted:


There was only one instance in the tree now, fixed in my git repos: http://github.com/sophacles/fabric/tree/bug37


on 2010-02-09 at 03:04pm EST

@bitprophet
Copy link
Member Author

Morgan Goose (goosemo) posted:


Going from the original description this fix's need was removed by the 1.0 release. I'd say instead it should be a 0.9.5 bug now, if at all.


on 2011-03-15 at 09:49am EDT

@bitprophet
Copy link
Member Author

Jeff Forcier (bitprophet) posted:


Yea, not sure why this got bumped to 1.0 other than a "do this later" punt. Should be compatible with all versions.


on 2011-03-15 at 10:09am EDT

@bitprophet
Copy link
Member Author

Morgan Goose (goosemo) posted:


The lines that were patched aren't being used the same way in the 1.0 release. The new interactivity feature doesn't have the line or call anymore that was needing to be updated. Figured 0.9.5 still might, as it's using a non-remade get().

Line change in Erich's commit:
def get(remote_path, local_path):
...
- channel = connections[env.host_string]._transport.open_session()
+ channel = connections[env.host_string].get_transport().open_session()


on 2011-03-15 at 10:42am EDT

@bitprophet
Copy link
Member Author

Jeff Forcier (bitprophet) posted:


Applied in changeset commit:29c3ba8bd54b450f95b9fcbe4f6fd19d8fc07701.


on 2011-03-16 at 02:53pm EDT

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant