Giter Site home page Giter Site logo

parallel-ssh's People

Contributors

amcnabb avatar jvantuyl avatar

Watchers

 avatar  avatar

parallel-ssh's Issues

reading from standard input is broken

It turns out that reading from standard input (as currently implemented) 
only works under certain lucky situations.  It uses non-blocking mode, so 
the input will be truncated if reading blocks for any reason.  It's a 
silent loss of data, so it's kind of a scary bug.  Here's how to reproduce 
it:

cat some_big_file |bin/pssh -i -H localhost "cat >test_file"

In theory, this should make test_file identical to some_big_file.  However, 
since pssh has to read from a pipe from cat, it will usually block at some 
point (particularly if the file is big).

I'm concerned about how to fix this without breaking backwards 
compatibility.  Unfortunately, the current syntax tries to automatically 
detect whether input is available, but this isn't easy to do (if there's a 
delay in reading the input, is it really safe to assume that it won't be 
arriving shortly?).  There are some ways to reduce the severity of the bug, 
but I think that there isn't any way to really fix it without requiring the 
user to specify that they are passing input.

I'm inclined to add a new explicit command-line option (perhaps "-I") to 
indicate that pssh should read from standard input.  If we went this route, 
we could deprecate the current approach; for a few versions, we could 
continue to honor input but give an error message warning that the behavior 
is deprecated.  Any thoughts?

Original issue reported on code.google.com by [email protected] on 19 Feb 2010 at 3:14

  • Blocking: #5

pssh -A failes on Mac OS X with ssh error about /dev/tty

What steps will reproduce the problem?
1. pssh -x '-vvv' -O StrictHostKeyChecking=no -i -A -o pssh-out/ -e pssh-error/ 
-v -H root@somehost uptime

What is the expected output? What do you see instead?
Should prompt for password, ssh in, and then show me the uptime.

What version of the product are you using? On what operating system?
Mac OS X 10.6.7, latest version of pssh. 2.2.2.

Please provide any additional information below.
Here's the relevant output from ssh:

debug2: we did not send a packet, disable method
debug3: authmethod_lookup keyboard-interactive
debug3: remaining preferred: password
debug3: authmethod_is_enabled keyboard-interactive
debug1: Next authentication method: keyboard-interactive
debug2: userauth_kbdint
debug2: we sent a keyboard-interactive packet, wait for reply
debug2: input_userauth_info_req
debug2: input_userauth_info_req: num_prompts 1
debug1: read_passphrase: can't open /dev/tty: Device not configured
debug1: permanently_drop_suid: 1432711545
Password:
debug3: packet_send2: adding 32 (len 14 padlen 18 extra_pad 64)
debug1: Authentications that can continue: 
publickey,gssapi-keyex,gssapi-with-mic,keyboard-interactive
debug2: we did not send a packet, disable method
debug1: No more authentication methods to try.
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,keyboard-interactive).

Original issue reported on code.google.com by [email protected] on 23 May 2011 at 5:41

Enhancement: Task status report does not include username

As of version 2.1.1 task status report contains only hostname and port:

[1] 09:04:01 [FAILURE] host1.example.com Exited with error code XXX
[2] 09:04:01 [SUCCESS] host1.example.com 
[3] 09:04:01 [SUCCESS] host2.example.com

It makes hard to distinguish commands started on the same host, but from 
different users. I propose to add username to task status report like follows:

[1] 09:04:01 [FAILURE] [email protected] Exited with error code XXX
[2] 09:04:01 [SUCCESS] [email protected] 
[3] 09:04:01 [SUCCESS] [email protected]

The change looks trivial. Patch attached.

Original issue reported on code.google.com by [email protected] on 30 Dec 2010 at 4:48

Attachments:

pssh inserts extra spaces between output chunks in outdir files

Example:

> pssh --par=1 --print --hosts=hosts.txt --outdir=outdir --errdir=errdir
'for i in 5 4 3 2 1;do echo -n "$i,";sleep 0.01;done;echo "done"'
hosta01: 5, hosta01: 4,3,2, hosta01: 1, hosta01: done
[1] 13:54:56 [SUCCESS] hosta01
hosta02: 5, hosta02: 4,3,2, hosta02: 1, hosta02: done
[2] 13:54:56 [SUCCESS] hosta02
hostb01: 5, hostb01: 4,3,2,1,done
[3] 13:54:56 [SUCCESS] hostb01
hostb02: 5, hostb02: 4,3,2,1,done
[4] 13:54:57 [SUCCESS] hostb02
hostc01: 5, hostc01: 4,3,2, hostc01: 1, hostc01: done
[5] 13:54:57 [SUCCESS] hostc01
hostc02: 5, hostc02: 4,3,2, hostc02: 1, hostc02: done
[6] 13:54:57 [SUCCESS] hostc02
hostd01: 5, hostd01: 4,3,2,1,done
[7] 13:54:58 [SUCCESS] hostd01
hostd02: 5,4, hostd02: 3,2,1,done
[8] 13:54:58 [SUCCESS] hostd02

> cat outdir/*
5, 4,3,2, 1, done
5, 4,3,2, 1, done
5, 4,3,2,1,done
5, 4,3,2,1,done
5, 4,3,2, 1, done
5, 4,3,2, 1, done
5, 4,3,2,1,done
5,4, 3,2,1,done

The spaces correspond to the chunks of output as reported by --print, but
they should not be there. --inline shows the proper output (without spaces)
so the bug would likely be in the --outdir code.

This is pssh-2.0 on Red Hat Enterprise Linux 5 (python-2.4.3-24.el5)

Original issue reported on code.google.com by [email protected] on 7 Dec 2009 at 7:24

Missing imports for FatalError

What steps will reproduce the problem?
1. Run any of the binaries except pssh
2. Do something bad

What is the expected output? What do you see instead?
We expect a message about the error and see "NameError: global name 
'FatalError' is not defined" instead.

What version of the product are you using? On what operating system?
2.2.1 on RHEL5

Please provide any additional information below.

Original issue reported on code.google.com by [email protected] on 2 Feb 2011 at 9:06

Attachments:

Change hosts file format

As suggested in issue 7, I think it should be better to have the following
format in the hosts file :

[user@]host[:port]

instead of :

host[:port] [user]

I think it's more "natural", and would be more consistent with the new
output file names (see issue 7).

Thanks in advance,
Marc

Original issue reported on code.google.com by [email protected] on 22 Feb 2010 at 10:35

Force pseudo-tty allocation

ssh allows to pass -t flags to force tty allocation. pssh seems to lack this 
functionality as a result its is rather hard to use pssh for invoking certain 
commands which require tty. Primarily sudo.

As a work around I've added a --tty flag to pssh which in turn calls ssh with 
-t -t. However this is rather inelegant. I was wondering if anyone else has a 
better solution for this problem. pssh does provide a -o flag but ssh does not 
seem to have a -o option equivalent to -t. 

Original issue reported on code.google.com by [email protected] on 1 Mar 2011 at 1:57

IOError: [Errno 4] Interrupted system call

If I execute a call such as:

---
pssh -i -h /some/file "ps aux | grep zabbix_agent | grep -v grep" | grep 
"FAILURE"

---

What it should do: execute the command and show all the pssh lines with a 
failure.

What it does:

---
Traceback (most recent call last):
  File "/usr/bin/pssh", line 115, in <module>
    do_pssh(hosts, cmdline, opts)
  File "/usr/bin/pssh", line 86, in do_pssh
    statuses = manager.run()
  File "/usr/lib/python2.5/site-packages/psshlib/manager.py", line 75, in run
    self.update_tasks(writer)
  File "/usr/lib/python2.5/site-packages/psshlib/manager.py", line 135, in update_tasks
    keep_running = self.reap_tasks()
  File "/usr/lib/python2.5/site-packages/psshlib/manager.py", line 160, in reap_tasks
    self.finished(task)
  File "/usr/lib/python2.5/site-packages/psshlib/manager.py", line 198, in finished
    task.report(n)
  File "/usr/lib/python2.5/site-packages/psshlib/task.py", line 267, in report
    sys.stdout.flush()
IOError: [Errno 4] Interrupted system call

---

Running the command without a grep or other piped command (such as mail) works 
just fine.

Original issue reported on code.google.com by thasypher on 4 Feb 2011 at 12:53

AttributeError: 'module' object has no attribute 'siginterrupt'

Getting this error when I use pssh with -i, -h and a filename with servers 
specified:

=======
Traceback (most recent call last):
  File "/home/frank/pssh/bin/pssh", line 115, in <module>
    do_pssh(hosts, cmdline, opts)
  File "/home/frank/pssh/bin/pssh", line 86, in do_pssh
    statuses = manager.run()
  File "/home/frank/pssh/psshlib/manager.py", line 65, in run
    self.set_sigchld_handler()
  File "/home/frank/pssh/psshlib/manager.py", line 103, in set_sigchld_handler
    signal.siginterrupt(signal.SIGCHLD, False)
AttributeError: 'module' object has no attribute 'siginterrupt'
=======

Latest version 2.2.1

Original issue reported on code.google.com by thasypher on 28 Jan 2011 at 10:03

prsync - add additional options

It would be very useful with prsync if the --dry-run and --delete rsync
options could be allowed as well as a few other options.  Since there are
too many rsync options to list individually, I was thinking it might be
most efficient to add a parameter to prsync called --rsync-options (or
something similar) where the options would be passed directly to rsync -
just like the --options that exists now to set arbitrary SSH parameters.

Original issue reported on code.google.com by [email protected] on 22 Oct 2009 at 1:35

Show all failed/failures at the end

It would be nice if PSSH would show all the failed servers at the end. 

Now I have to manually look trough the whole output which is kind of annoying 
with the amount of servers I manage using PSSH or by grepping it (which does 
not work as stated in issue 37 and also does not include the reason of the 
failure)

Original issue reported on code.google.com by thasypher on 4 Feb 2011 at 12:55

allow the -O option to be specified multiple times

What steps will reproduce the problem?

1. Create a file with some hosts hosts e.g.
[[email protected] tmp]$ cat /tmp/servers
aaron.dev
bvanevery.dev

2. Create an identity file readable by current user, e.g.
[[email protected] tmp]$ ll /tmp/tmp.rkWOetj414
-rw------- 1 soham soham 1674 Oct 14 12:21 /tmp/tmp.rkWOetj414

3. Run pssh on them with any command, pass parameters which bypass strict 
hostkey verification and also pass in the identity file and notice the error 
e.g.:

[[email protected] tmp]$ /usr/bin/pssh -i -v -h /tmp/servers -O 
UserKnownHostsFile=/dev/null -O StrictHostKeyChecking=no -O 
IdentityFile=/tmp/tmp.rkWOetj414   "uptime"
[1] 20:59:46 [FAILURE] aaron.dev Exited with error code 255
Stderr: Permission denied.  Please create SSH keys or use the -A option to
provide a password.
Host key verification failed.
[2] 20:59:46 [FAILURE] bvanevery.dev Exited with error code 255
Stderr: Permission denied.  Please create SSH keys or use the -A option to
provide a password.
Host key verification failed.




What is the expected output? What do you see instead?

See above for output that I see. I expect to bypass host key verification, like 
it happens in usual ssh e.g.

[[email protected] tmp]$ ssh -o UserKnownHostsFile=/dev/null -o 
StrictHostKeyChecking=no -o IdentityFile=/tmp/tmp.rkWOetj414 aaron.dev "uptime"
Warning: Permanently added 'aaron.dev,10.8.10.140' (RSA) to the list of known 
hosts.
 21:01:42 up 217 days, 10:37,  0 users,  load average: 0.21, 0.12, 0.04


[[email protected] tmp]$ cat ~/.ssh/known_hosts | grep aaron.dev
[[email protected] tmp]$




What version of the product are you using? On what operating system?

pssh-2.1.1,  x86_64 GNU/Linux,  2.6.18-194.el5 #1 SMP

ssh -V : OpenSSH_5.3p1-hpn13v7, OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008





Please provide any additional information below.


1. If I do not pass the IdentityFile, it does not cause this problem, but it 
doesn't seem to respect the UserKnownHostsFile either:

[[email protected] tmp]$ /usr/bin/pssh -i -v -h /tmp/servers -O 
UserKnownHostsFile=/dev/null -O StrictHostKeyChecking=no   "uptime"
[1] 20:59:21 [SUCCESS] aaron.dev
 20:59:12 up 217 days, 10:34,  0 users,  load average: 0.02, 0.07, 0.03
Stderr: Warning: Permanently added 'aaron.dev,10.8.10.140' (RSA) to the list of 
known hosts.
[2] 20:59:21 [SUCCESS] bvanevery.dev
 20:59:12 up 110 days, 20:00,  0 users,  load average: 0.00, 0.00, 0.00
Stderr: Warning: Permanently added 'bvanevery.dev,10.8.10.172' (RSA) to the 
list of known hosts.

2. Order of ssh-options doesn't matter


Original issue reported on code.google.com by [email protected] on 15 Oct 2010 at 4:16

Only show failed / hide success

It would be nice if there was a switch to only show the failed actions, and 
hides the SUCCESS fields.

If you are doing something not requiring output, it would be easier to see 
which are failed instead of all of the output.

Original issue reported on code.google.com by thasypher on 4 Feb 2011 at 4:27

Outfile Problem with same host and different ports

Hello,

I reported this bug to the Debian Project :

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=549107

I'm using a patched version of pssh to solve the bug (see debian bug report).

Thanks in advance,
Marc

Original issue reported on code.google.com by [email protected] on 21 Dec 2009 at 1:15

Problem with pass protected ssh private key

What steps will reproduce the problem :

1. Protect your ssh private key with a password.
2. Run pssh :
/tmp/pssh-2.0/bin$ ./pssh -v -h /tmp/hosts.txt -o /tmp/output/ -e
/tmp/error/ ls
[1] 16:38:04 [FAILURE] server1 Exited with error code 255
[2] 16:38:09 [FAILURE] server2 Exited with error code 255
[3] 16:38:10 [FAILURE] server3 Exited with error code 255

3. /tmp/pssh-2.0/bin$ cat /tmp/error/*
ssh_askpass: exec(/usr/lib/pymodules/python2.5/psshlib/askpass.py):
Permission denied
Permission denied (publickey,password).
ssh_askpass: exec(/usr/lib/pymodules/python2.5/psshlib/askpass.py):
Permission denied
Permission denied (publickey,password).
ssh_askpass: exec(/usr/lib/pymodules/python2.5/psshlib/askpass.py):
Permission denied
Permission denied (publickey,password).

Am I missing something ?

Thanks in advance,
Marc

Original issue reported on code.google.com by [email protected] on 21 Dec 2009 at 3:42

Change host file and command syntax

Hi, I suggest to give host file a different structure so, for each host, it can 
be possible to pass different ssh options.

simply something like

ip ssh_options
55.33.22.11 -p 12345 -l myuser -i mykey -C
55.33.22.12 -l root

In a lan envirormet this might not be necessesary, but over the Internet, we 
might have server server on non standard port.

Original issue reported on code.google.com by [email protected] on 17 Mar 2011 at 9:13

Variable for hostname

This is a feature request, not a bug.

It would be nice if you could use a variable, for instance %hostname% where it 
replaces the variable with the hostname (or IP) of the server it is connecting 
to.

Original issue reported on code.google.com by thasypher on 21 Feb 2011 at 8:28

Add support for the PSSH_TIMEOUT environment variable

Hi,
I often found the default timeout imposed on the pssh command to be too 
short, and right now the only workaround to it is to specify it manually on 
the command line, which is annoying.

Given the fact that there is support for numerous environment variables to 
control the default values of pssh options, I would like to be able to 
specify the default timeout by exporting a PSSH_TIMEOUT variable.

Is this feasible?

Thanks for the consideration.
Regards.

Original issue reported on code.google.com by [email protected] on 18 Jan 2010 at 1:38

Feature to copy/rsync files from multiple hosts to a local host.

What steps will reproduce the problem?
1. Its not a problem but a feature request. 
The requirement was to use paraller scp /rsync and copy files from several
remote machines and copy it over to a local machine. prsync/pscp has the
feature of copying files from a machine to multiple machines but not the
other way.


What is the expected output? What do you see instead?


What version of the product are you using? On what operating system?


Please provide any additional information below.


Original issue reported on code.google.com by [email protected] on 23 Oct 2009 at 6:21

pssh - allow command to come in from stdin

Currently it's possible to pass ssh a script via stdin to run on the remote
machine like:

ssh user@host < script.sh

but when I try the equivalent with pssh:

pssh -h hosts.txt < script.sh

I get an error "pssh: error: Command not specified".

Would it be possible for pssh to allow the command to be run on the remote
machines come in via stdin like ssh does?

Original issue reported on code.google.com by [email protected] on 4 Nov 2009 at 1:55

  • Blocked on: #12

pssh 2.1 broken

What steps will reproduce the problem?
1. pssh -h hosts.txt -l root -i uptime


What is the expected output?

[darose@daroselin ~]$ pssh -h
code/admin/nagios/config/primary/demdex/demdex-hosts.txt -l root -i uptime
[1] 11:33:27 [SUCCESS] <server 1>
 16:32:49 up 90 days, 18:04,  0 users,  load average: 0.00, 0.00, 0.00
[2] 11:33:27 [SUCCESS] <server 2>
 ...


What do you see instead?

[1] 11:33:27 [SUCCESS] <server 1>
 16:32:49 up 90 days, 18:04,  0 users,  load average: 0.00, 0.00, 0.00
Traceback (most recent call last):
  File "/usr/bin/pssh", line 119, in <module>
    do_pssh(hosts, cmdline, opts)
  File "/usr/bin/pssh", line 110, in do_pssh
    manager.run()
  File "/usr/lib/python2.6/site-packages/psshlib/manager.py", line 69, in run
    self.start_tasks(writer)
  File "/usr/lib/python2.6/site-packages/psshlib/manager.py", line 113, in
start_tasks
    task.start(self.taskcount, self.iomap, writer, self.askpass_socket)
  File "/usr/lib/python2.6/site-packages/psshlib/task.py", line 84, in start
    close_fds=True, preexec_fn=os.setsid, env=environ)
  File "/usr/lib/python2.6/subprocess.py", line 621, in __init__
    errread, errwrite)
  File "/usr/lib/python2.6/subprocess.py", line 1115, in _execute_child
    data = os.read(errpipe_read, 1048576) # Exceptions limited to 1 MB
OSError: [Errno 4] Interrupted system call


What version of the product are you using? On what operating system?

OS:  Arch Linux
system arch:  x86_64
kernel:  2.6.32.9
pssh version:  2.1
python version:  2.6.4


Please provide any additional information below.

Original issue reported on code.google.com by [email protected] on 2 Mar 2010 at 4:44

  • Merged into: #15

pssh cannot be used from a script?

A simple execution of pssh "hangs" when run from a script. PS shows the
following"


\_ sshd: soham [priv]
   \_ sshd: soham@pts/1
       \_ -bash
           \_ -bash
              \_ /usr/bin/python /usr/bin/pssh -h blah -P -t 5 uptime



Original issue reported on code.google.com by [email protected] on 27 Oct 2009 at 3:03

Add the ability to treat the # sign as a comment in host files

What steps will reproduce the problem?
1. Create appservers.hosts with hostnames or comments

What is the expected output? What do you see instead?
Bad line. Must be host[:port] [login]

What version of the product are you using? On what operating system?
Centos 5.5 pssh2.1.1

Please provide any additional information below.

Pssh cant reach server with hostname like as pssh -H server01 command
and pssh cant read hosts(which is created for pssh) file when line has comment.

Original issue reported on code.google.com by [email protected] on 18 Oct 2010 at 11:59

Interrupted System Call

I intermittently get an interrupted system call exception, with the following 
traceback:

:Traceback (most recent call last):
  File "/usr/bin/pssh", line 5, in ?
    pkg_resources.run_script('pssh==2.1.1', 'pssh')
  File "/usr/lib/python2.4/site-packages/setuptools-0.6c11-py2.4.egg/pkg_resources.py", line 489, in run_script
    self.require(requires)[0].run_script(script_name, ns)
  File "/usr/lib/python2.4/site-packages/setuptools-0.6c11-py2.4.egg/pkg_resources.py", line 1214, in run_script
    exec script_code in namespace, namespace
  File "/usr/bin/pssh", line 119, in ?

  File "/usr/bin/pssh", line 110, in do_pssh

  File "build/bdist.linux-x86_64/egg/psshlib/manager.py", line 68, in run
  File "build/bdist.linux-x86_64/egg/psshlib/manager.py", line 122, in update_tasks
  File "build/bdist.linux-x86_64/egg/psshlib/manager.py", line 147, in reap_tasks
  File "build/bdist.linux-x86_64/egg/psshlib/manager.py", line 185, in finished
  File "build/bdist.linux-x86_64/egg/psshlib/task.py", line 264, in report
IOError: [Errno 4] Interrupted system call

I haven't been able to come up with detailed reproduction steps, as it doesn't 
seem to be caused by the commands that I'm using.

Original issue reported on code.google.com by [email protected] on 16 Jun 2010 at 1:56

pssh overrides default users from .ssh/config

From dooblempub (originally in issue #8):

Comment 14 by [email protected], Today (11 hours ago)
Ok, I made one test again. Maybe we are searching the wrong way.

I managed to make it work with my ssh private key !!

In fact, I had to tell pssh the right user in the hosts file :

SERVER root
instead of just :
SERVER

I have "User root" in my ~/.ssh/config file, in order to tell ssh to use 
"root" as
default user instead of my own username.

SSH called from pssh seems to ignore the user config. No ?

Original issue reported on code.google.com by [email protected] on 22 Feb 2010 at 11:17

prsync - error when SSH daemon on non-standard port

I run my SSH daemon on a non-standard port (e.g. 2222), and I set my hosts
file to be "server:2222".  When I use pssh to run a command, it works
great, but with prsync, I get an error "Received error code of 255".  From
looking at the prsync code, I think the issue is related to using --port to
set the port.  When I use rsync over ssh to a non-standard port, I always
do this instead:

rsync -e "ssh -p 2222" ...

so I pass the port to ssh, rather than to rsync.

Can this be updated in the prsync code?

Original issue reported on code.google.com by [email protected] on 22 Oct 2009 at 1:33

pssh ignores stderr

pssh collects stdout (with --print option) and ignores stderr, whereas stderr 
is the important thing: all errors are printed there.

Original issue reported on code.google.com by [email protected] on 5 Mar 2011 at 9:08

pssh needs man pages

There aren't any man pages for pssh, prsync, etc.  This would be very useful 
for users (and forgetful developers).

Original issue reported on code.google.com by [email protected] on 16 Feb 2010 at 11:41

Add ability to pass arbitrary options to rsync

rsync supports a tremendous number of options; it would be nice to be able to 
pass these to it rather than being limited only to recursion. It will probably 
be cumbersome to implement a mapping to all of the available rsync options, and 
some of the pssh options have conflicting names, so it would be good to simply 
have the ability to pass them as an arbitrary string.

There's a lot of ways to do this: setting an environment variable, passing some 
sort of command line option, etc.

Does the maintainer have thoughts on how this would best be done?

Original issue reported on code.google.com by [email protected] on 4 Nov 2010 at 5:54

pscp should support copying from remotes to the local machine

Feature request.  It took me awhile to figure out that pscp is really for 
distributing a single file to many machines in the same location, while I need 
a tool which will gather all the files from the remote servers and copy them 
locally.  Hopefully I can accomplish this by scripting against libpssh.

Original issue reported on code.google.com by [email protected] on 24 Feb 2011 at 3:20

Enhancement: gather files with different names via wildcard

A problem I had that these tools couldn't solve:

On a set of hosts, I had a number of files, all different by name. I wanted to 
copy them all into one local directory. I ended up doing this:

for f in `cut -f1 -d\  ../hosts`; do scp myuser@${f}:'results-*' .; done

It seems like that's a reasonable use case for these tools to support 
eventually, so I thought I'd mention it.

Thanks!

Original issue reported on code.google.com by [email protected] on 12 Nov 2010 at 9:13

Merge output from multiple servers

I'm happy user of pssh. I used it yesterday to setup 10 servers. I run pssh 
with -i option to watch server output. Servers are identical except IP 
addresses and hostnames.

Some commands produce a page of output (like apt-get install). So command on 10 
servers produce 10 copies of almost identical output. Lot of noise. It would be 
helpful, if pssh merged output of commands while output is the same.

Consider command that outputs:

===
updating bla-bla
installing something useful
time is 14:30:22
===

pssh -i with three servers could output:

===
srv1:
srv2:
srv3:
updating bla-bla
installing bla-bla
srv1:
time is 14:30:21
srv2:
time is 14:30:22
srv3:
error happened
===

I think pssh should merge only identical heads of servers output (not tail, not 
middle).

Original issue reported on code.google.com by [email protected] on 6 Mar 2011 at 11:18

pssh-2.2, pssh fails

What steps will reproduce the problem?
1. Upgrade to python 2.6.6_1 (using MacPorts)
2. Install pssh-2.2
3. pssh -l myname -h hostsfile 'rm -f foo'  (remote command does not matter)

What is the expected output? What do you see instead?

Traceback (most recent call last):
  File "/opt/local/bin/pssh", line 115, in <module>
    do_pssh(hosts, cmdline, opts)
  File "/opt/local/bin/pssh", line 83, in do_pssh
    t = Task(host, port, user, cmd, opts, stdin)
  File "/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/psshlib/task.py", line 37, in __init__
    self.pretty_host = '@'.join((user, self.pretty_host))
TypeError: sequence item 0: expected string, NoneType found


What version of the product are you using? On what operating system?
pssh-2.2 on Mac OS X 10.6.6

Please provide any additional information below.

pssh-2.1 did not have these issues. I upgraded my MacPorts install base (using 
$ sudo port -u upgrade outdated) recently and I noticed Python was upgraded to 
2.6.6_1 from "2.6.6_0+no_tkinter"

Original issue reported on code.google.com by [email protected] on 26 Jan 2011 at 8:16

output filename format (patch available)

I would like to able to define a format for the name of the output file. Eg. 
%host_%Y%M%D_%H%M.txt. That way it would be able to keep multiple logfiles 
collected during the day... :-) 

Original issue reported on code.google.com by [email protected] on 21 Jul 2010 at 6:33

Ability to select a subset of hosts from hostlist

Please consider the attached path, which adds support for selecting a group of 
hosts based on descriptor-columns in the host-list. The host list file parser 
is expanded to support delimiter-separated values where the last column is the 
hostname. A new flag (-s) is introduced which allows the selection of hosts, 
each column can be matched by a regular expression. When all columns match the 
host is selected for the pssh operation.

Example; consider the following hostlist file:
yellow fruit userA@banana
green fruit userB@watermelon
red fruit userC@cherry
green veg userD@cucumber 
yellow veg userE@squash
red veg userF@beet

pssh -h hostlist -s ".* veg" ls: will run ls on all "vegetable" hosts
pssh -h hostlist -s "red .*": will select all red vegetable/fruit hosts.

The change is largely backwards compatible. When no -s flag is passed it is 
assumed that the traditional hostlist format is used. It should be noted that 
when -s is used the "hostname [user]" will not longer be a proper 
specification, and  "[username@]hostname" should be used instead.

The number of "descriptor" columns in the host files is arbitrary, however the 
-s flag must have the corresponding number of space separated regular 
expressions.

The primary use case for this feature is for environments that have many 
different types of hosts and its is often necessary to perform an operation on 
a particular host-class. Previously one would have had to maintain separate 
hostlist file for each host-type and it was rather cumbersome.

Comments/suggestions welcome.

Original issue reported on code.google.com by [email protected] on 1 Mar 2011 at 1:16

Attachments:

askpass doesn't look at AUTH_USERNAME and AUTH_HOSTNAME env variables

I noticed in the following blog entry that ssh-askpass can be used for 
either passwords or for accepting host identities:

http://www.mudflatsoftware.com/blog/2010/01/wrapping-rsync-or-ssh-in-an-
nstask/

I haven't actually confirmed this, but it's probably good to update 
askpass.py to check specifically for the AUTH_USERNAME and AUTH_HOSTNAME 
environment variables.  It makes sense to first verify that this is actually 
how things work.  At that point, we need to figure out what should happen in 
the AUTH_HOSTNAME case.

Original issue reported on code.google.com by [email protected] on 18 Feb 2010 at 11:11

Killed by signal 9

What steps will reproduce the problem?
1.parallel-ssh -A -h ips.txt -l username uptime
2.
3.

What is the expected output? What do you see instead?
It shows success one time but after that i get Timed out, Killed by signal 9
and my CPU get full while trying that.

What version of the product are you using? On what operating system?
pssh 2.1

Please provide any additional information below.
Operating system Debian Squeeze

OUTPUT:
parallel-ssh -A  -v -h ips.txt -l username -o /tmp/foo -e /tmp/error ps
Warning: do not enter your password if anyone else has superuser
privileges or access to your account.
Password: 
[1] 09:14:34 [FAILURE] 10.211.10.10 Timed out, Killed by signal 9
[2] 09:14:34 [FAILURE] 10.211.10.72 Timed out, Killed by signal 9



Original issue reported on code.google.com by [email protected] on 15 Sep 2010 at 3:51

switch default from quiet to verbose

Right now, pssh sends the "-q" option to ssh, putting it in quiet mode.  This 
is bad because fatal errors like "REMOTE HOST IDENTIFICATION HAS CHANGED" don't 
get displayed, and it's hard for users to know why the connection failed.  I 
think it would be better to make people specify "-q" if they really want it to 
be so quiet.

Original issue reported on code.google.com by [email protected] on 12 Jan 2011 at 10:43

pssh broken with Python 2.4

What steps will reproduce the problem?
1. $ pssh -H localhost date

What is the expected output? What do you see instead?

I would expect to see:

[1] 07:38:11 [SUCCESS] localhost

Instead, I see:

Traceback (most recent call last):
  File "/usr/bin/pssh", line 5, in ?
    pkg_resources.run_script('pssh==2.1', 'pssh')
  File "/usr/lib/python2.4/site-packages/setuptools-0.6c11-
py2.4.egg/pkg_resources.py", line 489, in run_script
    self.require(requires)[0].run_script(script_name, ns)
  File "/usr/lib/python2.4/site-packages/setuptools-0.6c11-
py2.4.egg/pkg_resources.py", line 1214, in run_script
    exec script_code in namespace, namespace
  File "/usr/bin/pssh", line 119, in ?

  File "/usr/bin/pssh", line 110, in do_pssh

  File "build/bdist.linux-x86_64/egg/psshlib/manager.py", line 67, in run
  File "build/bdist.linux-x86_64/egg/psshlib/manager.py", line 203, in poll
  File "build/bdist.linux-x86_64/egg/psshlib/manager.py", line 96, in 
handle_sigchld
AttributeError: 'int' object has no attribute 'write'


What version of the product are you using? On what operating system?

pssh-2.1

$ python -V
Python 2.4.3

$ uname -a
Linux testhost 2.6.21-2952xen #1 SMP Tue Feb 12 09:11:36 EST 2008 
x86_64 x86_64 x86_64 GNU/Linux


Please provide any additional information below.

I'm not sure if this is due to the x86_64 architecture or the version of 
Python that I have installed. I repeated the installation on OS X and the test 
above runs just fine. Using ssh instead of pssh on the same installation 
works fine as well.

Original issue reported on code.google.com by [email protected] on 26 Feb 2010 at 3:48

--exclude and --exclude-from options for prsync

What steps will reproduce the problem?

This is not really a problem, but a feature request for prsync.
rsync allows for the following options, but prsync doesnt (from what I can
tell):
     --exclude=PATTERN       exclude files matching PATTERN
     --exclude-from=FILE     exclude patterns listed in FILE

These options would allow greater flexibility when managing different types
of servers from a central location.  There is definitely a workaround for
this, but requires an extra rsync.  It would great to have it built in
directly in the prsync utility.

Sorry, I am not sure if this should go here, but I did not see a feature
request section.

Great utility!  Thanks.


What is the expected output? What do you see instead?


What version of the product are you using? On what operating system?
1.4.3

Please provide any additional information below.

Original issue reported on code.google.com by [email protected] on 1 Mar 2010 at 8:24

the "-h" and "-H" options don't override the PSSH_HOSTS environment variable

What steps will reproduce the problem?
1.as user lambda, do "pssh -i -H host1 date"
2.as root, do ""pssh -i -H host1 date"

What is the expected output? What do you see instead?
What is expected as user and root is:
$ pssh -i -H host1 date
[1] 16:42:31 [SUCCESS] host1
Thu Mar  4 16:37:31 CET 2010

Instead, as root, you get:
# pssh -i -H host1 date
[1] 16:37:31 [SUCCESS] host1
Thu Mar  4 16:37:31 CET 2010
[2] 16:37:31 [SUCCESS] host2
Thu Mar  4 16:37:31 CET 2010
[3] 16:37:31 [SUCCESS] host3
Thu Mar  4 16:37:31 CET 2010
[4] 16:37:31 [SUCCESS] host4
Thu Mar  4 16:37:31 CET 2010
[5] 16:37:31 [SUCCESS] host5
Thu Mar  4 16:37:31 CET 2010
[6] 16:37:31 [SUCCESS] host6
Thu Mar  4 16:37:31 CET 2010
[7] 16:37:31 [SUCCESS] host7

All hosts listed in your host file will display the date although I specified 
the option -H.

What version of the product are you using? On what operating system?
pssh-2.1-1.fc12.noarch on fedora 12.

Original issue reported on code.google.com by [email protected] on 4 Mar 2010 at 3:49

prsync --ssh-args mangles arguments

A command such as:
  prsync --ssh-args="-a -x"

winds up passed to rsync as:
  "-e ssh - a  - x"

Unless I'm misunderstanding the usage of --ssh-args, this is a small bug in 
opts parsing.  Patch attached.

Original issue reported on code.google.com by jbyers on 24 Sep 2010 at 8:33

Attachments:

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.