)]}'
{"nova/compute/manager.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"c69e2adadd5d3411c45a3a23436c0cf79bab78dc","unresolved":false,"context_lines":[{"line_number":2050,"context_line":"                    bdms\u003dblock_device_mapping)"},{"line_number":2051,"context_line":"            raise exception.RescheduledException("},{"line_number":2052,"context_line":"                    instance_uuid\u003dinstance.uuid, reason\u003de.format_message())"},{"line_number":2053,"context_line":"        except exception.BuildAbortException as e:"},{"line_number":2054,"context_line":"            with excutils.save_and_reraise_exception():"},{"line_number":2055,"context_line":"                LOG.debug(e.format_message(), instance\u003dinstance)"},{"line_number":2056,"context_line":"                self._notify_about_instance_usage(context, instance,"},{"line_number":2057,"context_line":"                    \u0027create.error\u0027, fault\u003de)"},{"line_number":2058,"context_line":"                compute_utils.notify_about_instance_create("},{"line_number":2059,"context_line":"                    context, instance, self.host,"},{"line_number":2060,"context_line":"                    phase\u003dfields.NotificationPhase.ERROR, exception\u003de,"},{"line_number":2061,"context_line":"                    bdms\u003dblock_device_mapping)"},{"line_number":2062,"context_line":"        except (exception.FixedIpLimitExceeded,"},{"line_number":2063,"context_line":"                exception.NoMoreNetworks, exception.NoMoreFixedIps) as e:"},{"line_number":2064,"context_line":"            LOG.warning(\u0027No more network or fixed IP to be allocated\u0027,"},{"line_number":2065,"context_line":"                        instance\u003dinstance)"},{"line_number":2066,"context_line":"            self._notify_about_instance_usage(context, instance,"},{"line_number":2067,"context_line":"                    \u0027create.error\u0027, fault\u003de)"},{"line_number":2068,"context_line":"            compute_utils.notify_about_instance_create("},{"line_number":2069,"context_line":"                    context, instance, self.host,"},{"line_number":2070,"context_line":"                    phase\u003dfields.NotificationPhase.ERROR, exception\u003de,"},{"line_number":2071,"context_line":"                    bdms\u003dblock_device_mapping)"},{"line_number":2072,"context_line":"            msg \u003d _(\u0027Failed to allocate the network(s) with error %s, \u0027"},{"line_number":2073,"context_line":"                    \u0027not rescheduling.\u0027) % e.format_message()"},{"line_number":2074,"context_line":"            raise exception.BuildAbortException(instance_uuid\u003dinstance.uuid,"},{"line_number":2075,"context_line":"                    reason\u003dmsg)"},{"line_number":2076,"context_line":"        except (exception.VirtualInterfaceCreateException,"},{"line_number":2077,"context_line":"                exception.VirtualInterfaceMacAddressException,"},{"line_number":2078,"context_line":"                exception.FixedIpInvalidOnHost,"},{"line_number":2079,"context_line":"                exception.UnableToAutoAllocateNetwork) as e:"},{"line_number":2080,"context_line":"            LOG.exception(\u0027Failed to allocate network(s)\u0027,"},{"line_number":2081,"context_line":"                          instance\u003dinstance)"},{"line_number":2082,"context_line":"            self._notify_about_instance_usage(context, instance,"},{"line_number":2083,"context_line":"                    \u0027create.error\u0027, fault\u003de)"},{"line_number":2084,"context_line":"            compute_utils.notify_about_instance_create("},{"line_number":2085,"context_line":"                    context, instance, self.host,"},{"line_number":2086,"context_line":"                    phase\u003dfields.NotificationPhase.ERROR, exception\u003de,"},{"line_number":2087,"context_line":"                    bdms\u003dblock_device_mapping)"},{"line_number":2088,"context_line":"            msg \u003d _(\u0027Failed to allocate the network(s), not rescheduling.\u0027)"},{"line_number":2089,"context_line":"            raise exception.BuildAbortException(instance_uuid\u003dinstance.uuid,"},{"line_number":2090,"context_line":"                    reason\u003dmsg)"},{"line_number":2091,"context_line":"        except (exception.FlavorDiskTooSmall,"},{"line_number":2092,"context_line":"                exception.FlavorMemoryTooSmall,"},{"line_number":2093,"context_line":"                exception.ImageNotActive,"},{"line_number":2094,"context_line":"                exception.ImageUnacceptable,"},{"line_number":2095,"context_line":"                exception.InvalidDiskInfo,"},{"line_number":2096,"context_line":"                exception.InvalidDiskFormat,"},{"line_number":2097,"context_line":"                cursive_exception.SignatureVerificationError,"},{"line_number":2098,"context_line":"                exception.VolumeEncryptionNotSupported,"},{"line_number":2099,"context_line":"                exception.InvalidInput) as e:"},{"line_number":2100,"context_line":"            self._notify_about_instance_usage(context, instance,"},{"line_number":2101,"context_line":"                    \u0027create.error\u0027, fault\u003de)"},{"line_number":2102,"context_line":"            compute_utils.notify_about_instance_create("},{"line_number":2103,"context_line":"                    context, instance, self.host,"},{"line_number":2104,"context_line":"                    phase\u003dfields.NotificationPhase.ERROR, exception\u003de,"},{"line_number":2105,"context_line":"                    bdms\u003dblock_device_mapping)"},{"line_number":2106,"context_line":"            raise exception.BuildAbortException(instance_uuid\u003dinstance.uuid,"},{"line_number":2107,"context_line":"                    reason\u003de.format_message())"},{"line_number":2108,"context_line":"        except Exception as e:"},{"line_number":2109,"context_line":"            self._notify_about_instance_usage(context, instance,"},{"line_number":2110,"context_line":"                    \u0027create.error\u0027, fault\u003de)"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf659307_81162ea7","line":2107,"range":{"start_line":2053,"start_character":8,"end_line":2107,"end_character":46},"updated":"2018-04-09 14:32:57.000000000","message":"And this is the block of stuff that would raise BuildAbortException. As can be seen here, we already log a few things at debug or warning, and in one case we also stacktrace. But the point is we\u0027re handling known failures here, logging specific to those errors and then raising up so we don\u0027t need to trace (again in the case of networking).","commit_id":"32f5c5075c3bbf315dd2d60327b37863182bbf37"}],"nova/tests/unit/compute/test_compute_mgr.py":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"77ddf8cb7c758816d472355d019006a8f049183a","unresolved":false,"context_lines":[{"line_number":5189,"context_line":"        self._test_build_and_run_exceptions("},{"line_number":5190,"context_line":"            exception.BuildAbortException(instance_uuid\u003d\u0027\u0027, reason\u003d\u0027\u0027),"},{"line_number":5191,"context_line":"            set_error\u003dTrue, cleanup_volumes\u003dTrue, nil_out_host_and_node\u003dTrue)"},{"line_number":5192,"context_line":"        mock_le.assert_called_once_with(\u0027Build of instance  aborted: \u0027,"},{"line_number":5193,"context_line":"                                        instance\u003dmock.ANY)"},{"line_number":5194,"context_line":""},{"line_number":5195,"context_line":"    def test_build_and_run_unhandled_exception(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf659307_a1d9f222","line":5192,"range":{"start_line":5192,"start_character":58,"end_line":5192,"end_character":60},"updated":"2018-04-09 14:31:34.000000000","message":"did you mean to have two spaces in here?","commit_id":"32f5c5075c3bbf315dd2d60327b37863182bbf37"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"65fad02e14ad108e4bff01e5762c215a6c56af01","unresolved":false,"context_lines":[{"line_number":5189,"context_line":"        self._test_build_and_run_exceptions("},{"line_number":5190,"context_line":"            exception.BuildAbortException(instance_uuid\u003d\u0027\u0027, reason\u003d\u0027\u0027),"},{"line_number":5191,"context_line":"            set_error\u003dTrue, cleanup_volumes\u003dTrue, nil_out_host_and_node\u003dTrue)"},{"line_number":5192,"context_line":"        mock_le.assert_called_once_with(\u0027Build of instance  aborted: \u0027,"},{"line_number":5193,"context_line":"                                        instance\u003dmock.ANY)"},{"line_number":5194,"context_line":""},{"line_number":5195,"context_line":"    def test_build_and_run_unhandled_exception(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf659307_c1f74659","line":5192,"range":{"start_line":5192,"start_character":58,"end_line":5192,"end_character":60},"in_reply_to":"bf659307_41ec968e","updated":"2018-04-09 14:35:00.000000000","message":"class BuildAbortException(NovaException):\n    msg_fmt \u003d _(\"Build of instance %(instance_uuid)s aborted: %(reason)s\")","commit_id":"32f5c5075c3bbf315dd2d60327b37863182bbf37"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"f4e3f5c38f7de3c0b580da25f3722ac2ca14d7aa","unresolved":false,"context_lines":[{"line_number":5189,"context_line":"        self._test_build_and_run_exceptions("},{"line_number":5190,"context_line":"            exception.BuildAbortException(instance_uuid\u003d\u0027\u0027, reason\u003d\u0027\u0027),"},{"line_number":5191,"context_line":"            set_error\u003dTrue, cleanup_volumes\u003dTrue, nil_out_host_and_node\u003dTrue)"},{"line_number":5192,"context_line":"        mock_le.assert_called_once_with(\u0027Build of instance  aborted: \u0027,"},{"line_number":5193,"context_line":"                                        instance\u003dmock.ANY)"},{"line_number":5194,"context_line":""},{"line_number":5195,"context_line":"    def test_build_and_run_unhandled_exception(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf659307_41ec968e","line":5192,"range":{"start_line":5192,"start_character":58,"end_line":5192,"end_character":60},"in_reply_to":"bf659307_a1d9f222","updated":"2018-04-09 14:34:45.000000000","message":"Yeah because that\u0027s where the instance_uuid goes, which is an empty string in this test.","commit_id":"32f5c5075c3bbf315dd2d60327b37863182bbf37"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"6111e77deee16c9da62f4bfbce01038640fa5bb0","unresolved":false,"context_lines":[{"line_number":5189,"context_line":"        self._test_build_and_run_exceptions("},{"line_number":5190,"context_line":"            exception.BuildAbortException(instance_uuid\u003d\u0027\u0027, reason\u003d\u0027\u0027),"},{"line_number":5191,"context_line":"            set_error\u003dTrue, cleanup_volumes\u003dTrue, nil_out_host_and_node\u003dTrue)"},{"line_number":5192,"context_line":"        mock_le.assert_called_once_with(\u0027Build of instance  aborted: \u0027,"},{"line_number":5193,"context_line":"                                        instance\u003dmock.ANY)"},{"line_number":5194,"context_line":""},{"line_number":5195,"context_line":"    def test_build_and_run_unhandled_exception(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"bf659307_8c018507","line":5192,"range":{"start_line":5192,"start_character":58,"end_line":5192,"end_character":60},"in_reply_to":"bf659307_c1f74659","updated":"2018-04-09 14:41:44.000000000","message":"Yup.","commit_id":"32f5c5075c3bbf315dd2d60327b37863182bbf37"}]}
