c6178aba | 29-Aug-2024 |
Gunnar Mills <gmills@us.ibm.com> |
Update symlinks for 2024.2
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://githu
Update symlinks for 2024.2
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
28cfceb2980baa76d7f0599dd4a331ceaec52e1f pulled in 2024.2
Tested: Cat a few of these links. They appear to work.
Before: ``` head -n 4 redfish-core/schema/dmtf/json-schema-installed/Certificate.v1_*.json head: cannot open 'redfish-core/schema/dmtf/json-schema-installed/Certificate.v1_8_2.json' for reading: No such file or directory ```
After: ``` head -n 4 redfish-core/schema/dmtf/json-schema-installed/Certificate.v1_*.json { "$id": "http://redfish.dmtf.org/schemas/v1/Certificate.v1_8_3.json", "$ref": "#/definitions/Certificate", "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json", ```
Change-Id: Idc6a4023a1baad07cfa73b69aaab2d79d7e877bd Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
show more ...
|
c9563608 | 28-Aug-2024 |
Janet Adkins <janeta@us.ibm.com> |
Sensors: Move objectPropertiesToJson() to sensor_utils
This commit move objectPropertiesToJson() to the sensor_utils class. This is in preparation for building sensor excerpts using the same code wh
Sensors: Move objectPropertiesToJson() to sensor_utils
This commit move objectPropertiesToJson() to the sensor_utils class. This is in preparation for building sensor excerpts using the same code which builds a sensor. By moving the function into the sensor utility class it should help with compile time by not needing to include all of sensor code by the files implementing the excerpts.
Additional functions and definitions were moved into the sensor_utils class as well due to dependencies from objectPropertiesToJson().
Tested: - Confirmed output unchanged for following URI: - /redfish/v1/Chassis/chassis/Sensors - Selection of: /redfish/v1/Chassis/chassis/Sensors/<sensorId> - /redfish/v1/Chassis/chassis/Sensors?\$expand=* - Redfish Validator passes
Change-Id: I563a560b5b2760e0421c1402d51216101af40be2 Signed-off-by: Janet Adkins <janeta@us.ibm.com>
show more ...
|
9be245ea | 26-Aug-2024 |
Ed Tanous <etanous@nvidia.com> |
Fix password update
There is a regression issue found with this commit in password update https://gerrit.openbmc.org/c/openbmc/bmcweb/+/73605 This commit fixes PAM conversation for password update
Fix password update
There is a regression issue found with this commit in password update https://gerrit.openbmc.org/c/openbmc/bmcweb/+/73605 This commit fixes PAM conversation for password update
Tested by: PATCH https://${bmc}/redfish/v1/AccountService/Accounts/root -d '{"Password":"0penBmc1"}'
Change-Id: Ifcede67364c35ced899a3f726f67253cdb51002e Signed-off-by: Ed Tanous <etanous@nvidia.com> Signed-off-by: Ravi Teja <raviteja28031990@gmail.com>
show more ...
|
50bfc917 | 29-Jul-2024 |
Ed Tanous <etanous@nvidia.com> |
Fix redfish response for unknown method
Redfish protocol validator recently added a new test to check for invalid methods[1] and expect a valid redfish response.
bmcweb will return the correct resp
Fix redfish response for unknown method
Redfish protocol validator recently added a new test to check for invalid methods[1] and expect a valid redfish response.
bmcweb will return the correct response if the HTTP method is known, but returns 404 for unknown methods.
This commit implements support for returning the proper code for completely unknown methods.
Tested: Redfish protocol validator passes.
``` curl -k -X METHODNOTEXIST "https://192.168.7.2/redfish/v1" curl --http1.1 -k -X METHODNOTEXIST "https://192.168.7.2/redfish/v1" ```
works for both HTTP1 and HTTP2.
[1] https://github.com/DMTF/Redfish-Protocol-Validator/commit/2476e126b818f040c7231de3e9dc4df93ee636a1
Change-Id: Id7436345042bd387d7a7b706acd06afda744ddc4 Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
2539e69c | 27-Aug-2024 |
Chanh Nguyen <chanh@os.amperecomputing.com> |
Add message registry for power button long press
When the power button is pressed, it depends on how long the press takes to cause which event to happen [1].
Add a message registry for the power bu
Add message registry for power button long press
When the power button is pressed, it depends on how long the press takes to cause which event to happen [1].
Add a message registry for the power button long press event.
[1] https://github.com/openbmc/phosphor-buttons/blob/master/README.md#power-button
Tested: 1. Redfish Validator passed. 2. Verify in Redfish log. ''' GET: /redfish/v1/Systems/system/LogServices/EventLog/Entries Response: { "@odata.id": "/redfish/v1/Systems/system/LogServices/EventLog/Entries", "@odata.type": "#LogEntryCollection.LogEntryCollection", "Description": "Collection of System Event Log Entries", "Members": [ { "@odata.id": "/redfish/v1/Systems/system/LogServices/EventLog/Entries/1724214823", "@odata.type": "#LogEntry.v1_9_0.LogEntry", "Created": "2024-08-21T04:33:43+00:00", "EntryType": "Event", "Id": "1724214823", "Message": "Power Button Long Pressed.", "MessageArgs": [], "MessageId": "OpenBMC.0.1.PowerButtonLongPressed.OK", "Name": "System Event Log Entry", "Severity": "OK" } ], "Members@odata.count": 1, "Name": "System Event Log Entries" } '''
Change-Id: I772c444303c784d086af69e1eab22d9446658d4b Signed-off-by: Chanh Nguyen <chanh@os.amperecomputing.com>
show more ...
|
ba498310 | 10-Oct-2022 |
Krzysztof Grobelny <krzysztof.grobelny@intel.com> |
Improved telemetry service error handling
By using data that is send in error massage it is possible to report detailed information about error to user. Now instead of performing same validation in
Improved telemetry service error handling
By using data that is send in error massage it is possible to report detailed information about error to user. Now instead of performing same validation in bmcweb and backend it can be performed only in backend and send back detailed error information.
Tested: - Tested with https://gerrit.openbmc.org/c/openbmc/telemetry/+/57177 - All telemetry features are working as before - Error codes in bmcweb are more detailed, for example invalid argument instead of internal error.
Change-Id: I424d91b9c8d70c8320f66b582e110c2e7b906107 Signed-off-by: Krzysztof Grobelny <krzysztof.grobelny@intel.com> Signed-off-by: Eryk Siejk <erykx.siejk@intel.com> Signed-off-by: Michal Orzel <michalx.orzel@intel.com>
show more ...
|
b54eb49f | 23-Aug-2024 |
Ed Tanous <etanous@nvidia.com> |
Add property error
PropertyError is defined in the DMTF schemas, and will be used in the next patchset.
Tested: Code compiles. No functional changes.
Change-Id: Ib5f0e2025e07c9add41e5e8df8288d7e5
Add property error
PropertyError is defined in the DMTF schemas, and will be used in the next patchset.
Tested: Code compiles. No functional changes.
Change-Id: Ib5f0e2025e07c9add41e5e8df8288d7e54104ee7 Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
b4361d63 | 22-Aug-2024 |
Ed Tanous <etanous@nvidia.com> |
Refactor
Reduce the amount of code in handleReportPatch by moving to some of the dependent callbacks.
Tested: Tested in last commit of series
Change-Id: Id4462ce6b29afcdd303db1790793cf68b23f04c3 S
Refactor
Reduce the amount of code in handleReportPatch by moving to some of the dependent callbacks.
Tested: Tested in last commit of series
Change-Id: Id4462ce6b29afcdd303db1790793cf68b23f04c3 Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
92e26be5 | 21-Aug-2024 |
Ed Tanous <etanous@nvidia.com> |
Reformat meson files with meson format
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
Reformat meson files with meson format
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 <etanous@nvidia.com>
show more ...
|
0eebcefb | 23-Apr-2024 |
Jishnu CM <jishnunambiarcm@duck.com> |
NetworkProtocol: Support NetworkSuppliedServers
This commit re-introduces changes proposed earlier to support NetworkSuppliedServers property in bmcweb. https://gerrit.openbmc.org/c/openbmc/bmcweb/+
NetworkProtocol: Support NetworkSuppliedServers
This commit re-introduces changes proposed earlier to support NetworkSuppliedServers property in bmcweb. https://gerrit.openbmc.org/c/openbmc/bmcweb/+/52671
It helps to differentiate between the static and DHCP assigned NTP servers. Networkd and Dbus has added support for StaticNTPServers to save the static configuration.
Tested by: 1. PATCH /redfish/v1/Managers/bmc/NetworkProtocol -d '{"NTP":{"NTPServers": [<ip>]}}' Verify that this adds the NTPs server to the NetworkProtocol 2. Enable DHCP to fetch NTP servers list from the DHCP server. Verify that they are listed when GET on NetworkProtocol as below "NTP": { "NTPServers": [ <static ntp server ip> ], "NetworkSuppliedServers": [ <dynamic ntp server ip> ], "ProtocolEnabled": true }, 3. Redfish validator run
Change-Id: I22591ad6d49245bf74ef24dd68a51f015f6a8b07 Signed-off-by: Jishnu CM <jishnunambiarcm@duck.com>
show more ...
|
7a16ddc8 | 25-Aug-2024 |
Ed Tanous <etanous@nvidia.com> |
Clang-format-18
These files were checked in during the clang-18 merge. Update them.
Change-Id: I857a87dac29469a4c24e83c6ee8b7c8461002f04 Signed-off-by: Ed Tanous <etanous@nvidia.com> |
247ae89b | 21-Aug-2024 |
Ed Tanous <etanous@nvidia.com> |
Make PATCH return 204 again
It was correctly pointed out that for PATCH, we cannot return 200 success without also returning the object, per Redfish. This commit partially reverts cdf25ff, to give
Make PATCH return 204 again
It was correctly pointed out that for PATCH, we cannot return 200 success without also returning the object, per Redfish. This commit partially reverts cdf25ff, to give PATCH the old (204) behavior again.
Tested: Patch now returns 204
Change-Id: I8ede932a73ae064586d94c47393e4418350adb00 Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
bd1299b7 | 12-Aug-2024 |
Aushim Nagarkatti <anagarkatti@nvidia.com> |
Enable bmcweb dynamic logging
Create a CLI app called "bmcweb" that can set logging levels on "bmcwebd", the new bmcweb daemon. Create a dbus connection to set log level using the CLI app Define th
Enable bmcweb dynamic logging
Create a CLI app called "bmcweb" that can set logging levels on "bmcwebd", the new bmcweb daemon. Create a dbus connection to set log level using the CLI app Define the "setLogLevel" method on dbus to control logging level in bmcwebd Add logic to move logging level from build option to dynamic overloading
Reason: bmcweb picks up logging level as a compile flag. We want it to be more flexible to debug errors in the field. Using the bmcweb CLI app, we can set log levels on the bmcweb daemon during runtime. Splitting bmcweb.
For example, to set logging level to INFO on the target: bmcweb -l INFO
Change-Id: I7192e4d0ac7aa3a91babecc473521be27ea8acd1 Signed-off-by: Aushim Nagarkatti <anagarkatti@nvidia.com>
show more ...
|
28cfceb2 | 22-Aug-2024 |
Gunnar Mills <gmills@us.ibm.com> |
Update to 2024.2
Redfish changed the directory structure again. Don't see that ZipFile has a "cd" so insert the version in the path when checking or building the path.
You can see this directory st
Update to 2024.2
Redfish changed the directory structure again. Don't see that ZipFile has a "cd" so insert the version in the path when checking or building the path.
You can see this directory structure change by downloading 2024.2 vs 2024.1. Also by printing the ZipFile Info.
<ZipInfo filename='DSP8010_2024.2/info.json' compress_type=deflate filemode='-rw-r--r--' file_size=54 compress_size=42>
This is how we used to do it. [1]
[1]: https://github.com/openbmc/bmcweb/commit/60c922dfacd5d1aeec8789e03edc91b47f4a6661
Make the changes for the script, bump the version, and run the script.
See below for more info on this release: https://www.dmtf.org/content/redfish-release-20242-now-available
Tested: Validator is happy.
Change-Id: I87674d5b9ff19b39d3cdf2fb046543e21a6ebc5b Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
show more ...
|
2ccce1f3 | 10-Aug-2024 |
Ravi Teja <raviteja28031990@gmail.com> |
Redfish Session: Implement MFA "Token" property
This commit implements multi-factor authentication "Token" property to create redfish sessions when multi-factor token authentication enabled.
Tested
Redfish Session: Implement MFA "Token" property
This commit implements multi-factor authentication "Token" property to create redfish sessions when multi-factor token authentication enabled.
Tested by:
Verified redfish session and login redfish commands with or without TOTP token for MFA enabled/disabled users.
User authentication with MFA token: POST https://${bmc}/redfish/v1/SessionService/Sessions -d '{"UserName" :"root", "Password": "0penBmc","Token":"510760"}'
User authentication without MFA token: POST https://${bmc}/login -d '{"username" : "newuser", "password" :"0penBmc"}'
POST https://${bmc}/redfish/v1/SessionService/Sessions -d '{"UserName" :"newuser", "Password": "0penBmc"}'
In case of invalid MFA token or password then authentication fails and returns "ResourceAtUriUnauthorized" error message.
Change-Id: I639163dd3d49ff8ed886f72c99ad264317d59c34 Signed-off-by: Ravi Teja <raviteja28031990@gmail.com>
show more ...
|
05ecd3a9 | 16-Feb-2024 |
Ed Tanous <ed@tanous.net> |
Fix NOLINT in pam module
There's a number of places in the pam module where we do pointer manipulation by hand. This is because pam relies on passing pointers.
This commit updates to at least usin
Fix NOLINT in pam module
There's a number of places in the pam module where we do pointer manipulation by hand. This is because pam relies on passing pointers.
This commit updates to at least using unqiue_ptr with release(), as well as std::span, rather than using raw pointers.
Tested: Tested in token commit. Will merge at same time.
Change-Id: Ie49f7e6eeaa5c7ac1798b9a123e3ab5439a4ab28 Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
4ed30a8b | 19-Aug-2024 |
Ed Tanous <etanous@nvidia.com> |
Update to boost 1.86.0
Update to Boost 1.86.0
Note, there are some internal dependencies that don't pass -Wunused checks. Presumably they'll be fixed in 1.86.1, but no reason to hold off upgrading
Update to boost 1.86.0
Update to Boost 1.86.0
Note, there are some internal dependencies that don't pass -Wunused checks. Presumably they'll be fixed in 1.86.1, but no reason to hold off upgrading now.
Note, this is the version we'll pick up in the next yocto update.
Tested: Code compiles
Change-Id: I3a178dc6fc77e9c7e84343257afe238b99a8058e Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
921cfcd1 | 23-Aug-2023 |
Patrick Williams <patrick@stwcx.xyz> |
build: upgrade to C++23
Meson 1.1.1 and GCC-13 both support C++23 and a sufficient portion of the standard has been implemented. Upgrade the build to leverage it.
Change-Id: Ica48aad491c506716c74d
build: upgrade to C++23
Meson 1.1.1 and GCC-13 both support C++23 and a sufficient portion of the standard has been implemented. Upgrade the build to leverage it.
Change-Id: Ica48aad491c506716c74dc74921664188ccf85e2 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
1516c21b | 14-Aug-2024 |
Janet Adkins <janeta@us.ibm.com> |
Sensors: Create utility class for sensors
Create a separate utility class for sensors. The goal is to make these functions easily available for use outside of sensors for paths which need reference
Sensors: Create utility class for sensors
Create a separate utility class for sensors. The goal is to make these functions easily available for use outside of sensors for paths which need reference sensors.
Moved splitSensorNameAndType() into new utility class.
Created new utility function getSensorId(). The Id for a sensor is built from its name and type in a few different locations. These are modified to call the new function. The function has also been simplified to use std::format() to build the Id.
Tested: - Checked before and after results for queries using this function: (Note: I was not able to confirm the setSensorsOverride() caller as it is only being used for redfish-allow-deprecated-power-thermal URI.) ''' - https://${bmc}/redfish/v1/Chassis/chassis/Sensors - https://${bmc}/redfish/v1/Chassis/chassis/Sensors/<str> where <str> was sensors of different types - https://${bmc}/redfish/v1/Chassis/chassis/Sensors?\$expand=* - https://${bmc}/redfish/v1/Chassis/chassis/ThermalSubsystem/Fans - https://${bmc}/redfish/v1/Chassis/chassis/PowerSubsystem/PowerSupplies ''' - Redfish Validator passed
Change-Id: Ifa200b6e63f8e52d47f70c33d350999f5c527bbd Signed-off-by: Janet Adkins <janeta@us.ibm.com>
show more ...
|
dd7090e6 | 30-Jul-2024 |
Gunnar Mills <gmills@us.ibm.com> |
Fix 404 on Hypervisor Reset
/redfish/v1/Systems/hypervisor/Actions/ComputerSystem.Reset was returning a 404. On closer inspection, it was due to hitting the System .Reset Action and not making it to
Fix 404 on Hypervisor Reset
/redfish/v1/Systems/hypervisor/Actions/ComputerSystem.Reset was returning a 404. On closer inspection, it was due to hitting the System .Reset Action and not making it to the Hypervisor specific action. [1].
Remove the Hypervisor specific action and call the method from the System .Reset Action. This is how we do the handleHypervisorSystemGet already.
Believe this was broke by 7f3e84a151. [2] It is only now being discovered due to a recent rebase with upstream.
Follow the commit before and put this behind the new Hypervisor Computer System Option.
[1]: https://github.com/openbmc/bmcweb/blob/cd504a94c827fbc98908b2a712f49ea0adf7aab8/redfish-core/lib/systems.hpp#L3493 [2]: https://github.com/openbmc/bmcweb/commit/7f3e84a151e106d9227d08358e9ee3fd225b34c4
Tested: On Patchset 2, /redfish/v1/Systems/hypervisor/Actions/ComputerSystem.Reset returns a 204.
Change-Id: I3599bb8419604d71684ce61ca992f4b87c1d3fa5 Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
show more ...
|
68896206 | 21-Aug-2024 |
Gunnar Mills <gmills@us.ibm.com> |
Add a Hypervisor Computer System Option
Today to determine if the hypervisor computer system resource should be added to the System Collection a call to the Settings Manager is made.
Based on discu
Add a Hypervisor Computer System Option
Today to determine if the hypervisor computer system resource should be added to the System Collection a call to the Settings Manager is made.
Based on discussion in https://gerrit.openbmc.org/c/openbmc/bmcweb/+/73203 and to help the multihost stuff move forward, lets move this hypervisor under a meson option which any company that needs can enable. I think IBM is the only one who uses this so the risk of breaking someone should be small.
One day hope to converge at some point, this probably doesn't happen until after the multihost stuff goes in.
This is also better for implementations that don't have this backend because now routes like /redfish/v1/Systems/hypervisor/EthernetInterfaces/ aren't put out. I.e. a call to /redfish/v1/Systems/hypervisor/EthernetInterfaces/ is now going to return 404 instead of 500 on systems without this backend support.
Tested: Enabled this and see the hypervisor system. Without this enabled do not see the hypervisor system. No new validator errors either way.
Change-Id: Ie05e6644dd6f640cf8225f96becb99b9c2d0de20 Signed-off-by: Gunnar Mills <gmills@us.ibm.com>
show more ...
|
cd504a94 | 19-Aug-2024 |
Ed Tanous <etanous@nvidia.com> |
Partial revert of http_client
4d69861f shows that after being applied, connections are no longer reused. It's unclear why, but very likely due to a use after move of the request object we've seen b
Partial revert of http_client
4d69861f shows that after being applied, connections are no longer reused. It's unclear why, but very likely due to a use after move of the request object we've seen before. This doesn't cause functional issues, only performance ones.
Considering that this was only a minor size reduction in the first place, Revert the http_client part of the patch for now.
https://gerrit.openbmc.org/c/openbmc/bmcweb/+/69234
Tested: Aggregation through /redfish/v1/Chassis works as expected.
Change-Id: I9b56e2c90b108e41df3ba006105106adf8ced154 Signed-off-by: Ed Tanous <etanous@nvidia.com>
show more ...
|
d2cdd478 | 13-Aug-2024 |
Chandra Harkude <Chandramohan.harkude@gmail.com> |
Event : add MemberId in TestEvent
Currently the memberId is missing in the Event structure of TestEvent but memeberId must be present in the Event structure as per DMTF schema
https://redfish.dmtf.
Event : add MemberId in TestEvent
Currently the memberId is missing in the Event structure of TestEvent but memeberId must be present in the Event structure as per DMTF schema
https://redfish.dmtf.org/schemas/v1/Event.v1_10_1.json
Therefore added MemberId in Test event structure.
Tested : ``` curl -k -u root:0penBmc -X POST /redfish/v1/EventService/Actions/ EventService.SubmitTestEvent -d '{"MessageId":""}'
Event received at the Redfish-Event-Listener
bodydata: { "@odata.type": "#Event.v1_4_0.Event", "Events": [ { "Context": "", "EventId": "TestID", "EventTimestamp": "2024-08-13T08:14:56+00:00", "EventType": "Event", "MemberId": 0, "Message": "Generated test event", "MessageArgs": [], "MessageId": "OpenBMC.0.2.TestEventLog", "Severity": "OK" } ], "Id": "1", "Name": "Event Log" } ``` Change-Id: I285e41ce377127fb1429f643e5068635384c7bfd Signed-off-by: Chandramohan Harkude <chandramohan.harkude@gmail.com>
show more ...
|
bd79bce8 | 16-Aug-2024 |
Patrick Williams <patrick@stwcx.xyz> |
clang-format: re-format for clang-18
clang-format-18 isn't compatible with the clang-format-17 output, so we need to reformat the code with the latest version. The way clang-18 handles lambda forma
clang-format: re-format for clang-18
clang-format-18 isn't compatible with the clang-format-17 output, so we need to reformat the code with the latest version. The way clang-18 handles lambda formatting also changed, so we have made changes to the organization default style format to better handle lambda formatting.
See I5e08687e696dd240402a2780158664b7113def0e for updated style. See Iea0776aaa7edd483fa395e23de25ebf5a6288f71 for clang-18 enablement.
Change-Id: Iceec1dc95b6c908ec6c21fb40093de9dd18bf11a Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
cdf25ffb | 12-Jul-2024 |
Ed Tanous <ed@tanous.net> |
Make set properties return 200 Success not 204
Both 200 and 204 are allowed by the Redfish specification. Table 11 states:
200 OK Success, and the action's schema definition does not contain an ac
Make set properties return 200 Success not 204
Both 200 and 204 are allowed by the Redfish specification. Table 11 states:
200 OK Success, and the action's schema definition does not contain an action response.
204 No Content: Success, and the action's schema definition does not contain an action response.
While both of these are allowed, we accidentally changed behavior in the following commit: 87c4496 Move to Redfish setProperty call
When we transitioned these over to the common dbus calling methods.
This commit restores the old behavior of returning 200 success on actions, which some implementations are expecting.
Tested: WIP.
Change-Id: I02e47585acf85bd04dcb9d428ef3e39a21d9c75f Signed-off-by: Ed Tanous <ed@tanous.net>
show more ...
|