)]}'
{"doc/source/index.rst":[{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"8de8631a2bca8cdcd1d395759db3a21b1f418a27","unresolved":false,"context_lines":[{"line_number":220,"context_line":".. toctree::"},{"line_number":221,"context_line":"    :maxdepth: 1"},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"    vendordata.rst"},{"line_number":224,"context_line":""},{"line_number":225,"context_line":"Indices and tables"},{"line_number":226,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3ac371cc_53838b04","line":223,"range":{"start_line":223,"start_character":14,"end_line":223,"end_character":18},"updated":"2016-08-16 03:30:04.000000000","message":"It is not necessary.","commit_id":"88e2e333ff3895fd5ad4443a928bf996e83c4a76"}],"doc/source/vendordata.rst":[{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"8de8631a2bca8cdcd1d395759db3a21b1f418a27","unresolved":false,"context_lines":[{"line_number":1,"context_line":"vendordata"},{"line_number":2,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"Nova presents configuration information to instances it starts via a mechanism"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3ac371cc_d3e81b13","line":1,"range":{"start_line":1,"start_character":0,"end_line":1,"end_character":1},"updated":"2016-08-16 03:30:04.000000000","message":"\u0027Vendordata\u0027 or \u0027Vendor data\u0027 would be better.","commit_id":"88e2e333ff3895fd5ad4443a928bf996e83c4a76"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"8de8631a2bca8cdcd1d395759db3a21b1f418a27","unresolved":false,"context_lines":[{"line_number":80,"context_line":"        openstack/2016-10-06/vendor_data2.json"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"For each dynamic target, there will be an entry in the JSON file named after"},{"line_number":83,"context_line":"that target. For example:"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"        {"},{"line_number":86,"context_line":"            \"testing\": {"},{"line_number":87,"context_line":"                \"value1\": 1,"},{"line_number":88,"context_line":"                \"value2\": 2,"},{"line_number":89,"context_line":"                \"value3\": \"three\""},{"line_number":90,"context_line":"            }"},{"line_number":91,"context_line":"        }"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"Do not specify the same name more than once. If you do, we will ingore"},{"line_number":94,"context_line":"subsequent uses of a previously used name."}],"source_content_type":"text/x-rst","patch_set":2,"id":"3ac371cc_53426b11","line":91,"range":{"start_line":83,"start_character":12,"end_line":91,"end_character":9},"updated":"2016-08-16 03:30:04.000000000","message":"\"WARNING: Definition list ends without a blank line; unexpected unindent.\" occurs here.\nAnd the format(appearance) is collapsed.\nSo it should be as follows:\n\n\nthat target. For example::\n\n    {\n        \"testing\": {\n            \"value1\": 1,\n            \"value2\": 2,\n            \"value3\": \"three\"\n        }\n    }","commit_id":"88e2e333ff3895fd5ad4443a928bf996e83c4a76"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"d6bfa4cd6dacfbed8a7e72ffedb0bbc4d3f1539e","unresolved":false,"context_lines":[{"line_number":56,"context_line":""},{"line_number":57,"context_line":"To use DynamicJSON, you configure it like this:"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"- Add \"DynamicJSON\" to the vendordata_providers flag. This can also include"},{"line_number":60,"context_line":"  \"StaticJSON\" if you\u0027d like."},{"line_number":61,"context_line":"- Specify the REST services to be contacted to generate metadata in the"},{"line_number":62,"context_line":"  vendordata_dynamic_targets flag. There can be more than one of these, but"}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa7ab95a_2b7a7777","line":59,"range":{"start_line":59,"start_character":48,"end_line":59,"end_character":52},"updated":"2016-08-30 01:00:47.000000000","message":"nit: \"flag\" seems like an old school term which predates oslo.config, and I\u0027d probably use \"configuration option\" instead.","commit_id":"da2d4f1adb2fdcf4153227a2ce85d498ccd709aa"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"23b7202bb8be5ca16310e97f1482b56611a9d2b7","unresolved":false,"context_lines":[{"line_number":56,"context_line":""},{"line_number":57,"context_line":"To use DynamicJSON, you configure it like this:"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"- Add \"DynamicJSON\" to the vendordata_providers flag. This can also include"},{"line_number":60,"context_line":"  \"StaticJSON\" if you\u0027d like."},{"line_number":61,"context_line":"- Specify the REST services to be contacted to generate metadata in the"},{"line_number":62,"context_line":"  vendordata_dynamic_targets flag. There can be more than one of these, but"}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa7ab95a_7af08fc9","line":59,"range":{"start_line":59,"start_character":48,"end_line":59,"end_character":52},"in_reply_to":"fa7ab95a_2b7a7777","updated":"2016-08-30 19:11:19.000000000","message":"Done","commit_id":"da2d4f1adb2fdcf4153227a2ce85d498ccd709aa"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"d6bfa4cd6dacfbed8a7e72ffedb0bbc4d3f1539e","unresolved":false,"context_lines":[{"line_number":71,"context_line":"Where name is a short string not including the \u0027@\u0027 character, and where the"},{"line_number":72,"context_line":"URL can include a port number if so required. An example would be:"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"        testing@http://127.0.0.1:125"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"Metadata fetched from this service will appear in the metadata service at a"},{"line_number":77,"context_line":"new file called vendordata2.json, with a path (either in the metdata service"}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa7ab95a_4bf6dbf9","line":74,"updated":"2016-08-30 01:00:47.000000000","message":"nit: I would have dumped this into a code block using :: since otherwise this renders to an actual mailto link:\n\nhttp://docs-draft.openstack.org/93/353793/3/check/gate-nova-docs-ubuntu-xenial/af4c6a2//doc/build/html/vendordata.html#tell-me-more-about-dynamicjson","commit_id":"da2d4f1adb2fdcf4153227a2ce85d498ccd709aa"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"23b7202bb8be5ca16310e97f1482b56611a9d2b7","unresolved":false,"context_lines":[{"line_number":71,"context_line":"Where name is a short string not including the \u0027@\u0027 character, and where the"},{"line_number":72,"context_line":"URL can include a port number if so required. An example would be:"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"        testing@http://127.0.0.1:125"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"Metadata fetched from this service will appear in the metadata service at a"},{"line_number":77,"context_line":"new file called vendordata2.json, with a path (either in the metdata service"}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa7ab95a_da943b38","line":74,"in_reply_to":"fa7ab95a_4bf6dbf9","updated":"2016-08-30 19:11:19.000000000","message":"Done","commit_id":"da2d4f1adb2fdcf4153227a2ce85d498ccd709aa"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"d6bfa4cd6dacfbed8a7e72ffedb0bbc4d3f1539e","unresolved":false,"context_lines":[{"line_number":73,"context_line":""},{"line_number":74,"context_line":"        testing@http://127.0.0.1:125"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"Metadata fetched from this service will appear in the metadata service at a"},{"line_number":77,"context_line":"new file called vendordata2.json, with a path (either in the metdata service"},{"line_number":78,"context_line":"URL or in the configdrive) like this:"},{"line_number":79,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa7ab95a_4bcdfbb5","line":76,"range":{"start_line":76,"start_character":27,"end_line":76,"end_character":34},"updated":"2016-08-30 01:00:47.000000000","message":"nit: would have maybe said \"this target\" since it\u0027s a bit clunky reading this as \"this service will also appear in the metadata service\", since the first means the dynamic vendordata REST service (target), and the later is the nova-api service that\u0027s calling it.","commit_id":"da2d4f1adb2fdcf4153227a2ce85d498ccd709aa"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"23b7202bb8be5ca16310e97f1482b56611a9d2b7","unresolved":false,"context_lines":[{"line_number":73,"context_line":""},{"line_number":74,"context_line":"        testing@http://127.0.0.1:125"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"Metadata fetched from this service will appear in the metadata service at a"},{"line_number":77,"context_line":"new file called vendordata2.json, with a path (either in the metdata service"},{"line_number":78,"context_line":"URL or in the configdrive) like this:"},{"line_number":79,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa7ab95a_dabb5bc2","line":76,"range":{"start_line":76,"start_character":27,"end_line":76,"end_character":34},"in_reply_to":"fa7ab95a_4bcdfbb5","updated":"2016-08-30 19:11:19.000000000","message":"Done","commit_id":"da2d4f1adb2fdcf4153227a2ce85d498ccd709aa"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"d6bfa4cd6dacfbed8a7e72ffedb0bbc4d3f1539e","unresolved":false,"context_lines":[{"line_number":74,"context_line":"        testing@http://127.0.0.1:125"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"Metadata fetched from this service will appear in the metadata service at a"},{"line_number":77,"context_line":"new file called vendordata2.json, with a path (either in the metdata service"},{"line_number":78,"context_line":"URL or in the configdrive) like this:"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"        openstack/2016-10-06/vendor_data2.json"}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa7ab95a_8bc38388","line":77,"range":{"start_line":77,"start_character":61,"end_line":77,"end_character":68},"updated":"2016-08-30 01:00:47.000000000","message":"metadata","commit_id":"da2d4f1adb2fdcf4153227a2ce85d498ccd709aa"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"23b7202bb8be5ca16310e97f1482b56611a9d2b7","unresolved":false,"context_lines":[{"line_number":74,"context_line":"        testing@http://127.0.0.1:125"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"Metadata fetched from this service will appear in the metadata service at a"},{"line_number":77,"context_line":"new file called vendordata2.json, with a path (either in the metdata service"},{"line_number":78,"context_line":"URL or in the configdrive) like this:"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"        openstack/2016-10-06/vendor_data2.json"}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa7ab95a_1ab223e5","line":77,"range":{"start_line":77,"start_character":61,"end_line":77,"end_character":68},"in_reply_to":"fa7ab95a_8bc38388","updated":"2016-08-30 19:11:19.000000000","message":"Done","commit_id":"da2d4f1adb2fdcf4153227a2ce85d498ccd709aa"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"d6bfa4cd6dacfbed8a7e72ffedb0bbc4d3f1539e","unresolved":false,"context_lines":[{"line_number":90,"context_line":"            }"},{"line_number":91,"context_line":"        }"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"Do not specify the same name more than once. If you do, we will ingore"},{"line_number":94,"context_line":"subsequent uses of a previously used name."},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"The following data is passed to your REST service as a JSON encoded POST:"}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa7ab95a_8b4aa324","line":93,"range":{"start_line":93,"start_character":64,"end_line":93,"end_character":70},"updated":"2016-08-30 01:00:47.000000000","message":"ignore","commit_id":"da2d4f1adb2fdcf4153227a2ce85d498ccd709aa"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"23b7202bb8be5ca16310e97f1482b56611a9d2b7","unresolved":false,"context_lines":[{"line_number":90,"context_line":"            }"},{"line_number":91,"context_line":"        }"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"Do not specify the same name more than once. If you do, we will ingore"},{"line_number":94,"context_line":"subsequent uses of a previously used name."},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"The following data is passed to your REST service as a JSON encoded POST:"}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa7ab95a_7ac32f38","line":93,"range":{"start_line":93,"start_character":64,"end_line":93,"end_character":70},"in_reply_to":"fa7ab95a_8b4aa324","updated":"2016-08-30 19:11:19.000000000","message":"Done","commit_id":"da2d4f1adb2fdcf4153227a2ce85d498ccd709aa"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"d6bfa4cd6dacfbed8a7e72ffedb0bbc4d3f1539e","unresolved":false,"context_lines":[{"line_number":95,"context_line":""},{"line_number":96,"context_line":"The following data is passed to your REST service as a JSON encoded POST:"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"- project id"},{"line_number":99,"context_line":"- instance id"},{"line_number":100,"context_line":"- boot image id"},{"line_number":101,"context_line":"- user-data as specified by the user at boot time"},{"line_number":102,"context_line":"- hostname"},{"line_number":103,"context_line":"- instance metadata as produced by Nova"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"The REST service is also passed the Keystone authentication details for the"},{"line_number":106,"context_line":"original API request which caused this boot, which can be used by the REST"}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa7ab95a_ab6a077f","line":103,"range":{"start_line":98,"start_character":0,"end_line":103,"end_character":39},"updated":"2016-08-30 01:00:47.000000000","message":"It would probably be better to give the literal key names as they are in the code:\n\nhttps://review.openstack.org/#/c/317739/15/nova/api/metadata/vendordata_dynamic.py@53\n\nAnd then add a description for each if you want.","commit_id":"da2d4f1adb2fdcf4153227a2ce85d498ccd709aa"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"23b7202bb8be5ca16310e97f1482b56611a9d2b7","unresolved":false,"context_lines":[{"line_number":95,"context_line":""},{"line_number":96,"context_line":"The following data is passed to your REST service as a JSON encoded POST:"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"- project id"},{"line_number":99,"context_line":"- instance id"},{"line_number":100,"context_line":"- boot image id"},{"line_number":101,"context_line":"- user-data as specified by the user at boot time"},{"line_number":102,"context_line":"- hostname"},{"line_number":103,"context_line":"- instance metadata as produced by Nova"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"The REST service is also passed the Keystone authentication details for the"},{"line_number":106,"context_line":"original API request which caused this boot, which can be used by the REST"}],"source_content_type":"text/x-rst","patch_set":3,"id":"fa7ab95a_dd6355af","line":103,"range":{"start_line":98,"start_character":0,"end_line":103,"end_character":39},"in_reply_to":"fa7ab95a_ab6a077f","updated":"2016-08-30 19:11:19.000000000","message":"Done","commit_id":"da2d4f1adb2fdcf4153227a2ce85d498ccd709aa"}],"releasenotes/notes/vendordata-reboot-ad1130444a63f2d0.yaml":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"d6bfa4cd6dacfbed8a7e72ffedb0bbc4d3f1539e","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - This release includes a new implementation of the"},{"line_number":4,"context_line":"    vendordata metadata system. Please see the blueprint"},{"line_number":5,"context_line":"    at http://specs.openstack.org/openstack/nova-specs/specs/newton/approved/vendordata-reboot.html"},{"line_number":6,"context_line":"    for a detailed description. There is also"},{"line_number":7,"context_line":"    documentation in the Nova source tree in"},{"line_number":8,"context_line":"    vendordata.rst."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"fa7ab95a_ab1be771","line":5,"updated":"2016-08-30 01:00:47.000000000","message":"nit: I prefer to use ReST format than dump big links like this in the release notes, but it\u0027s not a huge deal.","commit_id":"da2d4f1adb2fdcf4153227a2ce85d498ccd709aa"}]}
