summaryrefslogtreecommitdiff
path: root/redfish-core/lib/managers.hpp
AgeCommit message (Collapse)AuthorFilesLines
2019-04-10PATCH support for DateTimeSantosh Puranik1-1/+59
This commit adds PATCH support for the DateTime property. To set the BMC time, it uses the xyz.openbmc_project.Time.EpochTime.Elapsed property. The BMC time can only be set if the BMC owns it's own time *and* the time is not automatically synced with NTP server(s). The input JSON for the PATCH request must speicfy datetime in extended ISO 8601 format. Tested: ======= Precondition: Time owner should be BMC and sync method should be Manual. busctl get-property xyz.openbmc_project.Settings /xyz/openbmc_project/time/owner xyz.openbmc_project.Time.Owner TimeOwner s "xyz.openbmc_project.Time.Owner.Owners.BMC" busctl get-property xyz.openbmc_project.Settings /xyz/openbmc_project/time/sync_method xyz.openbmc_project.Time.Synchronization TimeSyncMethod s "xyz.openbmc_project.Time.Synchronization.Method.Manual" -- Setting date time: curl -k -H "X-Auth-Token: $bmc_token" -X PATCH https://${bmc}:${port}/redfish/v1/Managers/bmc -d '{"DateTime": "2019-03-20T08:47:30.345+00:00"}' { "DateTime": "2019-03-20T08:47:30.345+00:00" } Invalid date time string: curl -k -H "X-Auth-Token: $bmc_token" -X PATCH https://${bmc}:${port}/redfish/v1/Managers/bmc -d '{"DateTime": "2019-03-20T08:47:30.345+ds:00"}' { "DateTime@Message.ExtendedInfo": [ { "@odata.type": "/redfish/v1/$metadata#Message.v1_0_0.Message", "Message": "The value 2019-03-20T08:47:30.345+ds:00 for the property DateTime is of a different format than the property can accept.", "MessageArgs": [ "2019-03-20T08:47:30.345+ds:00", "DateTime" ], "MessageId": "Base.1.4.0.PropertyValueFormatError", "Resolution": "Correct the value for the property in the request body and resubmit the request if the operation failed.", "Severity": "Warning" } ] } When the time sync method is NTP, the PATCH request fails as expected: busctl get-property xyz.openbmc_project.Settings /xyz/openbmc_project/time/sync_method xyz.openbmc_project.Time.Synchronization TimeSyncMethod s "xyz.openbmc_project.Time.Synchronization.Method.NTP" curl -k -H "X-Auth-Token: $bmc_token" -X PATCH https://${bmc}:${port}/redfish/v1/Managers/bmc -d '{"DateTime": "2019-03-20T08:47:30+00:00"}' { "error": { "@Message.ExtendedInfo": [ { "@odata.type": "/redfish/v1/$metadata#Message.v1_0_0.Message", "Message": "The request failed due to an internal service error. The service is still operational.", "MessageArgs": [], "MessageId": "Base.1.4.0.InternalError", "Resolution": "Resubmit the request. If the problem persists, consider resetting the service.", "Severity": "Critical" } ], "code": "Base.1.4.0.InternalError", "message": "The request failed due to an internal service error. The service is still operational." } } When the time sync method is Manual, but the time owner is Host, PATCH fails as expected again: busctl get-property xyz.openbmc_project.Settings /xyz/openbmc_project/time/owner xyz.openbmc_project.Time.Owner TimeOwner s "xyz.openbmc_project.Time.Owner.Owners.Host" busctl get-property xyz.openbmc_project.Settings /xyz/openbmc_project/time/sync_method xyz.openbmc_project.Time.Synchronization TimeSyncMethod s "xyz.openbmc_project.Time.Synchronization.Method.Manual" curl -k -H "X-Auth-Token: $bmc_token" -X PATCH https://${bmc}:${port}/redfish/v1/Managers/bmc -d '{"DateTime": "2019-03-20T08:47:30+00:00"}' { "error": { "@Message.ExtendedInfo": [ { "@odata.type": "/redfish/v1/$metadata#Message.v1_0_0.Message", "Message": "The request failed due to an internal service error. The service is still operational.", "MessageArgs": [], "MessageId": "Base.1.4.0.InternalError", "Resolution": "Resubmit the request. If the problem persists, consider resetting the service.", "Severity": "Critical" } ], "code": "Base.1.4.0.InternalError", "message": "The request failed due to an internal service error. The service is still operational." } } Change-Id: Ie4a71e639b9a6577fae8627f0f69b6179506eb58 Signed-off-by: Santosh Puranik <santosh.puranik@in.ibm.com>
2019-04-05Add SerialConsole to Manager nodeSantosh Puranik1-0/+10
This commit adds SerialConsole property to the response JSON when doing a GET on the manager resource. The supported connection types are hard-coded. Tested: Performed a GET on the manager object to see the newly added properties: curl -k -H "X-Auth-Token: $bmc_token" -X GET https://${bmc}:${port}/redfish/v1/Managers/bmc { "@odata.context": "/redfish/v1/$metadata#Manager.Manager", "@odata.id": "/redfish/v1/Managers/bmc", "@odata.type": "#Manager.v1_3_0.Manager", .... .... "SerialConsole": { "ConnectTypesSupported": [ "IPMI", "SSH" ], "ServiceEnabled": "true" }, .... .... } Ran Redfish service validator and ensured no new errors. The newly added properties PASS validation. Snippet of the verbose output from the validator: .... .... Manager.v1_0_0.Manager:SerialConsole value: OrderedDict([('ConnectTypesSupported', ['IPMI', 'SSH']), ('ServiceEnabled', True)]) <class 'collections.OrderedDict'> has Type: Manager.v1_0_0.SerialConsole complex is Optional ***going into Complex Manager.v1_0_0.SerialConsole:ConnectTypesSupported value: ['IPMI', 'SSH'] <class 'list'> has Type: Collection(Manager.v1_0_0.SerialConnectTypesSupported) enum is Optional permission OData.Permission/Read is Collection Success Success Manager.v1_0_0.ManagerService:ServiceEnabled value: True <class 'bool'> has Type: Edm.Boolean Edm.Boolean is Optional permission OData.Permission/ReadWrite Success Manager.v1_0_0.ManagerService:MaxConcurrentSessions value: n/a <class 'str'> has Type: Edm.Int64 Edm.Int64 is Optional prop Does not exist, skip... ***out of Complex .... .... Change-Id: I659501d5537bfb3eedc8cd2204be98fee742324d Signed-off-by: Santosh Puranik <santosh.puranik@in.ibm.com>
2019-04-05Initial redfish logging supportAndrew Geissler1-18/+1
This was imported from a fork: https://github.com/ampere-openbmc/bmcweb/commits/ampere-next/redfish-core/lib/logservices.hpp Which had a series of commits from TungVuX and hyche The initial patch is that code verbatim. Follow up patches on top of this make the necessary changes for current bmcweb: - Move to sdbusplus - C++ naming convention changes - Clang format - Some refactoring Tested: Verified new services work correctly when queried e.g. curl -k -H "X-Auth-Token: $bmc_token" -X GET \ https://${bmc}/redfish/v1/Systems/system/LogServices/EventLog/Entries displays the entries properly. RedfishServiceValidator results: /redfish/v1/Systems/system/LogServices pass: 3 passGet: 1 skipOptional: 1 /redfish/v1/Systems/system/LogServices/EventLog pass: 5 passGet: 1 skipOptional: 8 /redfish/v1/Systems/system/LogServices/EventLog/Entries pass: 3 passGet: 1 skipOptional: 1 /redfish/v1/Systems/system/LogServices/EventLog/<str> pass: 6 passGet: 1 skipOptional: 16 Sample Output: curl -k -H "X-Auth-Token: $bmc_token" -X GET https://${bmc}/redfish/v1/Systems/system/LogServices/EventLog/Entries { "@odata.context": "/redfish/v1/$metadata#LogEntryCollection.LogEntryCollection", "@odata.id": "/redfish/v1/Systems/system/LogServices/EventLog/Entries", "@odata.type": "#LogEntryCollection.LogEntryCollection", "Description": "Collection of System Event Log Entries", "Members": [ { "@odata.context": "/redfish/v1/$metadata#LogEntry.LogEntry", "@odata.id": "/redfish/v1/Systems/system/LogServices/EventLog/Entries/1", "@odata.type": "#LogEntry.v1_4_0.LogEntry", "Created": "2019-02-22T17:11:00+00:00", "EntryType": "Event", "Id": "1", "Message": "example.xyz.openbmc_project.Example.Elog.AutoTestSimple", "Name": "System DBus Event Log Entry", "Severity": "Critical" } ], "Members@odata.count": 1, "Name": "System Event Log Entries" } Change-Id: I422b0d0ec577ea734fecfb6f49101ec5ff45a556 Signed-off-by: Andrew Geissler <geissonator@yahoo.com> Signed-off-by: Anthony Wilson <wilsonan@us.ibm.com>
2019-04-03pid: fix zone string lengthJames Feist1-1/+5
Should be 8 based on comment. Tested: Updated patch script using latest zones and it worked. Example: /redfish/v1/Managers/bmc#/Oem/OpenBmc/Fan/FanZones/Left Change-Id: Ia56bc6ed4f02a05e91d3638c5b7f470f90d6eba4 Signed-off-by: James Feist <james.feist@linux.intel.com>
2019-03-25Revert "bmcweb: Fix a bunch of warnings"Ed Tanous1-3/+3
This reverts commit 6ea007a2faec52ad62680015d2a3f00371a1e351. Reason for revert: Reports of bmcweb seg faults. Change-Id: I408f1bb29c2f8e427a6621cdaac8c31b847ebf06
2019-03-23bmcweb: Fix a bunch of warningsEd Tanous1-3/+3
bmcweb classically has not taken a strong opinion on warnings. With this commit, that policy is changing, and bmcweb will invoke the best warnings we are able to enable, and turn on -Werror for all builds. This is intended to reduce the likelihood of hard-to-debug situations that the compiler coulve caught early on. Change-Id: I57474410821e82666b3a108cfd0db7d070e8900a Signed-off-by: Ed Tanous <ed@tanous.net>
2019-03-13Add BMCWEB_ENABLE_REDFISH_ONE_CHASSIS build optionGunnar Mills1-5/+8
Define a new build option named BMCWEB_ENABLE_REDFISH_ONE_CHASSIS that is not set by default. When this build option is set, bmcweb will always return a single chassis named "chassis". Setting this option will also cause all sensors to be shown under this chassis. This is a short-term solution. Long term, inventory-manager needs to be enhanced to allow sensors to be under a chassis, or the rest of the project needs to move to EntityManager. Currently IBM does not use EntityManager, but EntityManager is called directly in sensors.hpp. This results in an HTTP 500 Internal Server Error. Tested: The URLs /redfish/v1/Chassis/ and /redfish/v1/Chassis/chassis show correct data on a Witherspoon. /redfish/v1/Managers/bmc/ now has a link to the single chassis. /redfish/v1/Chassis/chassis/Power and /redfish/v1/Chassis/chassis/Thermal no longer result in an HTTP 500 Internal Server Error. Ran Redfish Service Validator. Change-Id: Iec8f4da333946f19330f37ab084cd9787c52c8ea Signed-off-by: Gunnar Mills <gmills@us.ibm.com> Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com>
2019-03-01pid: add direction to stepwiseJames Feist1-8/+33
We now have upper and lower clipping curves, add direction so we can tell which is which. Tested-by: GET and PATCH work Change-Id: I0cdfa159a3a27355a8e67c65e42e765f191f7719 Signed-off-by: James Feist <james.feist@linux.intel.com>
2019-03-01s/MinThermalRpm/MinThermalOutputJames Feist1-5/+5
This variable was changed in pid-control. Change-Id: I377057910214085043704af4e076f688212113e2 Signed-off-by: James Feist <james.feist@linux.intel.com>
2019-03-01pid: fix patching with regex inputsJames Feist1-55/+88
We now allow regexes to define the inputs for things like CPU 0 Core \d+, however the inputs were being used to define the chassis. Change to using the key and or the zone to define the chassis to put the configuration on so this isn't an issue. Tested-by: Created new pid and patched regex pids and it was successful Change-Id: I7c054259e9c9118af1dde63fd798a57ca6830678 Signed-off-by: James Feist <james.feist@linux.intel.com>
2019-02-21bmcweb: fix compiler warningsEd Tanous1-23/+16
This patchset attempts to fix all compiler warnings in bmcweb owned files. There are 2 warnings left, both in sdbusplus, which will be resolved in a patchset there. Tested By: Recompiled, observed warning count went from 30, to zero. Change-Id: Ife90207aa5773bc28faa8b04c732cafa5a56e4e4 Signed-off-by: Ed Tanous <ed@tanous.net>
2019-02-20pid: Add hysteresisJames Feist1-1/+7
Add hysteresis support into the pid controllers. Tested-by: Get and Patch worked. Change-Id: I89f1c128a234ebdf4d69aec35956f11b9e189263 Signed-off-by: James Feist <james.feist@linux.intel.com>
2019-02-19bmcweb: Implement single Redfish "system" endpointEd Tanous1-0/+6
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>
2019-02-09bmcweb: move variant usage to std namespaceEd Tanous1-18/+12
Change-Id: I9d7069668f91f2ac72d2f4a440f63e0e85dd5269 Signed-off-by: Ed Tanous <ed.tanous@intel.com>
2019-01-23[redfish] Display missing field in PidControllersJames Feist1-0/+1
PidControllers should display setpoint. Tested-by: Saw setpoint in web-browser Change-Id: I76ee50d832200e39f55312c0a41c91aa13e65af9 Signed-off-by: James Feist <james.feist@linux.intel.com>
2019-01-15redfish: oem: add stepwise configuration SETJames Feist1-220/+324
Add ability to set stepwise controllers through redfish. Also convert all pid control to use readJson. Tested-by: Set different values using python requests api Change-Id: Ifa31db7dce3338ec033426641a0185dd3d56b4bc Signed-off-by: James Feist <james.feist@linux.intel.com>
2019-01-15redfish: oem: add stepwise configuration GETJames Feist1-48/+158
Add stepwise configuration information into the oem redfish configuration. Also move the basic configuration information into the above loop to not set it multiple times. Only implemented GET thus far, PATCH will be in follow-on commit. Tested-by: Navigated to redfish/v1/Managers/bmc/ and saw Stepwise configuration. Change-Id: Id4fdf7b6c6708edc56c1ede717b79c50de2b1c94 Signed-off-by: James Feist <james.feist@linux.intel.com>
2018-12-18bmcweb: resolve issue with Manager UUID propertyEd Tanous1-3/+2
UUID got broken with a botched commit here: 0f74e643ec246c333ef4724af1ecd5adeb1b6658 This should resolve #10 Change-Id: Ic9ff631b56ab02525fadab1ef8013904d36d71c8 Signed-off-by: Ed Tanous <ed.tanous@intel.com>
2018-12-18bmcweb: Enable redfish unpacking of complex typesEd Tanous1-22/+8
In certain cases, redfish wants to unpack specialized types that might be more complex than just simple structs. This commit adds the ability to unpack a nlohman json object directly, and moves the ethernet schema over to the new api Change-Id: Ib3c25e6c4d8f0a163647092adfb454355d329170 Signed-off-by: Ed Tanous <ed.tanous@intel.com> Signed-off-by: James Feist <james.feist@linux.intel.com>
2018-12-10Remove custom version of getPtrEd Tanous1-15/+18
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>
2018-11-26bmcweb: Redfish away from json cacheEd Tanous1-49/+39
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>
2018-11-15Simplify Redfish error message property interfaceJason M. Bills1-5/+3
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>
2018-11-03Managers: Actions object: Support Reset propertyJennifer Lee1-3/+104
cherry-picked from: https://github.com/ampere-openbmc/bmcweb/commit/dfb534ab5db1bb0bcdc9a6519f1e1ccfede6f363 Add URI of Reset Actions: /redfish/v1/Managers/openbmc/Actions/Manager.Reset for handling the HTTP POST method. We're only able to issue GracefulRestart for OpenBMC therefore the bmcweb supports for ResetType property with "GracefulRestart" value. Tested: Using redfishtool command to test: python3 redfishtool.py -A Basic -S Always --rhost=$bmc_ip -u $bmc_user -p $bmc_password -d '{"ResetType": "GracefulRestart"}' raw POST /redfish/v1/Managers/openbmc/Actions/Manager.Reset Change-Id: I2bbc172d43c3244cc304934618c0c5d1e21d9c08 Signed-off-by: Jennifer Lee <jennifer1.lee@intel.com> Signed-off-by: Ed Tanous <ed.tanous@intel.com>
2018-10-29bmcweb: merge conflict resolutionJason M. Bills1-114/+47
Merge conflict in: 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: I3b37cce1e7f603c0b4cc74a16f8f00da9a7f1373 Signed-off-by: Jason M. Bills <jason.m.bills@linux.intel.com> Signed-off-by: Ed Tanous <ed.tanous@intel.com>
2018-10-29Add PID PatchJames Feist1-2/+536
This allows runtime modifying Pid configurations and zones. Tested by: Sent PATCH for: Modify FanController Modify FanZone New FanController New FanZone Modify PidController New PidController Delete FanController Delete FanZone Change-Id: Ie2dd52ea0b09dc4ad1ed016ec4c27b3c39be28de Signed-off-by: James Feist <james.feist@linux.intel.com>
2018-10-29Speed up managers schemaJames Feist1-0/+10
PID was doing every query 8x times. Change-Id: I11fa064c2f9c416fe15fdfb15c63a6490f0b68dd Signed-off-by: James Feist <james.feist@linux.intel.com>
2018-10-23Improve the Redfish error reporting interfaceJason M. Bills1-23/+11
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>
2018-10-16Add PID Get To RedfishJames Feist1-31/+353
Add doGet to managers for PID configuration data. Make sure passes schema validation. Change-Id: Ieeb97bf76a3d8a3c06f59f79cc0887aec746675e Signed-off-by: James Feist <james.feist@linux.intel.com> Signed-off-by: Ed Tanous <ed.tanous@intel.com>
2018-10-12Ampere bmcweb: Add Firmware Version to Managers SchemaJennifer Lee1-18/+70
cherry-picked from: https://github.com/ampere-openbmc/bmcweb/commit/a92abc99ac6831499ed362aa8e2d14cfe2d99e48 Change-Id: Ie817d8b3aab765e1e9a948c1d3de91cfca1f31ad Signed-off-by: Tung Vu <tung.vu@amperecomputing.com> Signed-off-by: Jennifer Lee <jennifer1.lee@intel.com> Ampere: Correct Cpp coding style on previous commit Limit column of a line to 80 characters. cherry-picked from: https://github.com/ampere-openbmc/bmcweb/commit/7065ea3e9179a6ec5f294e21e6028ed15637262c Change-Id: I1d8f2cf84ee48f9d4af5176858be00aa6a4f582d Signed-off-by: Chuong Tran <chuong.tran@amperecomputing.com> Signed-off-by: Jennifer Lee <jennifer1.lee@intel.com> Ampere bmcweb: Managers: Add ManagerType property. Add ManagerType property to "BMC" type. cherry-picked from: https://github.com/ampere-openbmc/bmcweb/commit/d589325ed7c5da2f3468ac0d105cfecc6405528a Tested: Browser and redfishtool Command test: redfishtool -A Basic -S Always --rhost=$bmc_ip -u $bmc_user -p $bmc_password Managers -I openbmc Redmine ID: #2026 Change-Id: I2cee251aa1b47fd06148f96b6b4fba018e0e5f1f Signed-off-by: Tung Vu <tung.vu@amperecomputing.com> Signed-off-by: Jennifer Lee <jennifer1.lee@intel.com> Signed-off-by: Ed Tanous <ed.tanous@intel.com>
2018-09-05Move to clang-format-6.0Ed Tanous1-86/+96
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>
2018-08-09Fix merge conflictEd Tanous1-12/+14
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>
2018-08-06Fix crash issue with Managers schemaEd Tanous1-4/+1
The bmc was initing two copies of the managers route, which was causing the route handler to crash at startup. Remove the extra one. Jul 26 20:39:50 wolfpass systemd[1]: Started Start bmcweb server. Jul 26 20:39:50 wolfpass bmcweb[3279]: terminate called after throwing an instance of 'std::runtime_error' Jul 26 20:39:50 wolfpass bmcweb[3279]: what(): handler already exists for /redfish/v1/Managers/openbmc Change-Id: Id2c469b5e82bddc68987f89f0eff23072b16854c Signed-off-by: Ed Tanous <ed.tanous@intel.com>
2018-07-27Move over to upstream c++ styleEd Tanous1-6/+16
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>
2018-06-29Boost beastEd Tanous1-12/+12
This commit is the beginings of attempting to transition away from crow, and toward boost::beast. Unit tests are passing, and implementation appears to be slightly faster than crow. Change-Id: Ic8d946dc7a04f514c67b1098f181eee1ced69171
2018-04-22Enabling Ethernet Interfaces, and Ethernet Interfaces Collection SchemasRapkiewicz, Pawel1-0/+8
Commit provides Schemas for: * Single Eth Interface (GET) * Eth Interface Collection (GET) Both are using EthernetProvider, which delivers data available from xyz.openbmc_project.Network It was tested: * Regression (no regression in web server behaviour) * Memory Leaks (no leaks detected via valgrind) * Compiling multiple arch (x86, ASPEED) * Service Validator pass all available schemas Change-Id: Idee321cb294f48b59f7740512bbe416cf10236c0 Signed-off-by: Rapkiewicz, Pawel <pawel.rapkiewicz@intel.com> Signed-off-by: Ed Tanous <ed.tanous@intel.com>
2018-04-22Minor fixes to make redfish pass compliance testsEd Tanous1-4/+1
1. Role members needs to be an array, not an object 2. Fix accounts schema to use the new user manager 3. Remove "status" field hardcodes 4. Hardcode chassisType to rackmount for now 5. Work around bug in get sub routes 6. Add ID to SessionService Schema Change-Id: Ibb13d6ace747ac028e840638868c3a01d65dedfa Signed-off-by: Ed Tanous <ed.tanous@intel.com>
2018-03-28Make a few changes to privileges commitEd Tanous1-22/+16
1. Create char* overloads for the things that need it. 2. Fix up a couple errant moves 3. Use the gtest APIs for testing container membership, rather than sort 4. Move the index management to vector rather than map to avoid a lookup 5. Remove errant use of .at() 6. Move privilege comparison into the privilege class, in order to keep the bitset implementation private. This removes the requirment on the forward declaration of PrivilegeProvider, and the use of friend class 7. Remove unimplemented override strcutures. Feel free to add them back once implemented 8. Make setSignlePrivilege return a code if the set failed 9. Remove the need for an extra construction of a blank privileges object for things that require no privileges. Tested by: updating unit tests with the appropriate APIs. Relevant unit tests pass Change-Id: Ie9cde003b6c865979b4cac086379d0a3473896ce Signed-off-by: Ed Tanous <ed.tanous@intel.com>
2018-03-28Redfish Manager and ManagerCollectionBorawski.Lukasz1-0/+109
Node version of the Manager and ManagerCollection implementation. Change-Id: I693fa57add670fb0ecfc0cf0046e06142571c543 Signed-off-by: Borawski.Lukasz <lukasz.borawski@intel.com>