|
Post by jautor on Nov 10, 2023 22:08:12 GMT
Since Redfish is "just" a RESTful interface, with the standard mostly defining the resource tree and the JSON payloads, really any web server sample implementation of a RESTful API will give you most of what you need. And there's plenty of those around...
The Redfish modules and support in the OpenBMC project (see "bmcweb" code) would certainly be something to examine, too.
Jeff
|
|
|
Post by jautor on Nov 10, 2023 3:48:28 GMT
Oh jeez, I missed that bit and was trying to set State to enabled in Status. Thanks for the tip, that worked!
Yeah, sorry about that bit of added complexity. Since `Status` and `State` are defined throughout the Redfish data model, those are always read-only properties so it's clear that the service (resource) "owns" those values. In the few cases where a user can actually directly affect the state, there is a read-write property like `ServiceEnabled` to provide that setting for the user to control.
Glad it was that simple, though! I am curious why they disable the service, though... (I assume due to some OEM functionality that an end user may not want to be available?)
Jeff
|
|
|
Post by jautor on Nov 9, 2023 15:22:03 GMT
Did you try a PATCH to set "ServiceEnabled" to 'true'? As that shows `false` in TaskService, and you're getting a vendor-specific message stating the task service is disabled, it would seem that would be the path... But you may be correct that this could be a stub with no task support behind it...
Jeff
|
|
|
Post by jautor on Nov 9, 2023 15:16:52 GMT
What web GUI is that from? I'm not familiar with it (is it from RunBMC, OpenBMC, or somewhere else?), and you'll probably need to locate developer support resources for that tool. From a Redfish specification perspective, I don't see anything obviously wrong in your ServiceRoot resource.
Jeff
|
|
|
Post by jautor on Nov 8, 2023 22:14:11 GMT
Denver, CO., November 8, 2023 - The Open Standards Pavilion at SC23, featuring four SNIA technology areas and four SNIA Alliance and Collaboration Partners: DMTF, OpenFabrics Alliance (OFA), UCIe™ (Universal Chiplet Interconnect Express™) Consortium, and Ultra Ethernet Consortium (UEC), will be at Booth 1403 on November 12-17, 2023 in Denver, CO. Pavilion demonstrations will focus on artificial intelligence (AI) and high-performance computing (HPC) solutions in computational storage, persistent memory enablement, SSD form factors, scalable storage management with SNIA Swordfish®, secure management with DMTF’s Redfish®, open-source data structures with OFA Sunfish™, the UCIe open standard, and Ethernet specifications for seamless data exchange and computation. “We are pleased to return to SC23 with an outstanding assembly of the leading technologies and industry standards partners in the HPC space,” said Richelle Ahlvers, Vice Chair of SNIA and Storage Technology Enablement Architect at Intel. “We look forward to engaging with AI and HPC professionals and providers to discuss innovative solutions for the issues they face today.”
The Open Standards Pavilion partners will feature the following: SNIA Compute, Memory, and Storage Initiative (SNIA CMSI)
The member companies of the SNIA Compute, Memory, and Storage Initiative (CMSI) support the industry drive to combine processing with memory and storage and to create new compute architectures and software to analyze and exploit the explosion of data creation over the next decade. At SC23, Computational Storage Special Interest Group (SIG) members Intel, MinIO, ScaleFlux, Solidigm, and VMware will demonstrate end-to-end integration of computational storage and discuss computational storage drive deployments and use cases to improve efficiency, TCO, and uptime. Persistent Memory SIG member SMART Modular Technologies will demonstrate CXL™ memory module bandwidth and latency. Attendees will be able to program persistent memory in live Workshops and Hackathon sessions. SNIA SFF Technology Affiliate (SFF TA)
The SNIA SFF Technology Affiliate (SFF TA) develops technical specifications for storage media, storage networks, and pluggable solutions. Their 149 published specifications are used by members as well as organizations including ECIA, ANSI, IEC, PCI-SIG<sup>®</sup>, INCITS (SCSI, Fibre Channel, ATA), SATA-IO, JEDEC, OIF, OCP, IEEE (Ethernet), and InfiniBand. At SC23, examples of implementations of solid state drive (SSD) form factors, including EDSFF E.1 and E.3 drives, will be shown, and the latest specifications covering cables, connectors and cages, form factors, management interfaces, copper and optical transceiver modules, and electrical interfaces will be discussed. SNIA Storage Management Initiative (SMI)
SNIA Swordfish manages storage for enterprise data centers at scale, including NVMe<sup>® </sup>and NVMe-oF™ technologies. Supported configurations include traditional arrays, file systems and NVMe devices such as EBOFs and JBOFs. SNIA’s Storage Management Initiative (SMI) supports the development and standardization of interoperable storage management technologies, promoting them to the storage, networking, and end user communities.
At the SC23 Open Standards Pavilion, SMI will demonstrate SNIA Swordfish managing open source implementations of NVMe technology for high-performance computing needs.
DMTF
DMTF’s Redfish is a standard designed to deliver simple and secure management for converged, hybrid IT and the Software Defined Data Center (SDDC). Both human readable and machine capable, Redfish leverages common Internet and web services standards to expose information directly to the modern tool chain. Technical work on the Redfish standard takes place in DMTF’s Redfish Forum where they are expanding the coverage of the specification and data model to include datacenter facilities, such as liquid cooling systems and power distribution equipment, in an effort to enable multi-vendor power and cooling efficiency calculations. At SC23, DMTF will be showing sample implementations of the Redfish management protocol, demonstrating its capabilities for monitoring and control of liquid cooling systems, power distribution gear, CXL and expanded fabrics, server platforms using the same data model and open source tool ecosystem. OpenFabrics Alliance (OFA)
The OpenFabrics Alliance (OFA) is an open source based organization that develops, tests, licenses, supports and distributes RDMA/Advanced Networks software and the OpenFabrics Enterprise Distribution of the RDMA/Advanced Networks software. The Alliance’s mission is to develop and promote software that enables maximum application efficiency by delivering wire-speed messaging, ultra-low latencies, and maximum bandwidth directly to applications with minimal CPU overhead. The OFA will be demonstrating Sunfish (formerly the OpenFabrics Management Framework—OFMF), which provides open-source data structures to help simplify the development of composable distributed disaggregated computer architectures. Sunfish contains abstract data structures that represent computer system resources, available network fabric components and management, current resource operational conditions, and abstracted representations of composed disaggregated computing systems. Experts will also be on hand to discuss other OFA initiatives, such as the Fabric Software Development Platform (FSDP) and OpenFabric Interfaces (OFI). UCIe Consortium
The UCIe (Universal Chiplet Interconnect Express) Consortium recently announced the release of the UCIe 1.1 Specification to deliver valuable improvements in the chiplet ecosystem, extending reliability mechanisms to more protocols, enabling lower cost implementations, establishing compliance and interoperability testing specifications, supporting broader usage models, and more.
UCIe representatives will be on hand to introduce the UCIe open standard and answer questions regarding the benefits of UCIe technology to the HPC industry. Learn more by visiting www.uciexpress.org.
Ultra Ethernet Consortium (UEC) Ultra Ethernet Consortium (UEC) is evolving Ethernet for the demands of AI and HPC. UEC brings together companies for industry-wide cooperation to develop Ethernet specifications and software APIs that empower AI and HPC environments with next-level performance, scalability, and interoperability. UEC is paving the way for seamless data exchange and computation in the digital realm. Meet us at SC23 to discuss how to join the UEC.
|
|
|
Post by jautor on Nov 6, 2023 20:43:45 GMT
These are probably really good things to cover in a white paper!
Short answer is that the links are provided when you POST to create those resources. The "back pointers" must be populated by the service (meaning automatically, the client does not). They are read-only as they cannot be changed after the resource is created.
Jeff
|
|
|
Post by jautor on Oct 21, 2023 21:44:28 GMT
I'm afraid that probably won't be possible. That schema has been around for 8 years, so changing the type to relax the format is very likely to cause compatibility issues with client software. As the Power schema has also been deprecated, I would suggest looking at implementing that functionality in the Sensor, PowerSubsystem, and/or EnvironmentMetrics.
Jeff
|
|
|
Post by jautor on Oct 21, 2023 21:07:36 GMT
Redfish Release 2023.2 Now Available
DMTF’s Redfish®, Release 2023.2 is now available for public download. Designed to deliver simple and secure management for hybrid IT and the Software Defined Data Center (SDDC), the latest release of the Redfish standard includes 31 schema updates and 6 new schemas including a NEW Outbound Connection capability that uses a WebSocket mechanism for connecting Redfish-enabled devices to Internet-based or cloud services. The release also includes NEW data model support for applications, containers, and operating systems, which increases Redfish coverage “up the software stack.”
Another key highlight of the Redfish 2023.2 release is support for MemoryRegion to support CXL dynamic capacity devices (DCD).
To improve developer access to and synchronization with the latest Redfish releases, a new public GitHub repository has been created to host copies of the published Redfish schemas and standard message registries. The new Redfish-Publications GitHub repository contains the contents of DSP8010 and DSP8011, providing the ability to both download and create durable links to DMTF-maintained materials.[/p] These latest enhancements are driven by the growth of Redfish and interoperability feedback received from implementers. Some of the items in the new Redfish 2023.2 update include: - Redfish Specification v1.19.0 – Added Atomic Password Changes clause, Outbound Connections clause, and updated Session Login clause to define behavior when a token is required but not provided.
- Redfish Specification v1.18.1 (errata release) – Recommend weak Etag compares for PUT and PATCH, updated Deep Operations clause to show deep POST may include different types of resources, added guidance for URI patterns for Task Monitors, recommend that $expand responses include entire resources.
- 2023.2 Redfish Schema Bundle – This .zip file contains the current versions of all Redfish schemas. The bundle includes 6 new schemas and 31 schema updates and developer resources.
- NEW – OutboundConnection schema provides a standardized means to configure and establish a Redfish Session using a WebSocket to address Internet and other “cloud-based” usage models
- Internet-based applications or other “cloud-based” services cannot typically initiate HTTP connections to Redfish-enabled devices contained within data centers
- Firewalls or other security practices prevent inbound connections unless exceptions are configured to allow specific use cases – and this process is both cumbersome and problematic
- The WebSocket-based Outbound Connection model allows Redfish-enabled devices to initiate connections to those services, avoiding those issues and concerns
- NEW – Data model support for applications, containers, and operating systems - increases Redfish coverage “up the software stack”
- OperatingSystem - Represents information about the operating system running on a system, including virtualization engines
- Application - Represents a software instance running on a system
- ContainerImage - Represents an available software container image
- Container - Represents a software container instance running on a system
- Contains its own EthernetInterfaceCollection to represent network connectivity of the container
- New links added to show hosting ComputerSystem for virtual machines
- NEW – PhysicalAddress replaces PostalAddress (now deprecated)
- Fewer properties needed to render a complete address
- NEW – Additional password handling mechanisms
- One-time Passcode support for multifactor authentication and ChangePassword action in ManagerAccount
- Added RequireChangePasswordAction, EmailAttribute, OneTimePasscode and OutboundConnection to Account Service
- Redfish Message Registry Bundle 2023.2 – The Message Registry Bundle contains all released Redfish message registries.
- Added OneTimePasscodeSent to Base message registry
- Redfish Release 2023.2 Overview – This presentation provides detailed descriptions of each revision in Redfish 2023.2.
- Redfish Resource and Schema Guide – Updated for 2023.2 this human-readable guide to the Redfish Schema is designed to help educate users of Redfish. Application developers and DevOps personnel creating client-side software to communicate with a Redfish service, as well as other consumers of the standard, will benefit from the explanations in this resource. Includes example payloads for each resource type.
- Redfish Property Guide – Intended primarily for schema authors, this newly reference guide helps with locating existing property definitions within the Redfish schema. Additionally, it helps avoid re-defining property names already in use.
- Redfish Data Model Specification – Includes normative statements (“LongDescription”) and informative description details from schema in a single document. Intended for both Redfish Service and client-side developers.
- Redfish Release History – Updated with each new release, this presentation offers a comprehensive view of each revision to Redfish since 2016.
- Redfish Conformance Testing Tools - Open source tools for service developers to validate their conformance with the Redfish protocol, data model, and profiles. Tools include the Redfish Protocol Validator, Redfish Service Validator, Redfish Interop Validator.
DMTF’s Redfish Forum would like to invite anyone interested in learning about the Redfish 2023.2 release to join a live webinar, hosted via Zoom, on Thursday October 26, 2023, at 9:00 a.m. PT. The Forum chairs will present the contents of the release followed by a round table discussion. For questions regarding the webinar, email: webinars@dmtf.org. Don’t delay, be sure to register today!
To learn more about Redfish, click here. The Redfish Developer Hub is a one-stop, in-depth technical resource and provides all the files, tools, community support, tutorials and other advanced education you may need to help you use Redfish. Technical work on the Redfish standard takes place in DMTF’s Redfish Forum. To find out how you can join and contribute to this standard, click here. To submit input via the DMTF Technology Submission and Feedback Portal click here.
|
|
|
Post by jautor on Oct 10, 2023 16:21:29 GMT
Hi Jeff, Our system is N+1 ORV3 PowerShelf. N=5. It will be totally 6 power supplies with 15KW system. Could you please help to comment what "Product Capabilities" to show? Currently, I have the detail power supply information on it. Thanks.
If you have the "absent" resources populated, then you have that. The point was that if you didn't show the empty (absent) power supply bays as resources, a customer wouldn't be able to tell the difference between a 4-bay shelf fully populated, and a 6-bay shelf with 4 power supplies and room for two more.
Sounds like you have this covered!
Jeff
|
|
|
Post by jautor on Oct 5, 2023 18:46:36 GMT
Actually, there are six slots in the powershelf system. I just think if the information of powersupply members should be related to the present behavior. For example, powersupply0_present == true, redfish should appear the information of /redfish/v1/PowerEquipment/PowerShelves/1/PowerSupplies/powersupply0. "The representation in Redfish is expected to show the physical constraints of the product." Your reply is helpful to us. We will follow it.
Jackson,
As Mike mentioned, this is handled with the "Absent" status / absent resources concepts. It's important to show those product capabilities, so that a user can answer questions "this power shelf is running at full capacity, is there room to install another power supply to increase that capacity?"
Jeff
|
|
|
Post by jautor on Sept 28, 2023 13:39:07 GMT
Hello, I try to add ntp server ip address to my hp server and it doesn't work for me, i try to patch that: { "NTPServers": [ "IP.ADDRESS" ] } to /redfish/v1/Managers/1/DataTime/ and it gives me in the response: "PropertyNotWritableOrUnknown" there is a way to configure this purpose? On iLO5, yes, this is accomplished using the HPE OEM resource "DateTime" that you've found already at /redfish/v1/Managers/1/DateTime The "NTPServers" property is a read-only property that reports the NTP servers in use.
To set your (static) NTP Server addresses, PATCH to the "StaticNTPServers" property also in that resource:
{ "StaticNTPServers": [ "<IP ADDRESS>", "" ] }
Let me know if you have any issues with that. Jeff
|
|
|
Post by jautor on Sept 27, 2023 19:09:58 GMT
I wouldn't recommend it. Having resolution text on an "OK" message is probably not appropriate - while you are providing information to the user that they need to perform some action, that action doesn't relate to the "Success" message. This would seem like a separate message to define and send, perhaps with those items defined as parameters. You can then deliver both messages as part of the ExtendedInfo.
Jeff
|
|
|
Post by jautor on Sept 20, 2023 19:31:24 GMT
Hi, I understand about the possibility of mapping "Chassis Intrusion" with "PhysicalSecurity" in Chassis resource, but we can't map Platform Security Violation Attempt which may be need by user, simlarly we have many sensors like processor, memory, system firmware progress not possible to map. I understand the problem of state never ending list(many enums), but we can provide as string which can help user to view discrete sensors Thanks, Mani
A "Platform Security Violation Attempt" would just become a property in the Redfish model, either as a simple boolean if the states can be expressed as true/false, or as a enumeration if there are more than two states (or they can't be easily mapped to true/false).
The result looks like what you had suggested anyway:
{ "PlatformSecurityViolation": "FrontPanelLockoutAttempt" }
Where you'd have an enumeration of "None" to indicate there was no problem...
But this seems like something that should be reported as a message (and a LogEntry), so that it can appear as an active "Condition" in the "Status" object for the Systems/Chassis. Especially since you could appear to have multiple values at the same time?
Jeff
|
|
|
Post by jautor on Sept 20, 2023 19:23:52 GMT
The "power capping" function is found in EnvironmentMetrics in the new model, as "PowerLimitWatts". That property is a schema excerpt of a Control if you want to provide more details and metadata behind that value. This method allows a "cap" to be supported on either the Chassis, or on an individual component, such as a CPU/GPU, using the same definition.
For a Chassis, that instance would be located at: /redfish/v1/Chassis/{Chassis ID}/EnvironmentMetrics
This was added in the 2021.2 release, after the PowerSubystem models were released in 2020.4. We also added an "OperatingSpeedRangeMHz" control (in Processor and Memory) at that time, to allow support of both power-based and speed-based limiting.
Jeff
|
|
|
Post by jautor on Sept 12, 2023 14:44:22 GMT
Note that you can always just replace the entire array contents by PATCH the entire array with the new contents. The empty object and null options are there to allow humans doing scripts to avoid mistakes in re-typing the entire array. But if your program is modifying the array itself, just doing the full array PATCH with the new values is easy.
From Mike's example, if you just PATCH:
{ "Emails": [ "0@sample.com", "1@sample.com", "2@sample.com", "3@sample.com", "4@sample.com", "6@sample.com", "8@sample.com", "9@sample.com" ] }
You'll get the same result as above:
{ "Emails": [ "0@sample.com", "1@sample.com", "2@sample.com", "3@sample.com", "4@sample.com", "6@sample.com", "8@sample.com", "9@sample.com" ], <Other properties in the resource> }
Jeff
|
|