)]}'
{"ironic/api/controllers/v1/deploy_template.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"a3eb4ae9a12ccf8b2eaf26f993f9a8036aebb906","unresolved":false,"context_lines":[{"line_number":41,"context_line":"DEFAULT_RETURN_FIELDS \u003d [\u0027uuid\u0027, \u0027name\u0027]"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"INTERFACE_NAMES \u003d list("},{"line_number":44,"context_line":"    conductor_steps.DEPLOYING_INTERFACE_PRIORITY.keys())"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"STEP_SCHEMA \u003d {"},{"line_number":47,"context_line":"    \u0027type\u0027: \u0027object\u0027,"}],"source_content_type":"text/x-python","patch_set":23,"id":"1f621f24_6d12d90b","line":44,"updated":"2020-11-18 08:09:28.000000000","message":"nit: .keys() not needed","commit_id":"284e22bc086ddaffbd4473b23b04a6165dca9c44"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"fa1fddb2f5be6efe38a90757805801046cad28a8","unresolved":false,"context_lines":[{"line_number":41,"context_line":"DEFAULT_RETURN_FIELDS \u003d [\u0027uuid\u0027, \u0027name\u0027]"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"INTERFACE_NAMES \u003d list("},{"line_number":44,"context_line":"    conductor_steps.DEPLOYING_INTERFACE_PRIORITY.keys())"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"STEP_SCHEMA \u003d {"},{"line_number":47,"context_line":"    \u0027type\u0027: \u0027object\u0027,"}],"source_content_type":"text/x-python","patch_set":23,"id":"fffc6b78_52a35450","line":44,"in_reply_to":"1f621f24_6d12d90b","updated":"2020-11-20 04:00:42.000000000","message":"Done","commit_id":"284e22bc086ddaffbd4473b23b04a6165dca9c44"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"a3eb4ae9a12ccf8b2eaf26f993f9a8036aebb906","unresolved":false,"context_lines":[{"line_number":143,"context_line":"    :type fields: list of str"},{"line_number":144,"context_line":"    \"\"\""},{"line_number":145,"context_line":"    api_utils.sanitize_dict(template, fields)"},{"line_number":146,"context_line":"    if template.get(\u0027steps\u0027):"},{"line_number":147,"context_line":"        for step in template[\u0027steps\u0027]:"},{"line_number":148,"context_line":"            step_sanitize(step)"},{"line_number":149,"context_line":""}],"source_content_type":"text/x-python","patch_set":23,"id":"1f621f24_cdf68dd9","line":146,"updated":"2020-11-18 08:09:28.000000000","message":"nit: steps cannot be None","commit_id":"284e22bc086ddaffbd4473b23b04a6165dca9c44"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"fa1fddb2f5be6efe38a90757805801046cad28a8","unresolved":false,"context_lines":[{"line_number":143,"context_line":"    :type fields: list of str"},{"line_number":144,"context_line":"    \"\"\""},{"line_number":145,"context_line":"    api_utils.sanitize_dict(template, fields)"},{"line_number":146,"context_line":"    if template.get(\u0027steps\u0027):"},{"line_number":147,"context_line":"        for step in template[\u0027steps\u0027]:"},{"line_number":148,"context_line":"            step_sanitize(step)"},{"line_number":149,"context_line":""}],"source_content_type":"text/x-python","patch_set":23,"id":"fffc6b78_92849cb3","line":146,"in_reply_to":"1f621f24_cdf68dd9","updated":"2020-11-20 04:00:42.000000000","message":"If you request custom fields which doesn\u0027t include steps then steps will be missing from the dict after the sanitize_dict call","commit_id":"284e22bc086ddaffbd4473b23b04a6165dca9c44"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"a3eb4ae9a12ccf8b2eaf26f993f9a8036aebb906","unresolved":false,"context_lines":[{"line_number":306,"context_line":"        template \u003d api_utils.apply_jsonpatch(template, patch)"},{"line_number":307,"context_line":""},{"line_number":308,"context_line":"        # validate the result with the patch schema"},{"line_number":309,"context_line":"        for step in template.get(\u0027steps\u0027, []):"},{"line_number":310,"context_line":"            api_utils.patched_validate_with_schema("},{"line_number":311,"context_line":"                step, STEP_SCHEMA)"},{"line_number":312,"context_line":"        api_utils.patched_validate_with_schema("}],"source_content_type":"text/x-python","patch_set":23,"id":"1f621f24_adf351e7","line":309,"updated":"2020-11-18 08:09:28.000000000","message":"nit: steps cannot be missing","commit_id":"284e22bc086ddaffbd4473b23b04a6165dca9c44"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"fa1fddb2f5be6efe38a90757805801046cad28a8","unresolved":false,"context_lines":[{"line_number":306,"context_line":"        template \u003d api_utils.apply_jsonpatch(template, patch)"},{"line_number":307,"context_line":""},{"line_number":308,"context_line":"        # validate the result with the patch schema"},{"line_number":309,"context_line":"        for step in template.get(\u0027steps\u0027, []):"},{"line_number":310,"context_line":"            api_utils.patched_validate_with_schema("},{"line_number":311,"context_line":"                step, STEP_SCHEMA)"},{"line_number":312,"context_line":"        api_utils.patched_validate_with_schema("}],"source_content_type":"text/x-python","patch_set":23,"id":"fffc6b78_72b77888","line":309,"in_reply_to":"1f621f24_adf351e7","updated":"2020-11-20 04:00:42.000000000","message":"It can when the patch call removes it entirely, and then the schema validate will fail on line 312 due to missing steps. We have a test for this","commit_id":"284e22bc086ddaffbd4473b23b04a6165dca9c44"}]}
