Redfish & python redfish

30
REDFISH & PYTHON REDFISH A standard way to manage servers

Transcript of Redfish & python redfish

Page 1: Redfish & python redfish

REDFISH & PYTHONREDFISH

A standard way to manage servers

Page 2: Redfish & python redfish

Session AgendaLight out managementIntelligent Platform Management InterfaceRedfishThe need for automation / scalabilityPython Redfish

Page 3: Redfish & python redfish

What is Lights-out management ?

Page 4: Redfish & python redfish

Lights-out managementRemote device

MonitoringManagement

Page 5: Redfish & python redfish

Lights-out managementRegardless device power

Page 6: Redfish & python redfish

Lights-out managementRegardless operating system availability

Page 7: Redfish & python redfish

Lights-out managementHow is this done ?

Page 8: Redfish & python redfish

Lights-out managementMain management possibilities

Page 9: Redfish & python redfish

Lights-out managementExample temperature monitoring

Page 10: Redfish & python redfish

Lights-out managementProprietary solutions

AMI MegaRACCisco CIMCDell DRACHP iloIBM Remote Supervisor AdapterOracle ILOM

Page 11: Redfish & python redfish

Intelligent Platform ManagementInterface

A step to unify light out managementCurrently the only way to manage heterogeneous hardwareAvailable from client tools thanks to toolIPMIutil

Page 12: Redfish & python redfish

Intelligent Platform ManagementInterface

But with some constraintsLow level specificationsHard to use for end usersNot all light out features supported and hard to extendSecurity concernsComplex to manage on high integrated servers

Page 13: Redfish & python redfish

The need for automation / scalability

Page 14: Redfish & python redfish

The need for automation / scalabilityScale out servers architecture with commodity serversRepetitive configurationEnd user friendlyAvailable from anywhere, with any platformSecuritySoftware Defined Infrastructure market trend

Page 15: Redfish & python redfish

Here comes Redfish !

Page 16: Redfish & python redfish

What is RedfishA powerful and user friendly IPMI alternative

Standard proposed by the Distributed Management Task ForceInitially promoted by Dell, Emerson, HP and Intel

Page 17: Redfish & python redfish

Redfish v1.0 (3 Aug 2015)rd

ContentLight out management using a Rest API specificationJSON / Odata based schemas to describe resourcesA mockupDocumentation, white papers, FAQAvailable online at https://www.dmtf.org/standards/redfish

Page 18: Redfish & python redfish

Redfish real life examplesUsing simple http get

Grab Bios versionGet server model and cpu models

Using simple http postSet a bios parameter using a simple http postReset serverChange next boot to the network

all of this, whatever the platform

Page 19: Redfish & python redfish

HP Redfish 1.0 hardware supportThis is available now !

Ilo v4Firmware 2.30

Page 20: Redfish & python redfish

Python Redfish

A python library to manage RedfishOpen source projectInitiated by a small group of people (Bruno, Devenanda, René,Sammer, Vincent)Available at https://github.com/uggla/python-redfish

Page 21: Redfish & python redfish

Python RedfishInitial goals

Provide a library to easily add Redfish support into applicationsProvide a Redfish client tool based on the library

Page 22: Redfish & python redfish

Python RedfishUltimate goals

Integration into Openstack IronicIntegration into CMDB tools (cf project)World domination ! :)

Alexandria

Page 23: Redfish & python redfish

Python Redfish

StatusProject in infancyCore library development ready

Page 24: Redfish & python redfish

Python RedfishStatus

First power management features implementedBios management features implementedCode samplesClient development in progress

Page 25: Redfish & python redfish

Python RedfishStatus

Docker file producing a ready to use container with Redfish mockup.python-redfish dependencies rpm available into Mageia and FedoraThis presentation

Contributors welcomed

Page 26: Redfish & python redfish

Python RedfishTested on

Redfish 1.0 mockup / proliantRedfish 0.9.5 mockup / proliant / moonshot

Page 27: Redfish & python redfish

Python RedfishExternal dependencies

(thx Damien)Requeststortilla

Page 28: Redfish & python redfish

Python RedfishLibrary usage example

Import

Create a redfish object

Retrieve API version

Retrieve power status

import redfish

remote_mgmt = redfish.connect(URL, USER_NAME, PASSWORD, verify_cert=False)

remote_mgmt.get_api_version()

remote_mgmt.Systems.systems_list[0].get_power()

Page 29: Redfish & python redfish

Python RedfishLibrary usage example

Get bios parameter

Set bios parameter

Reboot system

remote_mgmt.Systems.systems_list[0].bios.get_parameter("AdminPhone")

remote_mgmt.Systems.systems_list[0].bios.set_parameter("AdminPhone","xxx")

remote_mgmt.Systems.systems_list[0].reset_system()

Page 30: Redfish & python redfish

THANK YOURené Ribaud <[email protected]>