<feed xmlns='http://www.w3.org/2005/Atom'>
<title>BMC/OpenBmc/bmcweb.git/static, branch master</title>
<subtitle>A do everything Redfish, KVM, GUI, and DBus webserver for OpenBMC (mirror)</subtitle>
<id>https://git.radix-linux.su/BMC/OpenBmc/bmcweb.git/atom?h=master</id>
<link rel='self' href='https://git.radix-linux.su/BMC/OpenBmc/bmcweb.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/OpenBmc/bmcweb.git/'/>
<updated>2024-08-26T20:37:01+00:00</updated>
<entry>
<title>Reformat meson files with meson format</title>
<updated>2024-08-26T20:37:01+00:00</updated>
<author>
<name>Ed Tanous</name>
<email>etanous@nvidia.com</email>
</author>
<published>2024-08-21T20:39:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/OpenBmc/bmcweb.git/commit/?id=92e26be5be5219dc04df63961b563ec2906aa217'/>
<id>urn:sha1:92e26be5be5219dc04df63961b563ec2906aa217</id>
<content type='text'>
Meson recently got a new format command in 1.5.0 [1].  It makes slightly
different formatting decisions compared to muon (what we used
previously) but given it's the official tool, we should switch to it.

There is one bug resolved recently that requires this format be done
using the meson from master.

Ideally this would be enforced by CI in the future, but that's WIP.

Tested: Whitespace only, code compiles.

[1] https://mesonbuild.com/Commands.html#format
[2] https://github.com/mesonbuild/meson/commit/df706807239095ddbbfd2975b3fe067ad6b5d535

Change-Id: I91506efb659c431e913c717d8a26aa349fccbd75
Signed-off-by: Ed Tanous &lt;etanous@nvidia.com&gt;
</content>
</entry>
<entry>
<title>Add back odata support</title>
<updated>2024-08-06T16:54:26+00:00</updated>
<author>
<name>Ed Tanous</name>
<email>etanous@nvidia.com</email>
</author>
<published>2024-06-16T19:10:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/OpenBmc/bmcweb.git/commit/?id=d5c0172e0335df05db2eaae3dae2c7d3def56089'/>
<id>urn:sha1:d5c0172e0335df05db2eaae3dae2c7d3def56089</id>
<content type='text'>
/redfish/v1/odata/index.json was inadvertently moved to be not
installed in
a529a6aa44e04ae5845d1324f3e8c887ebd47f7b

This file is basically unused, and even this author doesn't understand
what it's used for, but it is technically required in the spec, so add
it back using a runtime derived handler.

Tested:
Get /redfish/v1/odata returns the appropriate struct.

Change-Id: I548abbdd9f0b1eb28299165202626feede41e363
Signed-off-by: Ed Tanous &lt;etanous@nvidia.com&gt;
</content>
</entry>
<entry>
<title>Make schemas selectable</title>
<updated>2024-07-12T19:51:31+00:00</updated>
<author>
<name>Ed Tanous</name>
<email>ed@tanous.net</email>
</author>
<published>2024-05-29T23:51:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/OpenBmc/bmcweb.git/commit/?id=a529a6aa44e04ae5845d1324f3e8c887ebd47f7b'/>
<id>urn:sha1:a529a6aa44e04ae5845d1324f3e8c887ebd47f7b</id>
<content type='text'>
Which schemas are installed should be selectable in both a meson config,
and trivially by forks.  This commit gets us closer to that idea.

It does it in several ways, first, the code for generating
JsonSchemaFile resources has been changed to be generated at runtime,
based on files on disk.  This is slightly slower, but allows installing
schemas from anywhere, and matches the CSDL handling.

Next, the schema folders are separated into two sets
csdl -&gt; This includes the complete schema pack from dmtf
installed -&gt; this includes only the schemas the bmc includes

Similar folders exist for json-schema and json-schema-installed.

This allows any additional schemas to be a single symlink addition.
Note, this also checks in all of the dmtf json schemas, not just the
versions we use.  This allows us to update the schema pack without
needing to break our versions we ship.

Because the static files are now selectable, all files need to be in a
folder.  This forces the css and image for the redfish built-in gui to
be moved.

Tested:
/redfish/v1/JsonSchemas returns the correct result
/redfish/v1/JsonSchemas/UpdateService returns a JsonSchemaFile instance
/redfish/v1/JsonSchemas/UpdateService/UpdateService&lt;version&gt;json returns
the JsonSchemaFile contents.

Redfish service validator passes.

Change-Id: Ie96b2e4b623788dc2ec94eb40fcfd80325f0d826
Signed-off-by: Ed Tanous &lt;ed@tanous.net&gt;
</content>
</entry>
<entry>
<title>Update symlinks for 2024.1</title>
<updated>2024-06-21T18:07:41+00:00</updated>
<author>
<name>Gunnar Mills</name>
<email>gmills@us.ibm.com</email>
</author>
<published>2024-06-21T17:56:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/OpenBmc/bmcweb.git/commit/?id=3cb42ba0107b297b7c3c4b877e9518a95368a4b0'/>
<id>urn:sha1:3cb42ba0107b297b7c3c4b877e9518a95368a4b0</id>
<content type='text'>
Wrote a quick bash script to update these symlinks.

These are versioned out in json schema directory[1].

The symlinks don't work without this update.

[1]: https://github.com/openbmc/bmcweb/tree/master/redfish-core/schema/dmtf/json-schema

Before:
cat static/redfish/v1/JsonSchemas/redfish-error/redfish-error.json
cat: static/redfish/v1/JsonSchemas/redfish-error/redfish-error.json: No
such file or directory

f2a8e57ede74a8252100b2281e3f4d170aa69391 pulled in 2024.1 but did not
update these links. Long term update_schemas.py should do this. I
figured fix it first, then add update_schemas.py support.

Tested: Cat a few of these links. They appear to work.

Change-Id: Ibe55ab453775476b7a3d5e2fe79b3faaf0d45533
Signed-off-by: Gunnar Mills &lt;gmills@us.ibm.com&gt;
</content>
</entry>
<entry>
<title>Generate metadata at runtime</title>
<updated>2024-05-28T16:28:33+00:00</updated>
<author>
<name>Ed Tanous</name>
<email>ed@tanous.net</email>
</author>
<published>2024-05-18T23:07:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/OpenBmc/bmcweb.git/commit/?id=090ab8e1042e14f7e5e02572ae2a2102677f1f00'/>
<id>urn:sha1:090ab8e1042e14f7e5e02572ae2a2102677f1f00</id>
<content type='text'>
In the initial implementation of metadata indexing the bmc knew at
compile time what schemas it could potentially publish.  bmcweb took the
approach of adding all schemas of all versions to the $metadata
resource.  Since that was made, two major changes have happened.
First, Redfish has added significantly more versions of each schema, as
well as significantly more schemas to the point where the metadata index
is now 213KB.  While this file compresses fairly well, the size is
obvious from the large amount of time that redfish service validator
takes to parse the schemas, compared to actually acquiring BMC redfish
resources.
Second, aggregation was added, where an aggregated Redfish service might
implement any number of schemas, including OEM ones.

In an effort to fix this, this patch takes the compile-time algorithm in
update_schemas.py, and moves it into bmcweb itself, parsing the files on
disk as needed on demand.  This has some immediate benefits;  First, is
that now schemas can be potentially installed from anywhere, not only
from within the bmcweb build, and they will be resolved at runtime.

Second, patches that want to add support for a given schema need to only
symlink the schema into the correct folder, without needing to rerun
update_schemas.py.  This saves time in review.

Finally, this opens to door to reducing the schema versions present in
the metadata to the unique set of only what this bmcweb instance, and
its aggregated BMCs expose.

Tested: Redfish service validator passes.  Need A/B checking to verify
the file is byte for byte the same.
GET /redfish/v1/$metadata returns what looks like sane results, with a
correct content-type.
Unit tests require the use of TemporaryFileHandle, so that class is
moved into a more general folder, outside of test/http.

Change-Id: I326159099c6b6c4056023b2e173c5f074ed88ce1
Signed-off-by: Ed Tanous &lt;ed@tanous.net&gt;
</content>
</entry>
<entry>
<title>Add symlinks to folder</title>
<updated>2024-05-28T16:28:33+00:00</updated>
<author>
<name>Ed Tanous</name>
<email>ed@tanous.net</email>
</author>
<published>2024-05-11T14:28:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/OpenBmc/bmcweb.git/commit/?id=1fc213594ad32ef5d47bc26bd4e8b54b50c3dc6c'/>
<id>urn:sha1:1fc213594ad32ef5d47bc26bd4e8b54b50c3dc6c</id>
<content type='text'>
Now that we have the schemas moved, add symlinks back to the schemas
that we use, so that they will be installed correctly.

The meson option of follow_symlinks: true is added to suppress a
warning about potential change in behavior in meson in the future.

Change-Id: Ie24536ca04038d8137818c201d9411b95361b14f
Signed-off-by: Ed Tanous &lt;ed@tanous.net&gt;
</content>
</entry>
<entry>
<title>Move existing schemas into folders</title>
<updated>2024-05-28T16:28:33+00:00</updated>
<author>
<name>Ed Tanous</name>
<email>ed@tanous.net</email>
</author>
<published>2024-05-11T14:28:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/OpenBmc/bmcweb.git/commit/?id=720c989829920ac5b6837280e9b4b53815b01895'/>
<id>urn:sha1:720c989829920ac5b6837280e9b4b53815b01895</id>
<content type='text'>
Reorganize the existing schemas into folders under redfish core.

The existing schema system has some problems:
1. It's hard to add new schemas
2. We have to rerun the script any time we want to change what schemas
   we use.
3. Adding schemas optionally takes effort

In an effort to combat this, this patchset moves all the existing
schemas into folders that represent their namespace names

dmtf/csdl represents the CSDL that dmtf publishes
oem/openbmc represents the CSDL that OpenBMC publishes

In theory, this means that in the future we can relax OEM_SCHEMAS.md,
and allow folks to possibly implement their own schemas in a way that
doesn't have to effect all other systems.

This also has the advantage of not requiring changes to
update_schemas.py when we want to add, remove, or modify what version of
a schema we use.  "current" schemas are just symlinks, so they can be
updated using git, and not necessarily have merge conflicts with one
another.

Tested: Redfish service validator passes.

Change-Id: I6d4a130bba4cb874ef00a06ed579cc67f53dc7ae
Signed-off-by: Ed Tanous &lt;ed@tanous.net&gt;
</content>
</entry>
<entry>
<title>redfish-schema: add Protocol</title>
<updated>2024-03-05T15:56:32+00:00</updated>
<author>
<name>Patrick Williams</name>
<email>patrick@stwcx.xyz</email>
</author>
<published>2024-02-27T00:57:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/OpenBmc/bmcweb.git/commit/?id=1c79f93e70e8e08f2b17a0bb8c38bcfd929bb3e9'/>
<id>urn:sha1:1c79f93e70e8e08f2b17a0bb8c38bcfd929bb3e9</id>
<content type='text'>
The Drive schema indirectly references Protocol, but it is missing
from the schema list.  Modify `update_schemas.py` to include it and
run, checking in the results.

Signed-off-by: Patrick Williams &lt;patrick@stwcx.xyz&gt;
Change-Id: Ic3adad00924d450d3b7062c94ec04fc26e4cc9b9
</content>
</entry>
<entry>
<title>Bump Redfish schemas to 2023.3</title>
<updated>2024-01-31T22:12:11+00:00</updated>
<author>
<name>Gunnar Mills</name>
<email>gmills@us.ibm.com</email>
</author>
<published>2024-01-31T20:25:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/OpenBmc/bmcweb.git/commit/?id=2ae81db99a155febe45d27e3834cfa5471b3ecdf'/>
<id>urn:sha1:2ae81db99a155febe45d27e3834cfa5471b3ecdf</id>
<content type='text'>
Redfish released 2023.3 1/25/2024.
https://www.dmtf.org/content/redfish-release-20233-now-available

It is several new schemas and added properties to a pile of schemas.
One use case is: ComputerSystem v1.22.0
Added EfficiencyFavorPower and EfficiencyFavorPerformance to PowerMode
https://gerrit.openbmc.org/c/openbmc/phosphor-dbus-interfaces/+/69122

This is a one line change to scripts/update_schemas.py and then ran the
script.

Tested: See the new schema versions (e.g. System 1.22.0).
        No new Validator errors on p10bmc.

Change-Id: I5c10d78e891da71fd14187f63aa6ac682cf15598
Signed-off-by: Gunnar Mills &lt;gmills@us.ibm.com&gt;
</content>
</entry>
<entry>
<title>Update schemas to 2023.2</title>
<updated>2023-10-23T16:28:51+00:00</updated>
<author>
<name>Ed Tanous</name>
<email>edtanous@google.com</email>
</author>
<published>2023-09-21T18:15:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/BMC/OpenBmc/bmcweb.git/commit/?id=e9cc1bc93c4ad9662c93e2a98d4c787e2dbf9f07'/>
<id>urn:sha1:e9cc1bc93c4ad9662c93e2a98d4c787e2dbf9f07</id>
<content type='text'>
To quote from The Redfish release [1]

2022.3 Redfish Schema Bundle – This .zip file contains the current
versions of all Redfish schemas. The bundle includes 40 schema updates
and developer resources.
Added Compute Express Link (CXL) support (NEW)
Extensions to Fabric, PCIeDevice, Processor, Memory, ComputerSystem,
and Chassis schemas Defined by DMTF alliance partner Compute Express
Link (CXL) Consortium
Extensions to Fabric, PCIeDevice, Processor, Memory, ComputerSystem,
and Chassis schemas New CXLLogicalDevice schema
Added MultiFactorAuth to AccountService to configure a service for
multi-factor authentication
HTTP Basic authentication is not available for accounts configured
for multi-factor authentication
For client certificate authentication, the client provides their
identity certificate during TLS handshaking
For RSA SecurID, Google Authenticator, and Microsoft Authenticator,
clients provide a new Token property in the session creation request
Added Heater and HeaterMetrics resources

[1] https://www.dmtf.org/content/redfish-release-20223-now-available

Change-Id: Iefe80866bfb83e65ab98b2cf4ee2eacce5238c5b
Signed-off-by: Ed Tanous &lt;ed@tanous.net&gt;
</content>
</entry>
</feed>
