Selaa lähdekoodia

add script for generate config for oxidized

root 2 vuotta sitten
vanhempi
sitoutus
0084af3ce2

+ 68 - 0
docs/oxidized/add_source_input_port.patch

@@ -0,0 +1,68 @@
+diff -urN oxidized/lib/oxidized/input/ssh.rb oxidized.patched/lib/oxidized/input/ssh.rb
+--- oxidized/lib/oxidized/input/ssh.rb	2023-06-25 13:21:13.549859510 +0300
++++ oxidized.patched/lib/oxidized/input/ssh.rb	2023-06-26 01:05:44.715259384 +0300
+@@ -121,6 +121,7 @@
+ 
+     def make_ssh_opts
+       secure = Oxidized.config.input.ssh.secure?
++      node_ssh_port = @node.input_port || vars(:ssh_port)
+       ssh_opts = {
+         number_of_password_prompts:      0,
+         keepalive:                       vars(:ssh_no_keepalive) ? false : true,
+@@ -128,7 +129,7 @@
+         append_all_supported_algorithms: true,
+         password:                        @node.auth[:password],
+         timeout:                         Oxidized.config.timeout,
+-        port:                            (vars(:ssh_port) || 22).to_i,
++        port:                            (node_ssh_port || 22).to_i,
+         forward_agent:                   false
+       }
+ 
+diff -urN oxidized/lib/oxidized/input/telnet.rb oxidized.patched/lib/oxidized/input/telnet.rb
+--- oxidized/lib/oxidized/input/telnet.rb	2023-06-25 13:21:13.549859510 +0300
++++ oxidized.patched/lib/oxidized/input/telnet.rb	2023-06-26 01:05:51.839271280 +0300
+@@ -11,11 +11,11 @@
+       @timeout = Oxidized.config.timeout
+       @node.model.cfg['telnet'].each { |cb| instance_exec(&cb) }
+       @log = File.open(Oxidized::Config::Log + "/#{@node.ip}-telnet", 'w') if Oxidized.config.input.debug?
+-      port = vars(:telnet_port) || 23
++      port = @node.input_port || vars(:telnet_port)
+ 
+       telnet_opts = {
+         'Host'    => @node.ip,
+-        'Port'    => port.to_i,
++        'Port'    => (port || 23).to_i,
+         'Timeout' => @timeout,
+         'Model'   => @node.model,
+         'Log'     => @log
+diff -urN oxidized/lib/oxidized/node.rb oxidized.patched/lib/oxidized/node.rb
+--- oxidized/lib/oxidized/node.rb	2023-06-25 13:21:13.557859532 +0300
++++ oxidized.patched/lib/oxidized/node.rb	2023-06-26 01:25:50.009837507 +0300
+@@ -6,7 +6,7 @@
+   class ModelNotFound  < OxidizedError; end
+ 
+   class Node
+-    attr_reader :name, :ip, :model, :input, :output, :group, :auth, :prompt, :vars, :last, :repo
++    attr_reader :name, :ip, :model, :input, :output, :group, :auth, :prompt, :vars, :last, :repo, :input_port
+     attr_accessor :running, :user, :email, :msg, :from, :stats, :retry, :err_type, :err_reason
+     alias running? running
+ 
+@@ -26,6 +26,7 @@
+       @auth = resolve_auth opt
+       @prompt = resolve_prompt opt
+       @vars = opt[:vars]
++      @input_port = resolve_input_port opt
+       @stats = Stats.new
+       @retry = 0
+       @repo = resolve_repo opt
+@@ -165,6 +166,10 @@
+       end
+     end
+ 
++    def resolve_input_port(opt)
++      resolve_key :input_port, opt
++    end
++
+     def resolve_output(opt)
+       output = resolve_key :output, opt, Oxidized.config.output.default
+       Oxidized.mgr.add_output(output) || raise(MethodNotFound, "#{output} not found for node #{ip}") unless Oxidized.mgr.output[output]

+ 0 - 0
docs/addons/print_devices_oxi.pl → docs/oxidized/print_devices_oxi.pl