Utilities related to SSH connection management.
- class SSHPool(ip, port, conn_timeout, login, password=None, privatekey=None, *args, **kwargs)¶
A simple eventlet pool to hold ssh connections.
Generate a new pool item. In order for the pool to function, either this method must be overriden in a subclass or the pool must be constructed with the create argument. It accepts no arguments and returns a single instance of whatever thing the pool is supposed to contain.
create()is called whenever the pool exceeds its previous high-water mark of concurrently-checked-out-items. In other words, in a new pool with min_size of 0, the very first call to
get()will result in a call to
create(). If the first caller calls
put()before some other caller calls
get(), then the first item will be returned, and
create()will not be called a second time.
Return an item from the pool, when one is available.
This may cause the calling greenthread to block. Check if a connection is active before returning it.
For dead connections create and return a new connection.
Put an item back into the pool, when done. This may cause the putting greenthread to block.
Close an ssh client and remove it from free_items.