)]}'
{"nova/compute/utils.py":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"897bcd5ef40ab36cfe9ae21501955dfce9dba543","unresolved":false,"context_lines":[{"line_number":224,"context_line":"    return not instance[\u0027image_ref\u0027]"},{"line_number":225,"context_line":""},{"line_number":226,"context_line":""},{"line_number":227,"context_line":"def heal_reqspec_is_bfv(ctxt, request_spec, instance):"},{"line_number":228,"context_line":"    \"\"\"Calculates the is_bfv flag for a RequestSpec created before Rocky."},{"line_number":229,"context_line":""},{"line_number":230,"context_line":"    Starting in Rocky, new instances have their RequestSpec created with"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_17fdc63b","line":227,"updated":"2018-07-23 13:57:14.000000000","message":"I think I would have put this on the request spec object itself like the other ensure_ method, but okay :)","commit_id":"a500f13b120d11b56560bc7b7729ec0f9ecb4781"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"57b59cac08d27b2479d036980f92317802ec17ff","unresolved":false,"context_lines":[{"line_number":242,"context_line":"        return"},{"line_number":243,"context_line":"    # Determine if this is a volume-backed instance and set the field"},{"line_number":244,"context_line":"    # in the request spec accordingly."},{"line_number":245,"context_line":"    request_spec.is_bfv \u003d is_volume_backed_instance(ctxt, instance)"},{"line_number":246,"context_line":"    request_spec.save()"},{"line_number":247,"context_line":""},{"line_number":248,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_ac6b60ee","line":245,"updated":"2018-07-23 16:12:37.000000000","message":"Do we need to bool() this? Is the is_volume property L218 guaranteed to be boolean? Looks like it. So no, we should be good.","commit_id":"14b512afb789aede778703fedb7f1f5fca5577ce"}],"nova/conductor/manager.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9f02796e62eac5816234e2cd92b1ff4bb62aedc1","unresolved":false,"context_lines":[{"line_number":708,"context_line":"                    block_device_mapping\u003dbdms, node\u003dhost.nodename,"},{"line_number":709,"context_line":"                    limits\u003dhost.limits, host_list\u003dhost_list)"},{"line_number":710,"context_line":""},{"line_number":711,"context_line":"    def _schedule_instances(self, context, request_spec, instance_uuids,"},{"line_number":712,"context_line":"                            return_alternates\u003dFalse):"},{"line_number":713,"context_line":"        scheduler_utils.setup_instance_group(context, request_spec)"},{"line_number":714,"context_line":"        host_lists \u003d self.scheduler_client.select_destinations(context,"},{"line_number":715,"context_line":"                request_spec, instance_uuids, return_objects\u003dTrue,"}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_f9a17893","line":712,"range":{"start_line":711,"start_character":4,"end_line":712,"end_character":53},"updated":"2018-07-18 21:04:53.000000000","message":"This can be undone now. I was originally going to do the heal in here, but it got dumb with the instance_uuids being a list.","commit_id":"9876b840ce4e4d4cf581b94b41c301ba1bc2ad6a"}],"nova/tests/unit/conductor/tasks/test_live_migrate.py":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"57b59cac08d27b2479d036980f92317802ec17ff","unresolved":false,"context_lines":[{"line_number":60,"context_line":"        self._generate_task()"},{"line_number":61,"context_line":"        self.heal_reqspec_is_bfv_mock \u003d mock.patch("},{"line_number":62,"context_line":"            \u0027nova.compute.utils.heal_reqspec_is_bfv\u0027).start()"},{"line_number":63,"context_line":"        self.addCleanup(self.heal_reqspec_is_bfv_mock.stop)"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"    def _generate_task(self):"},{"line_number":66,"context_line":"        self.task \u003d live_migrate.LiveMigrationTask(self.context,"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_ac3920f2","line":63,"range":{"start_line":63,"start_character":8,"end_line":63,"end_character":59},"updated":"2018-07-23 16:12:37.000000000","message":"This isn\u0027t stopping the mock. Needs to be:\n\n _p \u003d mock.patch(...)\n self.heal_reqspec_is_bfv_mock \u003d _p.start()\n self.addCleanup(_p.stop)","commit_id":"14b512afb789aede778703fedb7f1f5fca5577ce"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"1f4597a19873db45b903f2023f23a710835d8502","unresolved":false,"context_lines":[{"line_number":60,"context_line":"        self._generate_task()"},{"line_number":61,"context_line":"        self.heal_reqspec_is_bfv_mock \u003d mock.patch("},{"line_number":62,"context_line":"            \u0027nova.compute.utils.heal_reqspec_is_bfv\u0027).start()"},{"line_number":63,"context_line":"        self.addCleanup(self.heal_reqspec_is_bfv_mock.stop)"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"    def _generate_task(self):"},{"line_number":66,"context_line":"        self.task \u003d live_migrate.LiveMigrationTask(self.context,"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_efe70a45","line":63,"range":{"start_line":63,"start_character":8,"end_line":63,"end_character":59},"in_reply_to":"5f7c97a3_ac3920f2","updated":"2018-07-23 16:34:42.000000000","message":"Done","commit_id":"14b512afb789aede778703fedb7f1f5fca5577ce"}],"nova/tests/unit/conductor/tasks/test_migrate.py":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"57b59cac08d27b2479d036980f92317802ec17ff","unresolved":false,"context_lines":[{"line_number":50,"context_line":"                                  \u0027hosts\u0027: [[\u0027host1\u0027, \u0027node1\u0027]]}}"},{"line_number":51,"context_line":"        self.reservations \u003d []"},{"line_number":52,"context_line":"        self.clean_shutdown \u003d True"},{"line_number":53,"context_line":"        self.heal_reqspec_is_bfv_mock \u003d mock.patch("},{"line_number":54,"context_line":"            \u0027nova.compute.utils.heal_reqspec_is_bfv\u0027).start()"},{"line_number":55,"context_line":"        self.addCleanup(self.heal_reqspec_is_bfv_mock.stop)"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    def _generate_task(self):"},{"line_number":58,"context_line":"        return migrate.MigrationTask(self.context, self.instance, self.flavor,"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_2c2510c0","line":55,"range":{"start_line":53,"start_character":0,"end_line":55,"end_character":59},"updated":"2018-07-23 16:12:37.000000000","message":"same","commit_id":"14b512afb789aede778703fedb7f1f5fca5577ce"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"1f4597a19873db45b903f2023f23a710835d8502","unresolved":false,"context_lines":[{"line_number":50,"context_line":"                                  \u0027hosts\u0027: [[\u0027host1\u0027, \u0027node1\u0027]]}}"},{"line_number":51,"context_line":"        self.reservations \u003d []"},{"line_number":52,"context_line":"        self.clean_shutdown \u003d True"},{"line_number":53,"context_line":"        self.heal_reqspec_is_bfv_mock \u003d mock.patch("},{"line_number":54,"context_line":"            \u0027nova.compute.utils.heal_reqspec_is_bfv\u0027).start()"},{"line_number":55,"context_line":"        self.addCleanup(self.heal_reqspec_is_bfv_mock.stop)"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    def _generate_task(self):"},{"line_number":58,"context_line":"        return migrate.MigrationTask(self.context, self.instance, self.flavor,"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_8fec5629","line":55,"range":{"start_line":53,"start_character":0,"end_line":55,"end_character":59},"in_reply_to":"5f7c97a3_2c2510c0","updated":"2018-07-23 16:34:42.000000000","message":"Done","commit_id":"14b512afb789aede778703fedb7f1f5fca5577ce"}],"nova/tests/unit/conductor/test_conductor.py":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"57b59cac08d27b2479d036980f92317802ec17ff","unresolved":false,"context_lines":[{"line_number":343,"context_line":"                      fake_deserialize_context)"},{"line_number":344,"context_line":""},{"line_number":345,"context_line":"        self.useFixture(fixtures.SpawnIsSynchronousFixture())"},{"line_number":346,"context_line":"        self.heal_reqspec_is_bfv_mock \u003d mock.patch("},{"line_number":347,"context_line":"            \u0027nova.compute.utils.heal_reqspec_is_bfv\u0027).start()"},{"line_number":348,"context_line":"        self.addCleanup(self.heal_reqspec_is_bfv_mock.stop)"},{"line_number":349,"context_line":""},{"line_number":350,"context_line":"    def _prepare_rebuild_args(self, update_args\u003dNone):"},{"line_number":351,"context_line":"        # Args that don\u0027t get passed in to the method but do get passed to RPC"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_ec187884","line":348,"range":{"start_line":346,"start_character":0,"end_line":348,"end_character":59},"updated":"2018-07-23 16:12:37.000000000","message":"same","commit_id":"14b512afb789aede778703fedb7f1f5fca5577ce"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"1f4597a19873db45b903f2023f23a710835d8502","unresolved":false,"context_lines":[{"line_number":343,"context_line":"                      fake_deserialize_context)"},{"line_number":344,"context_line":""},{"line_number":345,"context_line":"        self.useFixture(fixtures.SpawnIsSynchronousFixture())"},{"line_number":346,"context_line":"        self.heal_reqspec_is_bfv_mock \u003d mock.patch("},{"line_number":347,"context_line":"            \u0027nova.compute.utils.heal_reqspec_is_bfv\u0027).start()"},{"line_number":348,"context_line":"        self.addCleanup(self.heal_reqspec_is_bfv_mock.stop)"},{"line_number":349,"context_line":""},{"line_number":350,"context_line":"    def _prepare_rebuild_args(self, update_args\u003dNone):"},{"line_number":351,"context_line":"        # Args that don\u0027t get passed in to the method but do get passed to RPC"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_4fd63e57","line":348,"range":{"start_line":346,"start_character":0,"end_line":348,"end_character":59},"in_reply_to":"5f7c97a3_ec187884","updated":"2018-07-23 16:34:42.000000000","message":"Done","commit_id":"14b512afb789aede778703fedb7f1f5fca5577ce"}]}
