<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bmcweb/redfish-core/include/utils, branch master</title>
<subtitle>OpenBMC Web server</subtitle>
<id>https://git.raptorcs.com/git/bmcweb/atom?h=master</id>
<link rel='self' href='https://git.raptorcs.com/git/bmcweb/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bmcweb/'/>
<updated>2020-02-03T17:57:27+00:00</updated>
<entry>
<title>Add support to fetch the 'Updateable' components</title>
<updated>2020-02-03T17:57:27+00:00</updated>
<author>
<name>AppaRao Puli</name>
<email>apparao.puli@linux.intel.com</email>
</author>
<published>2020-01-28T21:06:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bmcweb/commit/?id=3f8a743a5179eb618518ff04b98202a997342bb0'/>
<id>urn:sha1:3f8a743a5179eb618518ff04b98202a997342bb0</id>
<content type='text'>
Currently 'Updateable' property value in SoftwareInventory schema
is hardcoded. Added support to  look through the updateable
software associations objects and use it for 'Updateable'
Redfish property in SoftwareInventory.

Tested:
 - Checked 'Updateable' Property value for both
   programmable and non-programmable firmware inventory
   components and it works as expected.
 - Ran the Redfish validator and no new issues found.

Signed-off-by: AppaRao Puli &lt;apparao.puli@linux.intel.com&gt;
Change-Id: Ia24f942f3afe49674ec3628cac0356a5496ef337
</content>
</entry>
<entry>
<title>Fix: bug fixes in readJson</title>
<updated>2019-12-17T18:57:38+00:00</updated>
<author>
<name>AppaRao Puli</name>
<email>apparao.puli@linux.intel.com</email>
</author>
<published>2019-12-16T14:05:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bmcweb/commit/?id=5eb2bef287eff01515671f07148393ceb9c5cad6'/>
<id>urn:sha1:5eb2bef287eff01515671f07148393ceb9c5cad6</id>
<content type='text'>
This commit contains bug fixes in readJson function call
 1) Handled invalid double value which is leading to crash
    bmcweb. If user give string for double value key, its
    not handled in readJson which intern causes exception
    and crash.
 2) If any of input types of floating_point, signed or unsigned
    int type values are provided with wrong type, it should
    return error, instead its returning 200 success response.
    Added code to return proper error response.

Tested:
 - Tested invalid case by giving wrong type values in PATCH.
URI: /redfish/v1/Chassis/WC_Baseboard/Thermal
METHOD: Patch
REQUEST:
{
"Fans": [
    {
      "MemberId": "Fan_1a",
      "Reading": "200"
    }
  ]
}
RESPONSE:
{
  "Reading@Message.ExtendedInfo": [
    {
      "@odata.type": "/redfish/v1/$metadata#Message.v1_0_0.Message",
      "Message": "The value \"200\" for the property Reading is of a different type than the property can accept.",
      "MessageArgs": [
        "\"200\"",
        "Reading"
      ],
      "MessageId": "Base.1.4.0.PropertyValueTypeError",
      "Resolution": "Correct the value for the property in the request body and resubmit the request if the operation failed.",
      "Severity": "Warning"
    }
  ]
}

 - Also performed some positive and negative tests with other URI's.
 - Redfish validator ran successfully without any issue(No impact though)

Change-Id: Ie98384e67a863ab96aa537f492a686b2c7ebb3a2
Signed-off-by: AppaRao Puli &lt;apparao.puli@linux.intel.com&gt;
</content>
</entry>
<entry>
<title>Redfish: Support health status of firmware inventory objects</title>
<updated>2019-12-12T02:57:07+00:00</updated>
<author>
<name>Carol Wang</name>
<email>wangkair@cn.ibm.com</email>
</author>
<published>2019-11-26T05:27:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bmcweb/commit/?id=97d57aaa0b95a110c71016d190f95f853051126a'/>
<id>urn:sha1:97d57aaa0b95a110c71016d190f95f853051126a</id>
<content type='text'>
Support health status of firmware inventory objects based on the mapping
relationship:
 [dbus status]     [redfish state]     [redfish health]
 Ready             Disabled            OK
 Activating        Updating            OK
 Active            Enabled             OK
 NotReady          Disabled            Warning
 Invalid           Disabled            Warning
 Failed            Disabled            Warning

Tested:
 [dbus status] --&gt; [redfish state] --&gt; [redfish health]
 1. Ready --&gt; Disabled --&gt; OK
 $ curl -k -H "X-Auth-Token: $token" https://$bmc/xyz/openbmc_project/software/enumerate
 {
    ...
    "/xyz/openbmc_project/software/9557fe67": {
       "Activation": "xyz.openbmc_project.Software.Activation.Activations.Ready",
    ...
 }
 $curl -k -H "X-Auth-Token: $token" https://${bmc}/redfish/v1/UpdateService/FirmwareInventory/9557fe67
 {
   "@odata.context": "/redfish/v1/$metadata#SoftwareInventory.SoftwareInventory",
   "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/9557fe67",
   ...
   "Status": {
     "Health": "OK",
     "HealthRollup": "OK",
     "State": "Disabled"
   },
   ...
 }
 2. Activating  --&gt; Updating  --&gt; OK
 $ curl -k -H "X-Auth-Token: $token" https://$bmc/xyz/openbmc_project/software/enumerate
 {
    ...
    "/xyz/openbmc_project/software/9557fe67": {
       "Activation": "xyz.openbmc_project.Software.Activation.Activations.Activating",
    ...
 }
 $curl -k -H "X-Auth-Token: $token" https://${bmc}/redfish/v1/UpdateService/FirmwareInventory/9557fe67
 {
   "@odata.context": "/redfish/v1/$metadata#SoftwareInventory.SoftwareInventory",
   "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/9557fe67",
   ...
   "Status": {
     "Health": "OK",
     "HealthRollup": "OK",
     "State": "Updating"
   },
   ...
 }
 3. Active --&gt; Enabled --&gt; OK
 $ curl -k -H "X-Auth-Token: $token" https://$bmc/xyz/openbmc_project/software/enumerate
 {
    "data": {
     "/xyz/openbmc_project/software/9557fe67": {
       "Activation": "xyz.openbmc_project.Software.Activation.Activations.Active",
    ...
 }
 $ curl -k -H "X-Auth-Token: $token" https://${bmc}/redfish/v1/UpdateService/FirmwareInventory/9557fe67
 {
   "@odata.context": "/redfish/v1/$metadata#SoftwareInventory.SoftwareInventory",
   "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/9557fe67",
   ...
   "Status": {
     "Health": "OK",
     "HealthRollup": "OK",
     "State": "Enabled"
   },
   ...
 }
 4. Invalid --&gt; Disabled --&gt; Warning
 # busctl call xyz.openbmc_project.Software.BMC.Updater /xyz/openbmc_project/software/c0bbba12 \
   org.freedesktop.DBus.Properties Set ssv xyz.openbmc_project.Software.Activation Activation s \
   xyz.openbmc_project.Software.Activation.Activations.Invalid
 $ curl -k -H "X-Auth-Token: $token" https://$bmc/xyz/openbmc_project/software/enumerate
 {
    ...
    "/xyz/openbmc_project/software/c0bbba12": {
       "Activation": "xyz.openbmc_project.Software.Activation.Activations.Invalid",
    ...
 }
 $ curl -k -H "X-Auth-Token: $token" https://${bmc}/redfish/v1/UpdateService/FirmwareInventory/c0bbba12
 {
   "@odata.context": "/redfish/v1/$metadata#SoftwareInventory.SoftwareInventory",
   "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/c0bbba12",
   ...
   "Status": {
     "Health": "Warning",
     "HealthRollup": "OK",
     "State": "Disabled"
   },
   ...
 }
 5. NotReady --&gt; Disabled --&gt; Warning
 # busctl call xyz.openbmc_project.Software.BMC.Updater /xyz/openbmc_project/software/c0bbba12 \
   org.freedesktop.DBus.Properties Set ssv xyz.openbmc_project.Software.Activation Activation s \
   xyz.openbmc_project.Software.Activation.Activations.NotReady
 $ curl -k -H "X-Auth-Token: $token" https://$bmc/xyz/openbmc_project/software/enumerate
 {
    ...
    "/xyz/openbmc_project/software/c0bbba12": {
       "Activation": "xyz.openbmc_project.Software.Activation.Activations.NotReady",
    ...
 }
 $ curl -k -H "X-Auth-Token: $token" https://${bmc}/redfish/v1/UpdateService/FirmwareInventory/c0bbba12
 {
   "@odata.context": "/redfish/v1/$metadata#SoftwareInventory.SoftwareInventory",
   "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/c0bbba12",
   ...
   "Status": {
     "Health": "Warning",
     "HealthRollup": "OK",
     "State": "Disabled"
   },
   ...
 }
 6. Failed --&gt; Disabled --&gt; Warning
 # busctl call xyz.openbmc_project.Software.BMC.Updater /xyz/openbmc_project/software/c0bbba12 \
   org.freedesktop.DBus.Properties Set ssv xyz.openbmc_project.Software.Activation Activation s \
    xyz.openbmc_project.Software.Activation.Activations.Failed
 $ curl -k -H "X-Auth-Token: $token" https://$bmc/xyz/openbmc_project/software/enumerate
 {
    ...
    "/xyz/openbmc_project/software/c0bbba12": {
       "Activation": "xyz.openbmc_project.Software.Activation.Activations.Failed",
    ...
 }
 $ curl -k -H "X-Auth-Token: $token" https://${bmc}/redfish/v1/UpdateService/FirmwareInventory/c0bbba12
 {
   "@odata.context": "/redfish/v1/$metadata#SoftwareInventory.SoftwareInventory",
   "@odata.id": "/redfish/v1/UpdateService/FirmwareInventory/c0bbba12",
   ...
   "Status": {
     "Health": "Warning",
     "HealthRollup": "OK",
     "State": "Disabled"
   },
   ...
 }

Validator tool result:
 Counter({'pass': 2992, 'skipOptional': 2470, 'metadataNamespaces': 1605,
 'passGet': 189, 'serviceNamespaces': 71, 'invalidPropertyValue': 10,
 'warningPresent': 6, 'passAction': 6, 'optionalAction': 5, 'warnDeprecated':
 2, 'unverifiedComplexAdditional': 1})
 Validation has succeeded.

Change-Id: Ic475f56d19c0be01ca7aebf67a3f6814d35bcacd
Signed-off-by: Carol Wang &lt;wangkair@cn.ibm.com&gt;
</content>
</entry>
<entry>
<title>Adding StandBySpare state for firmware inventory</title>
<updated>2019-12-06T18:44:52+00:00</updated>
<author>
<name>Vikram Bodireddy</name>
<email>vikram.bodireddy@linux.intel.com</email>
</author>
<published>2019-12-05T06:46:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bmcweb/commit/?id=91fe97c521d323fb5dfecade77a8548f7d1a01c1'/>
<id>urn:sha1:91fe97c521d323fb5dfecade77a8548f7d1a01c1</id>
<content type='text'>
Added new state 'StandBySpare' for firmware inventory
objects. With this change firmware inventory ["Status"]["State"]
will be set to "StandBySpare" if the inventory item is
BackUp/Recovery image.

Tested:
 - Did the GET on "/redfish/v1/UpdateService/FirmwareInventory/&lt;backup image&gt;"
    Response:
       ....
       "Status": {
           "Health": "OK",
           "HealthRollup": "OK",
           "State": "StandbySpare"
       }
       .....
 - Verifed GET on other inventory and works fine
 - Successfully ran the Redfish validator.

Change-Id: I7094bb3a60a7fb8dc6564ee1d7a67480249423ac
Signed-off-by: Vikram Bodireddy &lt;vikram.bodireddy@linux.intel.com&gt;
</content>
</entry>
<entry>
<title>Make references to crow less obvious</title>
<updated>2019-10-18T16:20:11+00:00</updated>
<author>
<name>Ed Tanous</name>
<email>ed.tanous@intel.com</email>
</author>
<published>2019-10-10T22:39:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bmcweb/commit/?id=c94ad49bc747e7a7170287b9f4c859e3638cf432'/>
<id>urn:sha1:c94ad49bc747e7a7170287b9f4c859e3638cf432</id>
<content type='text'>
Recently, a number of people in the community have made the (admittedly
easy) mistake that we use a significant portion of crow.

Today, we use crow for the router, and the "app" structure, and even
those have been significantly modified to meet the bmc needs.  All other
components have been replaced with Boost beast.  This commit removes the
crow mentions from the Readme, and moves the crow folder to "http" to
camouflage it a little.  No code content has changed.

Tested:
Code compiles.  No functional change made to any executable code.

Signed-off-by: Ed Tanous &lt;ed.tanous@intel.com&gt;
Change-Id: Iceb57b26306cc8bdcfc77f3874246338864fd118
</content>
</entry>
<entry>
<title>Fix state property on firmware properties</title>
<updated>2019-10-11T17:40:32+00:00</updated>
<author>
<name>Ed Tanous</name>
<email>ed.tanous@intel.com</email>
</author>
<published>2019-10-11T17:40:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bmcweb/commit/?id=a6f9392101c6adb9f4ad57d349c392b2396c2cb1'/>
<id>urn:sha1:a6f9392101c6adb9f4ad57d349c392b2396c2cb1</id>
<content type='text'>
In the case of non-updatable firmware entities, the State variable was
not getting populated due to a poorly handled error condition.

This resolves it, and assumes non-updatable entities are just "Enabled"

Tested:  Need help here.  I'm not able to reproduce the original issue
on my system, so need someone else to test that this resolves it.

Signed-off-by: Ed Tanous &lt;ed.tanous@intel.com&gt;
Change-Id: Ibd5db741cb8b0b2451a04fe14157dc1d3cbbcc03
</content>
</entry>
<entry>
<title>Fix a bunch of warnings</title>
<updated>2019-10-10T23:25:26+00:00</updated>
<author>
<name>Ed Tanous</name>
<email>ed.tanous@intel.com</email>
</author>
<published>2019-07-09T23:24:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bmcweb/commit/?id=271584ab78b4c1926f766aa26ddfde7da329059f'/>
<id>urn:sha1:271584ab78b4c1926f766aa26ddfde7da329059f</id>
<content type='text'>
using the list of warnings from here:
https://github.com/lefticus/cppbestpractices/blob/e73393f25a85f83fed7399d8b65cb117d00b2231/02-Use_the_Tools_Available.md#L100

Seems like a good place to start, and would improve things a bit
type-wise.  This patchset attempts to correct all the issues in one
shot.

Tested:
It builds.  Will test various subsystems that have been touched

Signed-off-by: Ed Tanous &lt;ed.tanous@intel.com&gt;
Change-Id: I588c26440e5a97f718a0f0ea74cc84107d53aa1e
</content>
</entry>
<entry>
<title>SoftwareInventory: Catch more interfaces</title>
<updated>2019-10-10T17:46:40+00:00</updated>
<author>
<name>James Feist</name>
<email>james.feist@linux.intel.com</email>
</author>
<published>2019-10-02T23:42:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bmcweb/commit/?id=49d734ff2f17f5f623e60e52a144d6304866aad3'/>
<id>urn:sha1:49d734ff2f17f5f623e60e52a144d6304866aad3</id>
<content type='text'>
Expand the path to a larger namespace, and allow non
updateable interfaces to not error out.

Tested: More interfaces appeared without error

Change-Id: I4a6e3092c868cb5f3fe66401269d5c99f69328c8
Signed-off-by: James Feist &lt;james.feist@linux.intel.com&gt;
</content>
</entry>
<entry>
<title>Fix readJson to allow null as a complex type</title>
<updated>2019-09-04T20:36:07+00:00</updated>
<author>
<name>Ed Tanous</name>
<email>ed.tanous@intel.com</email>
</author>
<published>2019-08-28T21:02:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bmcweb/commit/?id=8ebc91f6b7f6820f0b2a7b99401002cb4524cd79'/>
<id>urn:sha1:8ebc91f6b7f6820f0b2a7b99401002cb4524cd79</id>
<content type='text'>
Given that very few people have actually needed to unpack a null value
with readJson, it's not surprising that there are bugs there.

the simplest case that failed was attempting to unpack an array which
might contain null values, which should be allowed to be unpacked with a
nlohmann::json object, to allow error handling and the new delete cases,
but were rejected.

Tested:
Reran the unit test here, which succeeded.
https://gerrit.openbmc-project.xyz/c/openbmc/bmcweb/+/23954/2

Signed-off-by: Ed Tanous &lt;ed.tanous@intel.com&gt;
Change-Id: I50ae26645ad16f6a6228c27e6d501c08de4c622b
</content>
</entry>
<entry>
<title>cleanup: Move a pointer to a reference</title>
<updated>2019-09-04T20:35:40+00:00</updated>
<author>
<name>Ed Tanous</name>
<email>ed.tanous@intel.com</email>
</author>
<published>2019-08-08T15:38:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bmcweb/commit/?id=ee344e0fa76b2b24866d25b305e12ae82824f01b'/>
<id>urn:sha1:ee344e0fa76b2b24866d25b305e12ae82824f01b</id>
<content type='text'>
Minor cleanup to a routine that allows us to drop one nullptr check.

Tested:
Will test shortly.  Code should be no-op.

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