netbox-agent/netbox_agent/raid/dell.py
2019-08-26 16:40:41 +02:00

38 lines
1 KiB
Python

import subprocess
import json
from netbox_agent.raid.base import Raid, RaidController
class StorcliController(RaidController):
def __init__(self, data):
self.data = data
def get_product_name(self):
return self.data['Product Name']
def get_manufacturer(self):
return None
def get_serial_number(self):
return self.data['Serial Number']
def get_firmware_version(self):
return self.data['FW Package Build']
class StorcliRaid(Raid):
def __init__(self):
self.output = subprocess.getoutput('storcli /call show J')
self.data = json.loads(self.output)
self.controllers = []
if len([
x for x in self.data['Controllers'] \
if x['Command Status']['Status'] == 'Success'
]) > 0:
for controller in self.data['Controllers']:
self.controllers.append(
StorcliController(controller['Response Data'])
)
def get_controllers(self):
return self.controllers