 Okay, I will get this started So I'm John Leung is a Slavic and this is So this was also done in conjunction with the co-chairs of the Refish forum within DMTF Quick intro of Redfish and then deeper dive into the models. We're gonna go through this fairly quickly I assume there will be a lot of Q&A. One thing I noticed yesterday going through a lot of the sessions was that one the CERN has 500 instances of Redfish running that they're managing the systems on 500 plus and I just met with Starling and Starling basically Starling X alright And they basically utilize Redfish on the bottom end to actually manage the systems so More prevalent here than I thought it would be Okay, so what's Redfish manageability? So basically we took We looked at the existing Standards for manageability and with IPMI for those who don't know IPMI you really don't want to Because it's bit mapped it's in its entire a structure is a bunch of bits and the 400 page documentation on it is how to translate these bits and what they actually mean Redfish took a different Perspective to it and they basically went out to the CSPs and they said what do you guys want for manageability? And they said well, you know if you use our existing Toolchain and build manageability at the end of that thing we most likely use it because right now We have to specially train these people right in IPMI and once they're trained They can't do anything else for our company. So we said, what do you use and they said well HTTP? Jason Python and other program languages. So that that's what we did We've built a restful version for for manageability And so all you need to do management is now been reduced to knowing the URI and understanding what the JSON response is that you get back when you do HP requests Okay, so the resource models So this was originally created by the DMTF which understands Servers very well Don't understand anything else. So once we develop the breadth is standard as the HP protocol And then how to model it we went out and partner with everybody else to explain to us what How to extend the model to do various other things so we partnered with the green grid and ashray to do Power and cooling models. So that's been extended and released we knew we went to a sneer and In VME express to do storage. So now we are in the process of releasing VME over fabric model to within Redfish to do that. We've gone to fabrics so the newest fabric CXL and Gen Z and In the open fabric Alliance all met together and decided to do a Model for fabrics and this is a fabric model that works From on the platform for CXL all the way to PCIe all the way to to any stats fabric that we have so it's a fairly generic model that we're trying to build and then last we went to management of other domains so for for the OCP we did for data centers for the automated factory and process automation We went to the open group over the opa and then for IOT Pic make came to us and said we'd like to extend this in the IOT So they during the process doing that and so doing they've also taken that implementation that we have and then said our implementation of these tiny little microcontrollers. So there we are we implementing it in In the summer, okay? So I mentioned OCP OCP is a little different in The other organizations that we had in that the DMTF and in its partner organizations all Described Standards icon prescriptive powers because they're trying to define a Model and a standard which covers as much as they can the problem with this type of standard is people look at it And they say do I have to implement all of it and the answer is no but we can't tell you how much of it to implement that's determined by the Management domain that you have so OCP is a is a management domain of data centers Just as the open group whose management domain is the automated factory So if you go to OCP OCP will say oh, yeah, there's a big standard But all you need to do is implement this small subset in order for for you to be conformed to OCP and Provide a base level functionality, which we call the baseline So when you go to an OCP platform, they all should support the baseline You have a common set of manageability and then depending on what type of platform whether it be a server or storage and so forth They can extend that and these Definitions are all defined in a J cell model and we have a tester Which will actually read this J cell model and test conforming implementations to make sure you conform And that's how we close the cycle of OCP that OCP can now define with it What subset of breakfast they need we have a test fixture To test it at the back end so that anyone who comes to OCP and say that I got a product and it conforms to this particular profile They can say prove it run this test suite against it and send us the results. Okay So a couple of related ones sessions on OCP one is the introduction to Open-compute project which you all missed because they're four o'clock yesterday and tomorrow there's a Building a sustainable open-stack cloud on OCP platforms, and I'll be doing that later half of that This is a nitrate but this basically breaks down the baseline and the Server profile the server profile is an extension of the baseline so you get everything in baseline plus the servers This just tells you what the use cases are what you can do with with redfish what exposes and This is what the profiles says that we've taken a subset of redfish These are the resources you have to have within it within the URI path And these are the things you can go accomplish and what is in red is What is proposed for version one dot one? Everything you see in black is in versions one dot zero that is currently published by OCP and as profiles so that is people contribute product they can test against one dot zero Okay, so a simple interaction. I try I everyone hopefully knows what json is It's a bunch of name value pairs so The response comes back either as a simple property it can come back as a complex property which is properties Property structure with other properties in it It can have point to subordinate resources. So these are resources that exist because the main object resists exists So processors memory Storage that all subordinate to the system The associated resources so we're supporting resources if I go and delete the system all Subordinate resources disappear with associated resources. They don't so if Two entities exist and if one deletes the other remains like between The chassis and the system or the storage unit or external storage units You can you can you can delete the system and there's external storage units still exist So the associate resources just point to those that they still exist and the last is actions So this is not only a read only thing you can actually perform actions the most common one being a system reset So the system reset actually tells you what the target is the target says Just do a post Posted that target and that system will reset itself and not only that but the multiple types of resets So if you look at action info, which is yet another resource. It will tell you all the types of properties that you can you can Set in in your post command So you can post and reset now becomes hard reset soft reset Psycleto you name it so it has all the complexities of Different types of research you can do upon a system So this is a lot so every resource in the entire tree has that The diagram on the left is exactly how you get there. So I said you go down through a URI So the diagram actually tells you exactly who I should be you go system root, which is Refresh V1 then you go to systems then you go to CS1 and and if you can traverse the Solid lines down this tree to exactly know exactly what type of resources exists And what you what way you can do get some post and so on for you can patch these so With all these JSON Documents flying around We felt that it was necessary to provide a schema so you explain what it was So just as XML has XSL explains what these Many value peers are within XML Our JSON uses JSON schema to describe the content with of your JSON packet And that's so we can connect up to the JSON schema toolchain and auto generate clients That was fine until The telco guys came and said we don't use JSON schema swagger. We by the way, we're renaming it open API So we also release our schema and open API and then finally release it in OASISO data So all these allow us to connect up to those particular tool chains so you can auto generate clients on that site Okay, there are a number of documents that we also generate directly out of schema So most of our documentation for redfish is auto generated directly from the scheme itself We don't write in a whole lot of and so we actually have guides that you show you all the resources within redfish All the properties and exactly what they are into their peer extractions from the scheme themselves and Then I think yeah, this I live this Richard talked about once we've gotten to Having a machine leader will form of of the schema what we can do that without with the types of tools that we can create so on the DMTF offers a large number of tool repositories Their open source software repositories and their offer to enable software development There are four different categories of these repositories or tools The first is redfish service simulators they but they enable clients To run against a simulated redfish service Sort of like the service you would expect to find on a system that's being managed by redfish Typically offered by a baseboard management controller also referred to as a BMC another category of these tools is the clock is client side utilities and libraries and The purpose of those is as you would imagine To expedite client side development and use of redfish to make it easier for folks to develop and implement management applications that take take advantage of redfish richness Their third category is orchestrator support This enables orchestrators to utilize redfish as well And then finally a very interesting Group of these tools is all around all about testing testing is very important And it sort of works its way up the protocol stack The first one listed Verifies the foundational protocol itself the HTTP exchange between the clients and the redfish service The second one can be used to actually verify Conformance with the redfish schemas so the resources served up by the service Ensure that they actually conform with the schemas as published by the DMTF And then finally the third one is the test conformance against a prescriptive profile and such a profile can be used to describe the domains that John just described such as OCP IOT those kinds of things so you can come up with a profile that describes that and then Test to ensure that an implementation supports what that domain requires on the right side I've created a drawing That groups all these different tools by category It's basically a sampling of the tools that the DMTF and others offer for your use The the legend is that those in black are offered by the DMTF and those in green are offered by other repositories the DMTF Repositories are hosted on github under the DMTF namespace Let's let's drill down a little bit into you know looking at the redfish interface and specific How it's used by the open infrastructure formally open-stack ironic project Which is I believe many of you know is used to manage bare metal So ironic uses redfish. It's been available for a number of years It's been enhanced and greatly improved and it's quite advanced now And we're hearing that a lot of them organizations are adopting it On the left. I've got a drawing there that depicts the ironic service and specifically the conductor the ironic conductor hosts Drivers or they're also called hardware types On the left hand side is the tried-and-true IPMI driver that John was talking about earlier on the right is the more modern redfish driver and What's depicted is that the redfish driver within the conductor Uses a client-side library that was mentioned on the previous slide called sushi And no, it's not fish. It's actually a redfish client library So sushi is actually falls under the governance of the ironic project So the ironic conductor and its drivers that you they use Sushi, but others can use it as well if it suits their needs on the primary purpose of sushi is to be a sort of tailored client that meets the Requirements of ironic and its drivers So it's not not meant to be a general purpose library The goal is not to implement everything but rather implement what's needed as it's needed You know, however, it's open-source and if you find it helpful we welcome, you know contributions to it to enhance its functionality So finally at the bottom of the stack there Sushi will interact with the redfish interface implementation By a redfish service again typically offered by a BMC So on the right there, I've got a table which sort of drills down into the details of the redfish driver view of the redfish driver The left hand column lists lists the ironic driver interfaces that any driver could support The redfish driver just like other drivers supports a number of those different class classes or categories of interfaces I've got them listed and their functionality is pretty straightforward, but we can walk through it real quickly Those that support or actually utilize redfish Will have a checkbox or an X in the biosushi column on the right-hand side of the diagram So the first one that that uses it is the bios interface Implementation it uses redfish to manage the bios settings on a system So I'm not referring to the actual firmware not referring to the bios firmware But rather the settings the knobs that that firmware offers for configuring the server things like whether or not it Is it supports whether or not the server will support hypervisors And that kind of thing so the next one that uses redfish is a boot interface Which uses virtual media To boot a deployment or cleaning RAM disk and also user instances on the bare metal itself Stepping forward past a couple of others that don't use redfish is the inspect interface That can be used to discover capabilities of the server including the number of CPUs memory and local storage Beyond management sort of a catch-all of things that you know, we didn't really have another Been the throman, but its primary use is to manage the boot devices the boot mode secure boots sensors and indicators on the system The next is power it's pretty straightforward Managing the power state of the system and also the ability to reboot a system A more advanced feature is the ability to manage your raid you can apply configuration create a configuration and Delete it and that all uses now redfish to affect that on the actual system It's being managed and then finally there's some sort of the escape hatch Called vendor and that offers up vendor and driver specific capabilities So a redfish Is the management standard which main goals is to define the prescriptive models for the IT industry it has been introduced in 2013 as a simple Simpler replacement for the IPMI compute server Management protocol with the definition and management of the compute logical compute note and the physical FRU management with some parts as Was mentioned already implemented in in open stack But three years of work and the development it becomes much much more so it is It has been expanded with some additional models that allow management of the software and services Policies operating system applications and virtual machines containers and they're still growing to add support for new devices and new technologies GP GP o FPG a's CXL Gen Z or the smart nick one of the Most important models defined by the redfish forum is the fabric model It has been developed in collaboration with various industry standardization organization like NVM express with the NVM over a fabric standard the storage networking industry Association defining this word fish standard, which about the way you use the same Our data schema and Jason data structure concept as a redfish and also open fabric management working on the open fabric management framework Right now we should also add to this picture the new partner the CXL consortium, which is working on fabric management additions to the Frida zero specification and Partner with DMTF to build the corresponding redfish management model the Fabric model can be used to manage multiple fabric technologies starting with mature Sass or internet with our DMA support through the PCIe till the newest technologies like CXL or Gen Z so the Fabric model allows management of the physical topology with the Switches fabric adapters and fabric ports as well as the logical connection established through the fabric with Zones endpoints address pools and Connections so on this diagram you can see the example of the Redfish model for the Gen Z fabric as you see the The Fabric Gen Z defines two endpoints one initiator endpoints which represent the system connected to the fabric and Another one called target which represents the Gen Z chassis with all its resources Gen Z also defined the one zone where both endpoints belongs to and this means that the traffic is Routable between the initiator and target endpoints In other words the system one can establish the connection through the fabric to the Gen Z system to utilize chunk-free Memory resource of course we can expose other memory resources from the Gen Z chassis By associating them with the target endpoints or to by creation the new endpoints which we belong to them To the same zone one from the physical topology perspective you see on the diagram the system one has connection to the Fabric switches through the fabric adapter and ports from another site This is similar story the Gen Z chassis is able to connect through the fabric adapter to the and Fabric adapter ports to the switches and with the proper configuration of the switch the system will have physical connection to the Gen Z chassis allowing usage of the resources exposed on this within this chassis one of them most exciting and important new technologies Nowadays is the smart nick so the Development offers by many hardware ventors concept of integration of network function with the computation resource opens the wide portfolio of use cases in Various ecosystems to manage to mention just the compute cloud or the enterprise solution so the compute capability of the smart nick can range from the Dedicated a seek through the programmable FPGA to the Full computer system or the silicon system on chip Silicon so the compute capability is fully controlled by the end user Which may offload various workflows or fun software function from the host processor to the smart nick It could be the encryption. It could be compression. It could be fabric connection termination Leaving some more resources for other software running on the on the host Host CPU So yet another as we call it bubble diagram showing the model Redfish model of the smart nick there is a Chassis container card one which contains the network functionality that will single network adapter one network device function and One network port the SOC system is representation of the embedded capability compute capability of the smart nick and allow offload of the Software functions to to the smart nick Don't be confused by the SOC name because this is just the name used by this system and and in fact You can see here the entire computer system model with the processors memory storage bios everything And also the chassis container card one can contains other resources that are produced by the smart nick So for example, if the end user offload the fabric termination capability to the capability to the To the smart nick then we may see here the PCI functions that are representation of the remote resources accessible to the fabric which are available to the Computer system CS1, which is the host processor host system Utilizing the smart nick and the remoteness of these resources is hidden from the operating system and application running on the host computer system as I mentioned the Redfish has been introduced as the mainly the infrastructure management standard, but through years of the development it has been Expanded with additional functionality not related to the Or not fully related to the infrastructure physical infrastructure management one of the one of the perfect example is the Management model developed in collaboration with opens groups Open process automation forum this model allows management of the software running on the computer system operating system with operating system metrics Application containers with the pointer container images Another example is the policy management so ability to define and execute a policy with the Policy control loops with the sensors and the control function This model can be used to implement the power Policy with the power sensor and power cupping control or the temperature Temperature policy with the temperature sensor and the fan speed control. So Redfish has been trying to say years ago, but it's still evolving and the direction in which it evolves Will depend on you on if you were able to answer the question about the Any other capability Related to Redfish that can be add to the open stack releases the answering How how you can use the policy management or operating system? containers applications management Will be very very important and useful for the Redfish forum of course also the General Redfish feedback also will be very important and will influence the direction in which the Redfish standard will evolve if you are like interested in the infrastructure and Manageability Topics then we would like you know to encourage you to see the Intro to open compute project session if you of course if you didn't attend it in person yesterday or see tomorrow's Presentation related to open stack Cloud building with the OCP OCP platform and at the end a Few words about where you can find more information about Redfish standard with the specification schema definition Models tools training materials How we can participate in the public discussion related to the Fabric standard and Fabric standard use cases Redfish standard use cases and Also, finally, how we can join Redfish forum to work on Future standard Redfish standard Extensions, thank you At the top of the hour, but if you have any questions, we probably we have time for one or two Pemon management John There was a slide on there about version 1.1 of the baseline profile with former update and when would that be available right now the The phone update is part of the breakfast release API release already. It's it's a matter of so it's descriptive, right? We've finished the description. It's a push bottle. It's a Push bottle or a pole model they handle both of them I handle as multiple images that you can download the Bios update and BMC update at the same time So now we are moving to the prescriptive site is who's going to prescribe OCB is going to prescribe it. It's going to prescribe it in the baseline. It is currently in a draft in the server profile In the sorry management profile working group and as soon as they approve it then The IC will vote on it and it will be updated So that that does means that that it's been described Someone wants it right and now it's a matter of who's the first product come through the door Once first one that one is is approved to say you have to have it of the reason that OCP has done that is so they can get everyone to move in tandem that one From what they did supported across the board So there are currently implementations of redfish that always support from update Right. This is just means that within a prescriptive power like OCP that they say you have to do it, right? You you cannot Contribute a platform without without form update on it. Okay, okay. No more questions Okay, we're done. Thank you