History log of /openbmc/bmcweb/features/redfish/lib/systems.hpp (Results 226 – 249 of 249)
Revision Date Author Comments
# cde19e5f 19-Feb-2019 Santosh Puranik <santosh.puranik@in.ibm.com>

Fixes in System schema PATCH handling

-- Fixed typo: "IndicatorLed" ==> "IndicatorLED"
-- Fixed readJson call which was taking in an empty std::string
This caused PATCH to send back a warning if

Fixes in System schema PATCH handling

-- Fixed typo: "IndicatorLed" ==> "IndicatorLED"
-- Fixed readJson call which was taking in an empty std::string
This caused PATCH to send back a warning if Indicator LED was
missing from the incoming JSON.
-- Fixed a segfault due to accessing an invalid shared_ptr
(The shared_ptr being accessed was previously moved to an async
callback)

Tested:
-- Limited testing done. I tried PATCH'ing the IndicatorLED property
on QEMU.
-- Made sure no segfault anymore.

Change-Id: If47dbacdeee791dd3cc2ac0e37c0b74bb3920df0
Signed-off-by: Santosh Puranik <santosh.puranik@in.ibm.com>

show more ...


# 029573d4 01-Feb-2019 Ed Tanous <ed.tanous@intel.com>

bmcweb: Implement single Redfish "system" endpoint

This commit changes the redfish behavior to move to a single, known name
under the /redfish/v1/Systems/system path. This is advantageous for a
lot

bmcweb: Implement single Redfish "system" endpoint

This commit changes the redfish behavior to move to a single, known name
under the /redfish/v1/Systems/system path. This is advantageous for a
lot of reasons.
1. Lots fewer dbus calls to determine the system name for every path.
This could be optimized in other ways, like checking the system name on
startup, but because redfish paths are not intended to be informative,
this patchset takes the opinion that less code is better.
2. Lots of lowered complexity, given that each endpoint underneath
/system doesn't need an individual "does this system exist, and is the
name right" check.
3. This makes it possible to correctly implement the "Links" property in
Chassis, which is required for the OCP base server profile

Tested By:
Very minimal testing done, but it seems to pass the validator.

Change-Id: Iea3cb5081b92a3843b6877decd009936de00561c
Signed-off-by: Ed Tanous <ed.tanous@intel.com>
Signed-off-by: Gunnar Mills <gmills@us.ibm.com>

show more ...


# abf2add6 22-Jan-2019 Ed Tanous <ed.tanous@intel.com>

bmcweb: move variant usage to std namespace

Change-Id: I9d7069668f91f2ac72d2f4a440f63e0e85dd5269
Signed-off-by: Ed Tanous <ed.tanous@intel.com>


# 94732661 08-Jan-2019 Andrew Geissler <geissonator@yahoo.com>

Fix host state checking logic

Resolves openbmc/bmcweb#12

Testing: Verified this with system booted against
redfish/v1/Systems/motherboard:
"PowerState": "On",
"Status": {
"State": "Enabled"

Fix host state checking logic

Resolves openbmc/bmcweb#12

Testing: Verified this with system booted against
redfish/v1/Systems/motherboard:
"PowerState": "On",
"Status": {
"State": "Enabled"
},
and this with system powered off:
"PowerState": "Off",
"Status": {
"State": "Disabled"
},

Change-Id: I0acbf0992d730e4a5189d9af962370277f59eaaa
Signed-off-by: Andrew Geissler <geissonator@yahoo.com>

show more ...


# bb3d9946 22-Nov-2018 Rapkiewicz, Pawel <pawel.rapkiewicz@intel.com>

bmcweb: Update schema versions to latest

Update Schema versions for:
* ComputerSystem
* Processor
* Memory

Tests:
* Service Validator did not have any regression

Change-Id: I3fb900b464013588ac0b08

bmcweb: Update schema versions to latest

Update Schema versions for:
* ComputerSystem
* Processor
* Memory

Tests:
* Service Validator did not have any regression

Change-Id: I3fb900b464013588ac0b08c0157404c8ababddb2
Signed-off-by: Rapkiewicz, Pawel <pawel.rapkiewicz@intel.com>
Signed-off-by: Ed Tanous <ed.tanous@intel.com>

show more ...


# a24526dc 10-Dec-2018 Ed Tanous <ed.tanous@intel.com>

bmcweb: Move boost::optional to std::optional

This change is largely a sed replace, and gets us closer to standards
compliance.

Change-Id: Ie60437eff43de830ef19389344a55430dabd9d16
Signed-off-by: E

bmcweb: Move boost::optional to std::optional

This change is largely a sed replace, and gets us closer to standards
compliance.

Change-Id: Ie60437eff43de830ef19389344a55430dabd9d16
Signed-off-by: Ed Tanous <ed.tanous@intel.com>

show more ...


# 1b6b96c5 30-Nov-2018 Ed Tanous <ed.tanous@intel.com>

Remove custom version of getPtr

Now that sdbusplus variant supports std::get_if, we can remove our
custom, mapbox namespaced implementation that does the same thing.

Change-Id: I854c473003e28e41dd4

Remove custom version of getPtr

Now that sdbusplus variant supports std::get_if, we can remove our
custom, mapbox namespaced implementation that does the same thing.

Change-Id: I854c473003e28e41dd45dba08ca683433f1c1774
Signed-off-by: Ed Tanous <ed.tanous@intel.com>

show more ...


# 0f74e643 12-Nov-2018 Ed Tanous <ed.tanous@intel.com>

bmcweb: Redfish away from json cache

In the original incarnation of bmcweb, route registration was done
automatically. This has proved to be a terrible idea, wraught with
corner cases and issues.

bmcweb: Redfish away from json cache

In the original incarnation of bmcweb, route registration was done
automatically. This has proved to be a terrible idea, wraught with
corner cases and issues.

The route registration is currently the only user of the
redfish::Node::json element. Unfortunately, as written, this structure
consumes a lot of memory that's duplicated and not very useful. From a
performance perspective, there is almost no difference between
rebuilding the structure for each GET request, and having the "cache"
that needs to be copied into the response and modified before it can be
useful.

In the programming tradeoffs for bmc, lower memory usage is more important
than latency, especially at these levels.

Change-Id: I785e8352123e5e886acf05cd59cb23648f93839d
Signed-off-by: Ed Tanous <ed.tanous@intel.com>

show more ...


# c4bf6374 05-Nov-2018 Jason M. Bills <jason.m.bills@linux.intel.com>

Change the BMC LogService to only display from the message registry

This change renames the existing BMC LogService that displays all
entries in the journal to a BMC Journal LogService.

The new sta

Change the BMC LogService to only display from the message registry

This change renames the existing BMC LogService that displays all
entries in the journal to a BMC Journal LogService.

The new standard BMC LogService is modified to only display messages
from the registry. The registry MessageId and MessageArgs must
be included in the journal metadata as "REDFISH_MESSAGE_ID" and
"REDFISH_MESSAGE_ARG_<x>" respectively, where <x> is the arg
number from the registry.

Change-Id: I4556cbea5032ec639ad1fda084571144defe23dc
Signed-off-by: Jason M. Bills <jason.m.bills@linux.intel.com>

show more ...


# a08b46cc 06-Nov-2018 Jason M. Bills <jason.m.bills@linux.intel.com>

Simplify Redfish error message property interface

The error message code used a json_pointer object which must
begin with a '/' character and had to be sent as an extra
parameter. This change simpl

Simplify Redfish error message property interface

The error message code used a json_pointer object which must
begin with a '/' character and had to be sent as an extra
parameter. This change simplifies the interface by using a
string so there doesn't have to be a '/'. This allowed the
same property argument passed for the message to be used
for the property field path.

Tested: Sent an error with a property and verified that it is
correctly displayed.

Change-Id: I0571e2eee627cedf29d751588a4f1bceee66f084
Signed-off-by: Jason M. Bills <jason.m.bills@linux.intel.com>

show more ...


# 443c2934 22-Oct-2018 Rapkiewicz, Pawel <pawel.rapkiewicz@intel.com>

Initial implementation of processors and memory schema

This is an initial implementations of GET methods for
several schemas:

* ProcessorCollection
* Processor
* MemoryCollection
* Memory

It fetch

Initial implementation of processors and memory schema

This is an initial implementations of GET methods for
several schemas:

* ProcessorCollection
* Processor
* MemoryCollection
* Memory

It fetches data from Smbios service.

Tested:
* Compiance report
* Manual walk through selected schemas.

Change-Id: I11e00d0982248f2307e24b9a246ac60672dda8a1
Signed-off-by: Rapkiewicz, Pawel <pawel.rapkiewicz@intel.com>
Signed-off-by: Ed Tanous <ed.tanous@intel.com>

show more ...


# f12894f8 09-Oct-2018 Jason M. Bills <jason.m.bills@linux.intel.com>

Improve the Redfish error reporting interface

Makes the Redfish error reporting interface automatically handle
setting the http status and JSON content in the response object.

When using an AsyncRe

Improve the Redfish error reporting interface

Makes the Redfish error reporting interface automatically handle
setting the http status and JSON content in the response object.

When using an AsyncResp object, this allows for simply calling
the Redfish error and returning.

Change-Id: Icfdce2de763225f070e8dd61e591f296703f46bb
Signed-off-by: Jason M. Bills <jason.m.bills@linux.intel.com>

show more ...


# 9712f8ac 21-Sep-2018 Ed Tanous <ed.tanous@intel.com>

Implement a new way of unpacking json to structs

The existing way of decoding json structures, while fast has some disadvantages.
1. it's very verbose to write.
2. It requires in depth knowlege of r

Implement a new way of unpacking json to structs

The existing way of decoding json structures, while fast has some disadvantages.
1. it's very verbose to write.
2. It requires in depth knowlege of redfish error messages to get
correct.
3. It _can_ lead to undesired behavior, like half of a patch being
applied, if only some of the values have bad types.

This commit implements a new interface for decoding redfish json
named.... readJson. It is a templated function, that lets you decode
json values based on type easily, while still handling all the correct
error codes that were handled previously. Use is done similar to the
example below:

std::string required;
boost::optional<std::string> optional;
if (!json_util::readJson(req, res, "OptionalParam", optional,
"RequiredParam", required))
{
return;
}

if (optional){
// optional param was given, take action.
}

As part of this patchset, the systems schema is moved to the new
interface, which deletes some of the code involved and shows the
improvement in clarity.

Change-Id: I041a97c84d294df8cd4de4c2702e5ee22c0bc120
Signed-off-by: Ed Tanous <ed.tanous@intel.com>

show more ...


# 04a258f4 15-Oct-2018 Ed Tanous <ed.tanous@intel.com>

Redfish- Clean up system schema implementation

Move the system schema awa from using single letter variable names.

Change-Id: I41f9c00f6a227a43126ad47f60e26950f0cf89ec
Signed-off-by: Ed Tanous <ed.

Redfish- Clean up system schema implementation

Move the system schema awa from using single letter variable names.

Change-Id: I41f9c00f6a227a43126ad47f60e26950f0cf89ec
Signed-off-by: Ed Tanous <ed.tanous@intel.com>

show more ...


# cc340dd9 29-Aug-2018 Ed Tanous <ed.tanous@intel.com>

Implement Computer System reset action

This commit adds the ComputerSystem.Reset action to the redfish
interface.

Tested by:
Ran compliance tool, and it appeared to pass. Also ran POST on the
inte

Implement Computer System reset action

This commit adds the ComputerSystem.Reset action to the redfish
interface.

Tested by:
Ran compliance tool, and it appeared to pass. Also ran POST on the
interface, and observed the system reset.

Change-Id: Ie39bf9d1c78fe0688f4fee22b1ecf91268f2242c
Signed-off-by: Ed Tanous <ed.tanous@intel.com>

show more ...


# 6617338d 15-Aug-2018 Ed Tanous <ed.tanous@intel.com>

Modernization of systems

This moves systems schemas over to modern useages:
1. Remove the use of wildcard lambda captures [&]
2. Correctly handle the case where we are given a PATCH with parameters

Modernization of systems

This moves systems schemas over to modern useages:
1. Remove the use of wildcard lambda captures [&]
2. Correctly handle the case where we are given a PATCH with parameters
we don't support.
3. Move some functions that are no longer required, and are done more
cleanly inside the specific handlers.

Change-Id: Iab4a360e6b675e4f792b49c8cb2df9a3e7f68cbb
Signed-off-by: Ed Tanous <ed.tanous@intel.com>

show more ...


# 6c34de48 29-Aug-2018 Ed Tanous <ed.tanous@intel.com>

Remove the providers interface from systems

The providers class is entirely static, and has no real purpose at this
point in time. This commit removes it so we don't copy the pattern in
other place

Remove the providers interface from systems

The providers class is entirely static, and has no real purpose at this
point in time. This commit removes it so we don't copy the pattern in
other places.

Tested By:
Ran a subset of gets and patches to the computer system schema,
observed the same behavior.

Change-Id: Ia9e49aee6bd944aeadb2536de38a905b25047d9e
Signed-off-by: Ed Tanous <ed.tanous@intel.com>

show more ...


# a0803efa 29-Aug-2018 Ed Tanous <ed.tanous@intel.com>

Generalize the "Async Response" pattern

Lots of endpoints have been using the AsyncResp structure, and some,
like the systems schemas, have created their own. This is the start of
a series of patch

Generalize the "Async Response" pattern

Lots of endpoints have been using the AsyncResp structure, and some,
like the systems schemas, have created their own. This is the start of
a series of patches to move to a more condensed async response object.

Tested by: ran GET on systems schema and observed no change to behavior.

Change-Id: I4c9afc583be3f75371b31cc76dcc02590ce5e9a7

show more ...


# 1abe55ef 05-Sep-2018 Ed Tanous <ed.tanous@intel.com>

Move to clang-format-6.0

This commit moves the codebase to the lastest clang-format file from
upstream, as well as clang-format-6.0.

Change-Id: Ice8313468097c0c42317fbb9e10ddf036e8cff4c
Signed-off-

Move to clang-format-6.0

This commit moves the codebase to the lastest clang-format file from
upstream, as well as clang-format-6.0.

Change-Id: Ice8313468097c0c42317fbb9e10ddf036e8cff4c
Signed-off-by: Ed Tanous <ed.tanous@intel.com>

show more ...


# d76323e5 07-Aug-2018 Ed Tanous <ed.tanous@intel.com>

Last round of variable renames

A few patches were in flight when we did the great variable renaming.
This catches all the patches that have been merged since

Change-Id: Ie9642a4812b2a679ffa01ce540f

Last round of variable renames

A few patches were in flight when we did the great variable renaming.
This catches all the patches that have been merged since

Change-Id: Ie9642a4812b2a679ffa01ce540f5c4515a4c710b
Signed-off-by: Ed Tanous <ed.tanous@intel.com>

show more ...


# 8ceb2eca 13-Aug-2018 Ed Tanous <ed.tanous@intel.com>

Clang-format cleanup

It looks like some of the code reviews in progress contain clang-format
fixes as well.

This squashes all of the clang-format fixes into a single commit, that
hopefully can go t

Clang-format cleanup

It looks like some of the code reviews in progress contain clang-format
fixes as well.

This squashes all of the clang-format fixes into a single commit, that
hopefully can go through the process a little faster, as it should only
be whitespace changes.

In the past, clang-formatting the naughty strings file proved
to return inconsistent results, and even formatted files would still be
detected as unformatted. Aparently the solution was to run
clang-format-5.0 approximately 20 times in a loop, until it decided on
a code layout that it was ok with iteration to iteration.

This is a bit of a corner case, so I don't think we need to get CI
running multiple runs in the future, and can just handle this on a case
by case basis. I'd be surprised if anyone else had this issue.

Change-Id: I57e2a03676bce20dc376fd9cea724732b2dc7010
Signed-off-by: Ed Tanous <ed.tanous@intel.com>

show more ...


# a434f2bd 27-Jul-2018 Ed Tanous <ed.tanous@intel.com>

Fix merge conflict

Got a couple patches that collided in air, and now builds are broken.
This resolves the collision by moving the new patches forward to the
latest #defines

Change-Id: I1fe35d17a68

Fix merge conflict

Got a couple patches that collided in air, and now builds are broken.
This resolves the collision by moving the new patches forward to the
latest #defines

Change-Id: I1fe35d17a68c61ad90752ae73000e2579131bf5d
Signed-off-by: Ed Tanous <ed.tanous@intel.com>

show more ...


# 55c7b7a2 22-May-2018 Ed Tanous <ed.tanous@intel.com>

Move over to upstream c++ style

This patchset moves bmcweb over to the upstream style naming
conventions for variables, classes, and functions, as well as imposes
the latest clang-format file.

This

Move over to upstream c++ style

This patchset moves bmcweb over to the upstream style naming
conventions for variables, classes, and functions, as well as imposes
the latest clang-format file.

This changeset was mostly built automatically by the included
.clang-tidy file, which has the ability to autoformat and auto rename
variables. At some point in the future I would like to see this in
greater use, but for now, we will impose it on bmcweb, and see how it
goes.

Tested: Code still compiles, and appears to run, although other issues
are possible and likely.

Change-Id: If422a2e36df924e897736b3feffa89f411d9dac1
Signed-off-by: Ed Tanous <ed.tanous@intel.com>

show more ...


# c5b2abe0 30-May-2018 Lewanczyk, Dawid <dawid.lewanczyk@intel.com>

Introduce ComputerSystem schema

Initial commit which adds:
- ComputerSchemaCollection GET method
- ComputerSchema GET, PATCH methods

Tested on x86 and aspeed
- RSV pass for ComputerSchema
- bmcweb

Introduce ComputerSystem schema

Initial commit which adds:
- ComputerSchemaCollection GET method
- ComputerSchema GET, PATCH methods

Tested on x86 and aspeed
- RSV pass for ComputerSchema
- bmcweb interface no regression
- smbios interface tested with demo app

Change-Id: Ib64084c5888bc511a24f954a6bc062ca920addbe
Signed-off-by: Lewanczyk, Dawid <dawid.lewanczyk@intel.com>

show more ...


12345678910