Giter VIP home page Giter VIP logo

odim's People

Contributors

a-ajith avatar amar-shalgar avatar angithcj avatar arahimanshaik avatar ashraf-vazeer avatar bharath-b-hpe avatar bharath-kkb avatar chauberahul1993 avatar chinmayic avatar choppadk avatar divya-nettem avatar hemantha-beecherla avatar hemkapoor avatar irappa-pattar avatar jeevan-kamkar avatar kavyamani596 avatar lakkundipooja avatar lpooja avatar mohamed-shahid-afrid avatar rahulroshan-kachchap avatar rameshkk-hpe avatar ranjith-karunesh-hpe avatar rohitkumar-ro avatar rpieczon avatar shivacharanms avatar skhan-anjum avatar sriteja-sabbineni avatar sukhwinder20 avatar sunithasomanna avatar tamanna-k avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

odim's Issues

Aggregation Source : Get,Update and Delete Operation

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

Get on volume is giving success response after volume deleted

  • Add the deleted volume uri to the DB map
  • Add checking for the uri in DB map before getting volume resource
  • Delete resources details before the rediscovery

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

Delete volume implementation

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

Adding Plugin with duplicate manager address is getting accepted.

Plugin with duplicate manager address is getting accepted.

Steps to reproduce:
URI: https://<odimra_ip>:45000/redfish/v1/AggregationService/AggregationSources

  1. Added plugin with below details:
    {
    "HostName": ":45001",
    "UserName": "admin",
    "Password": "GRFPlug!n12$4",
    "Links":{
    "Oem":

{"PluginID": "GRF","PreferredAuthType":"BasicAuth","PluginType":"Compute"}
}
}

  1. Add another plugin with below details:

{
"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.

Create volume under storage

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

Invalid Subtask link in taskmon response

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

Incorrect router URI for Storage

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)

Lightweight Message Bus Alternative for Embedded Environments

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.

Change the synchronisation code to support multiple instances of aggregation service

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.

  • Replace the current implementation which uses program memory for storing the mutes with DB.
  • Check for other possible places that may require similar implementation.

JSONBody in Task response should have request body

  • lib-utilities changes (task proto files and UpdateTask function)
  • svc-task changes for filling request body in JSONBody
  • svc-aggregation changes for filling request body in JSONBody
  • svc-events changes for filling request body in JSONBody
  • final merge of fix to the development branch

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 }
]
}
}
}

  1. 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

Generation of GRPC API implementation should be automated.

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.

  • Adding script for downloading necessary tools and generating proto related files
  • Automate the proto file generation by adding the script to the Docker/Make file

Update go.mod files and import packages with new ODIM path

Things to be done,

  • update import packages in lib-utilities and go.mod file
  • get a reference from the lib-utilities to other libraries and update go.mod file
  • get a reference from the libraries to all the services and update go.mod file

Session Creation in plugin giving 404

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

Update Aggregation Source uri

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)

Update Service: GET operation

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.

Aggregate Implementation

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

Populate originofcondition in events correctly

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

Aggregation Source : Post Operation

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

Implement redis cluster with sentinel support

  • Code changes for ODIM to support Redis cluster with sentinel
  • Unit Tests for the new code added for ODIM to support Redis Cluster with Sentinel

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

UpdateService Actions: StartUpdate

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

Get volumes created under storage

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

Adding Plugin with duplicate manager address is getting accepted

Plugin with duplicate manager address is getting accepted.

Steps to reproduce:

  1. Added plugin with below details:

{"ManagerAddress":":45001",
"Username":"admin",
"Password":"GRFPlug!n12$4",
"Oem":

{"PluginID":"GRF", "PreferredAuthType": "BasicAuth", "PluginType": "Compute"}
}

  1. Add another plugin with below details:

{"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.

Intermittent unit test failures noticed

While running the workflow for unit test below failures are noticed with different modules:

Testing lib-utilities
Now listening on: http://localhost:45000
Application started. Press CTRL+C to shut down.

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

Goroutine 24 (running) created at:
github.com/ODIM-Project/ODIM/lib-utilities/common.RunWriteWorkers()
/home/runner/work/ODIM/ODIM/lib-utilities/common/workerpool.go:57 +0x126
github.com/ODIM-Project/ODIM/lib-utilities/common.TestRunWriteWorkers()
/home/runner/work/ODIM/ODIM/lib-utilities/common/workerpool_test.go:98 +0x2be
testing.tRunner()
/opt/hostedtoolcache/go/1.13.8/x64/src/testing/testing.go:909 +0x199

— 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

Testing svc-account-session
? github.com/ODIM-Project/ODIM/svc-account-session [no test files]
ok github.com/ODIM-Project/ODIM/svc-account-session/account 1.106s coverage: 95.1% of statements
ok github.com/ODIM-Project/ODIM/svc-account-session/asmodel 1.234s coverage: 80.2% of statements
? github.com/ODIM-Project/ODIM/svc-account-session/asresponse [no test files]
ok github.com/ODIM-Project/ODIM/svc-account-session/auth 9.115s coverage: 77.0% of statements
ok github.com/ODIM-Project/ODIM/svc-account-session/role 1.116s coverage: 75.5% of statements
ok github.com/ODIM-Project/ODIM/svc-account-session/rpc 1.129s coverage: 47.7% of statements

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

Testing lib-utilities
Now listening on: http://localhost:45000
Application started. Press CTRL+C to shut down.

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

  • unit test fix in svc-account-session
  • unit test fix in svc-events
  • unit test fix in svc-managers

Update Service Actions: SimpleUpdate

  • Update Deployment scripts with update service

  • FrimwareInventory and SoftwareInventory to be populated with add BMC

  • Update Action with SimpleUpdate

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.