)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"0f3d9b5a2b2d49d0ca3ec5ae6bfcb6a45049ac07","unresolved":false,"context_lines":[{"line_number":11,"context_line":"This is the start of an alternate fix to bug 1694844 which tries to"},{"line_number":12,"context_line":"be less hairy than Ib31ba2cbff0ebb22503172d8801b6e0c3d2aa68a."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Closes-Bug: #1846777"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: I6b462806ca3f49452809e241c3858b63ff9f641a"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3fa7e38b_e34d6c72","line":14,"range":{"start_line":14,"start_character":13,"end_line":14,"end_character":20},"updated":"2019-10-09 15:16:09.000000000","message":"Wrong bug, should be bug 1694844.","commit_id":"8ce1bfe6503c9ae35536d7c45eb0a1e2cd2a5069"}],"nova/api/openstack/compute/servers.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"641381eef716e9f09c3044d52122a0ed6d235f9e","unresolved":false,"context_lines":[{"line_number":737,"context_line":"                exception.FlavorMemoryTooSmall,"},{"line_number":738,"context_line":"                exception.InvalidMetadata,"},{"line_number":739,"context_line":"                exception.InvalidVolume,"},{"line_number":740,"context_line":"                exception.MismatchVolumeAZException,"},{"line_number":741,"context_line":"                exception.MultiplePortsNotApplicable,"},{"line_number":742,"context_line":"                exception.InvalidFixedIpAndMaxCountRequest,"},{"line_number":743,"context_line":"                exception.InstanceUserDataMalformed,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_ec2d6a46","line":740,"updated":"2019-10-08 23:36:27.000000000","message":"I should write a functional test that still trips this.","commit_id":"8ce1bfe6503c9ae35536d7c45eb0a1e2cd2a5069"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"1ecc791a0c38d17cc50f30e6a66163d907063287","unresolved":false,"context_lines":[{"line_number":737,"context_line":"                exception.FlavorMemoryTooSmall,"},{"line_number":738,"context_line":"                exception.InvalidMetadata,"},{"line_number":739,"context_line":"                exception.InvalidVolume,"},{"line_number":740,"context_line":"                exception.MismatchVolumeAZException,"},{"line_number":741,"context_line":"                exception.MultiplePortsNotApplicable,"},{"line_number":742,"context_line":"                exception.InvalidFixedIpAndMaxCountRequest,"},{"line_number":743,"context_line":"                exception.InstanceUserDataMalformed,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_faee7120","line":740,"in_reply_to":"3fa7e38b_ec2d6a46","updated":"2019-10-09 13:16:25.000000000","message":"Done","commit_id":"8ce1bfe6503c9ae35536d7c45eb0a1e2cd2a5069"}],"nova/compute/api.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"641381eef716e9f09c3044d52122a0ed6d235f9e","unresolved":false,"context_lines":[{"line_number":1221,"context_line":"                block_device_mapping \u003d ("},{"line_number":1222,"context_line":"                    self._bdm_validate_set_size_and_instance(context,"},{"line_number":1223,"context_line":"                        instance, instance_type, block_device_mapping,"},{"line_number":1224,"context_line":"                        image_cache, volumes, supports_multiattach))"},{"line_number":1225,"context_line":"                instance_tags \u003d self._transform_tags(tags, instance.uuid)"},{"line_number":1226,"context_line":""},{"line_number":1227,"context_line":"                build_request \u003d objects.BuildRequest(context,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_cc2aee2a","line":1224,"updated":"2019-10-08 23:36:27.000000000","message":"Passing this down avoids the redundant GETs to get the volumes for further validation.","commit_id":"8ce1bfe6503c9ae35536d7c45eb0a1e2cd2a5069"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"641381eef716e9f09c3044d52122a0ed6d235f9e","unresolved":false,"context_lines":[{"line_number":4229,"context_line":"            volumes, i.e. microversion \u003e\u003d 2.60, False otherwise"},{"line_number":4230,"context_line":"        :param validate_az: True if the instance and volume availability zones"},{"line_number":4231,"context_line":"            should be validated for cross_az_attach, False to not validate AZ"},{"line_number":4232,"context_line":"        :return:"},{"line_number":4233,"context_line":"        \"\"\""},{"line_number":4234,"context_line":"        volume_id \u003d volume[\u0027id\u0027]"},{"line_number":4235,"context_line":"        if validate_az:"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_6c217a4d","line":4232,"range":{"start_line":4232,"start_character":8,"end_line":4232,"end_character":16},"updated":"2019-10-08 23:36:27.000000000","message":"nix this","commit_id":"8ce1bfe6503c9ae35536d7c45eb0a1e2cd2a5069"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"1ecc791a0c38d17cc50f30e6a66163d907063287","unresolved":false,"context_lines":[{"line_number":4229,"context_line":"            volumes, i.e. microversion \u003e\u003d 2.60, False otherwise"},{"line_number":4230,"context_line":"        :param validate_az: True if the instance and volume availability zones"},{"line_number":4231,"context_line":"            should be validated for cross_az_attach, False to not validate AZ"},{"line_number":4232,"context_line":"        :return:"},{"line_number":4233,"context_line":"        \"\"\""},{"line_number":4234,"context_line":"        volume_id \u003d volume[\u0027id\u0027]"},{"line_number":4235,"context_line":"        if validate_az:"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_da4db572","line":4232,"range":{"start_line":4232,"start_character":8,"end_line":4232,"end_character":16},"in_reply_to":"3fa7e38b_6c217a4d","updated":"2019-10-09 13:16:25.000000000","message":"Done","commit_id":"8ce1bfe6503c9ae35536d7c45eb0a1e2cd2a5069"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"641381eef716e9f09c3044d52122a0ed6d235f9e","unresolved":false,"context_lines":[{"line_number":4240,"context_line":"        if volume[\u0027multiattach\u0027] and not supports_multiattach:"},{"line_number":4241,"context_line":"            raise exception.MultiattachNotSupportedOldMicroversion()"},{"line_number":4242,"context_line":""},{"line_number":4243,"context_line":"        attachment_id \u003d self.volume_api.attachment_create("},{"line_number":4244,"context_line":"            context, volume_id, instance.uuid)[\u0027id\u0027]"},{"line_number":4245,"context_line":"        bdm.attachment_id \u003d attachment_id"},{"line_number":4246,"context_line":"        # NOTE(ildikov): In case of boot from volume the BDM at this"},{"line_number":4247,"context_line":"        # point is not yet created in a cell database, so we can\u0027t"},{"line_number":4248,"context_line":"        # call save().  When attaching a volume to an existing"},{"line_number":4249,"context_line":"        # instance, the instance is already in a cell and the BDM has"},{"line_number":4250,"context_line":"        # been created in that same cell so updating here in that case"},{"line_number":4251,"context_line":"        # is \"ok\"."},{"line_number":4252,"context_line":"        if bdm.obj_attr_is_set(\u0027id\u0027):"},{"line_number":4253,"context_line":"            bdm.save()"},{"line_number":4254,"context_line":""},{"line_number":4255,"context_line":"    # TODO(stephenfin): Fold this back in now that cells v1 no longer needs to"},{"line_number":4256,"context_line":"    # override it."}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_8c1cf613","line":4253,"range":{"start_line":4243,"start_character":8,"end_line":4253,"end_character":22},"updated":"2019-10-08 23:36:27.000000000","message":"Should probably mention this stuff in the docstring.","commit_id":"8ce1bfe6503c9ae35536d7c45eb0a1e2cd2a5069"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"1ecc791a0c38d17cc50f30e6a66163d907063287","unresolved":false,"context_lines":[{"line_number":4240,"context_line":"        if volume[\u0027multiattach\u0027] and not supports_multiattach:"},{"line_number":4241,"context_line":"            raise exception.MultiattachNotSupportedOldMicroversion()"},{"line_number":4242,"context_line":""},{"line_number":4243,"context_line":"        attachment_id \u003d self.volume_api.attachment_create("},{"line_number":4244,"context_line":"            context, volume_id, instance.uuid)[\u0027id\u0027]"},{"line_number":4245,"context_line":"        bdm.attachment_id \u003d attachment_id"},{"line_number":4246,"context_line":"        # NOTE(ildikov): In case of boot from volume the BDM at this"},{"line_number":4247,"context_line":"        # point is not yet created in a cell database, so we can\u0027t"},{"line_number":4248,"context_line":"        # call save().  When attaching a volume to an existing"},{"line_number":4249,"context_line":"        # instance, the instance is already in a cell and the BDM has"},{"line_number":4250,"context_line":"        # been created in that same cell so updating here in that case"},{"line_number":4251,"context_line":"        # is \"ok\"."},{"line_number":4252,"context_line":"        if bdm.obj_attr_is_set(\u0027id\u0027):"},{"line_number":4253,"context_line":"            bdm.save()"},{"line_number":4254,"context_line":""},{"line_number":4255,"context_line":"    # TODO(stephenfin): Fold this back in now that cells v1 no longer needs to"},{"line_number":4256,"context_line":"    # override it."}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_3a2f2989","line":4253,"range":{"start_line":4243,"start_character":8,"end_line":4253,"end_character":22},"in_reply_to":"3fa7e38b_8c1cf613","updated":"2019-10-09 13:16:25.000000000","message":"Done","commit_id":"8ce1bfe6503c9ae35536d7c45eb0a1e2cd2a5069"}]}
