Details
Description
When attempting to use knife ssh "roles:core" tmux (or any other query containing a colon) on OS X 10.7 with tmux 1.5 (via homebrew), tmux reports "bad session name."
Example knife -VV output follows:
DEBUG: Using configuration from /Users/user/.chef/knife.rb
DEBUG: Signing the request as user
DEBUG: Sending HTTP Request via GET to api.opscode.com:443/organizations/someorg/search/node
DEBUG: Adding ec2-obfuscated.compute-1.amazonaws.com
DEBUG: Adding ec2-obfuscated.compute-1.amazonaws.com
DEBUG: Adding ec2-obfuscated.compute-1.amazonaws.com
DEBUG: Adding ec2-obfuscated.compute-1.amazonaws.com
DEBUG: Adding ec2-obfuscated.compute-1.amazonaws.com
DEBUG: Adding ec2-obfuscated.compute-1.amazonaws.com
DEBUG: Adding ec2-obfuscated.compute-1.amazonaws.com
DEBUG: Adding ec2-obfuscated.compute-1.amazonaws.com
DEBUG: Adding ec2-obfuscated.compute-1.amazonaws.com
DEBUG: Executing tmux new-session -d -s 'knife ssh roles:core' -n 'ec2-obfuscated.compute-1.amazonaws.com' 'ssh user@ec2-obfuscated.compute-1.amazonaws.com' \; new-window -a -n 'ec2-obfuscated.compute-1.amazonaws.com' 'ssh user@ec2-obfuscated.compute-1.amazonaws.com' \; new-window -a -n 'ec2-obfuscated.compute-1.amazonaws.com' 'ssh user@ec2-obfuscated.compute-1.amazonaws.com' \; new-window -a -n 'ec2-obfuscated.compute-1.amazonaws.com' 'ssh user@ec2-obfuscated.compute-1.amazonaws.com' \; new-window -a -n 'ec2-obfuscated.compute-1.amazonaws.com' 'ssh user@ec2-obfuscated.compute-1.amazonaws.com' \; new-window -a -n 'ec2-obfuscated.compute-1.amazonaws.com' 'ssh user@ec2-obfuscated.compute-1.amazonaws.com' \; new-window -a -n 'ec2-obfuscated.compute-1.amazonaws.com' 'ssh user@ec2-obfuscated.compute-1.amazonaws.com' \; new-window -a -n 'ec2-obfuscated.compute-1.amazonaws.com' 'ssh user@ec2-obfuscated.compute-1.amazonaws.com' \; new-window -a -n 'ec2-obfuscated.compute-1.amazonaws.com' 'ssh user@ec2-obfuscated.compute-1.amazonaws.com'
DEBUG: ---- Begin output of tmux new-session -d -s 'knife ssh roles:core' -n 'ec2-obfuscated.compute-1.amazonaws.com' 'ssh user@ec2-obfuscated.compute-1.amazonaws.com' \; new-window -a -n 'ec2-obfuscated.compute-1.amazonaws.com' 'ssh user@ec2-obfuscated.compute-1.amazonaws.com' \; new-window -a -n 'ec2-obfuscated.compute-1.amazonaws.com' 'ssh user@ec2-obfuscated.compute-1.amazonaws.com' \; new-window -a -n 'ec2-obfuscated.compute-1.amazonaws.com' 'ssh user@ec2-obfuscated.compute-1.amazonaws.com' \; new-window -a -n 'ec2-obfuscated.compute-1.amazonaws.com' 'ssh user@ec2-obfuscated.compute-1.amazonaws.com' \; new-window -a -n 'ec2-obfuscated.compute-1.amazonaws.com' 'ssh user@ec2-obfuscated.compute-1.amazonaws.com' \; new-window -a -n 'ec2-obfuscated.compute-1.amazonaws.com' 'ssh user@ec2-obfuscated.compute-1.amazonaws.com' \; new-window -a -n 'ec2-obfuscated.compute-1.amazonaws.com' 'ssh user@ec2-obfuscated.compute-1.amazonaws.com' \; new-window -a -n 'ec2-obfuscated.compute-1.amazonaws.com' 'ssh user@ec2-obfuscated.compute-1.amazonaws.com' ----
DEBUG: STDOUT:
DEBUG: STDERR: bad session name: knife ssh roles:core
DEBUG: ---- End output of tmux new-session -d -s 'knife ssh roles:core' -n 'ec2-obfuscated.compute-1.amazonaws.com' 'ssh user@ec2-obfuscated.compute-1.amazonaws.com' \; new-window -a -n 'ec2-obfuscated.compute-1.amazonaws.com' 'ssh user@ec2-obfuscated.compute-1.amazonaws.com' \; new-window -a -n 'ec2-obfuscated.compute-1.amazonaws.com' 'ssh user@ec2-obfuscated.compute-1.amazonaws.com' \; new-window -a -n 'ec2-obfuscated.compute-1.amazonaws.com' 'ssh user@ec2-obfuscated.compute-1.amazonaws.com' \; new-window -a -n 'ec2-obfuscated.compute-1.amazonaws.com' 'ssh user@ec2-obfuscated.compute-1.amazonaws.com' \; new-window -a -n 'ec2-obfuscated.compute-1.amazonaws.com' 'ssh user@ec2-obfuscated.compute-1.amazonaws.com' \; new-window -a -n 'ec2-obfuscated.compute-1.amazonaws.com' 'ssh user@ec2-obfuscated.compute-1.amazonaws.com' \; new-window -a -n 'ec2-obfuscated.compute-1.amazonaws.com' 'ssh user@ec2-obfuscated.compute-1.amazonaws.com' \; new-window -a -n 'ec2-obfuscated.compute-1.amazonaws.com' 'ssh user@ec2-obfuscated.compute-1.amazonaws.com' ----
DEBUG: Ran tmux new-session -d -s 'knife ssh roles:core' -n 'ec2-obfuscated.compute-1.amazonaws.com' 'ssh user@ec2-obfuscated.compute-1.amazonaws.com' \; new-window -a -n 'ec2-obfuscated.compute-1.amazonaws.com' 'ssh user@ec2-obfuscated.compute-1.amazonaws.com' \; new-window -a -n 'ec2-obfuscated.compute-1.amazonaws.com' 'ssh user@ec2-obfuscated.compute-1.amazonaws.com' \; new-window -a -n 'ec2-obfuscated.compute-1.amazonaws.com' 'ssh user@ec2-obfuscated.compute-1.amazonaws.com' \; new-window -a -n 'ec2-obfuscated.compute-1.amazonaws.com' 'ssh user@ec2-obfuscated.compute-1.amazonaws.com' \; new-window -a -n 'ec2-obfuscated.compute-1.amazonaws.com' 'ssh user@ec2-obfuscated.compute-1.amazonaws.com' \; new-window -a -n 'ec2-obfuscated.compute-1.amazonaws.com' 'ssh user@ec2-obfuscated.compute-1.amazonaws.com' \; new-window -a -n 'ec2-obfuscated.compute-1.amazonaws.com' 'ssh user@ec2-obfuscated.compute-1.amazonaws.com' \; new-window -a -n 'ec2-obfuscated.compute-1.amazonaws.com' 'ssh user@ec2-obfuscated.compute-1.amazonaws.com' returned 1
Neglected to mention that I have tested creating tmux sessions at the command line and found that using a session name containing a colon resulted in the same "bad session name" error.