Revolu’onizing,the, Datacenter - OpenPOWER …2016/02/07  · Whatis(aBMC?(!...

17
Revolu’onizing the Datacenter OpenBMC Chris Austen, Manager in Power Systems Enablement, IBM Join the Conversa’on #OpenPOWERSummit

Transcript of Revolu’onizing,the, Datacenter - OpenPOWER …2016/02/07  · Whatis(aBMC?(!...

Revolu'onizing  the  Datacenter  

Join  the  Conversa'on  #OpenPOWERSummit  

OpenBMC  Chris  Austen,  

Manager  in  Power  Systems  Enablement,  IBM    

Join  the  Conversa'on  #OpenPOWERSummit  

   

OpenPOWER  is  Open  !  Almost  all  open  

2  4/11/16  

OPAL  

P8  HW  

Host  Boot  

OCC  

KVM/Linux  

Linu

x  

Linu

x  

Linu

x  

Aspeed BMC

BMC SW

Power  Enablement      

   

What  is  a  BMC?  

!  BMC  –  Baseboard  Management  Controller  •  Runs  at  AC  plug  Gme  (no  power  switch)  •  Manages  Procs,  DIMMs,  Fans,  Power  Supplies,  etc  •  Reports  externally  to  management  soNware  

!  Current  suggested  BMC  on  Power:  AST2400  chip  

4/11/16   3  

   

What  is  OpenBMC  !  Provides  simplified  management  of:    

•  Environment    •  Inventory    •  Sensors  and  event  logs    

!  Based  on  OpenEmbedded  technologies  built  via  Yocto    !  Embedded  Linux  stack  

•  Linux  Kernel  4.4,  Yocto  1.8.1,  python,  SSH  

!  ApplicaGons  communicate  via  D-­‐Bus    •  Allows  any  user  overlay  

!  Users  communicate  via  REST  

4/11/16   4  

   

What  is  OpenBMC  

!  100%  compaGble  with  OpenPOWER  Hostboot/Opal  •  Aka  BIOS  •  h`ps://github.com/open-­‐power/op-­‐build  

!  Can  simply  be  a  reference  implementaGon  

!  Currently  runs  on…  •  Barreleye,  822LC  and  the  P8  Reference    

4/11/16   5  

   

Features  of  OpenBMC  

!  Dbus  is  the  heart  •  Swap  out  hardware  and  User  Interfaces  •  Bindings  for  C,  python  and  more  

4/11/16   6  

Management  Controller  

X  

Management  Controller  

Y  

Kernel  

Apps  

DBus  Sensors   REST  

   

OpenBMC  Dbus  Interface  Examples  

!  A`ach  an  interface,  get  the  benefits  

•  Org.openbmc.Service  !  Obtain  informaGon  about  the  service    !  “status”,  “informaGon”  

•  Org.openbmc.delete  !  The  Parent  interface  is  delete’able  

•  Org.openbmc.InventoryItem  !  ProperGes  for  all  inventory    !  “Fault”,  “Present”  

4/11/16   7  

   

ApplicaGons  

4/11/16   8  

Chassis_control  

Power  control  

Hardware  

Chassis  IdenGfy   OCC  

gpio   LED  

Sensor    mgmt  and  cache  

Ambient  temp  

Fan(n)   IPMI  

Host  status  Boot  

Progress  

Inventory  

FRU(n)  

OCC  I2C  

I2C   host  

Event  Log  DB  

Fan  Control  

REST  

C   Python  

Parameter  DB  

BMC  Flash  

BIOS  Flash  

NVRAM  

Power  Bu`on  

Flash  control  

System  Policy  Agent  

RTC  

BMC  EEPROM  

FRU  format  

I2C  

   

Connect  via  REST    !  h`ps://github.com/openbmc/docs/blob/master/rest-­‐api.md  

!  <uri>  •  Show  properGes  of  this  uri  

!  <uri>/  •  Show  children  

!  <uri>/list  •  Recursively  show  children  

!  <uri>/enumerate  •  Recursively  show  children  uri’s  with  all  properGes  

!  <uri>/a`r/<property>  •  Set/Get  single  property  

!  <uri>/acGon/<method>  •  Call  a  method  (POST/PUT)  

!  <uri>/schema  •  Show  the  methods  and  properGes  

4/11/16   9  

   

Lets  see  some  examples!!!  

!  Login  •  curl -c cjar -b cjar -k -H "Content-Type: application/json" -X

POST https://<ip>/login -d "{\"data\": [ \"root\", \"0penBmc\" ] }"

!  Temperatures  ok?  •  curl -c cjar -b cjar -k https://<ip>/org/openbmc/sensors/

temperature/ambient

!  Power  On  the  Server    •  curl -c cjar -b cjar -k -H "Content-Type: application/json" -X

POST https://<ip>/org/openbmc/control/chassis0/action/powerOn -d "{\"data\": [] }"

4/11/16   10  

   

Connect  via  GUI  

4/11/16   11  

   

Where  is  this  code?  

!  Github  repository:  •  h`ps://github.com/openbmc  

!  Get  Started  -­‐  Readme  •  h`ps://github.com/openbmc/openbmc  

!  Schema  •  h`ps://github.com/openbmc/docs/blob/master/dbus-­‐interfaces.md  

4/11/16   12  

   

No  Hardware  Required  

!  OpenBMC  simulaGon  does  not  require  hardware  !  Useful  for  non  hardware  specific  applicaGons.      •  Event  Logs,  userid  creaGon/policies  •  REST  interacGons  

4/11/16   13  

   

Automated  Build  VerificaGon  

4/11/16   14  

!  h`ps://github.com/openbmc/openbmc  •  Code  is  available  to  everyone  

!  h`ps://openpower.xyz  •  Automated  Jenkins  server  •  Every  commit…  tested    

   

Where  to  next?  

4/11/16   15  

!  POWER9  Reference  Server  for  OpenPOWER  

!  IBM  Internal  development  

!  Your  server?  

   

Join  Us  !  Areas  for  feature  enhancements…    

•  Designs  beyond  the  data  center  •  QEMU  enhancements  for  board  •  Redfish  •  Energy  Scale  uGliGes    •  Test  automaGon  •  Compliance  support  •  DocumentaGon  •  Beyond  AST2400  interacGons  •  Web  server  front  end  

!  h`ps://github.com/openbmc/openbmc    4/11/16   16  

   

Thank  You  

!  Chris  Austen  !  [email protected]  

!  DocumentaGon:    •  h`ps://github.com/openbmc/docs  

!  Code:  •  h`ps://github.com/openbmc  

!  IRC  •  IRC  Freenode.net  #openbmc  

4/11/16   17