mkumatag / openbmc-automation

Test OpenBMC Distribution, moved to - https://github.com/openbmc/openbmc-test-automation
Apache License 2.0
5 stars 11 forks source link

PreTag Centaur0 not Present - For which use case and system this Test case is written for ? #64

Closed gkeishin closed 8 years ago

gkeishin commented 8 years ago

Code Snippet :

Centaur0 not Present ${uri} = Set Variable /org/openbmc/inventory/system/chassis/motherboard/membuf0 ${x} = Get Inventory Sensor Number ${uri}

Run IPMI command  0x04 0x30 ${x} 0x00 0x00 0x00 0x00 0x40 0x00 0x00 0x20 0x00
Read The Attribute   ${uri}    present
Response Should Be Equal    False

From the Test Log: ${ret} = RequestsLibrary.RequestsKeywords . Get Request openbmc, ${base_uri}, &{kwargs} Documentation: Send a GET request on the session object found using the Start / End / Elapsed: 20160530 23:33:51.833 / 20160530 23:33:52.291 / 00:00:00.458 23:33:52.290 INFO Get Request using : alias=openbmc, uri=/org/openbmc/inventory/system/chassis/motherboard/membuf0/attr/present, headers=None
23:33:52.291 INFO ${ret} = <Response [200]>

Documentation: Convert a string to a JSON object Start / End / Elapsed: 20160530 23:33:52.300 / 20160530 23:33:52.301 / 00:00:00.001 23:33:52.301 INFO To JSON using : content={ "data": "True", "message": "200 OK", "status": "ok" }
23:33:52.301 INFO To JSON using : pretty_print=False
23:33:52.301 INFO ${content} = {u'status': u'ok', u'message': u'200 OK', u'data': u'True'}
23:33:52.302 INFO ${output} = True

From the test , it is expecting not present but it returns present , so it failed.. From Test Expectation point of view this is working as expected... but is there a use case for this and when this will be PASSED ?

On Palmetto:

openbmc-automation$ curl -c cjar -b cjar -k -H "Content-Type: application/json" -X GET https://9.3.164.147/org/openbmc/inventory/system/chassis/motherboard/membuf0/attr/present { "data": "False", "message": "200 OK", "status": "ok" }

On Barrelleye:

openbmc-automation$ curl -c cjar -b cjar -k -H "Content-Type: application/json" -X GET https://9.3.23.24//org/openbmc/inventory/system/chassis/motherboard/membuf0/attr/present { "data": "False", "message": "200 OK", "status": "ok" }rango@ubuntu:~/FTC_OPENBMC_TEST/openbmc-automation$

In both cases it seems to be present..

Trying to understand.. what this test is intended for... For a system where Centaur0 is not present this would be a pass.. thinking what it adds value in breaking the test as failure when they are present.

gkeishin commented 8 years ago

I had a discussion with the development folks.. As per the test case flow..

Centaur0 Present Run IPMI command 0x04 0x30 ${x} 0xa9 0x00 0x40 0x00 0x00 0x00 0x00 0x20 0x00

Centaur0 not Present Run IPMI command 0x04 0x30 ${x} 0x00 0x00 0x00 0x00 0x40 0x00 0x00 0x20 0x00

It set and checks if its enabled.. then it disables and verify if its disabled..

It looks like this is a code issues..

Will close this and open new Open BMC ticket..

gkeishin commented 8 years ago

https://github.com/openbmc/openbmc/issues/311