or
or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up
Syntax | Example | Reference | |
---|---|---|---|
# Header | Header | 基本排版 | |
- Unordered List |
|
||
1. Ordered List |
|
||
- [ ] Todo List |
|
||
> Blockquote | Blockquote |
||
**Bold font** | Bold font | ||
*Italics font* | Italics font | ||
~~Strikethrough~~ | |||
19^th^ | 19th | ||
H~2~O | H2O | ||
++Inserted text++ | Inserted text | ||
==Marked text== | Marked text | ||
[link text](https:// "title") | Link | ||
 | Image | ||
`Code` | Code |
在筆記中貼入程式碼 | |
```javascript var i = 0; ``` |
|
||
:smile: | ![]() |
Emoji list | |
{%youtube youtube_id %} | Externals | ||
$L^aT_eX$ | LaTeX | ||
:::info This is a alert area. ::: |
This is a alert area. |
On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?
Please give us some advice and help us improve HackMD.
Do you want to remove this version name and description?
Syncing
xxxxxxxxxx
Auto-traits / node features
With the growing popularity of Redfish we're facing the situation where nodes with the same driver and the same underlying protocol have drastically different capabilities. While some work is under way to provide additional validation (e.g. check that
redfish-virtual-media
is compatible with the given node).We already have a convenient mechanism to report a node's capabilities: traits. This RFE proposes discovering certain traits automatically.
User stories and examples
Optional virtual media
As an Ironic user I want to use virtual media with my Redfish nodes, but only if it is available.
Pick a node with firmware update capability
As an Ironic user I want to deploy a node that has Redfish firmware update capability.
Proposal
Make the conductor and hardware types automatically discover certain (pre-defined and documented) properties of a node and insert them as traits. The traits will use the prefix
IRONIC_
which is not compatible with os-traits and thus won't conflict with any existing traits. The new traits will only be visible in a new API version.TBD: do we report them to Placement? If yes, how do we ensure compatibility? Opinion: we probably don't want to report to Placement (and thus make available to end users) anything that an operator hasn't approved.
The format is
IRONIC_<SCOPE>_<FEATURE>[_<SUBFEATURE>]
where:<SCOPE>
is eitherCORE
or a hardware type (upper case). TheCORE
scope is reserved for Ironic itself.<FEATURE>
is a specific feature name.<SUBFEATURE>
is an optional subfeature name.Auto-traits will be collected on
manage
and periodically.An important aspect of the auto-traits is that they only depend on the hardware type, but not on the combination of interfaces. This may be confusing, but it is done to enable the use case above where an interface is defined based on whether a node has a certain feature.
List of auto-traits
For
Redfish
:IRONIC_REDFISH_VMEDIA
- has virtual media support.IRONIC_REDFISH_FIRMWAREUPGRADE
- can update firmware.IRONIC_REDFISH_SECUREBOOT
- can manage secure boot.TBD: do we distinguish between Redfish and iDRAC-Redfish? How?