Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Redfish & python redfish


Published on

Presentation done at pyuggre.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Redfish & python redfish

  1. 1. REDFISH & PYTHON REDFISH A standard way to manage servers
  2. 2. Session Agenda Light out management Intelligent Platform Management Interface Redfish The need for automation / scalability Python Redfish
  3. 3. What is Lights-out management ?
  4. 4. Lights-out management Remote device Monitoring Management
  5. 5. Lights-out management Regardless device power
  6. 6. Lights-out management Regardless operating system availability
  7. 7. Lights-out management How is this done ?
  8. 8. Lights-out management Main management possibilities
  9. 9. Lights-out management Example temperature monitoring
  10. 10. Lights-out management Proprietary solutions AMIMegaRAC Cisco CIMC Dell DRAC HP ilo IBM Remote Supervisor Adapter Oracle ILOM
  11. 11. Intelligent Platform Management Interface A step to unify light out management Currently the only way to manage heterogeneous hardware Available from client tools thanks to toolIPMIutil
  12. 12. Intelligent Platform Management Interface But with some constraints Low level specifications Hard to use for end users Not all light out features supported and hard to extend Security concerns Complex to manage on high integrated servers
  13. 13. The need for automation / scalability
  14. 14. The need for automation / scalability Scale out servers architecture with commodity servers Repetitive configuration End user friendly Available from anywhere, with any platform Security Software Defined Infrastructure market trend
  15. 15. Here comes Redfish !
  16. 16. What is Redfish A powerful and user friendly IPMI alternative Standard proposed by the Distributed Management Task Force Initially promoted by Dell, Emerson, HP and Intel
  17. 17. Redfish v1.0 (3 Aug 2015)rd Content Light out management using a Rest APIspecification JSON / Odata based schemas to describe resources A mockup Documentation, white papers, FAQ Available online at
  18. 18. Redfish real life examples Using simple http get Grab Bios version Get server model and cpu models Using simple http post Set a bios parameter using a simple http post Reset server Change next boot to the network all of this, whatever the platform
  19. 19. HP Redfish 1.0 hardware support This is available now ! Ilo v4 Firmware 2.30
  20. 20. Python Redfish A python library to manage Redfish Open source project Initiated by a small group of people (Bruno, Devenanda, René, Sammer, Vincent) Available at
  21. 21. Python Redfish Initial goals Provide a library to easily add Redfish support into applications Provide a Redfish client tool based on the library
  22. 22. Python Redfish Ultimate goals Integration into Openstack Ironic Integration into CMDB tools (cf project) World domination ! :) Alexandria
  23. 23. Python Redfish Status Project in infancy Core library development ready
  24. 24. Python Redfish Status First power management features implemented Bios management features implemented Code samples Client development in progress
  25. 25. Python Redfish Status Docker file producing a ready to use container with Redfish mockup. python-redfish dependencies rpm available into Mageia and Fedora This presentation Contributors welcomed
  26. 26. Python Redfish Tested on Redfish 1.0 mockup / proliant Redfish 0.9.5 mockup / proliant / moonshot
  27. 27. Python Redfish External dependencies (thx Damien) Requests tortilla
  28. 28. Python Redfish Library usage example Import Create a redfish object Retrieve APIversion 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()
  29. 29. Python Redfish Library 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()
  30. 30. THANK YOU René Ribaud <>