Age | Commit message (Collapse) | Author | Files | Lines |
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
This reverts commit 6ea007a2faec52ad62680015d2a3f00371a1e351.
Reason for revert: Reports of bmcweb seg faults.
Change-Id: I408f1bb29c2f8e427a6621cdaac8c31b847ebf06
|
|
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>
|
|
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>
|
|
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>
|
|
This variable was changed in pid-control.
Change-Id: I377057910214085043704af4e076f688212113e2
Signed-off-by: James Feist <james.feist@linux.intel.com>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
Change-Id: I9d7069668f91f2ac72d2f4a440f63e0e85dd5269
Signed-off-by: Ed Tanous <ed.tanous@intel.com>
|
|
PidControllers should display setpoint.
Tested-by: Saw setpoint in web-browser
Change-Id: I76ee50d832200e39f55312c0a41c91aa13e65af9
Signed-off-by: James Feist <james.feist@linux.intel.com>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
PID was doing every query 8x times.
Change-Id: I11fa064c2f9c416fe15fdfb15c63a6490f0b68dd
Signed-off-by: James Feist <james.feist@linux.intel.com>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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
|
|
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>
|
|
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>
|
|
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>
|
|
Node version of the Manager and ManagerCollection implementation.
Change-Id: I693fa57add670fb0ecfc0cf0046e06142571c543
Signed-off-by: Borawski.Lukasz <lukasz.borawski@intel.com>
|