)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"06260b8b234393de804b03bbe931e557144571e1","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Expose Neutron network data in metadata service"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Adds network_data.json to the metadata service and config drive. Adds Kilo"},{"line_number":10,"context_line":"as a version for the metadata API."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Partial-Implements: blueprint metadata-service-network-info"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"ba3cc151_8a29c839","line":9,"updated":"2015-07-07 16:15:04.000000000","message":"s/Kilo/Liberty/ :)","commit_id":"f800ef97df0c9bb67857e523e17eecf73073006c"},{"author":{"_account_id":10380,"name":"Josh Gachnang","email":"josh@pcsforeducation.com","username":"JoshNang"},"change_message_id":"94adc3bba3d520909609c92f86a56cc1f3c0ebeb","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Expose Neutron network data in metadata service"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Adds network_data.json to the metadata service and config drive. Adds Kilo"},{"line_number":10,"context_line":"as a version for the metadata API."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Partial-Implements: blueprint metadata-service-network-info"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"ba3cc151_c38ecfcf","line":9,"in_reply_to":"ba3cc151_8a29c839","updated":"2015-07-07 23:05:54.000000000","message":"Done","commit_id":"f800ef97df0c9bb67857e523e17eecf73073006c"}],"nova/api/metadata/base.py":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"3f30f41dc968a7ebc59276825385bc3ad99c1a82","unresolved":false,"context_lines":[{"line_number":67,"context_line":""},{"line_number":68,"context_line":"FOLSOM \u003d \u00272012-08-10\u0027"},{"line_number":69,"context_line":"GRIZZLY \u003d \u00272013-04-04\u0027"},{"line_number":70,"context_line":"HAVANA \u003d \u00272013-10-17\u0027"},{"line_number":71,"context_line":"KILO \u003d \u00272015-04-30\u0027"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"OPENSTACK_VERSIONS \u003d ["}],"source_content_type":"text/x-python","patch_set":1,"id":"da86d52c_6204b318","line":70,"updated":"2015-02-14 18:09:16.000000000","message":"it is actually odd that we do not have Juno here. but i guess that is another story","commit_id":"df4ab457e5128acffac29cb6ead8c57e1d4e1696"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"fae2892a33d0d6321f9cdabc45266b122cb4662b","unresolved":false,"context_lines":[{"line_number":67,"context_line":""},{"line_number":68,"context_line":"FOLSOM \u003d \u00272012-08-10\u0027"},{"line_number":69,"context_line":"GRIZZLY \u003d \u00272013-04-04\u0027"},{"line_number":70,"context_line":"HAVANA \u003d \u00272013-10-17\u0027"},{"line_number":71,"context_line":"KILO \u003d \u00272015-04-30\u0027"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"OPENSTACK_VERSIONS \u003d ["}],"source_content_type":"text/x-python","patch_set":1,"id":"ba7be1f8_a83de5de","line":70,"in_reply_to":"da86d52c_6204b318","updated":"2015-02-26 16:01:39.000000000","message":"Only releases which have changes to configdrive/metadata format need to bump version. Note that Icehouse is missing too.","commit_id":"df4ab457e5128acffac29cb6ead8c57e1d4e1696"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"3f30f41dc968a7ebc59276825385bc3ad99c1a82","unresolved":false,"context_lines":[{"line_number":473,"context_line":"                path \u003d \u0027openstack/%s/%s\u0027 % (version, VD_JSON_NAME)"},{"line_number":474,"context_line":"                yield (path, self.lookup(path))"},{"line_number":475,"context_line":""},{"line_number":476,"context_line":"            if self._check_version(KILO, version, ALL_OPENSTACK_VERSIONS):"},{"line_number":477,"context_line":"                path \u003d \u0027openstack/%s/%s\u0027 % (version, NW_JSON_NAME)"},{"line_number":478,"context_line":"                yield (path, self.lookup(path))"},{"line_number":479,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"da86d52c_e210a35b","line":476,"updated":"2015-02-14 18:09:16.000000000","message":"i think that this should be in a separate patch - it does not have anything to do with the aforementioned network support","commit_id":"df4ab457e5128acffac29cb6ead8c57e1d4e1696"},{"author":{"_account_id":10380,"name":"Josh Gachnang","email":"josh@pcsforeducation.com","username":"JoshNang"},"change_message_id":"a729c783d2cef556461424d8f6071079c97e596b","unresolved":false,"context_lines":[{"line_number":473,"context_line":"                path \u003d \u0027openstack/%s/%s\u0027 % (version, VD_JSON_NAME)"},{"line_number":474,"context_line":"                yield (path, self.lookup(path))"},{"line_number":475,"context_line":""},{"line_number":476,"context_line":"            if self._check_version(KILO, version, ALL_OPENSTACK_VERSIONS):"},{"line_number":477,"context_line":"                path \u003d \u0027openstack/%s/%s\u0027 % (version, NW_JSON_NAME)"},{"line_number":478,"context_line":"                yield (path, self.lookup(path))"},{"line_number":479,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7a016987_031d8f61","line":476,"in_reply_to":"ba7be1f8_e85b5d51","updated":"2015-05-30 00:34:46.000000000","message":"I\u0027m going to leave this. This patch is about exposing the network data from the patch it depends on as a new endpoint, and a new endpoint should bump the version.","commit_id":"df4ab457e5128acffac29cb6ead8c57e1d4e1696"},{"author":{"_account_id":10380,"name":"Josh Gachnang","email":"josh@pcsforeducation.com","username":"JoshNang"},"change_message_id":"02db89469e418bc92b5c93f0a8537d9db6335b2a","unresolved":false,"context_lines":[{"line_number":473,"context_line":"                path \u003d \u0027openstack/%s/%s\u0027 % (version, VD_JSON_NAME)"},{"line_number":474,"context_line":"                yield (path, self.lookup(path))"},{"line_number":475,"context_line":""},{"line_number":476,"context_line":"            if self._check_version(KILO, version, ALL_OPENSTACK_VERSIONS):"},{"line_number":477,"context_line":"                path \u003d \u0027openstack/%s/%s\u0027 % (version, NW_JSON_NAME)"},{"line_number":478,"context_line":"                yield (path, self.lookup(path))"},{"line_number":479,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"da86d52c_fcfada41","line":476,"in_reply_to":"da86d52c_e210a35b","updated":"2015-02-16 21:25:13.000000000","message":"I assumed I needed to bump the metadata version if I was adding a new endpoint. Do you want me to break it into a separate patch that bumps the version? Or allow it for all versions (since it is only additive)?","commit_id":"df4ab457e5128acffac29cb6ead8c57e1d4e1696"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"fae2892a33d0d6321f9cdabc45266b122cb4662b","unresolved":false,"context_lines":[{"line_number":473,"context_line":"                path \u003d \u0027openstack/%s/%s\u0027 % (version, VD_JSON_NAME)"},{"line_number":474,"context_line":"                yield (path, self.lookup(path))"},{"line_number":475,"context_line":""},{"line_number":476,"context_line":"            if self._check_version(KILO, version, ALL_OPENSTACK_VERSIONS):"},{"line_number":477,"context_line":"                path \u003d \u0027openstack/%s/%s\u0027 % (version, NW_JSON_NAME)"},{"line_number":478,"context_line":"                yield (path, self.lookup(path))"},{"line_number":479,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"ba7be1f8_e85b5d51","line":476,"in_reply_to":"da86d52c_fcfada41","updated":"2015-02-26 16:01:39.000000000","message":"Unless we want to break existing clients; we should bump the version at the same time we implement the support.","commit_id":"df4ab457e5128acffac29cb6ead8c57e1d4e1696"}],"nova/tests/unit/test_metadata.py":[{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"3f30f41dc968a7ebc59276825385bc3ad99c1a82","unresolved":false,"context_lines":[{"line_number":310,"context_line":"        network_info \u003d []"},{"line_number":311,"context_line":"        network_data \u003d {\u0027links\u0027: [], \u0027networks\u0027: [], \u0027services\u0027: []}"},{"line_number":312,"context_line":""},{"line_number":313,"context_line":"        self.mox.StubOutWithMock(netutils, \"get_network_metadata\")"},{"line_number":314,"context_line":"        netutils.get_network_metadata(network_info).AndReturn(network_data)"},{"line_number":315,"context_line":"        self.mox.ReplayAll()"},{"line_number":316,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"da86d52c_9dfd8a0b","line":313,"updated":"2015-02-14 18:09:16.000000000","message":"please use mock for new tests if possible","commit_id":"df4ab457e5128acffac29cb6ead8c57e1d4e1696"},{"author":{"_account_id":10380,"name":"Josh Gachnang","email":"josh@pcsforeducation.com","username":"JoshNang"},"change_message_id":"a729c783d2cef556461424d8f6071079c97e596b","unresolved":false,"context_lines":[{"line_number":310,"context_line":"        network_info \u003d []"},{"line_number":311,"context_line":"        network_data \u003d {\u0027links\u0027: [], \u0027networks\u0027: [], \u0027services\u0027: []}"},{"line_number":312,"context_line":""},{"line_number":313,"context_line":"        self.mox.StubOutWithMock(netutils, \"get_network_metadata\")"},{"line_number":314,"context_line":"        netutils.get_network_metadata(network_info).AndReturn(network_data)"},{"line_number":315,"context_line":"        self.mox.ReplayAll()"},{"line_number":316,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7a016987_e85b7284","line":313,"in_reply_to":"da86d52c_9dfd8a0b","updated":"2015-05-30 00:34:46.000000000","message":"Done","commit_id":"df4ab457e5128acffac29cb6ead8c57e1d4e1696"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"06260b8b234393de804b03bbe931e557144571e1","unresolved":false,"context_lines":[{"line_number":391,"context_line":"        listing \u003d mdinst.lookup(\"/openstack/2012-08-10\")"},{"line_number":392,"context_line":"        self.assertIn(\"meta_data.json\", listing)"},{"line_number":393,"context_line":""},{"line_number":394,"context_line":"    def test_returns_apis_supported_in_kilo_version(self):"},{"line_number":395,"context_line":"        mdinst \u003d fake_InstanceMetadata(self.stubs, self.instance)"},{"line_number":396,"context_line":"        kilo_supported_apis \u003d mdinst.lookup(\"/openstack/2015-10-15\")"},{"line_number":397,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"ba3cc151_ca15909b","line":394,"updated":"2015-07-07 16:15:04.000000000","message":"s/kilo/liberty/","commit_id":"f800ef97df0c9bb67857e523e17eecf73073006c"},{"author":{"_account_id":10380,"name":"Josh Gachnang","email":"josh@pcsforeducation.com","username":"JoshNang"},"change_message_id":"94adc3bba3d520909609c92f86a56cc1f3c0ebeb","unresolved":false,"context_lines":[{"line_number":391,"context_line":"        listing \u003d mdinst.lookup(\"/openstack/2012-08-10\")"},{"line_number":392,"context_line":"        self.assertIn(\"meta_data.json\", listing)"},{"line_number":393,"context_line":""},{"line_number":394,"context_line":"    def test_returns_apis_supported_in_kilo_version(self):"},{"line_number":395,"context_line":"        mdinst \u003d fake_InstanceMetadata(self.stubs, self.instance)"},{"line_number":396,"context_line":"        kilo_supported_apis \u003d mdinst.lookup(\"/openstack/2015-10-15\")"},{"line_number":397,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"ba3cc151_8398c71c","line":394,"in_reply_to":"ba3cc151_ca15909b","updated":"2015-07-07 23:05:54.000000000","message":"Done","commit_id":"f800ef97df0c9bb67857e523e17eecf73073006c"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"06260b8b234393de804b03bbe931e557144571e1","unresolved":false,"context_lines":[{"line_number":393,"context_line":""},{"line_number":394,"context_line":"    def test_returns_apis_supported_in_kilo_version(self):"},{"line_number":395,"context_line":"        mdinst \u003d fake_InstanceMetadata(self.stubs, self.instance)"},{"line_number":396,"context_line":"        kilo_supported_apis \u003d mdinst.lookup(\"/openstack/2015-10-15\")"},{"line_number":397,"context_line":""},{"line_number":398,"context_line":"        self.assertEqual([base.MD_JSON_NAME, base.UD_NAME, base.PASS_NAME,"},{"line_number":399,"context_line":"                          base.VD_JSON_NAME, base.NW_JSON_NAME],"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba3cc151_2a551c4f","line":396,"updated":"2015-07-07 16:15:04.000000000","message":"s/kilo/liberty/","commit_id":"f800ef97df0c9bb67857e523e17eecf73073006c"},{"author":{"_account_id":10380,"name":"Josh Gachnang","email":"josh@pcsforeducation.com","username":"JoshNang"},"change_message_id":"94adc3bba3d520909609c92f86a56cc1f3c0ebeb","unresolved":false,"context_lines":[{"line_number":393,"context_line":""},{"line_number":394,"context_line":"    def test_returns_apis_supported_in_kilo_version(self):"},{"line_number":395,"context_line":"        mdinst \u003d fake_InstanceMetadata(self.stubs, self.instance)"},{"line_number":396,"context_line":"        kilo_supported_apis \u003d mdinst.lookup(\"/openstack/2015-10-15\")"},{"line_number":397,"context_line":""},{"line_number":398,"context_line":"        self.assertEqual([base.MD_JSON_NAME, base.UD_NAME, base.PASS_NAME,"},{"line_number":399,"context_line":"                          base.VD_JSON_NAME, base.NW_JSON_NAME],"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba3cc151_639583e2","line":396,"in_reply_to":"ba3cc151_2a551c4f","updated":"2015-07-07 23:05:54.000000000","message":"Done","commit_id":"f800ef97df0c9bb67857e523e17eecf73073006c"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"06260b8b234393de804b03bbe931e557144571e1","unresolved":false,"context_lines":[{"line_number":397,"context_line":""},{"line_number":398,"context_line":"        self.assertEqual([base.MD_JSON_NAME, base.UD_NAME, base.PASS_NAME,"},{"line_number":399,"context_line":"                          base.VD_JSON_NAME, base.NW_JSON_NAME],"},{"line_number":400,"context_line":"                         kilo_supported_apis)"},{"line_number":401,"context_line":""},{"line_number":402,"context_line":"    def test_returns_apis_supported_in_havana_version(self):"},{"line_number":403,"context_line":"        mdinst \u003d fake_InstanceMetadata(self.stubs, self.instance)"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba3cc151_2a6e7c2f","line":400,"updated":"2015-07-07 16:15:04.000000000","message":"s/kilo/liberty/","commit_id":"f800ef97df0c9bb67857e523e17eecf73073006c"},{"author":{"_account_id":10380,"name":"Josh Gachnang","email":"josh@pcsforeducation.com","username":"JoshNang"},"change_message_id":"94adc3bba3d520909609c92f86a56cc1f3c0ebeb","unresolved":false,"context_lines":[{"line_number":397,"context_line":""},{"line_number":398,"context_line":"        self.assertEqual([base.MD_JSON_NAME, base.UD_NAME, base.PASS_NAME,"},{"line_number":399,"context_line":"                          base.VD_JSON_NAME, base.NW_JSON_NAME],"},{"line_number":400,"context_line":"                         kilo_supported_apis)"},{"line_number":401,"context_line":""},{"line_number":402,"context_line":"    def test_returns_apis_supported_in_havana_version(self):"},{"line_number":403,"context_line":"        mdinst \u003d fake_InstanceMetadata(self.stubs, self.instance)"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba3cc151_c3f7af57","line":400,"in_reply_to":"ba3cc151_2a6e7c2f","updated":"2015-07-07 23:05:54.000000000","message":"Done","commit_id":"f800ef97df0c9bb67857e523e17eecf73073006c"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"06260b8b234393de804b03bbe931e557144571e1","unresolved":false,"context_lines":[{"line_number":584,"context_line":"        inst \u003d self.instance.obj_clone()"},{"line_number":585,"context_line":"        mdinst \u003d fake_InstanceMetadata(self.stubs, inst)"},{"line_number":586,"context_line":""},{"line_number":587,"context_line":"        # verify that 2015-04-30 has the vendor_data.json file"},{"line_number":588,"context_line":"        result \u003d mdinst.lookup(\"/openstack/2015-10-15\")"},{"line_number":589,"context_line":"        self.assertIn(\u0027network_data.json\u0027, result)"},{"line_number":590,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"ba3cc151_eafc1440","line":587,"updated":"2015-07-07 16:15:04.000000000","message":"The above comment looks like a copy/paste error?","commit_id":"f800ef97df0c9bb67857e523e17eecf73073006c"},{"author":{"_account_id":10380,"name":"Josh Gachnang","email":"josh@pcsforeducation.com","username":"JoshNang"},"change_message_id":"94adc3bba3d520909609c92f86a56cc1f3c0ebeb","unresolved":false,"context_lines":[{"line_number":584,"context_line":"        inst \u003d self.instance.obj_clone()"},{"line_number":585,"context_line":"        mdinst \u003d fake_InstanceMetadata(self.stubs, inst)"},{"line_number":586,"context_line":""},{"line_number":587,"context_line":"        # verify that 2015-04-30 has the vendor_data.json file"},{"line_number":588,"context_line":"        result \u003d mdinst.lookup(\"/openstack/2015-10-15\")"},{"line_number":589,"context_line":"        self.assertIn(\u0027network_data.json\u0027, result)"},{"line_number":590,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"ba3cc151_a3fceb3e","line":587,"in_reply_to":"ba3cc151_eafc1440","updated":"2015-07-07 23:05:54.000000000","message":"Done","commit_id":"f800ef97df0c9bb67857e523e17eecf73073006c"}]}
