Retrieve first part of manager data.
- Update type.py with new manager functions and manage exceptions. - Retrieve some basic manager data from client getinfo.
This commit is contained in:
parent
6c4bb1480a
commit
4b2b4ad5c6
@ -233,7 +233,7 @@ if __name__ == '__main__':
|
|||||||
simulator = False
|
simulator = False
|
||||||
enforceSSL = True
|
enforceSSL = True
|
||||||
try:
|
try:
|
||||||
print 'Gathering data from manager, please wait...'
|
print('Gathering data from manager, please wait...\n')
|
||||||
# TODO : Add a rotating star showing program is running ?
|
# TODO : Add a rotating star showing program is running ?
|
||||||
# Could be a nice exercice for learning python. :)
|
# Could be a nice exercice for learning python. :)
|
||||||
logger.info('Gathering data from manager')
|
logger.info('Gathering data from manager')
|
||||||
@ -249,8 +249,20 @@ if __name__ == '__main__':
|
|||||||
sys.stderr.write(str(e.advices))
|
sys.stderr.write(str(e.advices))
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
print('Redfish API version : %s \n' % remote_mgmt.get_api_version())
|
# Display manager information
|
||||||
print('Managers information :\n')
|
# TODO : Use a templating system
|
||||||
|
print('Redfish API version : %s' % remote_mgmt.get_api_version())
|
||||||
|
print(remote_mgmt.Root.get_name())
|
||||||
|
print('\n')
|
||||||
|
print('Managers information :')
|
||||||
|
print('----------------------')
|
||||||
|
for manager_index in sorted(remote_mgmt.Managers.managers_dict):
|
||||||
|
manager = remote_mgmt.Managers.managers_dict[manager_index]
|
||||||
|
print('\nManager id {} :').format(manager_index)
|
||||||
|
print('UUID : {}').format(manager.get_uuid())
|
||||||
|
print('Type : {}').format(manager.get_type())
|
||||||
|
print('Firmware version : {}').format(manager.get_firmware_version())
|
||||||
|
print('State : {}').format(manager.get_status())
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -182,6 +182,17 @@ class Root(Base):
|
|||||||
'''
|
'''
|
||||||
return getattr(self.root.Links.Systems, '@odata.id')
|
return getattr(self.root.Links.Systems, '@odata.id')
|
||||||
|
|
||||||
|
def get_name(self):
|
||||||
|
'''Get root name
|
||||||
|
|
||||||
|
:returns: string -- root name or "Not available"
|
||||||
|
|
||||||
|
'''
|
||||||
|
try:
|
||||||
|
return self.data.Name
|
||||||
|
except AttributeError:
|
||||||
|
return "Not available"
|
||||||
|
|
||||||
|
|
||||||
class SessionService(Base):
|
class SessionService(Base):
|
||||||
'''Class to manage redfish SessionService data.'''
|
'''Class to manage redfish SessionService data.'''
|
||||||
@ -209,18 +220,51 @@ class Managers(Base):
|
|||||||
pass
|
pass
|
||||||
|
|
||||||
def get_firmware_version(self):
|
def get_firmware_version(self):
|
||||||
'''Get bios version of the system.
|
'''Get firmware version of the manager
|
||||||
|
|
||||||
:returns: string -- bios version
|
:returns: string -- bios version or "Not available"
|
||||||
|
|
||||||
'''
|
'''
|
||||||
try:
|
try:
|
||||||
# Returned by proliant
|
|
||||||
return self.data.FirmwareVersion
|
|
||||||
except:
|
|
||||||
# Returned by mockup.
|
|
||||||
# Hopefully this kind of discrepencies will be fixed with Redfish 1.0 (August)
|
|
||||||
return self.data.FirmwareVersion
|
return self.data.FirmwareVersion
|
||||||
|
except AttributeError:
|
||||||
|
# We are here because the attribute could be not defined.
|
||||||
|
# This is the case with the mockup for manager 2 and 3
|
||||||
|
return "Not available"
|
||||||
|
|
||||||
|
def get_type(self):
|
||||||
|
'''Get manager type
|
||||||
|
|
||||||
|
:returns: string -- manager type or "Not available"
|
||||||
|
|
||||||
|
'''
|
||||||
|
try:
|
||||||
|
return self.data.ManagerType
|
||||||
|
except AttributeError:
|
||||||
|
return "Not available"
|
||||||
|
|
||||||
|
def get_uuid(self):
|
||||||
|
'''Get manager type
|
||||||
|
|
||||||
|
:returns: string -- manager uuid or "Not available"
|
||||||
|
|
||||||
|
'''
|
||||||
|
try:
|
||||||
|
return self.data.UUID
|
||||||
|
except AttributeError:
|
||||||
|
return "Not available"
|
||||||
|
|
||||||
|
def get_status(self):
|
||||||
|
'''Get manager status
|
||||||
|
|
||||||
|
:returns: string -- manager status or "Not available"
|
||||||
|
|
||||||
|
'''
|
||||||
|
try:
|
||||||
|
return self.data.Status.State
|
||||||
|
except AttributeError:
|
||||||
|
return "Not available"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class ManagersCollection(BaseCollection):
|
class ManagersCollection(BaseCollection):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user