DMTF / Redfish-Service-Validator

The Redfish Service Validator is a Python3 tool for checking conformance of any "device" with a Redfish service interface against Redfish CSDL schema
Other
42 stars 34 forks source link

Offering Session Authentification might yield faster execution for users #62

Closed jbobzin-insyde closed 7 years ago

jbobzin-insyde commented 7 years ago

Reading the source code it seems the tool uses requests.get with auth parameter which is HTTP Basic authentication. This is certainly compliant with the spec.

But if the tool could be upgraded to optionally use session authentication I would predict tool would complete the tests more quickly. And test this important Redfish authentication feature in the process.

I suggest the basic/session method be selectable in config.ini.

I see the one-time investment of programmer time potentially yielding significant time saved by users waiting for the tests to complete.

We should discuss. Reply with opinions.

mraineri commented 7 years ago

Given that both types of authentication are mandatory, I think this is a good idea. At least on some measurements I've taken, the basic auth portion seems like it can take upwards of a few hundred milliseconds. On large systems with a lot of resources (like Log Entries), this can save a bit of time.

tomasg2012 commented 7 years ago

Perfectly reasonable, Bill Dodd and I have considered adding this feature for a while now, should be very useful, especially considering the circumstances mentioned in this thread. I realized log entries were created but not any other overhead...

billdodd commented 7 years ago

Agreed.

jbobzin-insyde commented 7 years ago

About log entry comments -

Tool does not currently fetch individual log entries. This is the subject of issue 33. But if this issue is address that will certainly make for more logons if using basic.

Second, Insyde implementation does not create log entries on logon - just too many created to manage. This is an implementation choice. The overhead is the negotiation of the authentication in http protocol and the checking of the credentials supplied. If session is use this overhead is only done once and not each get.

tomasg2012 commented 7 years ago

Closed with pr #61