diff options
Diffstat (limited to 'lib/oxidized/model')
| -rw-r--r-- | lib/oxidized/model/aos7.rb | 58 | 
1 files changed, 58 insertions, 0 deletions
| diff --git a/lib/oxidized/model/aos7.rb b/lib/oxidized/model/aos7.rb new file mode 100644 index 0000000..8d11066 --- /dev/null +++ b/lib/oxidized/model/aos7.rb @@ -0,0 +1,58 @@ +class AOS7 < Oxidized::Model + +  # Alcatel-Lucent Operating System Version 7 (Linux based) +  # used in OmniSwitch 6900/10k +  +  comment  '! ' + +  cmd :all do |cfg, cmdstring| +    new_cfg = comment "COMMAND: #{cmdstring}\n" +    new_cfg << cfg.each_line.to_a[1..-2].join +  end + +  cmd 'show system' do |cfg| +    cfg = cfg.each_line.find{|line|line.match 'Description'} +    comment cfg.to_s.strip + "\n" +  end + +  cmd 'show chassis' do |cfg| +    # check for virtual chassis existence +    @slave_vcids = cfg.scan(/Chassis ID (\d+) \(Slave\)/).flatten +    @master_vcid = $1 if cfg.match /Chassis ID (\d+) \(Master\)/ +    comment cfg +  end + +  cmd 'show hardware-info' do |cfg| +    comment cfg +  end + +  cmd 'show running-directory' do |cfg| +    comment cfg +  end + +  cmd 'show configuration snapshot' do |cfg| +    cfg +  end + +  pre do +    cfg = [] +    if @master_vcid +      # add slave VC boot config as comment +      @slave_vcids.each do |id| +        cfg << comment("vc_boot.cfg for slave chassis #{id}") +        cfg << comment(cmd("show configuration vcm-snapshot chassis-id #{id}")) +      end +      cfg << cmd("show configuration vcm-snapshot chassis-id #{@master_vcid}") +    end +    cfg.join "\n" +  end + +  cfg :telnet do +    username /^login : / +    password /^Password : / +  end + +  cfg :telnet, :ssh do +    pre_logout 'exit' +  end +end | 
