)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"15518494e05643e86ab416ff6e8431b493b197f4","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add configurable Redfish client authentication"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Adds ``driver_info/redfish_auth-type`` option for Redfish HTTP"},{"line_number":10,"context_line":"client to chose one of the following authentication methods:"},{"line_number":11,"context_line":"``basic``, ``session`` and ``auto``. The latter first tries ``session``"},{"line_number":12,"context_line":"and falls back to ``basic`` if session authentication is not supported"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3f79a3b5_a1b17c91","line":9,"updated":"2018-09-19 16:34:06.000000000","message":"nit: redfish_auth_type","commit_id":"cc531f14d9a21eddb5b036df4d8094cbde30bc5b"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"15518494e05643e86ab416ff6e8431b493b197f4","unresolved":false,"context_lines":[{"line_number":17,"context_line":"occurs. The real cause of this is that ironic does not terminate web"},{"line_number":18,"context_line":"sessions with Redfish BMC so switching to HTTP basic auth indirectly"},{"line_number":19,"context_line":"fixes session exaustion problem."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Change-Id: I11bf8413bdb3f2d7f632495bb20a71a165554b27"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3f79a3b5_c1acb836","line":20,"updated":"2018-09-19 16:34:06.000000000","message":"please link to a bug/RFE","commit_id":"cc531f14d9a21eddb5b036df4d8094cbde30bc5b"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"4eb55f79f020c37fc924e4e2c777c56f156f97d2","unresolved":false,"context_lines":[{"line_number":18,"context_line":"sessions with Redfish BMC, so that switching to HTTP basic auth"},{"line_number":19,"context_line":"indirectly fixes session exaustion problem."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Change-Id: I11bf8413bdb3f2d7f632495bb20a71a165554b27"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3f79a3b5_b2553efb","line":21,"range":{"start_line":21,"start_character":0,"end_line":21,"end_character":10},"updated":"2018-09-20 05:45:35.000000000","message":"This also needs Story/Task.","commit_id":"53cf1294b9a4622a6f4578538e2f7febb8171a4d"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"92cd3349700f54ed9d7fee9ab878aaab05ca0990","unresolved":false,"context_lines":[{"line_number":18,"context_line":"sessions with Redfish BMC, so that switching to HTTP basic auth"},{"line_number":19,"context_line":"indirectly fixes session exaustion problem."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Change-Id: I11bf8413bdb3f2d7f632495bb20a71a165554b27"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3f79a3b5_7278062a","line":21,"range":{"start_line":21,"start_character":0,"end_line":21,"end_character":10},"in_reply_to":"3f79a3b5_b2553efb","updated":"2018-09-20 06:12:37.000000000","message":"Done","commit_id":"53cf1294b9a4622a6f4578538e2f7febb8171a4d"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"d9a6b294e3774f705a5965be6afc04d6f9a06f9a","unresolved":false,"context_lines":[{"line_number":13,"context_line":"authentication is not supported by the Redfish BMC."},{"line_number":14,"context_line":"Default is set in ironic config (defaulted to \u0027auto\u0027)."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Also bumped sushy requirement to 1.3.0+"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Change-Id: I11bf8413bdb3f2d7f632495bb20a71a165554b27"},{"line_number":19,"context_line":"Story: 2003813"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":26,"id":"3f79a3b5_1999e0cc","line":16,"range":{"start_line":16,"start_character":0,"end_line":16,"end_character":39},"updated":"2018-12-07 05:40:01.000000000","message":"This is no more part of this change. The required Sushy version is at 1.6.0\nhttps://github.com/openstack/ironic/blob/master/driver-requirements.txt#L19","commit_id":"59b5b66c8ed95a509223c834b271ecbe21e42e2f"}],"doc/source/admin/drivers/redfish.rst":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"15518494e05643e86ab416ff6e8431b493b197f4","unresolved":false,"context_lines":[{"line_number":76,"context_line":"                         verifying TLS_, set this to False. This is optional."},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"- ``redfish_auth_type``: Redfish HTTP client authentication method. Can be"},{"line_number":79,"context_line":"                         \"basic\", \"session\" or \"auto\". Default is \"basic\"."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"The ``openstack baremetal node create`` command can be used to enroll"},{"line_number":82,"context_line":"a node with the ``redfish`` driver. For example:"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3f79a3b5_016cf004","line":79,"updated":"2018-09-19 16:34:06.000000000","message":"the default should be \u0027auto\u0027 IMO. Users experiencing occasional problems should change it to \u0027basic\u0027.","commit_id":"cc531f14d9a21eddb5b036df4d8094cbde30bc5b"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"98a740362ca75893571d3acd2c55425ee32c30a0","unresolved":false,"context_lines":[{"line_number":76,"context_line":"                         verifying TLS_, set this to False. This is optional."},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"- ``redfish_auth_type``: Redfish HTTP client authentication method. Can be"},{"line_number":79,"context_line":"                         \"basic\", \"session\" or \"auto\". Default is \"auto\"."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"The ``openstack baremetal node create`` command can be used to enroll"},{"line_number":82,"context_line":"a node with the ``redfish`` driver. For example:"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3f79a3b5_cd232306","line":79,"updated":"2018-09-25 14:46:06.000000000","message":"mind adding details here, like you provide in the commit message?","commit_id":"9cc9a6e08f7c91598ac224bd633210b0a9237d9f"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"966ba817cebc468ea87afae3cc6e75ce6c3b3c38","unresolved":false,"context_lines":[{"line_number":76,"context_line":"                         verifying TLS_, set this to False. This is optional."},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"- ``redfish_auth_type``: Redfish HTTP client authentication method. Can be"},{"line_number":79,"context_line":"                         \"basic\", \"session\" or \"auto\". Default is \"auto\"."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"The ``openstack baremetal node create`` command can be used to enroll"},{"line_number":82,"context_line":"a node with the ``redfish`` driver. For example:"}],"source_content_type":"text/x-rst","patch_set":6,"id":"3f79a3b5_59003101","line":79,"in_reply_to":"3f79a3b5_cd232306","updated":"2018-09-25 16:57:27.000000000","message":"Noted session auth fallback. Not sure we should add the session exhaustion note here as this problem is going to be solved shotly","commit_id":"9cc9a6e08f7c91598ac224bd633210b0a9237d9f"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"4e5fa8fb50a2291db0c5b5365b82235d0d46d8f7","unresolved":false,"context_lines":[{"line_number":77,"context_line":""},{"line_number":78,"context_line":"- ``redfish_auth_type``: Redfish HTTP client authentication method. Can be"},{"line_number":79,"context_line":"                         \"basic\", \"session\" or \"auto\"."},{"line_number":80,"context_line":"                         The latter first tries \u0027session\u0027 and falls back to"},{"line_number":81,"context_line":"                         \u0027basic\u0027 if session authentication is not supported"},{"line_number":82,"context_line":"                         by the Redfish BMC. Default is set in ironic config."},{"line_number":83,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"3f79a3b5_89c68241","line":80,"range":{"start_line":80,"start_character":25,"end_line":80,"end_character":35},"updated":"2018-11-01 08:42:40.000000000","message":"In my memory, the \"latter\" is used to refer the latter one when there are only two items.\n\nMaybe \"last\" is workable, but I\u0027d prefer to specifically use \"auto\" here.","commit_id":"3136a7719676eafc78fb1b7cc1da9a6a6cead935"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"cee9f0d20cdf27888a57e712372842e7fddf5c90","unresolved":false,"context_lines":[{"line_number":77,"context_line":""},{"line_number":78,"context_line":"- ``redfish_auth_type``: Redfish HTTP client authentication method. Can be"},{"line_number":79,"context_line":"                         \"basic\", \"session\" or \"auto\"."},{"line_number":80,"context_line":"                         The latter first tries \u0027session\u0027 and falls back to"},{"line_number":81,"context_line":"                         \u0027basic\u0027 if session authentication is not supported"},{"line_number":82,"context_line":"                         by the Redfish BMC. Default is set in ironic config."},{"line_number":83,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"3f79a3b5_34469758","line":80,"range":{"start_line":80,"start_character":25,"end_line":80,"end_character":35},"in_reply_to":"3f79a3b5_89c68241","updated":"2018-11-01 18:01:46.000000000","message":"Done","commit_id":"3136a7719676eafc78fb1b7cc1da9a6a6cead935"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"8f2dff4c644717a04344a01dae76be806b7c815a","unresolved":false,"context_lines":[{"line_number":79,"context_line":"                         \"basic\", \"session\" or \"auto\"."},{"line_number":80,"context_line":"                         The \"auto\" mode first tries \u0027session\u0027 and falls back"},{"line_number":81,"context_line":"                         to \u0027basic\u0027 if session authentication is not supported"},{"line_number":82,"context_line":"                         by the Redfish BMC. Default is set in ironic config."},{"line_number":83,"context_line":""},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"The ``openstack baremetal node create`` command can be used to enroll"}],"source_content_type":"text/x-rst","patch_set":16,"id":"3f79a3b5_3f30abea","line":82,"range":{"start_line":82,"start_character":63,"end_line":82,"end_character":76},"updated":"2018-11-02 01:40:31.000000000","message":"since it\u0027s a doc for users, it will be good to have a configuration option name here.","commit_id":"8f92e31ad2755f310d0f1c734375be2cc662dd3f"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"73a281986f983248087d040b3597fcfde7ffb623","unresolved":false,"context_lines":[{"line_number":79,"context_line":"                         \"basic\", \"session\" or \"auto\"."},{"line_number":80,"context_line":"                         The \"auto\" mode first tries \u0027session\u0027 and falls back"},{"line_number":81,"context_line":"                         to \u0027basic\u0027 if session authentication is not supported"},{"line_number":82,"context_line":"                         by the Redfish BMC. Default is set in ironic config."},{"line_number":83,"context_line":""},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"The ``openstack baremetal node create`` command can be used to enroll"}],"source_content_type":"text/x-rst","patch_set":16,"id":"3f79a3b5_77139869","line":82,"range":{"start_line":82,"start_character":63,"end_line":82,"end_character":76},"in_reply_to":"3f79a3b5_3f30abea","updated":"2018-11-02 16:29:33.000000000","message":"[redfish]auth_type\n\nA good follow-up.","commit_id":"8f92e31ad2755f310d0f1c734375be2cc662dd3f"}],"driver-requirements.txt":[{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"d9a6b294e3774f705a5965be6afc04d6f9a06f9a","unresolved":false,"context_lines":[{"line_number":16,"context_line":"ImcSdk\u003e\u003d0.7.2"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"# The Redfish hardware type uses the Sushy library"},{"line_number":19,"context_line":"sushy\u003e\u003d1.6.0"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"# Ansible-deploy interface"},{"line_number":22,"context_line":"ansible\u003e\u003d2.4"}],"source_content_type":"text/plain","patch_set":26,"id":"3f79a3b5_99ac10ed","line":19,"range":{"start_line":19,"start_character":0,"end_line":19,"end_character":12},"updated":"2018-12-07 05:40:01.000000000","message":"Does this patch needs a rebase? Sushy version is already at 1.6.0\nhttps://github.com/openstack/ironic/blob/master/driver-requirements.txt#L19","commit_id":"59b5b66c8ed95a509223c834b271ecbe21e42e2f"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"2df3e3114ed2f1660a5bb2320c525bc93df8ad7d","unresolved":false,"context_lines":[{"line_number":16,"context_line":"ImcSdk\u003e\u003d0.7.2"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"# The Redfish hardware type uses the Sushy library"},{"line_number":19,"context_line":"sushy\u003e\u003d1.6.0"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"# Ansible-deploy interface"},{"line_number":22,"context_line":"ansible\u003e\u003d2.4"}],"source_content_type":"text/plain","patch_set":26,"id":"3f79a3b5_7981f44b","line":19,"range":{"start_line":19,"start_character":0,"end_line":19,"end_character":12},"in_reply_to":"3f79a3b5_99ac10ed","updated":"2018-12-07 05:42:34.000000000","message":"Ignore this one.","commit_id":"59b5b66c8ed95a509223c834b271ecbe21e42e2f"}],"ironic/conf/redfish.py":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"73a281986f983248087d040b3597fcfde7ffb623","unresolved":false,"context_lines":[{"line_number":29,"context_line":"               help\u003d_(\u0027Number of seconds to wait between attempts to \u0027"},{"line_number":30,"context_line":"                      \u0027connect to Redfish\u0027)),"},{"line_number":31,"context_line":"    cfg.StrOpt(\u0027auth_type\u0027,"},{"line_number":32,"context_line":"               choices\u003d[(\u0027basic\u0027, _(\u0027use HTTP basic authentication\u0027)),"},{"line_number":33,"context_line":"                        (\u0027session\u0027, _(\u0027use HTTP session authentication\u0027)),"},{"line_number":34,"context_line":"                        (\u0027auto\u0027, _(\u0027try HTTP session authentication first, \u0027"},{"line_number":35,"context_line":"                                   \u0027fall back to basic HTTP authentication\u0027))],"}],"source_content_type":"text/x-python","patch_set":16,"id":"3f79a3b5_e23928d0","line":32,"range":{"start_line":32,"start_character":37,"end_line":32,"end_character":38},"updated":"2018-11-02 16:29:33.000000000","message":"nit: upper case.","commit_id":"8f92e31ad2755f310d0f1c734375be2cc662dd3f"}],"ironic/drivers/modules/redfish/utils.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"15518494e05643e86ab416ff6e8431b493b197f4","unresolved":false,"context_lines":[{"line_number":149,"context_line":"            _(\u0027Invalid value \"%(value)s\" set in \u0027"},{"line_number":150,"context_line":"              \u0027driver_info/redfish_auth_type on node %(node)s. \u0027"},{"line_number":151,"context_line":"              \u0027The value should be either \"basic\", \"session\" or \"auto\".\u0027) %"},{"line_number":152,"context_line":"            {\u0027value\u0027: driver_info[\u0027redfish_auth_type\u0027], \u0027node\u0027: node.uuid})"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"    return {\u0027address\u0027: address,"},{"line_number":155,"context_line":"            \u0027system_id\u0027: system_id,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_61a7e451","line":152,"updated":"2018-09-19 16:34:06.000000000","message":"nit: you can use auth_type here","commit_id":"cc531f14d9a21eddb5b036df4d8094cbde30bc5b"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"15518494e05643e86ab416ff6e8431b493b197f4","unresolved":false,"context_lines":[{"line_number":179,"context_line":"    def _get_system():"},{"line_number":180,"context_line":"        auth_type \u003d driver_info[\u0027auth_type\u0027]"},{"line_number":181,"context_line":"        if auth_type \u003d\u003d \u0027basic\u0027:"},{"line_number":182,"context_line":"            Authenticator \u003d sushy.BasicAuth"},{"line_number":183,"context_line":"        elif auth_type \u003d\u003d \u0027session\u0027:"},{"line_number":184,"context_line":"            Authenticator \u003d sushy.SessionAuth"},{"line_number":185,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_81a2403e","line":182,"updated":"2018-09-19 16:34:06.000000000","message":"local variables should be lower case (even if they contain a class)","commit_id":"cc531f14d9a21eddb5b036df4d8094cbde30bc5b"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"4eb55f79f020c37fc924e4e2c777c56f156f97d2","unresolved":false,"context_lines":[{"line_number":143,"context_line":"              \u0027to a file/directory, not \"%(value)s\"\u0027) % {\u0027value\u0027: verify_ca,"},{"line_number":144,"context_line":"                                                         \u0027node\u0027: node.uuid})"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"    auth_type \u003d driver_info.get(\u0027redfish_auth_type\u0027, \u0027basic\u0027).lower()"},{"line_number":147,"context_line":"    if auth_type not in (\u0027basic\u0027, \u0027session\u0027, \u0027auto\u0027):"},{"line_number":148,"context_line":"        raise exception.InvalidParameterValue("},{"line_number":149,"context_line":"            _(\u0027Invalid value \"%(value)s\" set in \u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_322cce91","line":146,"range":{"start_line":146,"start_character":54,"end_line":146,"end_character":59},"updated":"2018-09-20 05:45:35.000000000","message":"Shouldn\u0027t this be \u0027auto\u0027? I think user can change to \u0027basic\u0027 where session exhaustion issue is seen. In my opinion, there is no need to change the default behavior. This would ensure the backward compatibility.","commit_id":"53cf1294b9a4622a6f4578538e2f7febb8171a4d"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"92cd3349700f54ed9d7fee9ab878aaab05ca0990","unresolved":false,"context_lines":[{"line_number":143,"context_line":"              \u0027to a file/directory, not \"%(value)s\"\u0027) % {\u0027value\u0027: verify_ca,"},{"line_number":144,"context_line":"                                                         \u0027node\u0027: node.uuid})"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"    auth_type \u003d driver_info.get(\u0027redfish_auth_type\u0027, \u0027basic\u0027).lower()"},{"line_number":147,"context_line":"    if auth_type not in (\u0027basic\u0027, \u0027session\u0027, \u0027auto\u0027):"},{"line_number":148,"context_line":"        raise exception.InvalidParameterValue("},{"line_number":149,"context_line":"            _(\u0027Invalid value \"%(value)s\" set in \u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_d28eba25","line":146,"range":{"start_line":146,"start_character":54,"end_line":146,"end_character":59},"in_reply_to":"3f79a3b5_322cce91","updated":"2018-09-20 06:12:37.000000000","message":"Done","commit_id":"53cf1294b9a4622a6f4578538e2f7febb8171a4d"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"bedf37ade6a0c25ec0cf3feaa674371039c4af5e","unresolved":false,"context_lines":[{"line_number":183,"context_line":"        elif auth_type \u003d\u003d \u0027session\u0027:"},{"line_number":184,"context_line":"            Authenticator \u003d sushy.SessionAuth"},{"line_number":185,"context_line":"        else:"},{"line_number":186,"context_line":"            Authenticator \u003d sushy.SessionBasicAuth"},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"        try:"},{"line_number":189,"context_line":"            # TODO(lucasagomes): We should look into a mechanism to"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f79a3b5_923790e5","line":186,"updated":"2018-09-25 03:09:51.000000000","message":"ERROR ironic.conductor.manager [None req-89d101ec-d891-408c-9f67-fa8c0da85cec None None] Failed to get power state for node 4beda1cd-7485-46e9-b9b7-8b1b8e15f65c. Error: \u0027module\u0027 object has no attribute \u0027SessionBasicAuth\u0027","commit_id":"ea5ff59060147fffac559e6cee61ee564bbb55b4"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"98498e42bd298a92b8ce1847169987bd02dcb409","unresolved":false,"context_lines":[{"line_number":183,"context_line":"        elif auth_type \u003d\u003d \u0027session\u0027:"},{"line_number":184,"context_line":"            Authenticator \u003d sushy.SessionAuth"},{"line_number":185,"context_line":"        else:"},{"line_number":186,"context_line":"            Authenticator \u003d sushy.SessionBasicAuth"},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"        try:"},{"line_number":189,"context_line":"            # TODO(lucasagomes): We should look into a mechanism to"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f79a3b5_d5296f3a","line":186,"in_reply_to":"3f79a3b5_923790e5","updated":"2018-09-25 08:55:57.000000000","message":"Actually, that\u0027s a bug in this patch which has not been caught because of the mocking magic. I\u0027ve added some relevant tests.","commit_id":"ea5ff59060147fffac559e6cee61ee564bbb55b4"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"98a740362ca75893571d3acd2c55425ee32c30a0","unresolved":false,"context_lines":[{"line_number":183,"context_line":"        elif auth_type \u003d\u003d \u0027session\u0027:"},{"line_number":184,"context_line":"            Authenticator \u003d sushy.SessionAuth"},{"line_number":185,"context_line":"        else:"},{"line_number":186,"context_line":"            Authenticator \u003d sushy.SessionOrBasicAuth"},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"        try:"},{"line_number":189,"context_line":"            # TODO(lucasagomes): We should look into a mechanism to"}],"source_content_type":"text/x-python","patch_set":6,"id":"3f79a3b5_cd3a4334","line":186,"updated":"2018-09-25 14:46:06.000000000","message":"http://logs.openstack.org/18/603818/6/check/ironic-tempest-dsvm-ipa-partition-redfish-tinyipa/a9ce6e6/controller/logs/screen-ir-cond.txt.gz#_Sep_25_10_36_35_183829","commit_id":"9cc9a6e08f7c91598ac224bd633210b0a9237d9f"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"966ba817cebc468ea87afae3cc6e75ce6c3b3c38","unresolved":false,"context_lines":[{"line_number":183,"context_line":"        elif auth_type \u003d\u003d \u0027session\u0027:"},{"line_number":184,"context_line":"            Authenticator \u003d sushy.SessionAuth"},{"line_number":185,"context_line":"        else:"},{"line_number":186,"context_line":"            Authenticator \u003d sushy.SessionOrBasicAuth"},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"        try:"},{"line_number":189,"context_line":"            # TODO(lucasagomes): We should look into a mechanism to"}],"source_content_type":"text/x-python","patch_set":6,"id":"3f79a3b5_39fbf515","line":186,"in_reply_to":"3f79a3b5_cd3a4334","updated":"2018-09-25 16:57:27.000000000","message":"Done","commit_id":"9cc9a6e08f7c91598ac224bd633210b0a9237d9f"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"ddf3b4ef487dabcb2c33387bada65c1fac60cf7f","unresolved":false,"context_lines":[{"line_number":143,"context_line":"              \u0027to a file/directory, not \"%(value)s\"\u0027) % {\u0027value\u0027: verify_ca,"},{"line_number":144,"context_line":"                                                         \u0027node\u0027: node.uuid})"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"    auth_type \u003d driver_info.get(\u0027redfish_auth_type\u0027, \u0027auto\u0027).lower()"},{"line_number":147,"context_line":"    if auth_type not in (\u0027basic\u0027, \u0027session\u0027, \u0027auto\u0027):"},{"line_number":148,"context_line":"        raise exception.InvalidParameterValue("},{"line_number":149,"context_line":"            _(\u0027Invalid value \"%(value)s\" set in \u0027"}],"source_content_type":"text/x-python","patch_set":7,"id":"3f79a3b5_45def83c","line":146,"range":{"start_line":146,"start_character":4,"end_line":146,"end_character":68},"updated":"2018-09-26 06:43:09.000000000","message":"Would it be useful if we provide this option through config file as well? Given that we have session related bug, for large number of nodes, it may be useful to change the auth mechanism through config instead of changing the driver info of each node. WDYT?","commit_id":"4b75313177dcec2d1deb6ea7937f1359330c8578"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"a8388d3543281e30422bae7e0c03f0c2ec01f955","unresolved":false,"context_lines":[{"line_number":143,"context_line":"              \u0027to a file/directory, not \"%(value)s\"\u0027) % {\u0027value\u0027: verify_ca,"},{"line_number":144,"context_line":"                                                         \u0027node\u0027: node.uuid})"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"    auth_type \u003d driver_info.get(\u0027redfish_auth_type\u0027, \u0027auto\u0027).lower()"},{"line_number":147,"context_line":"    if auth_type not in (\u0027basic\u0027, \u0027session\u0027, \u0027auto\u0027):"},{"line_number":148,"context_line":"        raise exception.InvalidParameterValue("},{"line_number":149,"context_line":"            _(\u0027Invalid value \"%(value)s\" set in \u0027"}],"source_content_type":"text/x-python","patch_set":7,"id":"3f79a3b5_9640c408","line":146,"range":{"start_line":146,"start_character":4,"end_line":146,"end_character":68},"in_reply_to":"3f79a3b5_45def83c","updated":"2018-09-26 09:16:43.000000000","message":"Done","commit_id":"4b75313177dcec2d1deb6ea7937f1359330c8578"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"a1bf49f90ccfbd4e190fabb8f382dd8041254a8f","unresolved":false,"context_lines":[{"line_number":144,"context_line":"              \u0027to a file/directory, not \"%(value)s\"\u0027) % {\u0027value\u0027: verify_ca,"},{"line_number":145,"context_line":"                                                         \u0027node\u0027: node.uuid})"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"    auth_type \u003d driver_info.get(\u0027redfish_auth_type\u0027,"},{"line_number":148,"context_line":"                                CONF.redfish.auth_type).lower()"},{"line_number":149,"context_line":"    if auth_type not in (\u0027basic\u0027, \u0027session\u0027, \u0027auto\u0027):"},{"line_number":150,"context_line":"        raise exception.InvalidParameterValue("},{"line_number":151,"context_line":"            _(\u0027Invalid value \"%(value)s\" set in \u0027"}],"source_content_type":"text/x-python","patch_set":9,"id":"3f79a3b5_c4551120","line":148,"range":{"start_line":147,"start_character":32,"end_line":148,"end_character":63},"updated":"2018-09-27 05:50:03.000000000","message":"You will get AttributeError if redfish_auth_type is missing in driver_info","commit_id":"d879ebd23e4d064c89c81b934c69ac04bc006024"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"6b64a57db02013498aa9c2bbba2a8748c1a5de4c","unresolved":false,"context_lines":[{"line_number":144,"context_line":"              \u0027to a file/directory, not \"%(value)s\"\u0027) % {\u0027value\u0027: verify_ca,"},{"line_number":145,"context_line":"                                                         \u0027node\u0027: node.uuid})"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"    auth_type \u003d driver_info.get(\u0027redfish_auth_type\u0027,"},{"line_number":148,"context_line":"                                CONF.redfish.auth_type).lower()"},{"line_number":149,"context_line":"    if auth_type not in (\u0027basic\u0027, \u0027session\u0027, \u0027auto\u0027):"},{"line_number":150,"context_line":"        raise exception.InvalidParameterValue("},{"line_number":151,"context_line":"            _(\u0027Invalid value \"%(value)s\" set in \u0027"}],"source_content_type":"text/x-python","patch_set":9,"id":"3f79a3b5_0659ca8c","line":148,"range":{"start_line":147,"start_character":32,"end_line":148,"end_character":63},"in_reply_to":"3f79a3b5_c4551120","updated":"2018-09-27 09:45:37.000000000","message":"I am sorry, is not `driver_info` a dict? I expect `dict.get` to return the default...","commit_id":"d879ebd23e4d064c89c81b934c69ac04bc006024"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"a1bf49f90ccfbd4e190fabb8f382dd8041254a8f","unresolved":false,"context_lines":[{"line_number":226,"context_line":"                        \u0027\"%(auth_type)s\" when fetching System \"%(system)s\". \u0027"},{"line_number":227,"context_line":"                        \u0027Error: %(error)s\u0027,"},{"line_number":228,"context_line":"                        {\u0027system\u0027: system_id, \u0027address\u0027: address,"},{"line_number":229,"context_line":"                         \u0027auth_type\u0027: auth_type,"},{"line_number":230,"context_line":"                         \u0027node\u0027: node.uuid, \u0027error\u0027: e})"},{"line_number":231,"context_line":"            raise exception.RedfishConnectionError(node\u003dnode.uuid, error\u003de)"},{"line_number":232,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"3f79a3b5_4437c1ff","line":229,"range":{"start_line":229,"start_character":38,"end_line":229,"end_character":47},"updated":"2018-09-27 05:50:03.000000000","message":"You will get error here. Its declared/defined at L193. It should be declared at L189","commit_id":"d879ebd23e4d064c89c81b934c69ac04bc006024"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"6b64a57db02013498aa9c2bbba2a8748c1a5de4c","unresolved":false,"context_lines":[{"line_number":226,"context_line":"                        \u0027\"%(auth_type)s\" when fetching System \"%(system)s\". \u0027"},{"line_number":227,"context_line":"                        \u0027Error: %(error)s\u0027,"},{"line_number":228,"context_line":"                        {\u0027system\u0027: system_id, \u0027address\u0027: address,"},{"line_number":229,"context_line":"                         \u0027auth_type\u0027: auth_type,"},{"line_number":230,"context_line":"                         \u0027node\u0027: node.uuid, \u0027error\u0027: e})"},{"line_number":231,"context_line":"            raise exception.RedfishConnectionError(node\u003dnode.uuid, error\u003de)"},{"line_number":232,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"3f79a3b5_a64016a4","line":229,"range":{"start_line":229,"start_character":38,"end_line":229,"end_character":47},"in_reply_to":"3f79a3b5_4437c1ff","updated":"2018-09-27 09:45:37.000000000","message":"Oh, that got lost in rebase. Fixed!","commit_id":"d879ebd23e4d064c89c81b934c69ac04bc006024"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"50a71d71e05aa9a5902790d70b5dad2a4b5147a6","unresolved":false,"context_lines":[{"line_number":65,"context_line":"                           \u0027directory. Defaults to True. Optional\u0027),"},{"line_number":66,"context_line":"    \u0027redfish_auth_type\u0027: _(\u0027Redfish HTTP client authentication method. Can be \u0027"},{"line_number":67,"context_line":"                           \u0027\"basic\", \"session\" or \"auto\". Default is set in \u0027"},{"line_number":68,"context_line":"                           \u0027ironic config.\u0027)"},{"line_number":69,"context_line":"}"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"COMMON_PROPERTIES \u003d REQUIRED_PROPERTIES.copy()"}],"source_content_type":"text/x-python","patch_set":10,"id":"3f79a3b5_e657ee26","line":68,"updated":"2018-09-27 09:54:28.000000000","message":"nit: s/ironic config/the configuration/","commit_id":"750d7e9e2918ad51d33318963442c16a2394e64f"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"540b2c2e53324621f97127abaa4dda342cab370b","unresolved":false,"context_lines":[{"line_number":65,"context_line":"                           \u0027directory. Defaults to True. Optional\u0027),"},{"line_number":66,"context_line":"    \u0027redfish_auth_type\u0027: _(\u0027Redfish HTTP client authentication method. Can be \u0027"},{"line_number":67,"context_line":"                           \u0027\"basic\", \"session\" or \"auto\". Default is set in \u0027"},{"line_number":68,"context_line":"                           \u0027ironic config.\u0027)"},{"line_number":69,"context_line":"}"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"COMMON_PROPERTIES \u003d REQUIRED_PROPERTIES.copy()"}],"source_content_type":"text/x-python","patch_set":10,"id":"3f79a3b5_765141d9","line":68,"in_reply_to":"3f79a3b5_e657ee26","updated":"2018-09-27 16:46:56.000000000","message":"Done","commit_id":"750d7e9e2918ad51d33318963442c16a2394e64f"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"50a71d71e05aa9a5902790d70b5dad2a4b5147a6","unresolved":false,"context_lines":[{"line_number":150,"context_line":"                                                         \u0027node\u0027: node.uuid})"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"    auth_type \u003d driver_info.get(\u0027redfish_auth_type\u0027,"},{"line_number":153,"context_line":"                                CONF.redfish.auth_type).lower()"},{"line_number":154,"context_line":"    if auth_type not in (\u0027basic\u0027, \u0027session\u0027, \u0027auto\u0027):"},{"line_number":155,"context_line":"        raise exception.InvalidParameterValue("},{"line_number":156,"context_line":"            _(\u0027Invalid value \"%(value)s\" set in \u0027"}],"source_content_type":"text/x-python","patch_set":10,"id":"3f79a3b5_86563a2a","line":153,"updated":"2018-09-27 09:54:28.000000000","message":"nit: I\u0027d remove .lower() and let BaSiC be an error","commit_id":"750d7e9e2918ad51d33318963442c16a2394e64f"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"540b2c2e53324621f97127abaa4dda342cab370b","unresolved":false,"context_lines":[{"line_number":150,"context_line":"                                                         \u0027node\u0027: node.uuid})"},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"    auth_type \u003d driver_info.get(\u0027redfish_auth_type\u0027,"},{"line_number":153,"context_line":"                                CONF.redfish.auth_type).lower()"},{"line_number":154,"context_line":"    if auth_type not in (\u0027basic\u0027, \u0027session\u0027, \u0027auto\u0027):"},{"line_number":155,"context_line":"        raise exception.InvalidParameterValue("},{"line_number":156,"context_line":"            _(\u0027Invalid value \"%(value)s\" set in \u0027"}],"source_content_type":"text/x-python","patch_set":10,"id":"3f79a3b5_f60b11d2","line":153,"in_reply_to":"3f79a3b5_86563a2a","updated":"2018-09-27 16:46:56.000000000","message":"Done","commit_id":"750d7e9e2918ad51d33318963442c16a2394e64f"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"4e5fa8fb50a2291db0c5b5365b82235d0d46d8f7","unresolved":false,"context_lines":[{"line_number":64,"context_line":"                           \u0027certificate or one of the certificates in the \u0027"},{"line_number":65,"context_line":"                           \u0027directory. Defaults to True. Optional\u0027),"},{"line_number":66,"context_line":"    \u0027redfish_auth_type\u0027: _(\u0027Redfish HTTP client authentication method. Can be \u0027"},{"line_number":67,"context_line":"                           \u0027\"basic\", \"session\" or \"auto\". Default is set in \u0027"},{"line_number":68,"context_line":"                           \u0027the configuration.\u0027)"},{"line_number":69,"context_line":"}"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"COMMON_PROPERTIES \u003d REQUIRED_PROPERTIES.copy()"}],"source_content_type":"text/x-python","patch_set":15,"id":"3f79a3b5_0904b27c","line":68,"range":{"start_line":67,"start_character":58,"end_line":68,"end_character":46},"updated":"2018-11-01 08:42:40.000000000","message":"this may cause confusion, AIUI the default value in configuration option is used if this redfish_auth_type is not set.","commit_id":"3136a7719676eafc78fb1b7cc1da9a6a6cead935"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"cee9f0d20cdf27888a57e712372842e7fddf5c90","unresolved":false,"context_lines":[{"line_number":64,"context_line":"                           \u0027certificate or one of the certificates in the \u0027"},{"line_number":65,"context_line":"                           \u0027directory. Defaults to True. Optional\u0027),"},{"line_number":66,"context_line":"    \u0027redfish_auth_type\u0027: _(\u0027Redfish HTTP client authentication method. Can be \u0027"},{"line_number":67,"context_line":"                           \u0027\"basic\", \"session\" or \"auto\". Default is set in \u0027"},{"line_number":68,"context_line":"                           \u0027the configuration.\u0027)"},{"line_number":69,"context_line":"}"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"COMMON_PROPERTIES \u003d REQUIRED_PROPERTIES.copy()"}],"source_content_type":"text/x-python","patch_set":15,"id":"3f79a3b5_5474739b","line":68,"range":{"start_line":67,"start_character":58,"end_line":68,"end_character":46},"in_reply_to":"3f79a3b5_0904b27c","updated":"2018-11-01 18:01:46.000000000","message":"Rephrased","commit_id":"3136a7719676eafc78fb1b7cc1da9a6a6cead935"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"4e5fa8fb50a2291db0c5b5365b82235d0d46d8f7","unresolved":false,"context_lines":[{"line_number":150,"context_line":"        raise exception.InvalidParameterValue("},{"line_number":151,"context_line":"            _(\u0027Invalid value \"%(value)s\" set in \u0027"},{"line_number":152,"context_line":"              \u0027driver_info/redfish_auth_type on node %(node)s. \u0027"},{"line_number":153,"context_line":"              \u0027The value should be either \"basic\", \"session\" or \"auto\".\u0027) %"},{"line_number":154,"context_line":"            {\u0027value\u0027: auth_type, \u0027node\u0027: node.uuid})"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"    return {\u0027address\u0027: address,"}],"source_content_type":"text/x-python","patch_set":15,"id":"3f79a3b5_69f2069f","line":153,"range":{"start_line":153,"start_character":35,"end_line":153,"end_character":41},"updated":"2018-11-01 08:42:40.000000000","message":"ditto, \"either\" is used for the case there are only two items, if memory serves :)\nwe can just drop this word.","commit_id":"3136a7719676eafc78fb1b7cc1da9a6a6cead935"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"cee9f0d20cdf27888a57e712372842e7fddf5c90","unresolved":false,"context_lines":[{"line_number":150,"context_line":"        raise exception.InvalidParameterValue("},{"line_number":151,"context_line":"            _(\u0027Invalid value \"%(value)s\" set in \u0027"},{"line_number":152,"context_line":"              \u0027driver_info/redfish_auth_type on node %(node)s. \u0027"},{"line_number":153,"context_line":"              \u0027The value should be either \"basic\", \"session\" or \"auto\".\u0027) %"},{"line_number":154,"context_line":"            {\u0027value\u0027: auth_type, \u0027node\u0027: node.uuid})"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"    return {\u0027address\u0027: address,"}],"source_content_type":"text/x-python","patch_set":15,"id":"3f79a3b5_d45f230e","line":153,"range":{"start_line":153,"start_character":35,"end_line":153,"end_character":41},"in_reply_to":"3f79a3b5_69f2069f","updated":"2018-11-01 18:01:46.000000000","message":"Replaced with \u0027one of\u0027","commit_id":"3136a7719676eafc78fb1b7cc1da9a6a6cead935"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"4e5fa8fb50a2291db0c5b5365b82235d0d46d8f7","unresolved":false,"context_lines":[{"line_number":188,"context_line":"            )"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"        # NOTE(etingof): this code should work with older sushy"},{"line_number":191,"context_line":"        if hasattr(sushy.auth, \u0027SessionOrBasicAuth\u0027):"},{"line_number":192,"context_line":"            if auth_type \u003d\u003d \u0027basic\u0027:"},{"line_number":193,"context_line":"                Authenticator \u003d sushy.auth.BasicAuth"},{"line_number":194,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"3f79a3b5_49170a9f","line":191,"range":{"start_line":191,"start_character":8,"end_line":191,"end_character":53},"updated":"2018-11-01 08:42:40.000000000","message":"This may be off topic, looks like it depends on higher version of sushy, I think if we expose the auth_type option, we should make it work.\n\nI wonder why not bump requirements to avoid different logic to create connection?","commit_id":"3136a7719676eafc78fb1b7cc1da9a6a6cead935"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"cee9f0d20cdf27888a57e712372842e7fddf5c90","unresolved":false,"context_lines":[{"line_number":188,"context_line":"            )"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"        # NOTE(etingof): this code should work with older sushy"},{"line_number":191,"context_line":"        if hasattr(sushy.auth, \u0027SessionOrBasicAuth\u0027):"},{"line_number":192,"context_line":"            if auth_type \u003d\u003d \u0027basic\u0027:"},{"line_number":193,"context_line":"                Authenticator \u003d sushy.auth.BasicAuth"},{"line_number":194,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"3f79a3b5_d4a40308","line":191,"range":{"start_line":191,"start_character":8,"end_line":191,"end_character":53},"in_reply_to":"3f79a3b5_49170a9f","updated":"2018-11-01 18:01:46.000000000","message":"May be doing it this way would ease possible back porting?","commit_id":"3136a7719676eafc78fb1b7cc1da9a6a6cead935"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"8f2dff4c644717a04344a01dae76be806b7c815a","unresolved":false,"context_lines":[{"line_number":188,"context_line":"            )"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"        # NOTE(etingof): this code should work with older sushy"},{"line_number":191,"context_line":"        if hasattr(sushy.auth, \u0027SessionOrBasicAuth\u0027):"},{"line_number":192,"context_line":"            if auth_type \u003d\u003d \u0027basic\u0027:"},{"line_number":193,"context_line":"                Authenticator \u003d sushy.auth.BasicAuth"},{"line_number":194,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"3f79a3b5_dc2745c8","line":191,"range":{"start_line":191,"start_character":8,"end_line":191,"end_character":53},"in_reply_to":"3f79a3b5_d4a40308","updated":"2018-11-02 01:40:31.000000000","message":"suppose you back ports ironic code, it won\u0027t work too, because the new feature requires higher version of sushy.\n\nsuppose you back ports sushy code, then we needn\u0027t have the else case at all.\n\nI have little knowledge on redfish/sushy, just talking about a general rule though, so, not sure I understand your use case correctly, just thinking loudly :)","commit_id":"3136a7719676eafc78fb1b7cc1da9a6a6cead935"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"8f2dff4c644717a04344a01dae76be806b7c815a","unresolved":false,"context_lines":[{"line_number":65,"context_line":"                           \u0027directory. Defaults to True. Optional\u0027),"},{"line_number":66,"context_line":"    \u0027redfish_auth_type\u0027: _(\u0027Redfish HTTP client authentication method. Can be \u0027"},{"line_number":67,"context_line":"                           \u0027\"basic\", \"session\" or \"auto\". If not set, the \u0027"},{"line_number":68,"context_line":"                           \u0027default value is taken from the configuration.\u0027)"},{"line_number":69,"context_line":"}"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"COMMON_PROPERTIES \u003d REQUIRED_PROPERTIES.copy()"}],"source_content_type":"text/x-python","patch_set":16,"id":"3f79a3b5_9f469f56","line":68,"range":{"start_line":68,"start_character":60,"end_line":68,"end_character":73},"updated":"2018-11-02 01:40:31.000000000","message":"not insist on this one, developers can always find their way :)","commit_id":"8f92e31ad2755f310d0f1c734375be2cc662dd3f"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"73a281986f983248087d040b3597fcfde7ffb623","unresolved":false,"context_lines":[{"line_number":65,"context_line":"                           \u0027directory. Defaults to True. Optional\u0027),"},{"line_number":66,"context_line":"    \u0027redfish_auth_type\u0027: _(\u0027Redfish HTTP client authentication method. Can be \u0027"},{"line_number":67,"context_line":"                           \u0027\"basic\", \"session\" or \"auto\". If not set, the \u0027"},{"line_number":68,"context_line":"                           \u0027default value is taken from the configuration.\u0027)"},{"line_number":69,"context_line":"}"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"COMMON_PROPERTIES \u003d REQUIRED_PROPERTIES.copy()"}],"source_content_type":"text/x-python","patch_set":16,"id":"3f79a3b5_025ea413","line":68,"range":{"start_line":68,"start_character":60,"end_line":68,"end_character":73},"in_reply_to":"3f79a3b5_9f469f56","updated":"2018-11-02 16:29:33.000000000","message":"Ironic configuration... I don\u0027t think developers would be the ones running into this.","commit_id":"8f92e31ad2755f310d0f1c734375be2cc662dd3f"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"5c2434d578bbb6e44201e51fd43c6bf6fdc5bb41","unresolved":false,"context_lines":[{"line_number":181,"context_line":""},{"line_number":182,"context_line":"        except KeyError:"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"            # NOTE(etingof): this code should work with older sushy"},{"line_number":185,"context_line":"            if not hasattr(sushy.auth, \u0027SessionOrBasicAuth\u0027):"},{"line_number":186,"context_line":"                return sushy.Sushy("},{"line_number":187,"context_line":"                    self._driver_info[\u0027address\u0027],"}],"source_content_type":"text/x-python","patch_set":16,"id":"3f79a3b5_66175e55","line":184,"updated":"2018-11-03 13:11:03.000000000","message":"Why do we need this? This is a new feature, it won\u0027t be backported, we can just bump the sushy version.","commit_id":"8f92e31ad2755f310d0f1c734375be2cc662dd3f"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"5c2434d578bbb6e44201e51fd43c6bf6fdc5bb41","unresolved":false,"context_lines":[{"line_number":182,"context_line":"        except KeyError:"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"            # NOTE(etingof): this code should work with older sushy"},{"line_number":185,"context_line":"            if not hasattr(sushy.auth, \u0027SessionOrBasicAuth\u0027):"},{"line_number":186,"context_line":"                return sushy.Sushy("},{"line_number":187,"context_line":"                    self._driver_info[\u0027address\u0027],"},{"line_number":188,"context_line":"                    username\u003dself._driver_info[\u0027username\u0027],"}],"source_content_type":"text/x-python","patch_set":16,"id":"3f79a3b5_060eaa3c","line":185,"updated":"2018-11-03 13:11:03.000000000","message":"also, what exactly prevents us from caching the basic auth sushy objects? we could reuse the internal connection pool, for example.","commit_id":"8f92e31ad2755f310d0f1c734375be2cc662dd3f"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"bc7b4fe434aa39692d5d105b571cf05131e3f8ad","unresolved":false,"context_lines":[{"line_number":182,"context_line":"        except KeyError:"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"            # NOTE(etingof): this code should work with older sushy"},{"line_number":185,"context_line":"            if not hasattr(sushy.auth, \u0027SessionOrBasicAuth\u0027):"},{"line_number":186,"context_line":"                return sushy.Sushy("},{"line_number":187,"context_line":"                    self._driver_info[\u0027address\u0027],"},{"line_number":188,"context_line":"                    username\u003dself._driver_info[\u0027username\u0027],"}],"source_content_type":"text/x-python","patch_set":16,"id":"3f79a3b5_e93021ed","line":185,"in_reply_to":"3f79a3b5_060eaa3c","updated":"2018-11-03 13:21:51.000000000","message":"My understanding is that whatever we do at this level, urllib3 would try to cache and reuse HTTP connections anyway.","commit_id":"8f92e31ad2755f310d0f1c734375be2cc662dd3f"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"5c2434d578bbb6e44201e51fd43c6bf6fdc5bb41","unresolved":false,"context_lines":[{"line_number":199,"context_line":"                Authenticator \u003d sushy.auth.SessionAuth"},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"            else:"},{"line_number":202,"context_line":"                Authenticator \u003d sushy.auth.SessionOrBasicAuth"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"            authenticator \u003d Authenticator("},{"line_number":205,"context_line":"                username\u003dself._driver_info[\u0027username\u0027],"}],"source_content_type":"text/x-python","patch_set":16,"id":"3f79a3b5_2611665d","line":202,"updated":"2018-11-03 13:11:03.000000000","message":"nit: use a mapping:\n\n AUTH_CLASSES \u003d {\u0027basic\u0027: sushy.auth.BasicAuth, ...}","commit_id":"8f92e31ad2755f310d0f1c734375be2cc662dd3f"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"ab489013665de8fcafd8b068a5cfba602eda3852","unresolved":false,"context_lines":[{"line_number":203,"context_line":"                auth\u003dauthenticator"},{"line_number":204,"context_line":"            )"},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"            if auth_type !\u003d \u0027basic\u0027:"},{"line_number":207,"context_line":"                self._expire_oldest_session()"},{"line_number":208,"context_line":""},{"line_number":209,"context_line":"                self.sessions[self._session_key] \u003d conn"}],"source_content_type":"text/x-python","patch_set":20,"id":"3f79a3b5_ea85f60a","line":206,"updated":"2018-11-09 16:15:00.000000000","message":"At least caching it will allow reusing HTTP connections pooled by requests/urllib.","commit_id":"8eb60640275e76a8761ab5679a8d4fc9f4f06b0f"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"75a38ba9bda78f69ef7d7d6653dff07733d54688","unresolved":false,"context_lines":[{"line_number":203,"context_line":"                auth\u003dauthenticator"},{"line_number":204,"context_line":"            )"},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"            if auth_type !\u003d \u0027basic\u0027:"},{"line_number":207,"context_line":"                self._expire_oldest_session()"},{"line_number":208,"context_line":""},{"line_number":209,"context_line":"                self.sessions[self._session_key] \u003d conn"}],"source_content_type":"text/x-python","patch_set":20,"id":"3f79a3b5_72e83114","line":206,"range":{"start_line":206,"start_character":12,"end_line":206,"end_character":36},"updated":"2018-11-07 12:43:16.000000000","message":"Why do we need this check? We do cache connection objects in case of fallback to \u0027basic\u0027 authentication when auth-type is set to \u0027auto\u0027.","commit_id":"8eb60640275e76a8761ab5679a8d4fc9f4f06b0f"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"f3c02af82c04757e8cf2979b51f125cb58e85f12","unresolved":false,"context_lines":[{"line_number":203,"context_line":"                auth\u003dauthenticator"},{"line_number":204,"context_line":"            )"},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"            if auth_type !\u003d \u0027basic\u0027:"},{"line_number":207,"context_line":"                self._expire_oldest_session()"},{"line_number":208,"context_line":""},{"line_number":209,"context_line":"                self.sessions[self._session_key] \u003d conn"}],"source_content_type":"text/x-python","patch_set":20,"id":"3f79a3b5_c9ddbe3f","line":206,"range":{"start_line":206,"start_character":12,"end_line":206,"end_character":36},"in_reply_to":"3f79a3b5_4800e869","updated":"2018-11-08 17:16:58.000000000","message":"Yes, I also feel we should cache all connections regardless of auth method. Any reasons for this median approach?","commit_id":"8eb60640275e76a8761ab5679a8d4fc9f4f06b0f"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"1dd8887cd32f5e98a2972463761b1bae3704e039","unresolved":false,"context_lines":[{"line_number":203,"context_line":"                auth\u003dauthenticator"},{"line_number":204,"context_line":"            )"},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"            if auth_type !\u003d \u0027basic\u0027:"},{"line_number":207,"context_line":"                self._expire_oldest_session()"},{"line_number":208,"context_line":""},{"line_number":209,"context_line":"                self.sessions[self._session_key] \u003d conn"}],"source_content_type":"text/x-python","patch_set":20,"id":"3f79a3b5_ad5403c6","line":206,"range":{"start_line":206,"start_character":12,"end_line":206,"end_character":36},"in_reply_to":"3f79a3b5_49bd2e65","updated":"2018-11-09 06:39:45.000000000","message":"I understand, but that is how it would be for \u0027auto\u0027 configuration when it falls back to \u0027basic\u0027. it kind of simplifies the code. But I do  not want to block it, lets see how others feel about it.","commit_id":"8eb60640275e76a8761ab5679a8d4fc9f4f06b0f"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"eb4a4b31f796b920ab00a5446535867b1d0af9ac","unresolved":false,"context_lines":[{"line_number":203,"context_line":"                auth\u003dauthenticator"},{"line_number":204,"context_line":"            )"},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"            if auth_type !\u003d \u0027basic\u0027:"},{"line_number":207,"context_line":"                self._expire_oldest_session()"},{"line_number":208,"context_line":""},{"line_number":209,"context_line":"                self.sessions[self._session_key] \u003d conn"}],"source_content_type":"text/x-python","patch_set":20,"id":"3f79a3b5_b0fa0c0e","line":206,"in_reply_to":"3f79a3b5_4af0aa60","updated":"2018-11-09 16:41:02.000000000","message":"I don\u0027t see signs of it, do you have a link? In requests documentation I see recommendations to use sessions to make sure connection are pooled, which makes me think that a pool is per session.","commit_id":"8eb60640275e76a8761ab5679a8d4fc9f4f06b0f"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"cf24e303545c486981874016fec181106997ca99","unresolved":false,"context_lines":[{"line_number":203,"context_line":"                auth\u003dauthenticator"},{"line_number":204,"context_line":"            )"},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"            if auth_type !\u003d \u0027basic\u0027:"},{"line_number":207,"context_line":"                self._expire_oldest_session()"},{"line_number":208,"context_line":""},{"line_number":209,"context_line":"                self.sessions[self._session_key] \u003d conn"}],"source_content_type":"text/x-python","patch_set":20,"id":"3f79a3b5_4800e869","line":206,"range":{"start_line":206,"start_character":12,"end_line":206,"end_character":36},"in_reply_to":"3f79a3b5_72e83114","updated":"2018-11-07 14:33:26.000000000","message":"Right, we would still cache it...\n\nWhat we can do is to see if `authenticator.get_session_key()` evals to True and cache only such connections. I think similar approach has been used in previous versions of this patch, but back then it raised the concern that we are using too much of sushy\u0027s low-level details...\n\nOn the other hand, in the review conversation, it has been suggested to cache all connections, regardless of the auth method being used, because that would be more straightforward, I think...\n\nSo the latest patch takes sort of a median approach. ;-)\n\nWDYT?","commit_id":"8eb60640275e76a8761ab5679a8d4fc9f4f06b0f"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"361e234ba1666c8ea4c8c374b15ec80e5ff3ae56","unresolved":false,"context_lines":[{"line_number":203,"context_line":"                auth\u003dauthenticator"},{"line_number":204,"context_line":"            )"},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"            if auth_type !\u003d \u0027basic\u0027:"},{"line_number":207,"context_line":"                self._expire_oldest_session()"},{"line_number":208,"context_line":""},{"line_number":209,"context_line":"                self.sessions[self._session_key] \u003d conn"}],"source_content_type":"text/x-python","patch_set":20,"id":"3f79a3b5_8c421b0e","line":206,"in_reply_to":"3f79a3b5_b0fa0c0e","updated":"2018-11-14 17:44:30.000000000","message":"I might be wrong here - I can\u0027t find that global caching anymore. So I\u0027ve removed that contentious condition.","commit_id":"8eb60640275e76a8761ab5679a8d4fc9f4f06b0f"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"a896e647569edb46b752ea6afc60ca3e4cfa4b49","unresolved":false,"context_lines":[{"line_number":203,"context_line":"                auth\u003dauthenticator"},{"line_number":204,"context_line":"            )"},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"            if auth_type !\u003d \u0027basic\u0027:"},{"line_number":207,"context_line":"                self._expire_oldest_session()"},{"line_number":208,"context_line":""},{"line_number":209,"context_line":"                self.sessions[self._session_key] \u003d conn"}],"source_content_type":"text/x-python","patch_set":20,"id":"3f79a3b5_49bd2e65","line":206,"range":{"start_line":206,"start_character":12,"end_line":206,"end_character":36},"in_reply_to":"3f79a3b5_c9ddbe3f","updated":"2018-11-08 17:37:42.000000000","message":"My concern is that we would waste memory on those non-reusable objects. Or could we make any use out of sushy objects if they do not have session information?","commit_id":"8eb60640275e76a8761ab5679a8d4fc9f4f06b0f"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"47f657ee64f4009ca52591d71f70cdbe6241647a","unresolved":false,"context_lines":[{"line_number":203,"context_line":"                auth\u003dauthenticator"},{"line_number":204,"context_line":"            )"},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"            if auth_type !\u003d \u0027basic\u0027:"},{"line_number":207,"context_line":"                self._expire_oldest_session()"},{"line_number":208,"context_line":""},{"line_number":209,"context_line":"                self.sessions[self._session_key] \u003d conn"}],"source_content_type":"text/x-python","patch_set":20,"id":"3f79a3b5_4af0aa60","line":206,"in_reply_to":"3f79a3b5_ea85f60a","updated":"2018-11-09 16:32:34.000000000","message":"\u003e At least caching it will allow reusing HTTP connections pooled by requests/urllib.\n\nMy understanding is that urllib caching happens independently under the hood, no matter whether we cache sushy objects or not...","commit_id":"8eb60640275e76a8761ab5679a8d4fc9f4f06b0f"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"633a95c80556ec765b785b97bb0ce4a63fe6e51e","unresolved":false,"context_lines":[{"line_number":189,"context_line":"        except KeyError:"},{"line_number":190,"context_line":"            auth_type \u003d self._driver_info[\u0027auth_type\u0027]"},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"            Authenticator \u003d self.AUTH_CLASSES[auth_type]"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"            authenticator \u003d Authenticator("},{"line_number":195,"context_line":"                username\u003dself._driver_info[\u0027username\u0027],"}],"source_content_type":"text/x-python","patch_set":23,"id":"3f79a3b5_bb325d5a","line":192,"updated":"2018-11-20 17:18:46.000000000","message":"nit: variables should be lower case, even if they hold a class","commit_id":"fbdf31cb4c7af145ccf79f70e9d9e50804a6d011"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"1565eeac44139db0652185d50dfc1c126c3239a8","unresolved":false,"context_lines":[{"line_number":189,"context_line":"        except KeyError:"},{"line_number":190,"context_line":"            auth_type \u003d self._driver_info[\u0027auth_type\u0027]"},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"            Authenticator \u003d self.AUTH_CLASSES[auth_type]"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"            authenticator \u003d Authenticator("},{"line_number":195,"context_line":"                username\u003dself._driver_info[\u0027username\u0027],"}],"source_content_type":"text/x-python","patch_set":23,"id":"3f79a3b5_10c5233e","line":192,"in_reply_to":"3f79a3b5_bb325d5a","updated":"2018-11-26 11:48:22.000000000","message":"Done","commit_id":"fbdf31cb4c7af145ccf79f70e9d9e50804a6d011"}],"ironic/tests/unit/drivers/modules/redfish/test_utils.py":[{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"4e5fa8fb50a2291db0c5b5365b82235d0d46d8f7","unresolved":false,"context_lines":[{"line_number":154,"context_line":"            parsed_driver_info \u003d copy.deepcopy(self.parsed_driver_info)"},{"line_number":155,"context_line":"            parsed_driver_info[\u0027auth_type\u0027] \u003d value.lower()"},{"line_number":156,"context_line":"            self.assertEqual(parsed_driver_info, response)"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"    def test_parse_driver_info_invalid_auth_type(self):"},{"line_number":159,"context_line":"        for value in \u0027BasiC\u0027, \u0027SESSION\u0027, \u0027Auto\u0027:"},{"line_number":160,"context_line":"            self.node.driver_info[\u0027redfish_auth_type\u0027] \u003d value"}],"source_content_type":"text/x-python","patch_set":15,"id":"3f79a3b5_c9ceba2b","line":157,"updated":"2018-11-01 08:42:40.000000000","message":"the option is not case insensitive, the lower() is not required.\n\nactually there is no need to compare driver_info as a whole, you can just check if the value of driver_info[auth_type] is expected, deepcopy can be avoided.","commit_id":"3136a7719676eafc78fb1b7cc1da9a6a6cead935"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"cee9f0d20cdf27888a57e712372842e7fddf5c90","unresolved":false,"context_lines":[{"line_number":154,"context_line":"            parsed_driver_info \u003d copy.deepcopy(self.parsed_driver_info)"},{"line_number":155,"context_line":"            parsed_driver_info[\u0027auth_type\u0027] \u003d value.lower()"},{"line_number":156,"context_line":"            self.assertEqual(parsed_driver_info, response)"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"    def test_parse_driver_info_invalid_auth_type(self):"},{"line_number":159,"context_line":"        for value in \u0027BasiC\u0027, \u0027SESSION\u0027, \u0027Auto\u0027:"},{"line_number":160,"context_line":"            self.node.driver_info[\u0027redfish_auth_type\u0027] \u003d value"}],"source_content_type":"text/x-python","patch_set":15,"id":"3f79a3b5_74b16f45","line":157,"in_reply_to":"3f79a3b5_c9ceba2b","updated":"2018-11-01 18:01:46.000000000","message":"Done","commit_id":"3136a7719676eafc78fb1b7cc1da9a6a6cead935"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"8f2dff4c644717a04344a01dae76be806b7c815a","unresolved":false,"context_lines":[{"line_number":151,"context_line":"        for value in \u0027basic\u0027, \u0027session\u0027, \u0027auto\u0027:"},{"line_number":152,"context_line":"            self.node.driver_info[\u0027redfish_auth_type\u0027] \u003d value"},{"line_number":153,"context_line":"            response \u003d redfish_utils.parse_driver_info(self.node)"},{"line_number":154,"context_line":"            self.parsed_driver_info[\u0027auth_type\u0027] \u003d value"},{"line_number":155,"context_line":"            self.assertEqual(self.parsed_driver_info, response)"},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"    def test_parse_driver_info_invalid_auth_type(self):"},{"line_number":158,"context_line":"        for value in \u0027BasiC\u0027, \u0027SESSION\u0027, \u0027Auto\u0027:"}],"source_content_type":"text/x-python","patch_set":16,"id":"3f79a3b5_df15f73f","line":155,"range":{"start_line":154,"start_character":12,"end_line":155,"end_character":63},"updated":"2018-11-02 01:40:31.000000000","message":"why not just:\n\nself.assertEqual(response[\u0027auth_type\u0027], value) ?","commit_id":"8f92e31ad2755f310d0f1c734375be2cc662dd3f"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"633a95c80556ec765b785b97bb0ce4a63fe6e51e","unresolved":false,"context_lines":[{"line_number":237,"context_line":"        redfish_utils.get_system(self.node)"},{"line_number":238,"context_line":"        mock_sushy.assert_called_with("},{"line_number":239,"context_line":"            mock.ANY, verify\u003dmock.ANY,"},{"line_number":240,"context_line":"            auth\u003dsushy.auth.BasicAuth.return_value"},{"line_number":241,"context_line":"        )"},{"line_number":242,"context_line":"        self.assertEqual(len(redfish_utils.SessionCache._sessions), 1)"},{"line_number":243,"context_line":""}],"source_content_type":"text/x-python","patch_set":23,"id":"3f79a3b5_db2dd9fc","line":240,"updated":"2018-11-20 17:18:46.000000000","message":"this breaks when sushy is importable","commit_id":"fbdf31cb4c7af145ccf79f70e9d9e50804a6d011"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"1565eeac44139db0652185d50dfc1c126c3239a8","unresolved":false,"context_lines":[{"line_number":237,"context_line":"        redfish_utils.get_system(self.node)"},{"line_number":238,"context_line":"        mock_sushy.assert_called_with("},{"line_number":239,"context_line":"            mock.ANY, verify\u003dmock.ANY,"},{"line_number":240,"context_line":"            auth\u003dsushy.auth.BasicAuth.return_value"},{"line_number":241,"context_line":"        )"},{"line_number":242,"context_line":"        self.assertEqual(len(redfish_utils.SessionCache._sessions), 1)"},{"line_number":243,"context_line":""}],"source_content_type":"text/x-python","patch_set":23,"id":"3f79a3b5_109c435a","line":240,"in_reply_to":"3f79a3b5_db2dd9fc","updated":"2018-11-26 11:48:22.000000000","message":"Done","commit_id":"fbdf31cb4c7af145ccf79f70e9d9e50804a6d011"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"633a95c80556ec765b785b97bb0ce4a63fe6e51e","unresolved":false,"context_lines":[{"line_number":280,"context_line":"    def test_auth_session(self, mock_sushy):"},{"line_number":281,"context_line":"        self.node.driver_info[\u0027redfish_auth_type\u0027] \u003d \u0027session\u0027"},{"line_number":282,"context_line":"        redfish_utils.get_system(self.node)"},{"line_number":283,"context_line":"        sushy.auth.SessionAuth.assert_called_with("},{"line_number":284,"context_line":"            username\u003dself.parsed_driver_info[\u0027username\u0027],"},{"line_number":285,"context_line":"            password\u003dself.parsed_driver_info[\u0027password\u0027]"},{"line_number":286,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":23,"id":"3f79a3b5_fb30d556","line":283,"updated":"2018-11-20 17:18:46.000000000","message":"you\u0027re not mocking this object, so you cannot expect it to have assert_called_with","commit_id":"fbdf31cb4c7af145ccf79f70e9d9e50804a6d011"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"1565eeac44139db0652185d50dfc1c126c3239a8","unresolved":false,"context_lines":[{"line_number":280,"context_line":"    def test_auth_session(self, mock_sushy):"},{"line_number":281,"context_line":"        self.node.driver_info[\u0027redfish_auth_type\u0027] \u003d \u0027session\u0027"},{"line_number":282,"context_line":"        redfish_utils.get_system(self.node)"},{"line_number":283,"context_line":"        sushy.auth.SessionAuth.assert_called_with("},{"line_number":284,"context_line":"            username\u003dself.parsed_driver_info[\u0027username\u0027],"},{"line_number":285,"context_line":"            password\u003dself.parsed_driver_info[\u0027password\u0027]"},{"line_number":286,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":23,"id":"3f79a3b5_30993f6a","line":283,"in_reply_to":"3f79a3b5_fb30d556","updated":"2018-11-26 11:48:22.000000000","message":"Done","commit_id":"fbdf31cb4c7af145ccf79f70e9d9e50804a6d011"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"633a95c80556ec765b785b97bb0ce4a63fe6e51e","unresolved":false,"context_lines":[{"line_number":295,"context_line":"    def test_auth_basic(self, mock_sushy):"},{"line_number":296,"context_line":"        self.node.driver_info[\u0027redfish_auth_type\u0027] \u003d \u0027basic\u0027"},{"line_number":297,"context_line":"        redfish_utils.get_system(self.node)"},{"line_number":298,"context_line":"        sushy.auth.BasicAuth.assert_called_with("},{"line_number":299,"context_line":"            username\u003dself.parsed_driver_info[\u0027username\u0027],"},{"line_number":300,"context_line":"            password\u003dself.parsed_driver_info[\u0027password\u0027]"},{"line_number":301,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":23,"id":"3f79a3b5_9b37614d","line":298,"updated":"2018-11-20 17:18:46.000000000","message":"ditto","commit_id":"fbdf31cb4c7af145ccf79f70e9d9e50804a6d011"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"1565eeac44139db0652185d50dfc1c126c3239a8","unresolved":false,"context_lines":[{"line_number":295,"context_line":"    def test_auth_basic(self, mock_sushy):"},{"line_number":296,"context_line":"        self.node.driver_info[\u0027redfish_auth_type\u0027] \u003d \u0027basic\u0027"},{"line_number":297,"context_line":"        redfish_utils.get_system(self.node)"},{"line_number":298,"context_line":"        sushy.auth.BasicAuth.assert_called_with("},{"line_number":299,"context_line":"            username\u003dself.parsed_driver_info[\u0027username\u0027],"},{"line_number":300,"context_line":"            password\u003dself.parsed_driver_info[\u0027password\u0027]"},{"line_number":301,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":23,"id":"3f79a3b5_d0a1eb94","line":298,"in_reply_to":"3f79a3b5_9b37614d","updated":"2018-11-26 11:48:22.000000000","message":"Done","commit_id":"fbdf31cb4c7af145ccf79f70e9d9e50804a6d011"}],"lower-constraints.txt":[{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"0a6dbce999834825b14e2ec3ca8c54a8563df91a","unresolved":false,"context_lines":[{"line_number":144,"context_line":"statsd\u003d\u003d3.2.2"},{"line_number":145,"context_line":"stestr\u003d\u003d1.0.0"},{"line_number":146,"context_line":"stevedore\u003d\u003d1.20.0"},{"line_number":147,"context_line":"sushy\u003d\u003d1.3.0"},{"line_number":148,"context_line":"Tempita\u003d\u003d0.5.2"},{"line_number":149,"context_line":"tenacity\u003d\u003d4.9.0"},{"line_number":150,"context_line":"testrepository\u003d\u003d0.0.20"}],"source_content_type":"text/plain","patch_set":21,"id":"3f79a3b5_1325bfad","line":147,"range":{"start_line":147,"start_character":0,"end_line":147,"end_character":12},"updated":"2018-11-15 06:33:09.000000000","message":"Any reason for updating it here instead of driver-requirements.txt [1] ?\n[1] https://github.com/openstack/ironic/blob/master/driver-requirements.txt#L19","commit_id":"1b39b5751f69320965aaf1421b915fd16e441914"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"c37b5bdc3eac5ee3ade365a99440e7a37acbfd72","unresolved":false,"context_lines":[{"line_number":144,"context_line":"statsd\u003d\u003d3.2.2"},{"line_number":145,"context_line":"stestr\u003d\u003d1.0.0"},{"line_number":146,"context_line":"stevedore\u003d\u003d1.20.0"},{"line_number":147,"context_line":"sushy\u003d\u003d1.3.0"},{"line_number":148,"context_line":"Tempita\u003d\u003d0.5.2"},{"line_number":149,"context_line":"tenacity\u003d\u003d4.9.0"},{"line_number":150,"context_line":"testrepository\u003d\u003d0.0.20"}],"source_content_type":"text/plain","patch_set":21,"id":"3f79a3b5_f325a35f","line":147,"range":{"start_line":147,"start_character":0,"end_line":147,"end_character":12},"in_reply_to":"3f79a3b5_1325bfad","updated":"2018-11-15 07:20:59.000000000","message":"Ah, no! Thanks! ;)","commit_id":"1b39b5751f69320965aaf1421b915fd16e441914"}],"releasenotes/notes/add-redfish-auth-type-5fe78071b528e53b.yaml":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"15518494e05643e86ab416ff6e8431b493b197f4","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Adds ``driver_info/redfish_auth-type`` option for Redfish HTTP"},{"line_number":5,"context_line":"    client to chose one of the following authentication methods:"},{"line_number":6,"context_line":"    ``basic``, ``session`` and ``auto``. The latter first tries ``session``"},{"line_number":7,"context_line":"    and falls back to ``basic`` if session authentication is not supported"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"3f79a3b5_21632c1c","line":4,"updated":"2018-09-19 16:34:06.000000000","message":"redfish_auth_type","commit_id":"cc531f14d9a21eddb5b036df4d8094cbde30bc5b"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"15518494e05643e86ab416ff6e8431b493b197f4","unresolved":false,"context_lines":[{"line_number":9,"context_line":"fixes:"},{"line_number":10,"context_line":"  - |"},{"line_number":11,"context_line":"    Changing default Redfish authentication method to HTTP basic"},{"line_number":12,"context_line":"    authentication fixes server sessions exaustion problem that sometimes"},{"line_number":13,"context_line":"    occurs. The real cause of this is that ironic does not terminate web"},{"line_number":14,"context_line":"    sessions with Redfish BMC so switching to HTTP basic auth indirectly"},{"line_number":15,"context_line":"    fixes session exaustion problem."}],"source_content_type":"text/x-yaml","patch_set":1,"id":"3f79a3b5_4166682b","line":12,"updated":"2018-09-19 16:34:06.000000000","message":"\"exhaustion\". also I\u0027d prefer the fix would be opt-in, otherwise we get a regression when session should be used.","commit_id":"cc531f14d9a21eddb5b036df4d8094cbde30bc5b"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"15518494e05643e86ab416ff6e8431b493b197f4","unresolved":false,"context_lines":[{"line_number":12,"context_line":"    authentication fixes server sessions exaustion problem that sometimes"},{"line_number":13,"context_line":"    occurs. The real cause of this is that ironic does not terminate web"},{"line_number":14,"context_line":"    sessions with Redfish BMC so switching to HTTP basic auth indirectly"},{"line_number":15,"context_line":"    fixes session exaustion problem."}],"source_content_type":"text/x-yaml","patch_set":1,"id":"3f79a3b5_e168d4f4","line":15,"updated":"2018-09-19 16:34:06.000000000","message":"well, no, it does not *fix* the problem, a fix would be to terminate session properly","commit_id":"cc531f14d9a21eddb5b036df4d8094cbde30bc5b"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"ddf3b4ef487dabcb2c33387bada65c1fac60cf7f","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Adds ``driver_info/redfish_auth_type`` option for Redfish HTTP"},{"line_number":5,"context_line":"    client to chose one of the following authentication methods -"},{"line_number":6,"context_line":"    ``basic``, ``session`` and ``auto``. The latter first tries ``session``"},{"line_number":7,"context_line":"    and falls back to ``basic`` if session authentication is not supported"},{"line_number":8,"context_line":"    by the Redfish BMC. Default is ``auto``."}],"source_content_type":"text/x-yaml","patch_set":7,"id":"3f79a3b5_a52a6c2c","line":5,"range":{"start_line":4,"start_character":54,"end_line":5,"end_character":10},"updated":"2018-09-26 06:43:09.000000000","message":"s/ \"Redfish HTTP client\" / \"``redfish`` hardware type that would be used by Redfish HTTP client\"","commit_id":"4b75313177dcec2d1deb6ea7937f1359330c8578"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"a8388d3543281e30422bae7e0c03f0c2ec01f955","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Adds ``driver_info/redfish_auth_type`` option for Redfish HTTP"},{"line_number":5,"context_line":"    client to chose one of the following authentication methods -"},{"line_number":6,"context_line":"    ``basic``, ``session`` and ``auto``. The latter first tries ``session``"},{"line_number":7,"context_line":"    and falls back to ``basic`` if session authentication is not supported"},{"line_number":8,"context_line":"    by the Redfish BMC. Default is ``auto``."}],"source_content_type":"text/x-yaml","patch_set":7,"id":"3f79a3b5_d6139cb6","line":5,"range":{"start_line":4,"start_character":54,"end_line":5,"end_character":10},"in_reply_to":"3f79a3b5_a52a6c2c","updated":"2018-09-26 09:16:43.000000000","message":"Done","commit_id":"4b75313177dcec2d1deb6ea7937f1359330c8578"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"50a71d71e05aa9a5902790d70b5dad2a4b5147a6","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Adds ``driver_info/redfish_auth_type`` option for hardware type that"},{"line_number":5,"context_line":"    would be used by Redfish HTTP client to chose one of the following"},{"line_number":6,"context_line":"    authentication methods - ``basic``, ``session`` and ``auto``. The latter"},{"line_number":7,"context_line":"    first tries ``session`` and falls back to ``basic`` if session"}],"source_content_type":"text/x-yaml","patch_set":10,"id":"3f79a3b5_a651f632","line":4,"updated":"2018-09-27 09:54:28.000000000","message":"for ``redfish`` hardware type","commit_id":"750d7e9e2918ad51d33318963442c16a2394e64f"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"540b2c2e53324621f97127abaa4dda342cab370b","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Adds ``driver_info/redfish_auth_type`` option for hardware type that"},{"line_number":5,"context_line":"    would be used by Redfish HTTP client to chose one of the following"},{"line_number":6,"context_line":"    authentication methods - ``basic``, ``session`` and ``auto``. The latter"},{"line_number":7,"context_line":"    first tries ``session`` and falls back to ``basic`` if session"}],"source_content_type":"text/x-yaml","patch_set":10,"id":"3f79a3b5_76ff01ab","line":4,"in_reply_to":"3f79a3b5_a651f632","updated":"2018-09-27 16:46:56.000000000","message":"Done","commit_id":"750d7e9e2918ad51d33318963442c16a2394e64f"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"50a71d71e05aa9a5902790d70b5dad2a4b5147a6","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Adds ``driver_info/redfish_auth_type`` option for hardware type that"},{"line_number":5,"context_line":"    would be used by Redfish HTTP client to chose one of the following"},{"line_number":6,"context_line":"    authentication methods - ``basic``, ``session`` and ``auto``. The latter"},{"line_number":7,"context_line":"    first tries ``session`` and falls back to ``basic`` if session"},{"line_number":8,"context_line":"    authentication is not supported by the Redfish BMC. Default is set in"}],"source_content_type":"text/x-yaml","patch_set":10,"id":"3f79a3b5_462ee2ab","line":5,"updated":"2018-09-27 09:54:28.000000000","message":"s/would be used ... to chose/is used to choose/","commit_id":"750d7e9e2918ad51d33318963442c16a2394e64f"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"540b2c2e53324621f97127abaa4dda342cab370b","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Adds ``driver_info/redfish_auth_type`` option for hardware type that"},{"line_number":5,"context_line":"    would be used by Redfish HTTP client to chose one of the following"},{"line_number":6,"context_line":"    authentication methods - ``basic``, ``session`` and ``auto``. The latter"},{"line_number":7,"context_line":"    first tries ``session`` and falls back to ``basic`` if session"},{"line_number":8,"context_line":"    authentication is not supported by the Redfish BMC. Default is set in"}],"source_content_type":"text/x-yaml","patch_set":10,"id":"3f79a3b5_362bc933","line":5,"in_reply_to":"3f79a3b5_462ee2ab","updated":"2018-09-27 16:46:56.000000000","message":"Done","commit_id":"750d7e9e2918ad51d33318963442c16a2394e64f"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"50a71d71e05aa9a5902790d70b5dad2a4b5147a6","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Adds ``driver_info/redfish_auth_type`` option for hardware type that"},{"line_number":5,"context_line":"    would be used by Redfish HTTP client to chose one of the following"},{"line_number":6,"context_line":"    authentication methods - ``basic``, ``session`` and ``auto``. The latter"},{"line_number":7,"context_line":"    first tries ``session`` and falls back to ``basic`` if session"},{"line_number":8,"context_line":"    authentication is not supported by the Redfish BMC. Default is set in"},{"line_number":9,"context_line":"    ironic config which is defaulted to ``auto``."}],"source_content_type":"text/x-yaml","patch_set":10,"id":"3f79a3b5_66319e0a","line":6,"updated":"2018-09-27 09:54:28.000000000","message":"nit: - -\u003e :","commit_id":"750d7e9e2918ad51d33318963442c16a2394e64f"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"540b2c2e53324621f97127abaa4dda342cab370b","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Adds ``driver_info/redfish_auth_type`` option for hardware type that"},{"line_number":5,"context_line":"    would be used by Redfish HTTP client to chose one of the following"},{"line_number":6,"context_line":"    authentication methods - ``basic``, ``session`` and ``auto``. The latter"},{"line_number":7,"context_line":"    first tries ``session`` and falls back to ``basic`` if session"},{"line_number":8,"context_line":"    authentication is not supported by the Redfish BMC. Default is set in"},{"line_number":9,"context_line":"    ironic config which is defaulted to ``auto``."}],"source_content_type":"text/x-yaml","patch_set":10,"id":"3f79a3b5_d6193523","line":6,"in_reply_to":"3f79a3b5_66319e0a","updated":"2018-09-27 16:46:56.000000000","message":"Done","commit_id":"750d7e9e2918ad51d33318963442c16a2394e64f"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"50a71d71e05aa9a5902790d70b5dad2a4b5147a6","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    would be used by Redfish HTTP client to chose one of the following"},{"line_number":6,"context_line":"    authentication methods - ``basic``, ``session`` and ``auto``. The latter"},{"line_number":7,"context_line":"    first tries ``session`` and falls back to ``basic`` if session"},{"line_number":8,"context_line":"    authentication is not supported by the Redfish BMC. Default is set in"},{"line_number":9,"context_line":"    ironic config which is defaulted to ``auto``."},{"line_number":10,"context_line":"fixes:"},{"line_number":11,"context_line":"  - |"}],"source_content_type":"text/x-yaml","patch_set":10,"id":"3f79a3b5_0638eaeb","line":8,"updated":"2018-09-27 09:54:28.000000000","message":"nit: The default","commit_id":"750d7e9e2918ad51d33318963442c16a2394e64f"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"540b2c2e53324621f97127abaa4dda342cab370b","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    would be used by Redfish HTTP client to chose one of the following"},{"line_number":6,"context_line":"    authentication methods - ``basic``, ``session`` and ``auto``. The latter"},{"line_number":7,"context_line":"    first tries ``session`` and falls back to ``basic`` if session"},{"line_number":8,"context_line":"    authentication is not supported by the Redfish BMC. Default is set in"},{"line_number":9,"context_line":"    ironic config which is defaulted to ``auto``."},{"line_number":10,"context_line":"fixes:"},{"line_number":11,"context_line":"  - |"}],"source_content_type":"text/x-yaml","patch_set":10,"id":"3f79a3b5_16dd6d40","line":8,"in_reply_to":"3f79a3b5_0638eaeb","updated":"2018-09-27 16:46:56.000000000","message":"Done","commit_id":"750d7e9e2918ad51d33318963442c16a2394e64f"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"50a71d71e05aa9a5902790d70b5dad2a4b5147a6","unresolved":false,"context_lines":[{"line_number":7,"context_line":"    first tries ``session`` and falls back to ``basic`` if session"},{"line_number":8,"context_line":"    authentication is not supported by the Redfish BMC. Default is set in"},{"line_number":9,"context_line":"    ironic config which is defaulted to ``auto``."},{"line_number":10,"context_line":"fixes:"},{"line_number":11,"context_line":"  - |"},{"line_number":12,"context_line":"    Changing Redfish authentication method to ``basic`` may fix sessions"},{"line_number":13,"context_line":"    exaustion problem at Redfish BMC that might occur with some BMC"}],"source_content_type":"text/x-yaml","patch_set":10,"id":"3f79a3b5_263ba6ea","line":10,"updated":"2018-09-27 09:54:28.000000000","message":"maybe s/fixes/issues/ ?","commit_id":"750d7e9e2918ad51d33318963442c16a2394e64f"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"540b2c2e53324621f97127abaa4dda342cab370b","unresolved":false,"context_lines":[{"line_number":7,"context_line":"    first tries ``session`` and falls back to ``basic`` if session"},{"line_number":8,"context_line":"    authentication is not supported by the Redfish BMC. Default is set in"},{"line_number":9,"context_line":"    ironic config which is defaulted to ``auto``."},{"line_number":10,"context_line":"fixes:"},{"line_number":11,"context_line":"  - |"},{"line_number":12,"context_line":"    Changing Redfish authentication method to ``basic`` may fix sessions"},{"line_number":13,"context_line":"    exaustion problem at Redfish BMC that might occur with some BMC"}],"source_content_type":"text/x-yaml","patch_set":10,"id":"3f79a3b5_96c17d51","line":10,"in_reply_to":"3f79a3b5_263ba6ea","updated":"2018-09-27 16:46:56.000000000","message":"The whole `fixes` section removed","commit_id":"750d7e9e2918ad51d33318963442c16a2394e64f"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"50a71d71e05aa9a5902790d70b5dad2a4b5147a6","unresolved":false,"context_lines":[{"line_number":12,"context_line":"    Changing Redfish authentication method to ``basic`` may fix sessions"},{"line_number":13,"context_line":"    exaustion problem at Redfish BMC that might occur with some BMC"},{"line_number":14,"context_line":"    implementations. The root cause of this is that ironic does not"},{"line_number":15,"context_line":"    properly terminate web sessions with Redfish BMC yet, so that switching"},{"line_number":16,"context_line":"    to HTTP basic auth would fix session exaustion problem."}],"source_content_type":"text/x-yaml","patch_set":10,"id":"3f79a3b5_c62192b7","line":15,"updated":"2018-09-27 09:54:28.000000000","message":"This is no longer true","commit_id":"750d7e9e2918ad51d33318963442c16a2394e64f"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"540b2c2e53324621f97127abaa4dda342cab370b","unresolved":false,"context_lines":[{"line_number":12,"context_line":"    Changing Redfish authentication method to ``basic`` may fix sessions"},{"line_number":13,"context_line":"    exaustion problem at Redfish BMC that might occur with some BMC"},{"line_number":14,"context_line":"    implementations. The root cause of this is that ironic does not"},{"line_number":15,"context_line":"    properly terminate web sessions with Redfish BMC yet, so that switching"},{"line_number":16,"context_line":"    to HTTP basic auth would fix session exaustion problem."}],"source_content_type":"text/x-yaml","patch_set":10,"id":"3f79a3b5_36b989eb","line":15,"in_reply_to":"3f79a3b5_c62192b7","updated":"2018-09-27 16:46:56.000000000","message":"Done","commit_id":"750d7e9e2918ad51d33318963442c16a2394e64f"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"4e5fa8fb50a2291db0c5b5365b82235d0d46d8f7","unresolved":false,"context_lines":[{"line_number":6,"context_line":"    methods:: ``basic``, ``session`` and ``auto``. The latter first tries"},{"line_number":7,"context_line":"    ``session`` and falls back to ``basic`` if session authentication is not"},{"line_number":8,"context_line":"    supported by the Redfish BMC. The default is set in ironic config which"},{"line_number":9,"context_line":"    is defaulted to ``auto``."}],"source_content_type":"text/x-yaml","patch_set":15,"id":"3f79a3b5_29be4eaf","line":9,"updated":"2018-11-01 08:42:40.000000000","message":"The configuration option is not listed here, and I think it\u0027s better to describe in a reverse order, e.g.: Adds a configuration option [redfish]auth_type blahblah.., choices are blahblah.., what does this mean, what does that mean.., it can be overwritten by driver_info blahblah...","commit_id":"3136a7719676eafc78fb1b7cc1da9a6a6cead935"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"cee9f0d20cdf27888a57e712372842e7fddf5c90","unresolved":false,"context_lines":[{"line_number":6,"context_line":"    methods:: ``basic``, ``session`` and ``auto``. The latter first tries"},{"line_number":7,"context_line":"    ``session`` and falls back to ``basic`` if session authentication is not"},{"line_number":8,"context_line":"    supported by the Redfish BMC. The default is set in ironic config which"},{"line_number":9,"context_line":"    is defaulted to ``auto``."}],"source_content_type":"text/x-yaml","patch_set":15,"id":"3f79a3b5_143fdb86","line":9,"in_reply_to":"3f79a3b5_29be4eaf","updated":"2018-11-01 18:01:46.000000000","message":"Rephrased","commit_id":"3136a7719676eafc78fb1b7cc1da9a6a6cead935"},{"author":{"_account_id":29209,"name":"Dhanuka Warusadura","email":"csx@tuta.io","username":"dnuka"},"change_message_id":"b6419b6b7d1192712041b5b64803fb8586063916","unresolved":false,"context_lines":[{"line_number":6,"context_line":"    authentication methods:: ``basic``, ``session`` and ``auto``."},{"line_number":7,"context_line":"    The ``auto`` setting first tries ``session`` method and falls back to"},{"line_number":8,"context_line":"    ``basic`` if session authentication is not supported by the Redfish BMC."},{"line_number":9,"context_line":"    The default is ``auto``. This configuration option can be overriden on"},{"line_number":10,"context_line":"    a per-node basis by the ``driver_info/redfish_auth_type`` option."}],"source_content_type":"text/x-yaml","patch_set":24,"id":"3f79a3b5_b2ec5e27","line":9,"range":{"start_line":9,"start_character":62,"end_line":9,"end_character":71},"updated":"2018-11-27 09:36:31.000000000","message":"overridden","commit_id":"6c795e69b8a864a12e077c107c76a56d38f12dfd"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"9eb9cf2539f4e616e145a7ba97f6c18e5cda3103","unresolved":false,"context_lines":[{"line_number":6,"context_line":"    authentication methods:: ``basic``, ``session`` and ``auto``."},{"line_number":7,"context_line":"    The ``auto`` setting first tries ``session`` method and falls back to"},{"line_number":8,"context_line":"    ``basic`` if session authentication is not supported by the Redfish BMC."},{"line_number":9,"context_line":"    The default is ``auto``. This configuration option can be overriden on"},{"line_number":10,"context_line":"    a per-node basis by the ``driver_info/redfish_auth_type`` option."}],"source_content_type":"text/x-yaml","patch_set":24,"id":"3f79a3b5_f2d0962c","line":9,"range":{"start_line":9,"start_character":62,"end_line":9,"end_character":71},"in_reply_to":"3f79a3b5_b2ec5e27","updated":"2018-11-27 09:40:17.000000000","message":"Thanks!","commit_id":"6c795e69b8a864a12e077c107c76a56d38f12dfd"}]}
