)]}'
{"tripleo_common/actions/baremetal_deploy.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"4f53e88dec6e8f5f10548d23b033638511878aff","unresolved":false,"context_lines":[{"line_number":58,"context_line":"_PROVISION_SCHEMA \u003d {"},{"line_number":59,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":60,"context_line":"    \u0027properties\u0027: {"},{"line_number":61,"context_line":"        \u0027hostname\u0027: {"},{"line_number":62,"context_line":"            \u0027type\u0027: \u0027string\u0027,"},{"line_number":63,"context_line":"            \u0027minLength\u0027: 2,"},{"line_number":64,"context_line":"            \u0027maxLength\u0027: 255"},{"line_number":65,"context_line":"        },"},{"line_number":66,"context_line":"        \u0027image\u0027: _IMAGE_SCHEMA,"},{"line_number":67,"context_line":"        \u0027nics\u0027: {"},{"line_number":68,"context_line":"            \u0027type\u0027: \u0027array\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"7faddb67_c8344bfe","line":65,"range":{"start_line":61,"start_character":0,"end_line":65,"end_character":10},"updated":"2019-07-09 07:54:46.000000000","message":"With metalsmith 0.12 hostname is also a reservation property and should be moved there.","commit_id":"c08c40f6336535a1e9d536b67ccf5a5b7cf5b81d"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"ba10a0e0ad72e87b4da2bc47d53375dbd7d2a510","unresolved":false,"context_lines":[{"line_number":35,"context_line":"_IMAGE_SCHEMA \u003d {"},{"line_number":36,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":37,"context_line":"    \u0027properties\u0027: {"},{"line_number":38,"context_line":"        \u0027image\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":39,"context_line":"        \u0027checksum\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":40,"context_line":"        \u0027kernel\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":41,"context_line":"        \u0027ramdisk\u0027: {\u0027type\u0027: \u0027string\u0027},"}],"source_content_type":"text/x-python","patch_set":7,"id":"7faddb67_1b689e85","line":38,"range":{"start_line":38,"start_character":9,"end_line":38,"end_character":14},"updated":"2019-08-08 08:42:04.000000000","message":"\"image\" inside \"image\" is a bit unfortunate. \"name\"? \"href\"? \"id\"?","commit_id":"2c52946a2b5c033bcb0feeeb83956a86049171bb"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"ba10a0e0ad72e87b4da2bc47d53375dbd7d2a510","unresolved":false,"context_lines":[{"line_number":39,"context_line":"        \u0027checksum\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":40,"context_line":"        \u0027kernel\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":41,"context_line":"        \u0027ramdisk\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":42,"context_line":"    },"},{"line_number":43,"context_line":"    \u0027additionalProperties\u0027: False,"},{"line_number":44,"context_line":"}"},{"line_number":45,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"7faddb67_5b1cd612","line":42,"updated":"2019-08-08 08:42:04.000000000","message":"\"required\": [\"image\"]","commit_id":"2c52946a2b5c033bcb0feeeb83956a86049171bb"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"ba10a0e0ad72e87b4da2bc47d53375dbd7d2a510","unresolved":false,"context_lines":[{"line_number":50,"context_line":"        \u0027port\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":51,"context_line":"        \u0027fixed_ip\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":52,"context_line":"        \u0027subnet\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":53,"context_line":"    },"},{"line_number":54,"context_line":"    \u0027additionalProperties\u0027: False"},{"line_number":55,"context_line":"}"},{"line_number":56,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"7faddb67_dbd5261d","line":53,"updated":"2019-08-08 08:42:04.000000000","message":"nit: can we somehow express that at least one properties is required?","commit_id":"2c52946a2b5c033bcb0feeeb83956a86049171bb"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"ba10a0e0ad72e87b4da2bc47d53375dbd7d2a510","unresolved":false,"context_lines":[{"line_number":97,"context_line":"            \u0027name\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":98,"context_line":"            \u0027hostname_format\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":99,"context_line":"            \u0027count\u0027: {\u0027type\u0027: \u0027integer\u0027, \u0027minimum\u0027: 0},"},{"line_number":100,"context_line":"            \u0027instance_defaults\u0027: _INSTANCE_SCHEMA,"},{"line_number":101,"context_line":"            \u0027instances\u0027: _INSTANCES_SCHEMA,"},{"line_number":102,"context_line":"        },"},{"line_number":103,"context_line":"        \u0027additionalProperties\u0027: False,"}],"source_content_type":"text/x-python","patch_set":7,"id":"7faddb67_3bf6bada","line":100,"range":{"start_line":100,"start_character":13,"end_line":100,"end_character":30},"updated":"2019-08-08 08:42:04.000000000","message":"maybe just \"defaults\"?","commit_id":"2c52946a2b5c033bcb0feeeb83956a86049171bb"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"ba10a0e0ad72e87b4da2bc47d53375dbd7d2a510","unresolved":false,"context_lines":[{"line_number":523,"context_line":""},{"line_number":524,"context_line":""},{"line_number":525,"context_line":"def _get_source(instance):"},{"line_number":526,"context_line":"    image \u003d instance.get(\u0027image\u0027)"},{"line_number":527,"context_line":"    return sources.detect(image\u003dimage.get(\u0027image\u0027),"},{"line_number":528,"context_line":"                          kernel\u003dimage.get(\u0027kernel\u0027),"},{"line_number":529,"context_line":"                          ramdisk\u003dimage.get(\u0027ramdisk\u0027),"}],"source_content_type":"text/x-python","patch_set":7,"id":"7faddb67_fbc6e268","line":526,"updated":"2019-08-08 08:42:04.000000000","message":"if you use `get` you assume it can be None? then you need `get(\u0027image\u0027, {})`.","commit_id":"2c52946a2b5c033bcb0feeeb83956a86049171bb"}]}
