)]}'
{"api-ref/source/introspection-api-v1-introspection-management.inc":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"dd20225503987ac495be1fd955ad60209e25c282","unresolved":false,"context_lines":[{"line_number":75,"context_line":""},{"line_number":76,"context_line":".. rest_method::  POST /v1/introspection/{node_id}/data/unprocessed"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"This method triggers introspection on stored unprocessed data by inspector"},{"line_number":79,"context_line":"or specified via the request body. If the introspection data is provided in"},{"line_number":80,"context_line":"the request body, it should be a valid JSON string with content similar to"},{"line_number":81,"context_line":"ramdisk callback request."}],"source_content_type":"text/x-c++src","patch_set":4,"id":"3fce034c_ac7598fc","line":78,"updated":"2019-04-11 10:03:06.000000000","message":"\"by inspector\" seems out of place here. I\u0027d phrase it as \"introspection on either stored introspection data or raw introspection data provided in the request\".","commit_id":"fc33e3dda83854c2389c73f87000a8cd40a4a871"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"6abe0f22412c7a3cde9d2ea874cabc9d49b0d420","unresolved":false,"context_lines":[{"line_number":75,"context_line":""},{"line_number":76,"context_line":".. rest_method::  POST /v1/introspection/{node_id}/data/unprocessed"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"This method triggers introspection on stored unprocessed data by inspector"},{"line_number":79,"context_line":"or specified via the request body. If the introspection data is provided in"},{"line_number":80,"context_line":"the request body, it should be a valid JSON string with content similar to"},{"line_number":81,"context_line":"ramdisk callback request."}],"source_content_type":"text/x-c++src","patch_set":4,"id":"3fce034c_5eae082f","line":78,"in_reply_to":"3fce034c_ac7598fc","updated":"2019-04-12 02:37:31.000000000","message":"Done","commit_id":"fc33e3dda83854c2389c73f87000a8cd40a4a871"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"dd20225503987ac495be1fd955ad60209e25c282","unresolved":false,"context_lines":[{"line_number":77,"context_line":""},{"line_number":78,"context_line":"This method triggers introspection on stored unprocessed data by inspector"},{"line_number":79,"context_line":"or specified via the request body. If the introspection data is provided in"},{"line_number":80,"context_line":"the request body, it should be a valid JSON string with content similar to"},{"line_number":81,"context_line":"ramdisk callback request."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":".. versionadded:: 1.15"}],"source_content_type":"text/x-c++src","patch_set":4,"id":"3fce034c_cc726412","line":80,"updated":"2019-04-11 10:03:06.000000000","message":"\"JSON string\" may be ambiguous, maybe s/string// so that people don\u0027t try double JSON encoding?","commit_id":"fc33e3dda83854c2389c73f87000a8cd40a4a871"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"6abe0f22412c7a3cde9d2ea874cabc9d49b0d420","unresolved":false,"context_lines":[{"line_number":77,"context_line":""},{"line_number":78,"context_line":"This method triggers introspection on stored unprocessed data by inspector"},{"line_number":79,"context_line":"or specified via the request body. If the introspection data is provided in"},{"line_number":80,"context_line":"the request body, it should be a valid JSON string with content similar to"},{"line_number":81,"context_line":"ramdisk callback request."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":".. versionadded:: 1.15"}],"source_content_type":"text/x-c++src","patch_set":4,"id":"3fce034c_1ea8801d","line":80,"in_reply_to":"3fce034c_cc726412","updated":"2019-04-12 02:37:31.000000000","message":"Done","commit_id":"fc33e3dda83854c2389c73f87000a8cd40a4a871"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"dd20225503987ac495be1fd955ad60209e25c282","unresolved":false,"context_lines":[{"line_number":85,"context_line":""},{"line_number":86,"context_line":".. note::"},{"line_number":87,"context_line":"    To reapply introspection with stored unprocessed data, please make sure"},{"line_number":88,"context_line":"    introspection storage backend is enabled via ``[processing]store_data``."},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"Normal response codes: 202"},{"line_number":91,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":4,"id":"3fce034c_6c61f039","line":88,"updated":"2019-04-11 10:03:06.000000000","message":"Any API client cannot really \"make sure\".. Maybe phrase it as \"Reapplying introspection on stored data is only possible when a storage backend is enabled via...\"","commit_id":"fc33e3dda83854c2389c73f87000a8cd40a4a871"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"6abe0f22412c7a3cde9d2ea874cabc9d49b0d420","unresolved":false,"context_lines":[{"line_number":85,"context_line":""},{"line_number":86,"context_line":".. note::"},{"line_number":87,"context_line":"    To reapply introspection with stored unprocessed data, please make sure"},{"line_number":88,"context_line":"    introspection storage backend is enabled via ``[processing]store_data``."},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"Normal response codes: 202"},{"line_number":91,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":4,"id":"3fce034c_9e71d0e3","line":88,"in_reply_to":"3fce034c_6c61f039","updated":"2019-04-12 02:37:31.000000000","message":"Done","commit_id":"fc33e3dda83854c2389c73f87000a8cd40a4a871"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"27d3ae185a3e80e28a607f6322ba677e1021a8cd","unresolved":false,"context_lines":[{"line_number":76,"context_line":".. rest_method::  POST /v1/introspection/{node_id}/data/unprocessed"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"This method triggers introspection on either stored introspection data by"},{"line_number":79,"context_line":"inspector or raw introspection data provided in the request. If the"},{"line_number":80,"context_line":"introspection data is provided in the request body, it should be a valid"},{"line_number":81,"context_line":"JSON with content similar to ramdisk callback request."},{"line_number":82,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":5,"id":"3fce034c_2ac15381","line":79,"updated":"2019-04-15 10:10:27.000000000","message":"nit: I\u0027d still remove \"by inspector\", it\u0027s implied","commit_id":"85ed5186efe8e1b9abf85847d640e6983cdc01fc"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"907893a972125fa1ee0889a02b5a86a8f4b54fae","unresolved":false,"context_lines":[{"line_number":76,"context_line":".. rest_method::  POST /v1/introspection/{node_id}/data/unprocessed"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"This method triggers introspection on either stored introspection data by"},{"line_number":79,"context_line":"inspector or raw introspection data provided in the request. If the"},{"line_number":80,"context_line":"introspection data is provided in the request body, it should be a valid"},{"line_number":81,"context_line":"JSON with content similar to ramdisk callback request."},{"line_number":82,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":5,"id":"3fce034c_cb31aea4","line":79,"in_reply_to":"3fce034c_2ac15381","updated":"2019-04-15 15:05:51.000000000","message":"Agreed, probably I lost the thread when reorganizing words :(","commit_id":"85ed5186efe8e1b9abf85847d640e6983cdc01fc"}],"doc/source/user/http-api.rst":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"843bf0865209d4e60a92ab7ecbb4aa65e5ba1c37","unresolved":false,"context_lines":[{"line_number":398,"context_line":"* **1.13** adds ``manage_boot`` parameter for the introspection API."},{"line_number":399,"context_line":"* **1.14** allows formatting to be applied to strings nested in dicts and lists"},{"line_number":400,"context_line":"  in the actions of introspection rules."},{"line_number":401,"context_line":"* **1.15** allows reapply with provided introspection data from request."}],"source_content_type":"text/x-rst","patch_set":3,"id":"5fc1f717_f820e19d","line":401,"updated":"2019-04-04 09:31:09.000000000","message":"I think we need to update api-ref as well.","commit_id":"e398fa27fabb8e9610556958fe205214c469bdf9"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"35b0e0180a368a4640073fd05f22294f39b21893","unresolved":false,"context_lines":[{"line_number":398,"context_line":"* **1.13** adds ``manage_boot`` parameter for the introspection API."},{"line_number":399,"context_line":"* **1.14** allows formatting to be applied to strings nested in dicts and lists"},{"line_number":400,"context_line":"  in the actions of introspection rules."},{"line_number":401,"context_line":"* **1.15** allows reapply with provided introspection data from request."}],"source_content_type":"text/x-rst","patch_set":3,"id":"5fc1f717_40046a15","line":401,"in_reply_to":"5fc1f717_f820e19d","updated":"2019-04-08 03:11:02.000000000","message":"Done","commit_id":"e398fa27fabb8e9610556958fe205214c469bdf9"}],"ironic_inspector/conductor/manager.py":[{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"96a1bbeccec69ec9457bacf793144bff3227ec7b","unresolved":false,"context_lines":[{"line_number":139,"context_line":"                                  code\u003d400)"},{"line_number":140,"context_line":"        else:"},{"line_number":141,"context_line":"            update_cache \u003d True"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"        process.reapply(node_id, data\u003ddata, update_cache\u003dupdate_cache)"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9fdfeff1_9f23a358","line":142,"updated":"2019-02-25 09:42:20.000000000","message":"The plan is to remove this update_cache, and save introspection data here, but that needs _store_data to accept node uuid instead of node info.","commit_id":"e9c9af05df82ec3b6841f1fa2b1fccc11b4503f7"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"dd20225503987ac495be1fd955ad60209e25c282","unresolved":false,"context_lines":[{"line_number":137,"context_line":"                                    \u0027introspection data. Set the \u0027"},{"line_number":138,"context_line":"                                    \u0027[processing]store_data configuration \u0027"},{"line_number":139,"context_line":"                                    \u0027option to change this.\u0027),"},{"line_number":140,"context_line":"                                  code\u003d400)"},{"line_number":141,"context_line":"        else:"},{"line_number":142,"context_line":"            process.store_introspection_data(node_uuid, data, processed\u003dFalse)"},{"line_number":143,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3fce034c_4c8754d9","line":140,"updated":"2019-04-11 10:03:06.000000000","message":"nit: 400 is the default","commit_id":"fc33e3dda83854c2389c73f87000a8cd40a4a871"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"6abe0f22412c7a3cde9d2ea874cabc9d49b0d420","unresolved":false,"context_lines":[{"line_number":137,"context_line":"                                    \u0027introspection data. Set the \u0027"},{"line_number":138,"context_line":"                                    \u0027[processing]store_data configuration \u0027"},{"line_number":139,"context_line":"                                    \u0027option to change this.\u0027),"},{"line_number":140,"context_line":"                                  code\u003d400)"},{"line_number":141,"context_line":"        else:"},{"line_number":142,"context_line":"            process.store_introspection_data(node_uuid, data, processed\u003dFalse)"},{"line_number":143,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3fce034c_dbc20aea","line":140,"in_reply_to":"3fce034c_4c8754d9","updated":"2019-04-12 02:37:31.000000000","message":"Done","commit_id":"fc33e3dda83854c2389c73f87000a8cd40a4a871"}],"ironic_inspector/main.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"dd20225503987ac495be1fd955ad60209e25c282","unresolved":false,"context_lines":[{"line_number":313,"context_line":"            data \u003d flask.request.get_json(force\u003dTrue)"},{"line_number":314,"context_line":"        except Exception:"},{"line_number":315,"context_line":"            raise utils.Error("},{"line_number":316,"context_line":"                _(\u0027Invalid data: expected a JSON object, got %s\u0027) % data)"},{"line_number":317,"context_line":"        if not isinstance(data, dict):"},{"line_number":318,"context_line":"            raise utils.Error("},{"line_number":319,"context_line":"                _(\u0027Invalid data: expected a JSON object, got %s\u0027) %"}],"source_content_type":"text/x-python","patch_set":4,"id":"3fce034c_0c694c24","line":316,"updated":"2019-04-11 10:03:06.000000000","message":"maybe include the error message?","commit_id":"fc33e3dda83854c2389c73f87000a8cd40a4a871"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"6abe0f22412c7a3cde9d2ea874cabc9d49b0d420","unresolved":false,"context_lines":[{"line_number":313,"context_line":"            data \u003d flask.request.get_json(force\u003dTrue)"},{"line_number":314,"context_line":"        except Exception:"},{"line_number":315,"context_line":"            raise utils.Error("},{"line_number":316,"context_line":"                _(\u0027Invalid data: expected a JSON object, got %s\u0027) % data)"},{"line_number":317,"context_line":"        if not isinstance(data, dict):"},{"line_number":318,"context_line":"            raise utils.Error("},{"line_number":319,"context_line":"                _(\u0027Invalid data: expected a JSON object, got %s\u0027) %"}],"source_content_type":"text/x-python","patch_set":4,"id":"3fce034c_3e03fc44","line":316,"in_reply_to":"3fce034c_0c694c24","updated":"2019-04-12 02:37:31.000000000","message":"I think it\u0027s handled by @convert_exceptions included by @api :)","commit_id":"fc33e3dda83854c2389c73f87000a8cd40a4a871"}],"ironic_inspector/process.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"843bf0865209d4e60a92ab7ecbb4aa65e5ba1c37","unresolved":false,"context_lines":[{"line_number":165,"context_line":""},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"def get_introspection_data(uuid, processed\u003dTrue, get_json\u003dFalse):"},{"line_number":168,"context_line":"    \"\"\"Store introspection data to the storage backend."},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"    :param uuid: node UUID"},{"line_number":171,"context_line":"    :param processed: Indicates the type of introspection data to be read,"}],"source_content_type":"text/x-python","patch_set":3,"id":"5fc1f717_1824cdae","line":168,"updated":"2019-04-04 09:31:09.000000000","message":"invalid docstring?","commit_id":"e398fa27fabb8e9610556958fe205214c469bdf9"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"35b0e0180a368a4640073fd05f22294f39b21893","unresolved":false,"context_lines":[{"line_number":165,"context_line":""},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"def get_introspection_data(uuid, processed\u003dTrue, get_json\u003dFalse):"},{"line_number":168,"context_line":"    \"\"\"Store introspection data to the storage backend."},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"    :param uuid: node UUID"},{"line_number":171,"context_line":"    :param processed: Indicates the type of introspection data to be read,"}],"source_content_type":"text/x-python","patch_set":3,"id":"5fc1f717_25bcd0da","line":168,"in_reply_to":"5fc1f717_1824cdae","updated":"2019-04-08 03:11:02.000000000","message":"oops, forgot to update the title.","commit_id":"e398fa27fabb8e9610556958fe205214c469bdf9"}],"releasenotes/notes/post-introspection-data-9cdd39a3de446e92.yaml":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"dd20225503987ac495be1fd955ad60209e25c282","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 support to reapply with given unprocessed introspection data. The"},{"line_number":5,"context_line":"    introspection data is supplied in the body of POST request to"},{"line_number":6,"context_line":"    ``/v1/introspection/\u003cnode_id\u003e/data/unprocessed``. The introspection data"},{"line_number":7,"context_line":"    will also be saved to storage backend."}],"source_content_type":"text/x-yaml","patch_set":4,"id":"3fce034c_ec6ba01c","line":4,"updated":"2019-04-11 10:03:06.000000000","message":"nit: s/given/provided/ feels a bit natural to me","commit_id":"fc33e3dda83854c2389c73f87000a8cd40a4a871"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"6abe0f22412c7a3cde9d2ea874cabc9d49b0d420","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 support to reapply with given unprocessed introspection data. The"},{"line_number":5,"context_line":"    introspection data is supplied in the body of POST request to"},{"line_number":6,"context_line":"    ``/v1/introspection/\u003cnode_id\u003e/data/unprocessed``. The introspection data"},{"line_number":7,"context_line":"    will also be saved to storage backend."}],"source_content_type":"text/x-yaml","patch_set":4,"id":"3fce034c_9b600235","line":4,"in_reply_to":"3fce034c_ec6ba01c","updated":"2019-04-12 02:37:31.000000000","message":"Done","commit_id":"fc33e3dda83854c2389c73f87000a8cd40a4a871"}]}
