oxidized-script 0.5.1 → 0.6.0

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
  SHA256:
3
- metadata.gz: dce59c5895c068fc023aa8a323a7c6f055c218f67189ed1b9401863ab695a445
4
- data.tar.gz: 50d648a5c1a6e3a9f97740c74d7499f378fc62326ab031f424887ac1be0840bb
3
+ metadata.gz: 0cb4b95b188a46565abcb9b42201b07bb988fd8672e2b5d55e3f5906378155eb
4
+ data.tar.gz: fb7d1798857327b428289fdca4307aa745728bf21726140f2617fef81ce5857c
5
5
  SHA512:
6
- metadata.gz: bcb2fd0a06e5e6e6e5763425af6cf4c89f3f29161f6f2838795086c24e185dbbaf717a7c1a04976f311c5c93a08216f4e115d532fdba69be2695b7e604b6e740
7
- data.tar.gz: 94a1b517081d8dbb511d9b2618bc009855f6494274ff9624a3e8bbc08ab0c6e65bbea09acddfb2f7bfe9989bf62c01e440fcd15a9051ead2412f86cb9c9c812f
6
+ metadata.gz: 0c9c0468da66871a5d82de1f116897191a4ec78b6673ab97afdf8b092115c9d10f88bce3f790ca63318ad08c70edf150a887ec789f47aad08065db44d2684b91
7
+ data.tar.gz: c631fe4bbc7d70ba5ea450926dacbb7d8d2d88528ffaf29e6af3b9c3f76baa58502bbdd400cc05e86a0ad66b8b6c10c9320c512dacfd1903c647e5c87b5b95b7
@@ -13,8 +13,8 @@ module Oxidized
13
13
  $stdout.sync = true
14
14
  nodes = get_hosts
15
15
  counter = @threads.to_i
16
- Signal.trap("CLD") { counter += 1 }
17
- nodes.each do |node|
16
+ Signal.trap("CLD") { counter += 1 }
17
+ nodes.each do |node|
18
18
  Process.wait if counter <= 0
19
19
  puts "Forking " + node if @verbose
20
20
  counter -= 1
@@ -76,7 +76,7 @@ module Oxidized
76
76
  end
77
77
 
78
78
  def opts_parse cmds
79
- slop = Slop.new(:help=>true)
79
+ slop = Slop.new(help: true)
80
80
  slop.banner 'Usage: oxs [options] hostname [command]'
81
81
  slop.on 'm=', '--model', 'host model (ios, junos, etc), otherwise discovered from Oxidized source'
82
82
  slop.on 'o=', '--ostype', 'OS Type (ios, junos, etc)'
@@ -108,7 +108,7 @@ module Oxidized
108
108
  @ostype = slop[:ostype]
109
109
  @threads = slop[:threads]
110
110
  @verbose = slop[:verbose]
111
- @dryrun= slop[:dryrun]
111
+ @dryrun = slop[:dryrun]
112
112
  @regex = slop[:regex]
113
113
  [slop.parse!, slop]
114
114
  end
@@ -144,61 +144,38 @@ module Oxidized
144
144
  cmd = Script::Command.const_get cmd
145
145
  name = cmd.const_get :Name
146
146
  desc = cmd.const_get :Description
147
- cmds << {:class=>cmd, :name=>name, :description=>desc}
147
+ cmds << { class: cmd, name: name, description: desc }
148
148
  end
149
149
  cmds
150
150
  end
151
151
 
152
152
  def get_hosts
153
- if @group and @regex
154
- puts "running list for hosts in group: #{@group} and matching: #{@regex}" if @verbose
155
- nodes_group = run_group @group
156
- nodes_regex = run_regex @regex
157
- return nodes_group & nodes_regex
158
- elsif @group and @ostype
159
- puts "running list for hosts in group: #{@group} and matching: #{@ostype}" if @verbose
160
- nodes_group = run_group @group
161
- nodes_ostype = run_ostype @ostype
162
- return nodes_group & nodes_ostype
163
- elsif @regex
164
- puts 'running list for hosts matching: ' + @regex if @verbose
165
- return run_regex @regex
166
- elsif @ostype
167
- puts 'running list for hosts matching ostype: ' + @ostype if @verbose
168
- return run_ostype @ostype
169
- else
170
- puts 'running list for hosts in group: ' + @group if @verbose
171
- return run_group @group
153
+ puts "running list for hosts" if @verbose
154
+ if @group
155
+ puts " - in group: #{@group}" if @verbose
172
156
  end
173
- end
174
-
175
- def run_group group
176
- Oxidized.mgr = Manager.new
177
- out = []
178
- Nodes.new.each do |node|
179
- next unless group == node.group
180
- out << node.name
157
+ if @ostype
158
+ puts " - (and) matching ostype: #{@ostype}" if @verbose
181
159
  end
182
- out
183
- end
184
-
185
- def run_ostype ostype
186
- Oxidized.mgr = Manager.new
187
- out = []
188
- Nodes.new.each do |node|
189
- ostype.downcase # need to make sure they are both in lowercase
190
- nodemodel = node.model.to_s.downcase # need to make sure they are both in lowercase
191
- next unless nodemodel =~ /#{ostype}/
192
- out << node.name
160
+ if @regex
161
+ puts " - (and) matching: #{@regex}" if @verbose
193
162
  end
194
- out
195
- end
196
-
197
- def run_regex regex
198
163
  Oxidized.mgr = Manager.new
199
164
  out = []
165
+ loop_verbose = false # turn on/off verbose output for the following loop
200
166
  Nodes.new.each do |node|
201
- next unless node.name =~ /#{regex}/
167
+ if @group
168
+ puts " ... checking if #{node.name} in group: #{@group}, node group is: #{node.group}" if loop_verbose
169
+ next unless @group == node.group
170
+ end
171
+ if @ostype
172
+ puts " ... checking if #{node.name} matching ostype: #{@ostype}, node ostype is: #{node.model.to_s}" if loop_verbose
173
+ next unless node.model.to_s.match(/#{@ostype}/i)
174
+ end
175
+ if @regex
176
+ puts " ... checking if if #{node.name} matching: #{@regex}" if loop_verbose
177
+ next unless node.name.match(/#{@regex}/)
178
+ end
202
179
  out << node.name
203
180
  end
204
181
  out
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'oxidized-script'
3
- s.version = '0.5.1'
3
+ s.version = '0.6.0'
4
4
  s.licenses = %w( Apache-2.0 )
5
5
  s.platform = Gem::Platform::RUBY
6
6
  s.authors = [ 'Saku Ytti' ]
@@ -13,6 +13,6 @@ Gem::Specification.new do |s|
13
13
  s.executables = %w( oxs )
14
14
  s.require_path = 'lib'
15
15
 
16
- s.add_runtime_dependency 'oxidized', '~> 0.22'
16
+ s.add_runtime_dependency 'oxidized', '~> 0.25'
17
17
  s.add_runtime_dependency 'slop', '~> 3.5'
18
18
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: oxidized-script
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.1
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Saku Ytti
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-06-03 00:00:00.000000000 Z
11
+ date: 2018-12-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: oxidized
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0.22'
19
+ version: '0.25'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0.22'
26
+ version: '0.25'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: slop
29
29
  requirement: !ruby/object:Gem::Requirement