summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Klink <flokli@flokli.de>2016-10-27 14:28:00 +0200
committerFlorian Klink <flokli@flokli.de>2016-10-27 14:28:00 +0200
commitc41b79b5a51b1b8d913c3f9c7478718bf3183a4b (patch)
tree2cce54d520b0f9a30d8e27f9ac83c022452c8e8a
parent9ce9133dbf4589786329d5dad239f80882ea07ea (diff)
add support for the HPE BladeSystem
-rw-r--r--README.md1
-rw-r--r--lib/oxidized/model/hpebladesystem.rb83
2 files changed, 84 insertions, 0 deletions
diff --git a/README.md b/README.md
index a7e9af7..091bd46 100644
--- a/README.md
+++ b/README.md
@@ -111,6 +111,7 @@ Oxidized is a network device configuration backup tool. It's a RANCID replacemen
* HP
* [Comware (HP A-series, H3C, 3Com)](lib/oxidized/model/comware.rb)
* [Procurve](lib/oxidized/model/procurve.rb)
+ * [BladeSystem (Onboard Administrator)](lib/oxidized/model/hpebladesystem.rb)
* Huawei
* [VRP](lib/oxidized/model/vrp.rb)
* Juniper
diff --git a/lib/oxidized/model/hpebladesystem.rb b/lib/oxidized/model/hpebladesystem.rb
new file mode 100644
index 0000000..5e34de8
--- /dev/null
+++ b/lib/oxidized/model/hpebladesystem.rb
@@ -0,0 +1,83 @@
+class HPEBladeSystem < Oxidized::Model
+ # HPE Onboard Administrator
+
+ prompt /.*> /
+ comment '# '
+
+ expect /^\s*--More--\s+.*$/ do |data, re|
+ send ' '
+ data.sub re, ''
+ end
+
+ cmd :all do |cfg|
+ cfg = cfg.delete("\r").each_line.to_a[0..-1].map{|line|line.rstrip}.join("\n") + "\n"
+ cfg.each_line.to_a[0..-2].join
+ end
+
+ cmd :secret do |cfg|
+ cfg.gsub! /^(SET SNMP COMMUNITY (READ|WRITE)).*/, '\\1 <configuration removed>'
+ cfg
+ end
+
+ cmd 'show oa info' do |cfg|
+ comment cfg
+ end
+
+ cmd 'show oa network' do |cfg|
+ comment cfg
+ end
+
+ cmd 'show oa certificate' do |cfg|
+ comment cfg
+ end
+
+ cmd 'show sshfingerprint' do |cfg|
+ comment cfg
+ end
+
+ cmd 'show fru' do |cfg|
+ comment cfg
+ end
+
+ cmd 'show network' do |cfg|
+ comment cfg
+ end
+
+ cmd 'show vlan' do |cfg|
+ comment cfg
+ end
+
+ cmd 'show rack name' do |cfg|
+ comment cfg
+ end
+
+ cmd 'show server list' do |cfg|
+ comment cfg
+ end
+
+ cmd 'show server names' do |cfg|
+ comment cfg
+ end
+
+ cmd 'show server port map all' do |cfg|
+ comment cfg
+ end
+
+ cmd 'show server info all' do |cfg|
+ comment cfg
+ end
+
+ cmd 'show config' do |cfg|
+ cfg.gsub! /^#(Generated on:) .*$/, '\\1 <removed>'
+ cfg.gsub /^\s+/, ''
+ end
+
+ cfg :telnet do
+ username /\slogin:/
+ password /^Password: /
+ end
+
+ cfg :telnet, :ssh do
+ pre_logout "exit"
+ end
+end