odim-project / odim Goto Github PK
View Code? Open in Web Editor NEWLicense: Apache License 2.0
License: Apache License 2.0
updated path odimra to ODIM
The AggregationSource resource is used to represent the nexus of information for the
resources being reflected by the aggregator. It contains information needed to access that nexus such as
the address and account information needed
The following tasks are to be implemented part of Aggregation Source
Update lib-utilities to include proto files
Implement Get functionality on Aggregation Source
Implement Update functionality on Aggregation Source functionality
Implement Delete functionality on Aggregation Source functionality
Deleted the volume, after that reset the server, rediscovered the resources. but get on deleted volume is giving success response.
Steps to reproduce:
Add Server
Create a volume
payload - { "Name": "Volume_1", "RAIDType": "RAID0", "Drives": [ { "@odata.id": "/redfish/v1/Systems/b61284c1-6469-470c-9774-129a833ad2ff:1/Storage/ArrayControllers-0/Drives/0" }],
"@Redfish.OperationApplyTime": "OnReset"
}
Reset server
Delete volume
Reset server
Get on deleted volume
The following tasks are to be implemented as part of delete volume.
Add proto method for delete volume
Add empty signature for delete volume
Delete volume code implementation
Plugin with duplicate manager address is getting accepted.
Steps to reproduce:
URI: https://<odimra_ip>:45000/redfish/v1/AggregationService/AggregationSources
{"PluginID": "GRF","PreferredAuthType":"BasicAuth","PluginType":"Compute"}
}
}
{
"HostName": ":45001",
"UserName": "admin",
"Password": "GRFPlug!n12$4",
"Links":{
"Oem":
{"PluginID": "ILO","PreferredAuthType":"BasicAuth","PluginType":"Compute"}
}
}
Status code: 201 Created
Response body:
{
"@odata.type": "#AggregationSource.v1_0_0.AggregationSource",
"@odata.id": "/redfish/v1/AggregationService/AggregationSources/4ca4266b-a259-4ccd-9e59-0fe004a1cb76",
"@odata.context": "/redfish/v1/$metadata#AggregationSource.AggregationSource",
"Id": "4ca4266b-a259-4ccd-9e59-0fe004a1cb76",
"Name": "Aggregation Source",
"HostName": "odim.local72.com:45001",
"UserName": "admin",
"Links":{
"Oem":
{ "PluginID": "ILO", "PreferredAuthType": "BasicAuth", "PluginType": "Compute" }
}
}
Expected Result
status code: 409 Conflict
Note: Tried to get Manager details after the above operation of acceptance, no new manager entry(UUID) is created nor the previous entry of plugin has changed.
Add PropertyValueConflict response status message in lib utilities
fix the defect in account service
Implement creation of logical drive using storage schema
Following tasks are to be implemented as part of create volume.
Adding create volume details to proto file
Implement POST on Volumes functionality
The JSON response body for GET operation on taskmon has an invalid link to subtasks. The word "TaskService" is missing in the link. Performing GET on this link returns 404 Not found error
Use NX/XX flags of redis while creating/updating data in DB to make these atomic. Do not use two statements to first check and then create/update.
Remove proto methods from proto files
Remove code from svc-api and svc-aggregation service
The storage URIs in svc-api routers have incorrect format.
systems.Get("/{id}/Storage/{rid}/{id2}/Drives", system.GetSystemResource)
systems.Get("/{id}/Storage/{rid}/{id2}/Drives/{rid2}", system.GetSystemResource)
The correct format should be
systems.Get("/{id}/Storage/{storageID}/Drives", system.GetSystemResource)
systems.Get("/{id}/Storage/{storageID}/Drives/{rid2}", system.GetSystemResource)
The current Kafka based message bus is a good approach for addressing use cases that address larger installations that also requires the solution to scale. For smaller embedded solutions it generates a too large memory footprint though. For embedded solutions we need something more lightweight. This issue is there to be a container for that type of work. From an agile manner the story would be something like "As an integrator or solution builder I need ODIM to have a lightweight message bus so that ODIM can live in embedded environments"
As a principle we would keep the current APIs that are there to interact with the message bus and by that avoiding changes in any other parts of the code. We would need to introduce some configuration parameter that dictates what message bus technology to use though.
As a user, I want odimra should let me retrieve information about individual logical drives(volumes) configured in individual systems.
Aggregation service uses a mutex to ensure duplicate requests to add same servers are not allowed. As we move to cluster env we need to move this to the DB so that aggregation services across pods/nodes act in mutually exclusive way in a cluster env.
Added new APIs - AggregationSource and Aggregate
Removed - Aggregation service add and remove actions
After subscribing to Chassis and Manager Origin Resources, Chassis and Managers events are not getting forwarded to the destination
The behaviour is visible across aggregation service.
Steps:
1.Perform POST on Aggregation Reset URL with the request payload having an invalid parameter (invalid ResetType in the following sample request)
"parameters":{
"ResetCollection":{
"description":"Collection of ResetTargets",
"ResetTarget":[
{ "ResetType":"+FhewhfeOn+", "TargetUri":"/redfish/v1/Systems/32e3b8fc-02e2-4689-bcd0-ce20282e4758:1", "Priority": 10, "Delay": 5 }
,
{ "ResetType":"On", "TargetUri":"/redfish/v1/Systems/ebbfd8e0-5a1f-4752-b521-0d3ecae97ba0:1", "Priority": 9, "Delay": 0 }
]
}
}
}
Perform GET on the taskmon URL.
You will get status code 200 instead of 400.
Response:
{
"@odata.type": "#Task.v1_4_2a.Task",
"@odata.id": "/redfish/v1/TaskService/Tasks/task1025d546-9b8a-4679-ba1f-bdc5d2ea5e73",
"@odata.context": "/redfish/v1/$metadata#Task.Task",
"Id": "task1025d546-9b8a-4679-ba1f-bdc5d2ea5e73",
"Name": "Task task1025d546-9b8a-4679-ba1f-bdc5d2ea5e73",
"TaskState": "Exception",
"StartTime": "2020-08-24T10:04:16.845192858Z",
"EndTime": "2020-08-24T10:04:16.900342545Z",
"TaskStatus": "Critical",
"SubTasks": "",
"TaskMonitor": "/taskmon/task1025d546-9b8a-4679-ba1f-bdc5d2ea5e73",
"PercentComplete": 100,
"Payload": {
"HttpHeaders": [
"Content-type: application/json; charset=utf-8"
],
"HttpOperation": "POST",
"JsonBody": "{"error":{"code":"Base.1.6.1.GeneralError","message":"An error has occurred. See ExtendedInfo for more information.","@Message.ExtendedInfo":[
{"@odata.type":"#Message.v1_0_8.Message","MessageId":"Base.1.6.1.PropertyUnknown","Message":"The property parameters is an unknown property and must not be included in the request. error: one or more properties given in the request body are not valid, ensure properties are listed in uppercamelcase ","Severity":"Warning","MessageArgs":["parameters "],"Resolution":"Ensure that the request body has valid properties with proper cases and resubmit the request."}
]}}",
"TargetUri": "/redfish/v1/AggregationService/Actions/AggregationService.Reset/"
},
"Messages": [
]
}
JSONBody in Payload of task response should have request not response payload
ODIM keeps autogenerated *.pb.go files under GIT management. Process is not automated and provided documentation doesn't describe how to regenerate existing files.
I would suggest to make *.pb.go files generation part of build process (go generate would be helpful).
If for some reason you don't want to automate it, documentation describing manual generation process is a must.
Things to be done,
While adding GRF plugin with PrefferedAuthType as XAuthToken, getting 404 error because of the wrong endpoint exposed by plugin /ODIM/v1/Session instead of /ODIM/v1/Sessions
Steps to reproduce :
Add the plugin
URI:/redfish/v1/AggregationService/AggregationSources/
Request Body:
{
"HostName": "<hostname>:<port>",
"UserName": <username>,
"Password": <password>,
"Links":{
"Oem":
{ "PluginID": "GRF", "PreferredAuthType":"XAuthToken", "PluginType":"Compute" }
}
}
2. Query the taskmon
Expected Result: 201
Actual Result: 404
1.Update the Aggregation Soruce endpoint from /redfish/v1/AggregationService/AggregationSource to /redfish/v1/AggregationService/AggregationSources
2.Update Aggregation Source in reponse of AggregationSource api (POST,GET,PATCH)
UpdateService feature allows the user to upgrade resources managed by ODIM.
Following tasks are to be implemented part of UpdateService feature.
Update lib-utilities to include proto files
Implement GET on UpdateService functionality.
The Aggregate describes a grouping method for an aggregation service. Aggregates are formal groups of resources that are more persistent than ad hoc groupings.
Update lib-utilities to include proto files
Add Empty signature for RPC calls
Implementation of aggregate
Added PDG Markdown
Removed HPE references in Readme.MD under docs folder
Event forwarded ODIM should be as per Event Schema of 2019.3 release
As per the schema in the forwarded event, the link of the resource in OriginOfCondition should be represented as
"OriginOfCondition":
{ "@odata.id": ResourceURI }
Current event forwarded from ODIM OriginOfCondition represented as
"OriginOfCondition": ResourceURI
The following tasks are to be implemented as part of this fix
Update the Event struct in lib-utilities
Reusing the updated struct in aggregation service, event service, task service, and plugin-redfish
The AggregationSource resource is used to represent the nexus of information for the
resources being reflected by the aggregator. It contains information needed to access that nexus such as
the address and account information needed
The following tasks are to be implemented part of Aggregation Source.
Update lib-utilities to include proto files
Implement Post on Aggregation Source functionality
As a ODIM user I want ODIM to run a redis cluster with sentinel support so that ODIM is highly avaialble.
AC:
All BDD should run without issues
unit testing
demo the functionality
provide inputs to Chinmay/Rahul update deployment doc
Implementation of the following services
Get Aggregation Service
Reset on resources
Set default boot order on resources
1.Execute Get operation on the session service with invalid basic authentication ,It gives 401 unauthorized error
GET API: https://:45000/redfish/v1/SessionService
Basic authentication: admin01/HP!nvent01
This issue is to track the implementation of "StartUpdate" action under UpdateService.
Implementaion of StartUpdate action under svc-update
Implementaion of StartUpdate action under generic redfish plugin
Implement retrieval of logical drive using storage schema
Following tasks are to be implemented as part of get volume.
lib-utilities changes
Implement GET on Volumes
Removed unwanted code from unit test workflow.
Plugin with duplicate manager address is getting accepted.
Steps to reproduce:
{"ManagerAddress":":45001",
"Username":"admin",
"Password":"GRFPlug!n12$4",
"Oem":
{"PluginID":"GRF", "PreferredAuthType": "BasicAuth", "PluginType": "Compute"}
}
{"ManagerAddress":":45001",
"Username":"admin",
"Password":"GRFPlug!n12$4",
"Oem":
{"PluginID":"ILO", "PreferredAuthType": "BasicAuth", "PluginType": "Compute"}
}
Status code: 200 OK
Response body:
{ "code": "Base.1.6.1.Success", "message": "Request completed successfully." }
Expected Result
status code: 409 Conflict
Response body:
{
"error":{
"code": "Base.1.6.1.GeneralError",
"message": "An error has occurred. See ExtendedInfo for more information.",
"@Message.ExtendedInfo":[
{ "@odata.type": "#Message.v1_0_8.Message", "MessageId": "Base.1.6.1.ResourceAlreadyExists", "Message": "The requested resource of type Plugin with the property --PluginID-- ManagerAddress with the value -GRF- already exists. error:plugin with -name GRF- manager address already exists", "Severity": "Critical", "MessageArgs":[ "Plugin", "PluginID", "GRF" ], "Resolution": "Do not repeat the create operation as the resource has already been created." }
]
}
}
Note: Tried to get Manager details after the above operation of acceptance, no new manager entry(UUID) is created nor the previous entry of plugin has changed.
While running the workflow for unit test below failures are noticed with different modules:
WARNING: DATA RACE
Write at 0x00c000232c70 by goroutine 26:
runtime.closechan()
/opt/hostedtoolcache/go/1.13.8/x64/src/runtime/chan.go:334 +0x0
github.com/ODIM-Project/ODIM/lib-utilities/common.TestRunWriteWorkers()
/home/runner/work/ODIM/ODIM/lib-utilities/common/workerpool_test.go:100 +0x2e3
testing.tRunner()
/opt/hostedtoolcache/go/1.13.8/x64/src/testing/testing.go:909 +0x199
Previous read at 0x00c000232c70 by goroutine 24:
runtime.chansend()
/opt/hostedtoolcache/go/1.13.8/x64/src/runtime/chan.go:142 +0x0
github.com/ODIM-Project/ODIM/lib-utilities/common.RunWriteWorkers.func1()
/home/runner/work/ODIM/ODIM/lib-utilities/common/workerpool.go:66 +0xb2
Goroutine 26 (running) created at:
testing.(*T).Run()
/opt/hostedtoolcache/go/1.13.8/x64/src/testing/testing.go:960 +0x651
testing.runTests.func1()
/opt/hostedtoolcache/go/1.13.8/x64/src/testing/testing.go:1202 +0xa6
testing.tRunner()
/opt/hostedtoolcache/go/1.13.8/x64/src/testing/testing.go:909 +0x199
testing.runTests()
/opt/hostedtoolcache/go/1.13.8/x64/src/testing/testing.go:1200 +0x521
testing.(*M).Run()
/opt/hostedtoolcache/go/1.13.8/x64/src/testing/testing.go:1117 +0x2ff
main.main()
_testmain.go:148 +0x337
— FAIL: TestRunWriteWorkers (0.00s)
testing.go:853: race detected during execution of test
FAIL
coverage: 63.8% of statements
FAIL github.com/ODIM-Project/ODIM/lib-utilities/common 4.570s
ok github.com/ODIM-Project/ODIM/lib-utilities/config 1.166s coverage: 88.9% of statements
ok github.com/ODIM-Project/ODIM/lib-utilities/errors 1.015s coverage: 100.0% of statements
? github.com/ODIM-Project/ODIM/lib-utilities/proto/account [no test files]
? github.com/ODIM-Project/ODIM/lib-utilities/proto/aggregator [no test files]
? github.com/ODIM-Project/ODIM/lib-utilities/proto/auth [no test files]
? github.com/ODIM-Project/ODIM/lib-utilities/proto/chassis [no test files]
? github.com/ODIM-Project/ODIM/lib-utilities/proto/events [no test files]
? github.com/ODIM-Project/ODIM/lib-utilities/proto/fabrics [no test files]
? github.com/ODIM-Project/ODIM/lib-utilities/proto/managers [no test files]
? github.com/ODIM-Project/ODIM/lib-utilities/proto/role [no test files]
? github.com/ODIM-Project/ODIM/lib-utilities/proto/session [no test files]
? github.com/ODIM-Project/ODIM/lib-utilities/proto/systems [no test files]
? github.com/ODIM-Project/ODIM/lib-utilities/proto/task [no test files]
ok github.com/ODIM-Project/ODIM/lib-utilities/response 1.017s coverage: 73.2% of statements
? github.com/ODIM-Project/ODIM/lib-utilities/services [no test files]
FAIL
Testing svc-events
? github.com/ODIM-Project/ODIM/svc-events [no test files]
ok github.com/ODIM-Project/ODIM/svc-events/consumer 3.096s coverage: 66.7% of statements
ok github.com/ODIM-Project/ODIM/svc-events/evcommon 1.321s coverage: 68.8% of statements
2020/08/04 18:54:26 WARNING: proto: file "auth.proto" is already registered
A future release will panic on registration conflicts. See:
https://developers.google.com/protocol-buffers/docs/reference/go/faq#namespace-conflict
2020-08-04 18:54:26.692692 I | No of data records for get device subscription query : 0
2020-08-04 18:54:26.693056 I | No of data records for get device subscription query : 0
2020-08-04 18:54:26.693312 I | No of data records for get device subscription query : 0
2020-08-04 18:54:26.693514 I | No of data records for get device subscription query : 0
2020-08-04 18:54:26.693690 I | No of data records for get device subscription query : 0
2020-08-04 18:54:26.750597 I | No of data records for get device subscription query : 2
2020-08-04 18:54:26.750859 I | No of data records for get device subscription query : 2
2020-08-04 18:54:26.751016 I | No of data records for get device subscription query : 2
2020-08-04 18:54:26.751377 I | No of data records for get device subscription query : 2
2020-08-04 18:54:26.751609 I | No of data records for get device subscription query : 0
2020-08-04 18:54:26.810126 I | No of data records for get device subscription query : 2
2020-08-04 18:54:26.810433 I | No of data records for get device subscription query : 2
2020-08-04 18:54:26.810594 I | No of data records for get device subscription query : 2
2020-08-04 18:54:26.810747 I | No of data records for get device subscription query : 2
2020-08-04 18:54:26.810958 I | No of data records for get device subscription query : 0
2020-08-04 18:54:26.812932 I | /redfish/v1/Systems is a collection origin resource
2020-08-04 18:54:26.814102 I | /redfish/v1/Chassis is a collection origin resource
2020-08-04 18:54:26.816145 I | /redfish/v1/Managers is a collection origin resource
2020-08-04 18:54:26.817271 I | /redfish/v1/TaskService/Tasks is a collection origin resource
2020-08-04 18:54:26.817654 I | Subscription details not found for subscription id: de018110-4859-984c-c35a-0a32d772d6c5
2020-08-04 18:54:26.817733 I | error while trying to authenticate session: status code: 401, status message: Base.1.6.1.NoValidSession
2020-08-04 18:54:26.831926 I | No of data records for get device subscription query : 0
2020-08-04 18:54:26.832996 I | No of data records for get device subscription query : 0
2020-08-04 18:54:26.833344 I | No of data records for get device subscription query : 0
2020-08-04 18:54:26.833662 I | No of data records for get device subscription query : 0
2020-08-04 18:54:26.833964 I | No of data records for get device subscription query : 0
2020-08-04 18:54:26.890156 I | No of data records for get device subscription query : 2
2020-08-04 18:54:26.890415 I | No of data records for get device subscription query : 2
2020-08-04 18:54:26.891172 I | error: SystemUUID not found
2020-08-04 18:54:26.891354 I | error while getting device details : error while trying to get compute details: no data with the with key de018110-4859-984c-c35a-0a32d772d6c5 found
2020-08-04 18:54:26.948404 I | No of data records for get device subscription query : 2
2020-08-04 18:54:26.948763 I | No of data records for get device subscription query : 2
2020-08-04 18:54:26.949182 I | No of data records for get device subscription query : 2
2020-08-04 18:54:26.962621 I | No of data records for get device subscription query : 0
2020-08-04 18:54:26.962885 I | No of data records for get device subscription query : 0
2020-08-04 18:54:26.963152 I | No of data records for get device subscription query : 0
2020-08-04 18:54:26.963441 I | No of data records for get device subscription query : 0
2020-08-04 18:54:26.963698 I | No of data records for get device subscription query : 0
2020-08-04 18:54:26.993506 I | No of data records for get device subscription query : 2
2020-08-04 18:54:26.993786 I | Resubscribe request
coverage: 71.2% of statements
FAIL github.com/ODIM-Project/ODIM/svc-events/events 2.173s
ok github.com/ODIM-Project/ODIM/svc-events/evmodel 1.700s coverage: 78.1% of statements
ok github.com/ODIM-Project/ODIM/svc-events/evresponse 1.141s coverage: 100.0% of statements
ok github.com/ODIM-Project/ODIM/svc-events/rpc 1.178s coverage: 83.0% of statements
Testing svc-managers
? github.com/ODIM-Project/ODIM/svc-managers [no test files]
2020/08/03 16:47:15 error getting manager details : error while retriving manager information: unexpected end of JSON input
2020/08/03 16:47:16 warning: Device /redfish/v1/Managers/deviceAbsent:1 is unreachable: error
2020/08/03 16:47:16 error getting manager details : error while trying to get managers details: no data with the with key /redfish/v1/Managers/uuid1:1 found
2020/08/03 16:47:16 error getting manager details : error while trying to get managers details: no data with the with key /redfish/v1/Managers/invalidID found
2020/08/03 16:47:16 error getting manager details : error while trying to get managers details: no data with the with key /redfish/v1/Managers/uuid found
2020/08/03 16:47:16 error while getting details from device: error
2020/08/03 16:47:16 error getting manager details : error while trying to get managers details: no data with the with key /redfish/v1/Managers/uuid1 found
— FAIL: TestGetPluginManagerResource (0.06s)
managers_test.go:455:
Error Trace: managers_test.go:455
Error: Not equal:
expected: 200
actual : 404
Test: TestGetPluginManagerResource
Messages: Status code should be StatusOK.
2020/08/03 16:47:16 error getting manager details : error while trying to fetch plugin data: no data with the with key CFM found
2020/08/03 16:47:16 error while logging in to plugin:
2020/08/03 16:47:16 error while logging in to plugin:
2020/08/03 16:47:16 error getting manager details : error while trying to get managers details: no data with the with key /redfish/v1/Managers/uuid found
— FAIL: TestGetPluginManagerResourceInvalidPluginSessions (0.04s)
managers_test.go:535:
Error Trace: managers_test.go:535
Error: Not equal:
expected: 401
actual : 404
Test: TestGetPluginManagerResourceInvalidPluginSessions
Messages: Status code should be StatusOK.
FAIL
coverage: 80.0% of statements
FAIL github.com/ODIM-Project/ODIM/svc-managers/managers 0.331s
ok github.com/ODIM-Project/ODIM/svc-managers/mgrcommon 1.379s coverage: 78.7% of statements
ok github.com/ODIM-Project/ODIM/svc-managers/mgrmodel 1.147s coverage: 76.3% of statements
? github.com/ODIM-Project/ODIM/svc-managers/mgrresponse [no test files]
ok github.com/ODIM-Project/ODIM/svc-managers/rpc 1.088s coverage: 98.2% of statements
FAIL
WARNING: DATA RACE
Read at 0x000001c54758 by goroutine 13:
github.com/ODIM-Project/ODIM/lib-utilities/common.GetDBConnection()
/home/runner/go/pkg/mod/github.com/!o!d!i!m-!project/!o!d!i!m/[email protected]/common/dbconn.go:48 +0x3ab
github.com/ODIM-Project/ODIM/svc-account-session/asmodel.(*Session).Persist()
/home/runner/work/ODIM/ODIM/svc-account-session/asmodel/sessions.go:48 +0x5d
github.com/ODIM-Project/ODIM/svc-account-session/session.CreateNewSession()
/home/runner/work/ODIM/ODIM/svc-account-session/session/create.go:129 +0xfd4
github.com/ODIM-Project/ODIM/svc-account-session/session.TestCreateSession.func2()
/home/runner/work/ODIM/ODIM/svc-account-session/session/create_test.go:213 +0xa1
testing.tRunner()
/opt/hostedtoolcache/go/1.13.8/x64/src/testing/testing.go:909 +0x199
2020/08/03 16:40:06 user doesn't have required privilege to create a session
— FAIL: TestCreateSession (0.01s)
— FAIL: TestCreateSession/successful_creation_of_session (0.00s)
testing.go:853: race detected during execution of test
testing.go:853: race detected during execution of test
2020/08/03 16:40:06 error: while trying to delete session: error while trying to get the session from DB: no data with the with key found
2020/08/03 16:40:06 error: Status Not Found
2020/08/03 16:40:06 Successfully Deleted:
2020/08/03 16:40:06 Insufficient privileges
2020/08/03 16:40:06 error while authorizing session token: error while trying to get session details with the token invalid-token: error while trying to get the session from DB: no data with the with key invalid-token found
2020/08/03 16:40:06 error: Status Not Found
2020/08/03 16:40:06 error while authorizing session token: error: no session token found in header
2020/08/03 16:40:06 error while authorizing session token: error while trying to get session details with the token invalidToken: error while trying to get the session from DB: no data with the with key invalidToken found
2020/08/03 16:40:06 error while authorizing session token: error while trying to get session details with the token sessionToken: error while trying to get the session from DB: no data with the with key sessionToken found
FAIL
coverage: 66.7% of statements
FAIL github.com/ODIM-Project/ODIM/svc-account-session/session 0.109s
FAIL
WARNING: DATA RACE
Write at 0x00c000098cd0 by goroutine 83:
runtime.closechan()
/opt/hostedtoolcache/go/1.13.8/x64/src/runtime/chan.go:334 +0x0
github.com/ODIM-Project/ODIM/lib-utilities/common.TestRunWriteWorkers()
/home/runner/work/ODIM/ODIM/lib-utilities/common/workerpool_test.go:100 +0x2e3
testing.tRunner()
/opt/hostedtoolcache/go/1.13.8/x64/src/testing/testing.go:909 +0x199
Previous read at 0x00c000098cd0 by goroutine 61:
runtime.chansend()
/opt/hostedtoolcache/go/1.13.8/x64/src/runtime/chan.go:142 +0x0
github.com/ODIM-Project/ODIM/lib-utilities/common.RunWriteWorkers.func1()
/home/runner/work/ODIM/ODIM/lib-utilities/common/workerpool.go:66 +0xb2
Goroutine 83 (running) created at:
testing.(*T).Run()
/opt/hostedtoolcache/go/1.13.8/x64/src/testing/testing.go:960 +0x651
testing.runTests.func1()
/opt/hostedtoolcache/go/1.13.8/x64/src/testing/testing.go:1202 +0xa6
testing.tRunner()
— FAIL: TestRunWriteWorkers (0.00s)
testing.go:853: race detected during execution of test
FAIL
coverage: 63.8% of statements
FAIL github.com/ODIM-Project/ODIM/lib-utilities/common 4.485s
ok github.com/ODIM-Project/ODIM/lib-utilities/config 1.043s coverage: 88.9% of statements
ok github.com/ODIM-Project/ODIM/lib-utilities/errors 1.016s coverage: 100.0% of statements
? github.com/ODIM-Project/ODIM/lib-utilities/proto/account [no test files]
? github.com/ODIM-Project/ODIM/lib-utilities/proto/aggregator [no test files]
? github.com/ODIM-Project/ODIM/lib-utilities/proto/auth [no test files]
? github.com/ODIM-Project/ODIM/lib-utilities/proto/chassis [no test files]
? github.com/ODIM-Project/ODIM/lib-utilities/proto/events [no test files]
? github.com/ODIM-Project/ODIM/lib-utilities/proto/fabrics [no test files]
? github.com/ODIM-Project/ODIM/lib-utilities/proto/managers [no test files]
? github.com/ODIM-Project/ODIM/lib-utilities/proto/role [no test files]
? github.com/ODIM-Project/ODIM/lib-utilities/proto/session [no test files]
? github.com/ODIM-Project/ODIM/lib-utilities/proto/systems [no test files]
? github.com/ODIM-Project/ODIM/lib-utilities/proto/task [no test files]
ok github.com/ODIM-Project/ODIM/lib-utilities/response 1.022s coverage: 73.2% of statements
? github.com/ODIM-Project/ODIM/lib-utilities/services [no test files]
FAIL
For more details refer before links to see full run:
https://github.com/rahulroshan-kachchap/ODIM/runs/941808748
https://github.com/rahulroshan-kachchap/ODIM/runs/941465321
https://github.com/rahulroshan-kachchap/ODIM/runs/941428032
https://github.com/rahulroshan-kachchap/ODIM/runs/941398703
https://github.com/rahulroshan-kachchap/ODIM/runs/943228491
https://github.com/rahulroshan-kachchap/ODIM/runs/943254723
Update Deployment scripts with update service
FrimwareInventory and SoftwareInventory to be populated with add BMC
Update Action with SimpleUpdate
Added missing modules in the unit test LIST
When a user deletes any completed task then the response code should be 204
steps to reproduce:
Do a delete / put /patch operation on /redfish/v1/EventService/Subscriptions/
Exected Response: 405
Actual Response : 404
Currently RA has been merged to main repository folder. When other ODIM modules will be commited they will reside in separate folders, for parity RA shall also be moved to subfolder.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.