)]}'
{"releasenotes/notes/add-odata-version-header-96dc8179c0e2e9bd.yaml":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"a60d4413c54b68b0d3140a1aa549dd8a51a31df6","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":"    Improve interoperability by including the recommended OData-Version"},{"line_number":5,"context_line":"    header in outgoing Redfish requests."}],"source_content_type":"text/x-yaml","patch_set":1,"id":"9fb8cfa7_80d03e21","line":2,"updated":"2019-06-07 11:49:20.000000000","message":"\"fixes\"?","commit_id":"c7e3ed73e7add21fe45f62540306af73cb8d6049"},{"author":{"_account_id":28128,"name":"Bill Dodd","email":"billdodd@gmail.com","username":"billdodd"},"change_message_id":"94fff356098fc850ce4aeccb8c3b7466540067ad","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":"    Improve interoperability by including the recommended OData-Version"},{"line_number":5,"context_line":"    header in outgoing Redfish requests."}],"source_content_type":"text/x-yaml","patch_set":1,"id":"9fb8cfa7_0b9f825f","line":2,"in_reply_to":"9fb8cfa7_80d03e21","updated":"2019-06-07 23:51:13.000000000","message":"I\u0027m fine with fixes. I was on the fence about it. Will fix in patch set 2.","commit_id":"c7e3ed73e7add21fe45f62540306af73cb8d6049"}],"sushy/connector.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"a60d4413c54b68b0d3140a1aa549dd8a51a31df6","unresolved":false,"context_lines":[{"line_number":71,"context_line":"        :raises: HTTPError"},{"line_number":72,"context_line":"        \"\"\""},{"line_number":73,"context_line":"        url \u003d parse.urljoin(self._url, path)"},{"line_number":74,"context_line":"        if path \u003d\u003d \u0027/redfish/v1\u0027 or path.startswith(\u0027/redfish/v1/\u0027):"},{"line_number":75,"context_line":"            if headers:"},{"line_number":76,"context_line":"                header_keys \u003d [k.lower() for k in headers.keys()]"},{"line_number":77,"context_line":"                if \u0027odata-version\u0027 not in header_keys:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fb8cfa7_a0cb0270","line":74,"updated":"2019-06-07 11:49:20.000000000","message":"Why do we need this check? Also, what if the starting path is different (e.g. \"/my-redfish/v1\")?","commit_id":"c7e3ed73e7add21fe45f62540306af73cb8d6049"},{"author":{"_account_id":28128,"name":"Bill Dodd","email":"billdodd@gmail.com","username":"billdodd"},"change_message_id":"03561d4bc9e21a111b5f70232d57ec9f0829d786","unresolved":false,"context_lines":[{"line_number":71,"context_line":"        :raises: HTTPError"},{"line_number":72,"context_line":"        \"\"\""},{"line_number":73,"context_line":"        url \u003d parse.urljoin(self._url, path)"},{"line_number":74,"context_line":"        if path \u003d\u003d \u0027/redfish/v1\u0027 or path.startswith(\u0027/redfish/v1/\u0027):"},{"line_number":75,"context_line":"            if headers:"},{"line_number":76,"context_line":"                header_keys \u003d [k.lower() for k in headers.keys()]"},{"line_number":77,"context_line":"                if \u0027odata-version\u0027 not in header_keys:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fb8cfa7_72e29ca2","line":74,"in_reply_to":"9fb8cfa7_0b78e227","updated":"2019-06-10 16:30:47.000000000","message":"I double-checked the spec and pinged Mike Raineri. For the \"opaque\" URLs that I was thinking of, the OData-Version header should still be included as they are included within the umbrella Redfish protocol.\n\nI\u0027ll remove this check in patch set 2.","commit_id":"c7e3ed73e7add21fe45f62540306af73cb8d6049"},{"author":{"_account_id":28128,"name":"Bill Dodd","email":"billdodd@gmail.com","username":"billdodd"},"change_message_id":"94fff356098fc850ce4aeccb8c3b7466540067ad","unresolved":false,"context_lines":[{"line_number":71,"context_line":"        :raises: HTTPError"},{"line_number":72,"context_line":"        \"\"\""},{"line_number":73,"context_line":"        url \u003d parse.urljoin(self._url, path)"},{"line_number":74,"context_line":"        if path \u003d\u003d \u0027/redfish/v1\u0027 or path.startswith(\u0027/redfish/v1/\u0027):"},{"line_number":75,"context_line":"            if headers:"},{"line_number":76,"context_line":"                header_keys \u003d [k.lower() for k in headers.keys()]"},{"line_number":77,"context_line":"                if \u0027odata-version\u0027 not in header_keys:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fb8cfa7_0b78e227","line":74,"in_reply_to":"9fb8cfa7_a0cb0270","updated":"2019-06-07 23:51:13.000000000","message":"It was thinking that there were a few URIs you could encounter in normal Redfish processing that were out-of-service from a Redfish perspective. But I\u0027ll double-check with Raineri on Monday.","commit_id":"c7e3ed73e7add21fe45f62540306af73cb8d6049"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"a60d4413c54b68b0d3140a1aa549dd8a51a31df6","unresolved":false,"context_lines":[{"line_number":72,"context_line":"        \"\"\""},{"line_number":73,"context_line":"        url \u003d parse.urljoin(self._url, path)"},{"line_number":74,"context_line":"        if path \u003d\u003d \u0027/redfish/v1\u0027 or path.startswith(\u0027/redfish/v1/\u0027):"},{"line_number":75,"context_line":"            if headers:"},{"line_number":76,"context_line":"                header_keys \u003d [k.lower() for k in headers.keys()]"},{"line_number":77,"context_line":"                if \u0027odata-version\u0027 not in header_keys:"},{"line_number":78,"context_line":"                    headers[\u0027OData-Version\u0027] \u003d \u00274.0\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fb8cfa7_40ca466d","line":75,"updated":"2019-06-07 11:49:20.000000000","message":"you could do\n\n headers \u003d headers or {}\n\nhere and avoid branching","commit_id":"c7e3ed73e7add21fe45f62540306af73cb8d6049"},{"author":{"_account_id":28128,"name":"Bill Dodd","email":"billdodd@gmail.com","username":"billdodd"},"change_message_id":"94fff356098fc850ce4aeccb8c3b7466540067ad","unresolved":false,"context_lines":[{"line_number":72,"context_line":"        \"\"\""},{"line_number":73,"context_line":"        url \u003d parse.urljoin(self._url, path)"},{"line_number":74,"context_line":"        if path \u003d\u003d \u0027/redfish/v1\u0027 or path.startswith(\u0027/redfish/v1/\u0027):"},{"line_number":75,"context_line":"            if headers:"},{"line_number":76,"context_line":"                header_keys \u003d [k.lower() for k in headers.keys()]"},{"line_number":77,"context_line":"                if \u0027odata-version\u0027 not in header_keys:"},{"line_number":78,"context_line":"                    headers[\u0027OData-Version\u0027] \u003d \u00274.0\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fb8cfa7_cb8f2a21","line":75,"in_reply_to":"9fb8cfa7_40ca466d","updated":"2019-06-07 23:51:13.000000000","message":"Good suggestion. Much cleaner. Will be in patch set 2.","commit_id":"c7e3ed73e7add21fe45f62540306af73cb8d6049"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"a60d4413c54b68b0d3140a1aa549dd8a51a31df6","unresolved":false,"context_lines":[{"line_number":73,"context_line":"        url \u003d parse.urljoin(self._url, path)"},{"line_number":74,"context_line":"        if path \u003d\u003d \u0027/redfish/v1\u0027 or path.startswith(\u0027/redfish/v1/\u0027):"},{"line_number":75,"context_line":"            if headers:"},{"line_number":76,"context_line":"                header_keys \u003d [k.lower() for k in headers.keys()]"},{"line_number":77,"context_line":"                if \u0027odata-version\u0027 not in header_keys:"},{"line_number":78,"context_line":"                    headers[\u0027OData-Version\u0027] \u003d \u00274.0\u0027"},{"line_number":79,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fb8cfa7_60c50a5b","line":76,"updated":"2019-06-07 11:49:20.000000000","message":"nit: .keys() redundant, also\n\n if not any(k.lower() \u003d\u003d \u0027odata-version\u0027 for k in headers):","commit_id":"c7e3ed73e7add21fe45f62540306af73cb8d6049"},{"author":{"_account_id":28128,"name":"Bill Dodd","email":"billdodd@gmail.com","username":"billdodd"},"change_message_id":"94fff356098fc850ce4aeccb8c3b7466540067ad","unresolved":false,"context_lines":[{"line_number":73,"context_line":"        url \u003d parse.urljoin(self._url, path)"},{"line_number":74,"context_line":"        if path \u003d\u003d \u0027/redfish/v1\u0027 or path.startswith(\u0027/redfish/v1/\u0027):"},{"line_number":75,"context_line":"            if headers:"},{"line_number":76,"context_line":"                header_keys \u003d [k.lower() for k in headers.keys()]"},{"line_number":77,"context_line":"                if \u0027odata-version\u0027 not in header_keys:"},{"line_number":78,"context_line":"                    headers[\u0027OData-Version\u0027] \u003d \u00274.0\u0027"},{"line_number":79,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fb8cfa7_eb922e4b","line":76,"in_reply_to":"9fb8cfa7_60c50a5b","updated":"2019-06-07 23:51:13.000000000","message":"Ditto","commit_id":"c7e3ed73e7add21fe45f62540306af73cb8d6049"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"8499a13940b72c852964d02a0e6f262d59f536d0","unresolved":false,"context_lines":[{"line_number":73,"context_line":"        url \u003d parse.urljoin(self._url, path)"},{"line_number":74,"context_line":"        headers \u003d headers or {}"},{"line_number":75,"context_line":"        if not any(k.lower() \u003d\u003d \u0027odata-version\u0027 for k in headers):"},{"line_number":76,"context_line":"            headers[\u0027OData-Version\u0027] \u003d \u00274.0\u0027"},{"line_number":77,"context_line":"        # TODO(lucasagomes): We should mask the data to remove sensitive"},{"line_number":78,"context_line":"        # information"},{"line_number":79,"context_line":"        LOG.debug(\u0027HTTP request: %(method)s %(url)s; headers: %(headers)s; \u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_11177947","line":76,"range":{"start_line":76,"start_character":39,"end_line":76,"end_character":44},"updated":"2019-06-12 06:53:53.000000000","message":"This looks like the current version. Is this the minimum version supported by Redfish?","commit_id":"f6a167c612f806473c6459c849aed8946f2a177f"},{"author":{"_account_id":28128,"name":"Bill Dodd","email":"billdodd@gmail.com","username":"billdodd"},"change_message_id":"54b271aebb2da8daa1c10ed9100719b84a120a81","unresolved":false,"context_lines":[{"line_number":73,"context_line":"        url \u003d parse.urljoin(self._url, path)"},{"line_number":74,"context_line":"        headers \u003d headers or {}"},{"line_number":75,"context_line":"        if not any(k.lower() \u003d\u003d \u0027odata-version\u0027 for k in headers):"},{"line_number":76,"context_line":"            headers[\u0027OData-Version\u0027] \u003d \u00274.0\u0027"},{"line_number":77,"context_line":"        # TODO(lucasagomes): We should mask the data to remove sensitive"},{"line_number":78,"context_line":"        # information"},{"line_number":79,"context_line":"        LOG.debug(\u0027HTTP request: %(method)s %(url)s; headers: %(headers)s; \u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_a2ddf8e0","line":76,"range":{"start_line":76,"start_character":39,"end_line":76,"end_character":44},"in_reply_to":"9fb8cfa7_11177947","updated":"2019-06-12 14:57:36.000000000","message":"To date, this is the one and only version supported by Redfish. That may change in the future. But I\u0027m not aware of any plans to do so at this time.","commit_id":"f6a167c612f806473c6459c849aed8946f2a177f"}],"sushy/tests/unit/test_connector.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"a60d4413c54b68b0d3140a1aa549dd8a51a31df6","unresolved":false,"context_lines":[{"line_number":192,"context_line":"            headers\u003dexp_headers, json\u003dNone)"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"    def test_odata_version_header_non_redfish(self):"},{"line_number":195,"context_line":"        for path in [\u0027/rest/v1/foo\u0027, \u0027/redfish/v10\u0027, \u0027/redfish/v10/bar\u0027]:"},{"line_number":196,"context_line":"            headers \u003d dict(self.headers)"},{"line_number":197,"context_line":"            exp_headers \u003d dict(self.headers)"},{"line_number":198,"context_line":"            self.request.reset_mock()"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fb8cfa7_e0b9fae8","line":195,"updated":"2019-06-07 11:49:20.000000000","message":"I don\u0027t think we should provide any special treatment for these. Our library is not designed for accessing random non-redfish endpoint.","commit_id":"c7e3ed73e7add21fe45f62540306af73cb8d6049"},{"author":{"_account_id":28128,"name":"Bill Dodd","email":"billdodd@gmail.com","username":"billdodd"},"change_message_id":"03561d4bc9e21a111b5f70232d57ec9f0829d786","unresolved":false,"context_lines":[{"line_number":192,"context_line":"            headers\u003dexp_headers, json\u003dNone)"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"    def test_odata_version_header_non_redfish(self):"},{"line_number":195,"context_line":"        for path in [\u0027/rest/v1/foo\u0027, \u0027/redfish/v10\u0027, \u0027/redfish/v10/bar\u0027]:"},{"line_number":196,"context_line":"            headers \u003d dict(self.headers)"},{"line_number":197,"context_line":"            exp_headers \u003d dict(self.headers)"},{"line_number":198,"context_line":"            self.request.reset_mock()"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fb8cfa7_32c0a4e1","line":195,"in_reply_to":"9fb8cfa7_e0b9fae8","updated":"2019-06-10 16:30:47.000000000","message":"After double-checking, I agree. Will remove this test in patch set 2.","commit_id":"c7e3ed73e7add21fe45f62540306af73cb8d6049"}]}
