Skip to content

Instantly share code, notes, and snippets.

@kramse
Created August 2, 2017 10:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kramse/1867efaead8076524a2ebb6eb757eb23 to your computer and use it in GitHub Desktop.
Save kramse/1867efaead8076524a2ebb6eb757eb23 to your computer and use it in GitHub Desktop.
class Clavister < Oxidized::Model
# from test fw, has this prompt
# hlk-test:/>
# This works and result in cfg saved, with last prompt :-(
prompt /^*?:\/>\s*/
# --- More (1/4) ---
#expect /^--- More \(\d+\/\d+\) ---$/ do |data, re|
expect /^--- More \(\d+\/\d+\) ---/ do |data, re|
send ' '
data.sub re, ''
end
# Show running config as a script
cmd 'script -create' do |cfg|
cfg
end
# Show only users
# cmd 'script -create LocalUserDatabase AdminUsers' do |cfg|
# cfg
# end
cfg :ssh do
pre_logout 'exit'
pre_logout 'exit'
pre_logout 'exit'
end
end
@kramse
Copy link
Author

kramse commented Aug 2, 2017

It seems to work, almost - fetches and saves config, but then never returns :-(

  • also config saved has the prompt as the last line, so maybe regex problem?

hlk@bujin:oxidized$ date
Wed Aug 2 12:24:35 CEST 2017
hlk@bujin:oxidized$ pwd
/Users/hlk/projects/network/oxidized
hlk@bujin:oxidized$ ruby -I lib bin/oxidized
I, [2017-08-02T12:24:40.833750 #10946] INFO -- : Oxidized starting, running as pid 10946
I, [2017-08-02T12:24:40.834274 #10946] INFO -- : lib/oxidized/nodes.rb: Loading nodes
D, [2017-08-02T12:24:40.834472 #10946] DEBUG -- : resolving DNS for 10.1.2.3...
D, [2017-08-02T12:24:40.834506 #10946] DEBUG -- : IPADDR
D, [2017-08-02T12:24:40.834743 #10946] DEBUG -- : node.rb: resolving node key 'input', with passed global value of 'ssh' and node value ''
D, [2017-08-02T12:24:40.834795 #10946] DEBUG -- : node.rb: returning node key 'input' with value 'ssh'
D, [2017-08-02T12:24:40.877041 #10946] DEBUG -- : node.rb: resolving node key 'output', with passed global value of 'file' and node value ''
D, [2017-08-02T12:24:40.877100 #10946] DEBUG -- : node.rb: returning node key 'output' with value 'file'
D, [2017-08-02T12:24:40.877449 #10946] DEBUG -- : node.rb: resolving node key 'model', with passed global value of '' and node value 'clavister'
D, [2017-08-02T12:24:40.877487 #10946] DEBUG -- : node.rb: setting node key 'model' to value 'clavister' from global
D, [2017-08-02T12:24:40.877504 #10946] DEBUG -- : node.rb: returning node key 'model' with value 'clavister'
D, [2017-08-02T12:24:40.877517 #10946] DEBUG -- : lib/oxidized/node.rb: Loading model "clavister"
D, [2017-08-02T12:24:40.877954 #10946] DEBUG -- : lib/oxidized/model/model.rb Added script -create to the commands list
D, [2017-08-02T12:24:40.878179 #10946] DEBUG -- : node.rb: resolving node key 'username', with passed global value of '' and node value ''
D, [2017-08-02T12:24:40.878212 #10946] DEBUG -- : node.rb: setting node key 'username' to value 'admin' from global
D, [2017-08-02T12:24:40.878229 #10946] DEBUG -- : node.rb: returning node key 'username' with value 'admin'
D, [2017-08-02T12:24:40.878239 #10946] DEBUG -- : node.rb: resolving node key 'password', with passed global value of '' and node value ''
D, [2017-08-02T12:24:40.878250 #10946] DEBUG -- : node.rb: setting node key 'password' to value 'admin' from global
D, [2017-08-02T12:24:40.878262 #10946] DEBUG -- : node.rb: returning node key 'password' with value 'admin'
I, [2017-08-02T12:24:40.878289 #10946] INFO -- : lib/oxidized/nodes.rb: Loaded 1 nodes
D, [2017-08-02T12:24:40.878333 #10946] DEBUG -- : lib/oxidized/core.rb: Starting the worker...
D, [2017-08-02T12:24:40.878359 #10946] DEBUG -- : lib/oxidized/worker.rb: Jobs 0, Want: 1
D, [2017-08-02T12:24:40.878433 #10946] DEBUG -- : lib/oxidized/worker.rb: Added 10.1.2.3 to the job queue
D, [2017-08-02T12:24:40.878449 #10946] DEBUG -- : lib/oxidized/worker.rb: 1 jobs running in parallel
D, [2017-08-02T12:24:40.878487 #10946] DEBUG -- : lib/oxidized/job.rb: Starting fetching process for 10.1.2.3 at 2017-08-02 10:24:40 UTC
D, [2017-08-02T12:24:40.878650 #10946] DEBUG -- : lib/oxidized/input/ssh.rb: Connecting to 10.1.2.3
D, [2017-08-02T12:24:41.003580 #10946] DEBUG -- : lib/oxidized/input/ssh.rb: expecting [/^?:/>\s/] at 10.1.2.3
D, [2017-08-02T12:24:41.837166 #10946] DEBUG -- : lib/oxidized/input/cli.rb: Running post_login commands at 10.1.2.3
D, [2017-08-02T12:24:41.837265 #10946] DEBUG -- : lib/oxidized/model/model.rb Collecting commands' outputs
D, [2017-08-02T12:24:41.837307 #10946] DEBUG -- : lib/oxidized/model/model.rb Executing script -create
D, [2017-08-02T12:24:41.837339 #10946] DEBUG -- : lib/oxidized/input/ssh.rb script -create @ 10.1.2.3 with expect: /^?:/>\s/
D, [2017-08-02T12:24:41.837550 #10946] DEBUG -- : lib/oxidized/input/ssh.rb: expecting [/^?:/>\s/] at 10.1.2.3
D, [2017-08-02T12:24:41.879442 #10946] DEBUG -- : lib/oxidized/worker.rb: 1 jobs running in parallel
D, [2017-08-02T12:24:42.880168 #10946] DEBUG -- : lib/oxidized/worker.rb: 1 jobs running in parallel
D, [2017-08-02T12:24:43.785147 #10946] DEBUG -- : lib/oxidized/input/cli.rb Running pre_logout commands at 10.1.2.3
D, [2017-08-02T12:24:43.785229 #10946] DEBUG -- : lib/oxidized/input/ssh.rb exit @ 10.1.2.3 with expect: nil
D, [2017-08-02T12:24:43.785386 #10946] DEBUG -- : lib/oxidized/input/ssh.rb exit @ 10.1.2.3 with expect: nil
D, [2017-08-02T12:24:43.785653 #10946] DEBUG -- : lib/oxidized/input/ssh.rb exit @ 10.1.2.3 with expect: nil
D, [2017-08-02T12:24:43.789414 #10946] DEBUG -- : lib/oxidized/node.rb: Oxidized::SSH ran for 10.1.2.3 successfully
D, [2017-08-02T12:24:43.789539 #10946] DEBUG -- : lib/oxidized/job.rb: Config fetched for 10.1.2.3 at 2017-08-02 10:24:43 UTC
I, [2017-08-02T12:24:43.881679 #10946] INFO -- : Configuration updated for /10.1.2.3
D, [2017-08-02T12:24:43.881843 #10946] DEBUG -- : lib/oxidized/worker.rb: Jobs 0, Want: 1
D, [2017-08-02T12:24:44.882036 #10946] DEBUG -- : lib/oxidized/worker.rb: Jobs 0, Want: 1
D, [2017-08-02T12:24:45.882557 #10946] DEBUG -- : lib/oxidized/worker.rb: Jobs 0, Want: 1
D, [2017-08-02T12:24:46.887684 #10946] DEBUG -- : lib/oxidized/worker.rb: Jobs 0, Want: 1
D, [2017-08-02T12:24:47.892524 #10946] DEBUG -- : lib/oxidized/worker.rb: Jobs 0, Want: 1
D, [2017-08-02T12:24:48.896250 #10946] DEBUG -- : lib/oxidized/worker.rb: Jobs 0, Want: 1
D, [2017-08-02T12:24:49.897040 #10946] DEBUG -- : lib/oxidized/worker.rb: Jobs 0, Want: 1
D, [2017-08-02T12:24:50.902197 #10946] DEBUG -- : lib/oxidized/worker.rb: Jobs 0, Want: 1
D, [2017-08-02T12:24:51.903669 #10946] DEBUG -- : lib/oxidized/worker.rb: Jobs 0, Want: 1
D, [2017-08-02T12:24:52.904511 #10946] DEBUG -- : lib/oxidized/worker.rb: Jobs 0, Want: 1
D, [2017-08-02T12:24:53.907659 #10946] DEBUG -- : lib/oxidized/worker.rb: Jobs 0, Want: 1
D, [2017-08-02T12:24:54.912073 #10946] DEBUG -- : lib/oxidized/worker.rb: Jobs 0, Want: 1
D, [2017-08-02T12:24:55.914888 #10946] DEBUG -- : lib/oxidized/worker.rb: Jobs 0, Want: 1
D, [2017-08-02T12:24:56.916405 #10946] DEBUG -- : lib/oxidized/worker.rb: Jobs 0, Want: 1
D, [2017-08-02T12:24:57.917725 #10946] DEBUG -- : lib/oxidized/worker.rb: Jobs 0, Want: 1
D, [2017-08-02T12:24:58.921142 #10946] DEBUG -- : lib/oxidized/worker.rb: Jobs 0, Want: 1
D, [2017-08-02T12:24:59.925331 #10946] DEBUG -- : lib/oxidized/worker.rb: Jobs 0, Want: 1
D, [2017-08-02T12:25:00.927175 #10946] DEBUG -- : lib/oxidized/worker.rb: Jobs 0, Want: 1
D, [2017-08-02T12:25:01.930728 #10946] DEBUG -- : lib/oxidized/worker.rb: Jobs 0, Want: 1
D, [2017-08-02T12:25:02.936104 #10946] DEBUG -- : lib/oxidized/worker.rb: Jobs 0, Want: 1
D, [2017-08-02T12:25:03.940688 #10946] DEBUG -- : lib/oxidized/worker.rb: Jobs 0, Want: 1
D, [2017-08-02T12:25:04.944827 #10946] DEBUG -- : lib/oxidized/worker.rb: Jobs 0, Want: 1
D, [2017-08-02T12:25:05.946420 #10946] DEBUG -- : lib/oxidized/worker.rb: Jobs 0, Want: 1
D, [2017-08-02T12:25:06.951757 #10946] DEBUG -- : lib/oxidized/worker.rb: Jobs 0, Want: 1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment