)]}'
{"ironic_python_agent/extensions/standby.py":[{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"01ae7a62104db15f0f587a8764ebc54de2cfd13f","unresolved":false,"context_lines":[{"line_number":273,"context_line":"            self._expected_hash_value \u003d image_info[\u0027checksum\u0027]"},{"line_number":274,"context_line":"        else:"},{"line_number":275,"context_line":"            message \u003d (\u0027Unable to verify image {} with available checksums. \u0027"},{"line_number":276,"context_line":"                       \u0027Please make sure \\\u0027os_hash_algo\\\u0027 is supported by \u0027"},{"line_number":277,"context_line":"                       \u0027this ramdisk, or provide a md5 checksum via the \u0027"},{"line_number":278,"context_line":"                       \u0027\\\u0027checksum\\\u0027 field\u0027.format(image_info[\u0027id\u0027]))"},{"line_number":279,"context_line":"            LOG.error(message)"}],"source_content_type":"text/x-python","patch_set":2,"id":"bfb3d3c7_d18a61bd","line":276,"range":{"start_line":276,"start_character":40,"end_line":276,"end_character":57},"updated":"2019-05-27 04:51:56.000000000","message":"Better to mention the value of \u0027os_hash_algo\u0027 being requested by image here.","commit_id":"67d98fadc9e7ce8dac1ca5137308f612140e21c5"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"5bf547cf8db6bfb41a5a4f0f7734c1849521372b","unresolved":false,"context_lines":[{"line_number":273,"context_line":"            self._expected_hash_value \u003d image_info[\u0027checksum\u0027]"},{"line_number":274,"context_line":"        else:"},{"line_number":275,"context_line":"            message \u003d (\u0027Unable to verify image {} with available checksums. \u0027"},{"line_number":276,"context_line":"                       \u0027Please make sure \\\u0027os_hash_algo\\\u0027 is supported by \u0027"},{"line_number":277,"context_line":"                       \u0027this ramdisk, or provide a md5 checksum via the \u0027"},{"line_number":278,"context_line":"                       \u0027\\\u0027checksum\\\u0027 field\u0027.format(image_info[\u0027id\u0027]))"},{"line_number":279,"context_line":"            LOG.error(message)"}],"source_content_type":"text/x-python","patch_set":2,"id":"bfb3d3c7_54165faa","line":276,"range":{"start_line":276,"start_character":40,"end_line":276,"end_character":57},"in_reply_to":"bfb3d3c7_d18a61bd","updated":"2019-05-27 06:00:41.000000000","message":"Good idea, added","commit_id":"67d98fadc9e7ce8dac1ca5137308f612140e21c5"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"205508932f62a950b6c0d66f44539c3b31ffce20","unresolved":false,"context_lines":[{"line_number":277,"context_line":"                       \u0027(currently {}) is supported by this ramdisk, or \u0027"},{"line_number":278,"context_line":"                       \u0027provide a md5 checksum via the \\\u0027checksum\\\u0027 \u0027"},{"line_number":279,"context_line":"                       \u0027field\u0027.format(image_info[\u0027id\u0027],"},{"line_number":280,"context_line":"                                      image_info[\u0027os_hash_algo\u0027]))"},{"line_number":281,"context_line":"            LOG.error(message)"},{"line_number":282,"context_line":"            raise errors.RESTError(details\u003dmessage)"},{"line_number":283,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"bfb3d3c7_e568ffb9","line":280,"updated":"2019-05-27 08:51:35.000000000","message":"nit: use get here similarly to line 270?","commit_id":"2e2751016aa95cc4cdb7a9d90642ee1c23da5577"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"145374652077683577d0fdea2c3fbacab0996838","unresolved":false,"context_lines":[{"line_number":277,"context_line":"                       \u0027(currently {}) is supported by this ramdisk, or \u0027"},{"line_number":278,"context_line":"                       \u0027provide a md5 checksum via the \\\u0027checksum\\\u0027 \u0027"},{"line_number":279,"context_line":"                       \u0027field\u0027.format(image_info[\u0027id\u0027],"},{"line_number":280,"context_line":"                                      image_info[\u0027os_hash_algo\u0027]))"},{"line_number":281,"context_line":"            LOG.error(message)"},{"line_number":282,"context_line":"            raise errors.RESTError(details\u003dmessage)"},{"line_number":283,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"bfb3d3c7_65f72f61","line":280,"in_reply_to":"bfb3d3c7_e568ffb9","updated":"2019-05-27 09:47:02.000000000","message":"validate_image_info guarantees that at least one of os_hash_algo and md5 is available, if we are running into L275, os_hash_algo should be existing, I can change to get() though.","commit_id":"2e2751016aa95cc4cdb7a9d90642ee1c23da5577"}],"ironic_python_agent/tests/unit/extensions/test_standby.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"205508932f62a950b6c0d66f44539c3b31ffce20","unresolved":false,"context_lines":[{"line_number":433,"context_line":"                                                       hashlib_mock):"},{"line_number":434,"context_line":"        image_info \u003d _build_fake_image_info()"},{"line_number":435,"context_line":"        image_info[\u0027os_hash_algo\u0027] \u003d \u0027sha512\u0027"},{"line_number":436,"context_line":"        image_info[\u0027os_hash_value\u0027] \u003d \u0027fake-sha512-value\u0027"},{"line_number":437,"context_line":"        response \u003d requests_mock.return_value"},{"line_number":438,"context_line":"        response.status_code \u003d 200"},{"line_number":439,"context_line":"        hexdigest_mock \u003d hashlib_mock.return_value.hexdigest"}],"source_content_type":"text/x-python","patch_set":3,"id":"bfb3d3c7_257377b3","line":436,"updated":"2019-05-27 08:51:35.000000000","message":"let\u0027s remove \u0027checksum\u0027 from image_info to test it\u0027s no longer required?","commit_id":"2e2751016aa95cc4cdb7a9d90642ee1c23da5577"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"145374652077683577d0fdea2c3fbacab0996838","unresolved":false,"context_lines":[{"line_number":433,"context_line":"                                                       hashlib_mock):"},{"line_number":434,"context_line":"        image_info \u003d _build_fake_image_info()"},{"line_number":435,"context_line":"        image_info[\u0027os_hash_algo\u0027] \u003d \u0027sha512\u0027"},{"line_number":436,"context_line":"        image_info[\u0027os_hash_value\u0027] \u003d \u0027fake-sha512-value\u0027"},{"line_number":437,"context_line":"        response \u003d requests_mock.return_value"},{"line_number":438,"context_line":"        response.status_code \u003d 200"},{"line_number":439,"context_line":"        hexdigest_mock \u003d hashlib_mock.return_value.hexdigest"}],"source_content_type":"text/x-python","patch_set":3,"id":"bfb3d3c7_25edb78a","line":436,"in_reply_to":"bfb3d3c7_257377b3","updated":"2019-05-27 09:47:02.000000000","message":"will do","commit_id":"2e2751016aa95cc4cdb7a9d90642ee1c23da5577"}],"releasenotes/notes/relax-checksum-feeding-11044ae02b411a07.yaml":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"205508932f62a950b6c0d66f44539c3b31ffce20","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":"    Relaxes checksum fields validation, the ``checksum`` field is now"},{"line_number":5,"context_line":"    optional. The ``os_hash_algo`` and ``os_hash_value`` fields must"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"bfb3d3c7_c56b7bb4","line":2,"updated":"2019-05-27 08:51:35.000000000","message":"I think it\u0027s a bugfix and should be backported.","commit_id":"2e2751016aa95cc4cdb7a9d90642ee1c23da5577"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"c6423c1ec45c7a67046d241cdec9d9b7d313a158","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":"    Relaxes checksum fields validation, the ``checksum`` field is now"},{"line_number":5,"context_line":"    optional. The ``os_hash_algo`` and ``os_hash_value`` fields must"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"bfb3d3c7_a33d1890","line":2,"in_reply_to":"bfb3d3c7_409d39ba","updated":"2019-05-28 01:46:07.000000000","message":"Yeah, either way works. changed to bug in case you want to backport.","commit_id":"2e2751016aa95cc4cdb7a9d90642ee1c23da5577"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"b5058a9a3e4e2e3555408be1124ceda39cfaa9dc","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":"    Relaxes checksum fields validation, the ``checksum`` field is now"},{"line_number":5,"context_line":"    optional. The ``os_hash_algo`` and ``os_hash_value`` fields must"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"bfb3d3c7_409d39ba","line":2,"in_reply_to":"bfb3d3c7_45654b1d","updated":"2019-05-27 10:06:38.000000000","message":"It seems that checksum should not be required since introduction of os_hash_algo, right? Requiring something we don\u0027t strictly need sounds like a bug to me.","commit_id":"2e2751016aa95cc4cdb7a9d90642ee1c23da5577"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"145374652077683577d0fdea2c3fbacab0996838","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":"    Relaxes checksum fields validation, the ``checksum`` field is now"},{"line_number":5,"context_line":"    optional. The ``os_hash_algo`` and ``os_hash_value`` fields must"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"bfb3d3c7_45654b1d","line":2,"in_reply_to":"bfb3d3c7_c56b7bb4","updated":"2019-05-27 09:47:02.000000000","message":"Well, that depends on the way you think about it.\nIn glance, the os_hash_algo is a new field to provide enhanced checksum support, while still keep md5 checksum for backwards compatibility, from this perspective I am seeing this as a feature enhancement.\nThis change wouldn\u0027t be needed if there is no ironic standalone, cause glance will always provides two checksums.","commit_id":"2e2751016aa95cc4cdb7a9d90642ee1c23da5577"}]}
