hammer_cli_foreman_ssh 0.0.2 → 0.0.3
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.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6bbea546f82aac0b23357ebf8f2152d64ead6093
|
4
|
+
data.tar.gz: 60bd743fb982a04a701532b6c9c5e05621ba16ca
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 28101af41aa9049394e532fdad8dc501539b9d0c319a491c3870d1c5a9ba6ac703dd2bcceb4a2acf657f70a7404ba8db989cb0e20e01687fb338eabf4284064f
|
7
|
+
data.tar.gz: cad1851ec13f7a600e19e8e45b8f84133bcc5632ecb255f514fe6df95cc06dd9cbb9db74705510127f445f97e327d818311182ee27eacbd5b457837c4994d1f2
|
data/README.md
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
Hammer CLI - Foreman SSH
|
2
2
|
========================
|
3
3
|
|
4
|
-
|
4
|
+
SSH plugin for hammer
|
5
5
|
|
6
6
|
Install
|
7
7
|
-------
|
@@ -48,6 +48,7 @@ Options:
|
|
48
48
|
--[no-]prompt Prompt for users approval
|
49
49
|
-c, --command COMMAND Command to execute
|
50
50
|
-h, --help print help
|
51
|
+
-i, --identity_file FILE Selects a file from which the identity (private key) for public key authentication is read
|
51
52
|
-s, --search FILTER Filter hosts based on a filter
|
52
53
|
-u, --user USER Execute as user
|
53
54
|
Default: "ohad"
|
@@ -2,7 +2,7 @@ require 'hammer_cli'
|
|
2
2
|
require 'hammer_cli_foreman/host'
|
3
3
|
require 'net/ssh/multi'
|
4
4
|
|
5
|
-
module
|
5
|
+
module HammerCLIForemanSsh
|
6
6
|
class Command < HammerCLIForeman::Command
|
7
7
|
|
8
8
|
DEFAULT_PER_PAGE = 1000
|
@@ -12,6 +12,9 @@ module HammerCLIForeman::SSH
|
|
12
12
|
|
13
13
|
command_name 'SSH to hosts'
|
14
14
|
option %w(-c --command), 'COMMAND', _('Command to execute'), :attribute_name => :command, :required => true
|
15
|
+
option %w(-n --concurrent), 'CONCURRENCY', _('Number of concurrent SSH sessions'), :attribute_name => :concurrent do |o|
|
16
|
+
Integer(o)
|
17
|
+
end
|
15
18
|
option %w(-u --user), 'USER', _('Execute as user'), :attribute_name => :user, :default => ENV['USER']
|
16
19
|
option %w(-s --search), 'FILTER', _('Filter hosts based on a filter'), :attribute_name => :search
|
17
20
|
option '--[no-]dns', :flag, _('Use DNS to resolve IP addresses'), :attribute_name => :use_dns
|
@@ -28,6 +31,8 @@ module HammerCLIForeman::SSH
|
|
28
31
|
end
|
29
32
|
|
30
33
|
def execute
|
34
|
+
signal_usage_error(_("specify 1 or more concurrent hosts")) if (!concurrent.nil? && concurrent < 1)
|
35
|
+
|
31
36
|
puts _("About to execute: #{command} as user #{user}\n" +
|
32
37
|
"on the following #{hosts.size} hosts: #{host_names.join(', ')}")
|
33
38
|
|
@@ -39,7 +44,8 @@ module HammerCLIForeman::SSH
|
|
39
44
|
ssh_options = { :user => user, :auth_methods => ['publickey'] }
|
40
45
|
ssh_options[:keys] = [identity_file] unless identity_file.to_s.empty?
|
41
46
|
|
42
|
-
Net::SSH::Multi.start(:on_error => :warn) do |session|
|
47
|
+
Net::SSH::Multi.start(:concurrent_connections => concurrent, :on_error => :warn) do |session|
|
48
|
+
logger.info(_("executing on #{concurrent} concurrent host(s)")) if concurrent.to_i > 0
|
43
49
|
targets.each { |s| session.use s, ssh_options }
|
44
50
|
session.exec command
|
45
51
|
session.loop
|
@@ -72,5 +78,5 @@ module HammerCLIForeman::SSH
|
|
72
78
|
|
73
79
|
end
|
74
80
|
|
75
|
-
HammerCLIForeman::Host.subcommand('ssh', _('Remote execution via SSH to selected hosts'),
|
81
|
+
HammerCLIForeman::Host.subcommand('ssh', _('Remote execution via SSH to selected hosts'), HammerCLIForemanSsh::Command)
|
76
82
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hammer_cli_foreman_ssh
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ohad Levy
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-04-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: hammer_cli
|
@@ -44,14 +44,118 @@ dependencies:
|
|
44
44
|
requirements:
|
45
45
|
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
47
|
+
version: 1.2.1
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 1.2.1
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rake
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 10.1.0
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 10.1.0
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: thor
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: minitest
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - '='
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: 4.7.4
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - '='
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: 4.7.4
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: minitest-spec-context
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: simplecov
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - "<"
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: 0.9.0
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - "<"
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: 0.9.0
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: mocha
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - ">="
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0'
|
132
|
+
type: :development
|
133
|
+
prerelease: false
|
50
134
|
version_requirements: !ruby/object:Gem::Requirement
|
51
135
|
requirements:
|
52
136
|
- - ">="
|
53
137
|
- !ruby/object:Gem::Version
|
54
138
|
version: '0'
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: ci_reporter
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - ">="
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: 1.6.3
|
146
|
+
- - "<"
|
147
|
+
- !ruby/object:Gem::Version
|
148
|
+
version: 2.0.0
|
149
|
+
type: :development
|
150
|
+
prerelease: false
|
151
|
+
version_requirements: !ruby/object:Gem::Requirement
|
152
|
+
requirements:
|
153
|
+
- - ">="
|
154
|
+
- !ruby/object:Gem::Version
|
155
|
+
version: 1.6.3
|
156
|
+
- - "<"
|
157
|
+
- !ruby/object:Gem::Version
|
158
|
+
version: 2.0.0
|
55
159
|
description:
|
56
160
|
email:
|
57
161
|
executables: []
|
@@ -60,9 +164,10 @@ extra_rdoc_files: []
|
|
60
164
|
files:
|
61
165
|
- LICENSE
|
62
166
|
- README.md
|
63
|
-
-
|
64
|
-
- lib/hammer_cli_foreman/ssh/version.rb
|
167
|
+
- config/foreman_ssh.yml
|
65
168
|
- lib/hammer_cli_foreman_ssh.rb
|
169
|
+
- lib/hammer_cli_foreman_ssh/ssh.rb
|
170
|
+
- lib/hammer_cli_foreman_ssh/version.rb
|
66
171
|
homepage:
|
67
172
|
licenses:
|
68
173
|
- GPLv3+
|