puppet-pssh 0.1 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.md +17 -1
- data/bin/puppet-pssh +3 -0
- data/lib/puppet-pssh.rb +4 -2
- metadata +1 -1
data/README.md
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
# puppet-pssh
|
2
2
|
|
3
|
-
Puppet parallel-ssh integration
|
3
|
+
Puppet parallel-ssh integration.
|
4
|
+
|
5
|
+
Needs parallel-ssh installed (apt-get install pssh on Ubuntu/Debian).
|
4
6
|
|
5
7
|
# Install
|
6
8
|
|
@@ -8,8 +10,22 @@ Puppet parallel-ssh integration
|
|
8
10
|
|
9
11
|
# Usage
|
10
12
|
|
13
|
+
The command has a built-in help:
|
14
|
+
|
11
15
|
puppet-pssh --help
|
12
16
|
|
17
|
+
The run command:
|
18
|
+
|
19
|
+
puppet-pssh run --puppetmaster 192.168.1.1 \
|
20
|
+
--match 'openstack|swift|compute' \
|
21
|
+
--nameserver 10.0.0.1 \
|
22
|
+
--no-host-key-verify \
|
23
|
+
puppet agent -t
|
24
|
+
|
25
|
+
This will run the command 'puppet agent -t' on every node whose FQDN matches /openstack|swift|compute/ (regexp). It will try to resolve node names using DNS server 10.0.0.1 and use the IP address instead.
|
26
|
+
Also, SSH host key verification also is disabled.
|
27
|
+
|
28
|
+
|
13
29
|
# Copyright
|
14
30
|
|
15
31
|
Copyright (c) 2012 Sergio Rubio. See LICENSE.txt for
|
data/bin/puppet-pssh
CHANGED
data/lib/puppet-pssh.rb
CHANGED
@@ -7,7 +7,7 @@ require 'colored'
|
|
7
7
|
|
8
8
|
module PuppetPSSH
|
9
9
|
|
10
|
-
VERSION = "0.1"
|
10
|
+
VERSION = "0.1.1"
|
11
11
|
|
12
12
|
if !defined? Log or Log.nil?
|
13
13
|
Log = Logger.new($stdout)
|
@@ -84,6 +84,7 @@ module PuppetPSSH
|
|
84
84
|
option ["-H", "--hostlist-path"], "HOSTLIST_PATH", "Save host list to path", :default => '/tmp/puppet-pssh-run-hostlist'
|
85
85
|
option ["-o", "--node-output-path"], "NODE_OUTPUT_PATH", "Save host list to path", :default => '/tmp/'
|
86
86
|
option "--[no-]host-key-verify", :flag, "Verify SSH host key", :default => true
|
87
|
+
option "--threads", "THREADS", "Use up to N threads", :default => 40
|
87
88
|
|
88
89
|
def execute
|
89
90
|
unless File.exist?(pssh_path)
|
@@ -133,12 +134,13 @@ module PuppetPSSH
|
|
133
134
|
command = "sleep `echo $[ ( $RANDOM % 30 ) + 1 ]`;" + command_list.join(' ')
|
134
135
|
Log.info "Node log output path: #{node_output_path}"
|
135
136
|
Log.info "Running command '#{command}' with parallel-ssh..."
|
137
|
+
Log.info "Max threads: #{threads}"
|
136
138
|
ssh_opts = ''
|
137
139
|
unless host_key_verify?
|
138
140
|
Log.warn 'Disabled host key verification'
|
139
141
|
ssh_opts = '-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null'
|
140
142
|
end
|
141
|
-
system "#{pssh_path} -p
|
143
|
+
system "#{pssh_path} -p #{threads} -o #{node_output_path} -t 300 -h #{hostlist_path} -x '#{ssh_opts}' " + "'#{command} 2>&1'"
|
142
144
|
end
|
143
145
|
end
|
144
146
|
|