)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"829bea185ab3fc86f14c7d696f13a36e1485b363","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"This patch puts in the place the final user-visible pieces:"},{"line_number":16,"context_line":"  * In the Nova API, support for vNIC tags when booting servers"},{"line_number":17,"context_line":"  * In the metadata API, support for querying device metadata"},{"line_number":18,"context_line":"  * In the compute manager and rpc api, the required plumbing to make the above"},{"line_number":19,"context_line":"    possible"},{"line_number":20,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"da6ed579_96485f5d","line":17,"updated":"2016-01-12 10:53:51.000000000","message":"You\u0027ve got two completely separate tasks here - plumbing in the public API has no direct dependancy on plumbing in the guest metadata service \u0026 vica-verca. As such this should be done in separate patches.","commit_id":"461d4401d8ac399728db660f5c747e439b6285f2"}],"nova/api/openstack/compute/schemas/servers.py":[{"author":{"_account_id":20873,"name":"Laszlo Hegedus","email":"hegedues.laszlo@gmail.com","username":"laszloh"},"change_message_id":"63ebffa6fdb66f6bb09520f5ec786cee9784f051","unresolved":false,"context_lines":[{"line_number":57,"context_line":"base_create_v20[\u0027properties\u0027][\u0027server\u0027]["},{"line_number":58,"context_line":"    \u0027properties\u0027][\u0027name\u0027] \u003d parameter_types.name_with_leading_trailing_spaces"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"base_create_v219 \u003d copy.deepcopy(base_create)"},{"line_number":62,"context_line":"base_create_v219[\u0027properties\u0027][\u0027server\u0027]["},{"line_number":63,"context_line":"    \u0027properties\u0027][\u0027description\u0027] \u003d parameter_types.description"}],"source_content_type":"text/x-python","patch_set":29,"id":"9a061dce_2fd5efb8","side":"PARENT","line":60,"range":{"start_line":60,"start_character":0,"end_line":60,"end_character":0},"updated":"2016-04-08 12:51:53.000000000","message":"Unnecessary change.","commit_id":"db6543619f8fa222556343fc5d795b91dc20a88f"},{"author":{"_account_id":20873,"name":"Laszlo Hegedus","email":"hegedues.laszlo@gmail.com","username":"laszloh"},"change_message_id":"63ebffa6fdb66f6bb09520f5ec786cee9784f051","unresolved":false,"context_lines":[{"line_number":60,"context_line":"base_create_v219 \u003d copy.deepcopy(base_create)"},{"line_number":61,"context_line":"base_create_v219[\u0027properties\u0027][\u0027server\u0027]["},{"line_number":62,"context_line":"    \u0027properties\u0027][\u0027description\u0027] \u003d parameter_types.description"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"base_create_v227 \u003d copy.deepcopy(base_create_v219)"},{"line_number":65,"context_line":"base_create_v227[\u0027properties\u0027][\u0027server\u0027]["},{"line_number":66,"context_line":"    \u0027properties\u0027][\u0027networks\u0027][\u0027items\u0027]["}],"source_content_type":"text/x-python","patch_set":29,"id":"9a061dce_6f8527ac","line":63,"range":{"start_line":63,"start_character":0,"end_line":63,"end_character":0},"updated":"2016-04-08 12:51:53.000000000","message":"For consistency, a newline here would be nice.","commit_id":"efadbc8f7fbe01e18eebd5ecb9efe18f431e655c"}],"nova/api/openstack/compute/servers.py":[{"author":{"_account_id":20873,"name":"Laszlo Hegedus","email":"hegedues.laszlo@gmail.com","username":"laszloh"},"change_message_id":"63ebffa6fdb66f6bb09520f5ec786cee9784f051","unresolved":false,"context_lines":[{"line_number":359,"context_line":"                msg \u003d _(\"Only administrators may list deleted instances\")"},{"line_number":360,"context_line":"                raise exc.HTTPForbidden(explanation\u003dmsg)"},{"line_number":361,"context_line":""},{"line_number":362,"context_line":"        if api_version_request.is_supported(req, min_version\u003d\u00272.27\u0027):"},{"line_number":363,"context_line":"            for tag_filter in TAG_SEARCH_FILTERS:"},{"line_number":364,"context_line":"                if tag_filter in search_opts:"},{"line_number":365,"context_line":"                    search_opts[tag_filter] \u003d search_opts["}],"source_content_type":"text/x-python","patch_set":29,"id":"9a061dce_2f168f55","line":362,"range":{"start_line":362,"start_character":62,"end_line":362,"end_character":66},"updated":"2016-04-08 12:51:53.000000000","message":"Won\u0027t it still work with 2.26?","commit_id":"efadbc8f7fbe01e18eebd5ecb9efe18f431e655c"},{"author":{"_account_id":20873,"name":"Laszlo Hegedus","email":"hegedues.laszlo@gmail.com","username":"laszloh"},"change_message_id":"63ebffa6fdb66f6bb09520f5ec786cee9784f051","unresolved":false,"context_lines":[{"line_number":544,"context_line":"    @extensions.expected_errors((400, 403, 409, 413))"},{"line_number":545,"context_line":"    @validation.schema(schema_server_create_v20, \u00272.0\u0027, \u00272.0\u0027)"},{"line_number":546,"context_line":"    @validation.schema(schema_server_create, \u00272.1\u0027, \u00272.18\u0027)"},{"line_number":547,"context_line":"    @validation.schema(schema_server_create_v219, \u00272.19\u0027, \u00272.25\u0027)"},{"line_number":548,"context_line":"    @validation.schema(schema_server_create_v227, \u00272.27\u0027)"},{"line_number":549,"context_line":"    def create(self, req, body):"},{"line_number":550,"context_line":"        \"\"\"Creates a new server for a given user.\"\"\""}],"source_content_type":"text/x-python","patch_set":29,"id":"9a061dce_f29e3cb7","line":547,"range":{"start_line":547,"start_character":58,"end_line":547,"end_character":64},"updated":"2016-04-08 12:51:53.000000000","message":"What about 2.26?","commit_id":"efadbc8f7fbe01e18eebd5ecb9efe18f431e655c"}],"nova/api/openstack/rest_api_version_history.rst":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"32de15e175888b7a2c638b06e690c6759de7423f","unresolved":false,"context_lines":[{"line_number":154,"context_line":"2.16"},{"line_number":155,"context_line":"----"},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"\u003c\u003c\u003c\u003c\u003c\u003c\u003c HEAD"},{"line_number":158,"context_line":"  Exposes new host_status attribute for servers/detail and servers/{server_id}."},{"line_number":159,"context_line":"  Ability to get nova-compute status when querying servers. By default, this is"},{"line_number":160,"context_line":"  only exposed to cloud administrators."}],"source_content_type":"text/x-rst","patch_set":27,"id":"9a061dce_21d3f605","line":157,"updated":"2016-04-05 18:08:07.000000000","message":"Conflict marker.","commit_id":"ccca65888d12865aba182103c874f89016efdf48"},{"author":{"_account_id":20873,"name":"Laszlo Hegedus","email":"hegedues.laszlo@gmail.com","username":"laszloh"},"change_message_id":"63ebffa6fdb66f6bb09520f5ec786cee9784f051","unresolved":false,"context_lines":[{"line_number":154,"context_line":"2.16"},{"line_number":155,"context_line":"----"},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"\u003c\u003c\u003c\u003c\u003c\u003c\u003c HEAD"},{"line_number":158,"context_line":"  Exposes new host_status attribute for servers/detail and servers/{server_id}."},{"line_number":159,"context_line":"  Ability to get nova-compute status when querying servers. By default, this is"},{"line_number":160,"context_line":"  only exposed to cloud administrators."}],"source_content_type":"text/x-rst","patch_set":29,"id":"9a061dce_cc572125","line":157,"range":{"start_line":157,"start_character":0,"end_line":157,"end_character":12},"updated":"2016-04-08 12:51:53.000000000","message":"Merge conflict?","commit_id":"efadbc8f7fbe01e18eebd5ecb9efe18f431e655c"}],"nova/compute/api.py":[{"author":{"_account_id":20873,"name":"Laszlo Hegedus","email":"hegedues.laszlo@gmail.com","username":"laszloh"},"change_message_id":"63ebffa6fdb66f6bb09520f5ec786cee9784f051","unresolved":false,"context_lines":[{"line_number":2815,"context_line":"        return self.compute_rpcapi.get_instance_diagnostics(context,"},{"line_number":2816,"context_line":"                                                            instance\u003dinstance)"},{"line_number":2817,"context_line":""},{"line_number":2818,"context_line":"    # TODO(artom) enforce a certain vm state?"},{"line_number":2819,"context_line":"    @wrap_check_policy"},{"line_number":2820,"context_line":"    def get_device_metadata(self, context, instance):"},{"line_number":2821,"context_line":"        \"\"\"Retrieve device metadata (including tags) for the given instance.\"\"\""}],"source_content_type":"text/x-python","patch_set":29,"id":"9a061dce_6cac1536","line":2818,"range":{"start_line":2818,"start_character":18,"end_line":2818,"end_character":45},"updated":"2016-04-08 12:51:53.000000000","message":"What if the VM is in ERROR state, but mapped to a compute node? Is is possible that some information does not exist? e.g., mac address of interfaces","commit_id":"efadbc8f7fbe01e18eebd5ecb9efe18f431e655c"}],"nova/compute/rpcapi.py":[{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"29fb2e1251d3a2cad7e735d3bb42f518ac55ec74","unresolved":false,"context_lines":[{"line_number":318,"context_line":""},{"line_number":319,"context_line":"        * ...  - Remove refresh_security_group_members()"},{"line_number":320,"context_line":"        * ...  - Remove refresh_security_group_rules()"},{"line_number":321,"context_line":"        * 4.6  - Add trigger_crash_dump()"},{"line_number":322,"context_line":"    \u0027\u0027\u0027"},{"line_number":323,"context_line":""},{"line_number":324,"context_line":"    VERSION_ALIASES \u003d {"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa69d971_c7b0ca45","line":321,"range":{"start_line":321,"start_character":8,"end_line":321,"end_character":41},"updated":"2016-01-11 15:43:53.000000000","message":"We need an entry here for 4.7 and a version bump","commit_id":"467e84947c3e44afa3cab1d6ff917c4ea3869297"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"f18b9d7f8c8623fecfc6c740324c0cdc8fe72fc8","unresolved":false,"context_lines":[{"line_number":318,"context_line":""},{"line_number":319,"context_line":"        * ...  - Remove refresh_security_group_members()"},{"line_number":320,"context_line":"        * ...  - Remove refresh_security_group_rules()"},{"line_number":321,"context_line":"        * 4.6  - Add trigger_crash_dump()"},{"line_number":322,"context_line":"    \u0027\u0027\u0027"},{"line_number":323,"context_line":""},{"line_number":324,"context_line":"    VERSION_ALIASES \u003d {"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa69d971_b56615eb","line":321,"range":{"start_line":321,"start_character":8,"end_line":321,"end_character":41},"in_reply_to":"fa69d971_c7b0ca45","updated":"2016-01-11 19:05:20.000000000","message":"Done","commit_id":"467e84947c3e44afa3cab1d6ff917c4ea3869297"},{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"29fb2e1251d3a2cad7e735d3bb42f518ac55ec74","unresolved":false,"context_lines":[{"line_number":524,"context_line":"        return cctxt.call(ctxt, \u0027get_instance_diagnostics\u0027, **kwargs)"},{"line_number":525,"context_line":""},{"line_number":526,"context_line":"    def get_device_metadata(self, ctxt, instance):"},{"line_number":527,"context_line":"        version \u003d \u00274.6\u0027"},{"line_number":528,"context_line":"        cctxt \u003d self.client.prepare(server\u003d_compute_host(None, instance),"},{"line_number":529,"context_line":"                version\u003dversion)"},{"line_number":530,"context_line":"        return cctxt.call(ctxt, \u0027get_device_metadata\u0027, instance\u003dinstance)"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa69d971_a7459643","line":527,"range":{"start_line":527,"start_character":19,"end_line":527,"end_character":22},"updated":"2016-01-11 15:43:53.000000000","message":"This needs to be 4.7","commit_id":"467e84947c3e44afa3cab1d6ff917c4ea3869297"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"f18b9d7f8c8623fecfc6c740324c0cdc8fe72fc8","unresolved":false,"context_lines":[{"line_number":524,"context_line":"        return cctxt.call(ctxt, \u0027get_instance_diagnostics\u0027, **kwargs)"},{"line_number":525,"context_line":""},{"line_number":526,"context_line":"    def get_device_metadata(self, ctxt, instance):"},{"line_number":527,"context_line":"        version \u003d \u00274.6\u0027"},{"line_number":528,"context_line":"        cctxt \u003d self.client.prepare(server\u003d_compute_host(None, instance),"},{"line_number":529,"context_line":"                version\u003dversion)"},{"line_number":530,"context_line":"        return cctxt.call(ctxt, \u0027get_device_metadata\u0027, instance\u003dinstance)"}],"source_content_type":"text/x-python","patch_set":3,"id":"fa69d971_555f990e","line":527,"range":{"start_line":527,"start_character":19,"end_line":527,"end_character":22},"in_reply_to":"fa69d971_a7459643","updated":"2016-01-11 19:05:20.000000000","message":"Done","commit_id":"467e84947c3e44afa3cab1d6ff917c4ea3869297"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"32de15e175888b7a2c638b06e690c6759de7423f","unresolved":false,"context_lines":[{"line_number":573,"context_line":"        return cctxt.call(ctxt, \u0027get_instance_diagnostics\u0027, **kwargs)"},{"line_number":574,"context_line":""},{"line_number":575,"context_line":"    def get_device_metadata(self, ctxt, instance):"},{"line_number":576,"context_line":"        version \u003d \u00274.7\u0027"},{"line_number":577,"context_line":"        cctxt \u003d self.client.prepare(server\u003d_compute_host(None, instance),"},{"line_number":578,"context_line":"                version\u003dversion)"},{"line_number":579,"context_line":"        return cctxt.call(ctxt, \u0027get_device_metadata\u0027, instance\u003dinstance)"}],"source_content_type":"text/x-python","patch_set":27,"id":"9a061dce_013cf22d","line":576,"range":{"start_line":576,"start_character":18,"end_line":576,"end_character":23},"updated":"2016-04-05 18:08:07.000000000","message":"4.12?","commit_id":"ccca65888d12865aba182103c874f89016efdf48"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"32de15e175888b7a2c638b06e690c6759de7423f","unresolved":false,"context_lines":[{"line_number":576,"context_line":"        version \u003d \u00274.7\u0027"},{"line_number":577,"context_line":"        cctxt \u003d self.client.prepare(server\u003d_compute_host(None, instance),"},{"line_number":578,"context_line":"                version\u003dversion)"},{"line_number":579,"context_line":"        return cctxt.call(ctxt, \u0027get_device_metadata\u0027, instance\u003dinstance)"},{"line_number":580,"context_line":""},{"line_number":581,"context_line":"    def get_vnc_console(self, ctxt, instance, console_type):"},{"line_number":582,"context_line":"        version \u003d \u00274.0\u0027"}],"source_content_type":"text/x-python","patch_set":27,"id":"9a061dce_e10d7e91","line":579,"updated":"2016-04-05 18:08:07.000000000","message":"You need to do something intelligent here if we\u0027re pinned to \u003c4.12","commit_id":"ccca65888d12865aba182103c874f89016efdf48"},{"author":{"_account_id":20873,"name":"Laszlo Hegedus","email":"hegedues.laszlo@gmail.com","username":"laszloh"},"change_message_id":"63ebffa6fdb66f6bb09520f5ec786cee9784f051","unresolved":false,"context_lines":[{"line_number":559,"context_line":"        return cctxt.call(ctxt, \u0027get_instance_diagnostics\u0027, **kwargs)"},{"line_number":560,"context_line":""},{"line_number":561,"context_line":"    def get_device_metadata(self, ctxt, instance):"},{"line_number":562,"context_line":"        version \u003d \u00274.7\u0027"},{"line_number":563,"context_line":"        cctxt \u003d self.client.prepare(server\u003d_compute_host(None, instance),"},{"line_number":564,"context_line":"                version\u003dversion)"},{"line_number":565,"context_line":"        return cctxt.call(ctxt, \u0027get_device_metadata\u0027, instance\u003dinstance)"}],"source_content_type":"text/x-python","patch_set":29,"id":"9a061dce_8c124957","line":562,"range":{"start_line":562,"start_character":19,"end_line":562,"end_character":22},"updated":"2016-04-08 12:51:53.000000000","message":"Just wondering why it is 4.7 instead of 4.12.","commit_id":"efadbc8f7fbe01e18eebd5ecb9efe18f431e655c"}],"nova/tests/unit/test_metadata.py":[{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"829bea185ab3fc86f14c7d696f13a36e1485b363","unresolved":false,"context_lines":[{"line_number":1206,"context_line":"        self.flags(use_local\u003dTrue, group\u003d\u0027conductor\u0027)"},{"line_number":1207,"context_line":"        self.mdinst \u003d fake_InstanceMetadata(self.stubs, self.instance,"},{"line_number":1208,"context_line":"            address\u003dNone, sgroups\u003dNone)"},{"line_number":1209,"context_line":"        self.flags(use_local\u003dTrue, group\u003d\u0027conductor\u0027)"},{"line_number":1210,"context_line":""},{"line_number":1211,"context_line":"    def test_get_password(self):"},{"line_number":1212,"context_line":"        request \u003d webob.Request.blank(\u0027\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"da6ed579_761a8b19","line":1209,"updated":"2016-01-12 10:53:51.000000000","message":"Nothing you\u0027ve added to this file is actually testing / illustrating the data format being exposed to the guest OS by the new metadata service document.\n\nThere should be something showing the data format matches what\u0027s in the spec","commit_id":"461d4401d8ac399728db660f5c747e439b6285f2"},{"author":{"_account_id":20873,"name":"Laszlo Hegedus","email":"hegedues.laszlo@gmail.com","username":"laszloh"},"change_message_id":"63ebffa6fdb66f6bb09520f5ec786cee9784f051","unresolved":false,"context_lines":[{"line_number":532,"context_line":"                                            os_version\u003dos_version)"},{"line_number":533,"context_line":""},{"line_number":534,"context_line":""},{"line_number":535,"context_line":""},{"line_number":536,"context_line":"class OpenStackMetadataTestCase(test.TestCase):"},{"line_number":537,"context_line":"    def setUp(self):"},{"line_number":538,"context_line":"        super(OpenStackMetadataTestCase, self).setUp()"}],"source_content_type":"text/x-python","patch_set":29,"id":"9a061dce_322a742d","line":535,"range":{"start_line":535,"start_character":0,"end_line":535,"end_character":0},"updated":"2016-04-08 12:51:53.000000000","message":"Too many line breaks.","commit_id":"efadbc8f7fbe01e18eebd5ecb9efe18f431e655c"},{"author":{"_account_id":20873,"name":"Laszlo Hegedus","email":"hegedues.laszlo@gmail.com","username":"laszloh"},"change_message_id":"63ebffa6fdb66f6bb09520f5ec786cee9784f051","unresolved":false,"context_lines":[{"line_number":543,"context_line":"        fake_network.stub_out_nw_api_get_instance_nw_info(self)"},{"line_number":544,"context_line":""},{"line_number":545,"context_line":"    def test_empty_device_metadata(self):"},{"line_number":546,"context_line":"        fakes.stub_out_compute_api_get_device_metadata(self.stubs, None)"},{"line_number":547,"context_line":"        fakes.stub_out_key_pair_funcs(self.stubs)"},{"line_number":548,"context_line":"        inst \u003d self.instance.obj_clone()"},{"line_number":549,"context_line":"        mdinst \u003d fake_InstanceMetadata(self.stubs, inst)"}],"source_content_type":"text/x-python","patch_set":29,"id":"9a061dce_52b3a80a","line":546,"range":{"start_line":546,"start_character":8,"end_line":546,"end_character":72},"updated":"2016-04-08 12:51:53.000000000","message":"Already done in setUp.","commit_id":"efadbc8f7fbe01e18eebd5ecb9efe18f431e655c"}]}
