)]}'
{"nova/api/openstack/compute/attach_interfaces.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"091fb38dc04a00a345173906bf28101cbbdd69b8","unresolved":false,"context_lines":[{"line_number":135,"context_line":"                exception.PortNotUsable,"},{"line_number":136,"context_line":"                exception.AttachInterfaceNotSupported,"},{"line_number":137,"context_line":"                exception.SecurityGroupCannotBeApplied,"},{"line_number":138,"context_line":"                exception.TaggedAttachmentNotSupported) as e:"},{"line_number":139,"context_line":"            raise exc.HTTPBadRequest(explanation\u003de.format_message())"},{"line_number":140,"context_line":"        except (exception.InstanceIsLocked,"},{"line_number":141,"context_line":"                exception.FixedIpAlreadyInUse,"}],"source_content_type":"text/x-python","patch_set":53,"id":"5f201791_6a6d0803","line":138,"range":{"start_line":138,"start_character":26,"end_line":138,"end_character":54},"updated":"2017-06-22 22:17:11.000000000","message":"There is no unit test to make sure this is handled and converted to a 400.","commit_id":"b4fb8642730ee631ae75c2caf8dbcb180140261a"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"d38894243bf4c8b9a440282ba4ad2020373badb3","unresolved":false,"context_lines":[{"line_number":135,"context_line":"                exception.PortNotUsable,"},{"line_number":136,"context_line":"                exception.AttachInterfaceNotSupported,"},{"line_number":137,"context_line":"                exception.SecurityGroupCannotBeApplied,"},{"line_number":138,"context_line":"                exception.TaggedAttachmentNotSupported) as e:"},{"line_number":139,"context_line":"            raise exc.HTTPBadRequest(explanation\u003de.format_message())"},{"line_number":140,"context_line":"        except (exception.InstanceIsLocked,"},{"line_number":141,"context_line":"                exception.FixedIpAlreadyInUse,"}],"source_content_type":"text/x-python","patch_set":53,"id":"5f201791_994c409f","line":138,"range":{"start_line":138,"start_character":26,"end_line":138,"end_character":54},"in_reply_to":"5f201791_6a6d0803","updated":"2017-06-23 04:45:53.000000000","message":"Done","commit_id":"b4fb8642730ee631ae75c2caf8dbcb180140261a"}],"nova/compute/api.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"091fb38dc04a00a345173906bf28101cbbdd69b8","unresolved":false,"context_lines":[{"line_number":3926,"context_line":"        \"\"\"Use hotplug to add an network adapter to an instance.\"\"\""},{"line_number":3927,"context_line":"        return self.compute_rpcapi.attach_interface(context,"},{"line_number":3928,"context_line":"            instance\u003dinstance, network_id\u003dnetwork_id, port_id\u003dport_id,"},{"line_number":3929,"context_line":"            requested_ip\u003drequested_ip, tag\u003dtag)"},{"line_number":3930,"context_line":""},{"line_number":3931,"context_line":"    @check_instance_lock"},{"line_number":3932,"context_line":"    @check_instance_state(vm_state\u003d[vm_states.ACTIVE, vm_states.PAUSED,"}],"source_content_type":"text/x-python","patch_set":53,"id":"5f201791_aa63201a","line":3929,"updated":"2017-06-22 22:17:11.000000000","message":"I don\u0027t think we have a test for this being passed through.","commit_id":"b4fb8642730ee631ae75c2caf8dbcb180140261a"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"d38894243bf4c8b9a440282ba4ad2020373badb3","unresolved":false,"context_lines":[{"line_number":3926,"context_line":"        \"\"\"Use hotplug to add an network adapter to an instance.\"\"\""},{"line_number":3927,"context_line":"        return self.compute_rpcapi.attach_interface(context,"},{"line_number":3928,"context_line":"            instance\u003dinstance, network_id\u003dnetwork_id, port_id\u003dport_id,"},{"line_number":3929,"context_line":"            requested_ip\u003drequested_ip, tag\u003dtag)"},{"line_number":3930,"context_line":""},{"line_number":3931,"context_line":"    @check_instance_lock"},{"line_number":3932,"context_line":"    @check_instance_state(vm_state\u003d[vm_states.ACTIVE, vm_states.PAUSED,"}],"source_content_type":"text/x-python","patch_set":53,"id":"5f201791_41090edb","line":3929,"in_reply_to":"5f201791_aa63201a","updated":"2017-06-23 04:45:53.000000000","message":"Done","commit_id":"b4fb8642730ee631ae75c2caf8dbcb180140261a"}],"nova/compute/manager.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"e27f53ca34dff7fb8a7b1b7d1320fb6f69c53b76","unresolved":false,"context_lines":[{"line_number":5152,"context_line":"        if (tag and not"},{"line_number":5153,"context_line":"            self.driver.capabilities.get(\u0027supports_tagged_attach_interface\u0027,"},{"line_number":5154,"context_line":"                                         False)):"},{"line_number":5155,"context_line":"            raise exception.NetworkInterfaceTaggedAttachNotSupported()"},{"line_number":5156,"context_line":"        bind_host_id \u003d self.driver.network_binding_host_id(context, instance)"},{"line_number":5157,"context_line":"        network_info \u003d self.network_api.allocate_port_for_instance("},{"line_number":5158,"context_line":"            context, instance, port_id, network_id, requested_ip,"}],"source_content_type":"text/x-python","patch_set":39,"id":"ff0f0b1f_978e902c","line":5155,"range":{"start_line":5155,"start_character":28,"end_line":5155,"end_character":68},"updated":"2017-05-17 21:26:55.000000000","message":"Leaking this through to the REST API is going to result in a 500. And yes it\u0027s an RPC call from the API to the compute for attach_interface for whatever reason.","commit_id":"851c2cd8ec84daadbc72e3ece69bb7928938d523"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"1fa574b8e7267de87a3b6c028804adac8dec78ea","unresolved":false,"context_lines":[{"line_number":5152,"context_line":"        if (tag and not"},{"line_number":5153,"context_line":"            self.driver.capabilities.get(\u0027supports_tagged_attach_interface\u0027,"},{"line_number":5154,"context_line":"                                         False)):"},{"line_number":5155,"context_line":"            raise exception.NetworkInterfaceTaggedAttachNotSupported()"},{"line_number":5156,"context_line":"        bind_host_id \u003d self.driver.network_binding_host_id(context, instance)"},{"line_number":5157,"context_line":"        network_info \u003d self.network_api.allocate_port_for_instance("},{"line_number":5158,"context_line":"            context, instance, port_id, network_id, requested_ip,"}],"source_content_type":"text/x-python","patch_set":39,"id":"ff0f0b1f_6437acb2","line":5155,"range":{"start_line":5155,"start_character":28,"end_line":5155,"end_character":68},"in_reply_to":"ff0f0b1f_978e902c","updated":"2017-05-18 15:19:54.000000000","message":"Done","commit_id":"851c2cd8ec84daadbc72e3ece69bb7928938d523"}],"nova/compute/rpcapi.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"e999daae13de286076c5d955784476449a3a19c1","unresolved":false,"context_lines":[{"line_number":411,"context_line":"                   instance\u003dinstance, network_id\u003dnetwork_id)"},{"line_number":412,"context_line":""},{"line_number":413,"context_line":"    def attach_interface(self, ctxt, instance, network_id, port_id,"},{"line_number":414,"context_line":"                         requested_ip, tag\u003dNone):"},{"line_number":415,"context_line":"        version \u003d \u00274.0\u0027"},{"line_number":416,"context_line":"        cctxt \u003d self.router.by_instance(ctxt, instance).prepare("},{"line_number":417,"context_line":"                server\u003d_compute_host(None, instance), version\u003dversion)"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba5201f7_7487d9b4","line":414,"updated":"2017-01-07 18:17:21.000000000","message":"Version has to be bumped for this.","commit_id":"e40be1441523e59afcae9e2d146db33abd96117f"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"e999daae13de286076c5d955784476449a3a19c1","unresolved":false,"context_lines":[{"line_number":417,"context_line":"                server\u003d_compute_host(None, instance), version\u003dversion)"},{"line_number":418,"context_line":"        return cctxt.call(ctxt, \u0027attach_interface\u0027,"},{"line_number":419,"context_line":"                          instance\u003dinstance, network_id\u003dnetwork_id,"},{"line_number":420,"context_line":"                          port_id\u003dport_id, requested_ip\u003drequested_ip, tag\u003dtag)"},{"line_number":421,"context_line":""},{"line_number":422,"context_line":"    def attach_volume(self, ctxt, instance, bdm):"},{"line_number":423,"context_line":"        version \u003d \u00274.0\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba5201f7_f4c109e5","line":420,"updated":"2017-01-07 18:17:21.000000000","message":"You can\u0027t pass tag in with kwargs if we can\u0027t pass the version check because a Newton compute won\u0027t be able to handle this.","commit_id":"e40be1441523e59afcae9e2d146db33abd96117f"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"0c9818de8964802690ce2eb1dbc8a3050a870b2b","unresolved":false,"context_lines":[{"line_number":425,"context_line":"        version \u003d \u00274.15\u0027"},{"line_number":426,"context_line":""},{"line_number":427,"context_line":"        client \u003d self.router.by_instance(ctxt, instance)"},{"line_number":428,"context_line":"        if not client.can_send_version(version):"},{"line_number":429,"context_line":"            if tag:"},{"line_number":430,"context_line":"                raise exception.TaggedAttachmentNotSupported()"},{"line_number":431,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":19,"id":"9a30ddce_2db8ab74","line":428,"updated":"2017-03-13 12:50:48.000000000","message":"Could you add a small note explaining what you\u0027re trying to do here? From reading the exception, I\u0027m guessing every compute node needs to support this version before we can use it?","commit_id":"b569e713e3c7276d96d21928b31294639adfdba4"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"562ec06654eb259cda4914dd37739ddb04870b7e","unresolved":false,"context_lines":[{"line_number":425,"context_line":"        version \u003d \u00274.15\u0027"},{"line_number":426,"context_line":""},{"line_number":427,"context_line":"        client \u003d self.router.by_instance(ctxt, instance)"},{"line_number":428,"context_line":"        if not client.can_send_version(version):"},{"line_number":429,"context_line":"            if tag:"},{"line_number":430,"context_line":"                raise exception.TaggedAttachmentNotSupported()"},{"line_number":431,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":19,"id":"7a25e98e_4c779302","line":428,"in_reply_to":"9a30ddce_2db8ab74","updated":"2017-03-13 18:54:15.000000000","message":"Done","commit_id":"b569e713e3c7276d96d21928b31294639adfdba4"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"e27f53ca34dff7fb8a7b1b7d1320fb6f69c53b76","unresolved":false,"context_lines":[{"line_number":429,"context_line":"                # NOTE(artom) Attach attempted with a device role tag, but"},{"line_number":430,"context_line":"                # we\u0027re pinned to less than 4.15 - ie, not all nodes have"},{"line_number":431,"context_line":"                # received the Pike code yet."},{"line_number":432,"context_line":"                raise exception.TaggedAttachmentNotSupported()"},{"line_number":433,"context_line":"            else:"},{"line_number":434,"context_line":"                version \u003d \u00274.0\u0027"},{"line_number":435,"context_line":"                kw.pop(\u0027tag\u0027)"}],"source_content_type":"text/x-python","patch_set":39,"id":"ff0f0b1f_f776ec3e","line":432,"range":{"start_line":432,"start_character":32,"end_line":432,"end_character":60},"updated":"2017-05-17 21:26:55.000000000","message":"Leaking this through to the REST API is going to result in a 500.","commit_id":"851c2cd8ec84daadbc72e3ece69bb7928938d523"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"1fa574b8e7267de87a3b6c028804adac8dec78ea","unresolved":false,"context_lines":[{"line_number":429,"context_line":"                # NOTE(artom) Attach attempted with a device role tag, but"},{"line_number":430,"context_line":"                # we\u0027re pinned to less than 4.15 - ie, not all nodes have"},{"line_number":431,"context_line":"                # received the Pike code yet."},{"line_number":432,"context_line":"                raise exception.TaggedAttachmentNotSupported()"},{"line_number":433,"context_line":"            else:"},{"line_number":434,"context_line":"                version \u003d \u00274.0\u0027"},{"line_number":435,"context_line":"                kw.pop(\u0027tag\u0027)"}],"source_content_type":"text/x-python","patch_set":39,"id":"ff0f0b1f_443ca892","line":432,"range":{"start_line":432,"start_character":32,"end_line":432,"end_character":60},"in_reply_to":"ff0f0b1f_f776ec3e","updated":"2017-05-18 15:19:54.000000000","message":"Done","commit_id":"851c2cd8ec84daadbc72e3ece69bb7928938d523"}],"nova/exception.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"e999daae13de286076c5d955784476449a3a19c1","unresolved":false,"context_lines":[{"line_number":1583,"context_line":""},{"line_number":1584,"context_line":""},{"line_number":1585,"context_line":"class DeviceTaggingNotSupported(Invalid):"},{"line_number":1586,"context_line":"    msg_fmt \u003d _(\"Virt driver doesn\u0027t support device tagging\")"},{"line_number":1587,"context_line":""},{"line_number":1588,"context_line":""},{"line_number":1589,"context_line":"class UnsupportedHardware(Invalid):"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba5201f7_14b5ad7c","line":1586,"range":{"start_line":1586,"start_character":29,"end_line":1586,"end_character":36},"updated":"2017-01-07 18:17:21.000000000","message":"Don\u0027t use contractions in a translated message.","commit_id":"e40be1441523e59afcae9e2d146db33abd96117f"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"091fb38dc04a00a345173906bf28101cbbdd69b8","unresolved":false,"context_lines":[{"line_number":285,"context_line":""},{"line_number":286,"context_line":"class NetworkInterfaceTaggedAttachNotSupported(TaggedAttachmentNotSupported):"},{"line_number":287,"context_line":"    msg_fmt \u003d _(\"Tagged network interface attachment is not supported by the \""},{"line_number":288,"context_line":"                \"virt driver\")"},{"line_number":289,"context_line":""},{"line_number":290,"context_line":""},{"line_number":291,"context_line":"class InvalidKeypair(Invalid):"}],"source_content_type":"text/x-python","patch_set":53,"id":"5f201791_4ad48cbd","line":288,"range":{"start_line":288,"start_character":17,"end_line":288,"end_character":28},"updated":"2017-06-22 22:17:11.000000000","message":"I\u0027d say \"for this server instance\" like you have for the volume error above - end user doesn\u0027t need to know it\u0027s the virt driver that doesn\u0027t support it.","commit_id":"b4fb8642730ee631ae75c2caf8dbcb180140261a"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"d38894243bf4c8b9a440282ba4ad2020373badb3","unresolved":false,"context_lines":[{"line_number":285,"context_line":""},{"line_number":286,"context_line":"class NetworkInterfaceTaggedAttachNotSupported(TaggedAttachmentNotSupported):"},{"line_number":287,"context_line":"    msg_fmt \u003d _(\"Tagged network interface attachment is not supported by the \""},{"line_number":288,"context_line":"                \"virt driver\")"},{"line_number":289,"context_line":""},{"line_number":290,"context_line":""},{"line_number":291,"context_line":"class InvalidKeypair(Invalid):"}],"source_content_type":"text/x-python","patch_set":53,"id":"5f201791_0113160f","line":288,"range":{"start_line":288,"start_character":17,"end_line":288,"end_character":28},"in_reply_to":"5f201791_4ad48cbd","updated":"2017-06-23 04:45:53.000000000","message":"Done","commit_id":"b4fb8642730ee631ae75c2caf8dbcb180140261a"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"0375012600c3ed024c7923e15e7c6d5fa95e0f7a","unresolved":false,"context_lines":[{"line_number":285,"context_line":""},{"line_number":286,"context_line":"class NetworkInterfaceTaggedAttachNotSupported(TaggedAttachmentNotSupported):"},{"line_number":287,"context_line":"    msg_fmt \u003d _(\"Tagged network interface attachment is not supported for \""},{"line_number":288,"context_line":"                \" this server instance.\")"},{"line_number":289,"context_line":""},{"line_number":290,"context_line":""},{"line_number":291,"context_line":"class InvalidKeypair(Invalid):"}],"source_content_type":"text/x-python","patch_set":55,"id":"5f201791_5e50b75d","line":288,"range":{"start_line":288,"start_character":17,"end_line":288,"end_character":18},"updated":"2017-06-23 16:58:56.000000000","message":"One too many spaces. :(","commit_id":"f6c348d569aeb59a54ae2a9adf94277946daecfa"}],"nova/network/neutronv2/api.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"e999daae13de286076c5d955784476449a3a19c1","unresolved":false,"context_lines":[{"line_number":1194,"context_line":"                                            address\u003drequested_ip,"},{"line_number":1195,"context_line":"                                            port_id\u003dport_id,"},{"line_number":1196,"context_line":"                                            pci_request_id\u003dNone,"},{"line_number":1197,"context_line":"                                            tag\u003dtag)])"},{"line_number":1198,"context_line":"        return self.allocate_for_instance(context, instance,"},{"line_number":1199,"context_line":"                requested_networks\u003drequested_networks,"},{"line_number":1200,"context_line":"                bind_host_id\u003dbind_host_id)"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba5201f7_94a99d26","line":1197,"updated":"2017-01-07 18:17:21.000000000","message":"Don\u0027t you need to pass this through or does that come later?","commit_id":"e40be1441523e59afcae9e2d146db33abd96117f"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"091fb38dc04a00a345173906bf28101cbbdd69b8","unresolved":false,"context_lines":[{"line_number":1194,"context_line":"        base_api.update_instance_cache_with_nw_info(self, context, instance,"},{"line_number":1195,"context_line":"                                            network_model.NetworkInfo([]))"},{"line_number":1196,"context_line":""},{"line_number":1197,"context_line":"    def allocate_port_for_instance(self, context, instance, port_id,"},{"line_number":1198,"context_line":"                                   network_id\u003dNone, requested_ip\u003dNone,"},{"line_number":1199,"context_line":"                                   bind_host_id\u003dNone, tag\u003dNone):"},{"line_number":1200,"context_line":"        \"\"\"Allocate a port for the instance.\"\"\""}],"source_content_type":"text/x-python","patch_set":53,"id":"5f201791_6aeaa875","line":1197,"range":{"start_line":1197,"start_character":8,"end_line":1197,"end_character":34},"updated":"2017-06-22 22:17:11.000000000","message":"You should also update the nova.network.base_api and nova.network.api method signatures for this.","commit_id":"b4fb8642730ee631ae75c2caf8dbcb180140261a"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"d38894243bf4c8b9a440282ba4ad2020373badb3","unresolved":false,"context_lines":[{"line_number":1194,"context_line":"        base_api.update_instance_cache_with_nw_info(self, context, instance,"},{"line_number":1195,"context_line":"                                            network_model.NetworkInfo([]))"},{"line_number":1196,"context_line":""},{"line_number":1197,"context_line":"    def allocate_port_for_instance(self, context, instance, port_id,"},{"line_number":1198,"context_line":"                                   network_id\u003dNone, requested_ip\u003dNone,"},{"line_number":1199,"context_line":"                                   bind_host_id\u003dNone, tag\u003dNone):"},{"line_number":1200,"context_line":"        \"\"\"Allocate a port for the instance.\"\"\""}],"source_content_type":"text/x-python","patch_set":53,"id":"5f201791_418eae2e","line":1197,"range":{"start_line":1197,"start_character":8,"end_line":1197,"end_character":34},"in_reply_to":"5f201791_6aeaa875","updated":"2017-06-23 04:45:53.000000000","message":"Done","commit_id":"b4fb8642730ee631ae75c2caf8dbcb180140261a"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"091fb38dc04a00a345173906bf28101cbbdd69b8","unresolved":false,"context_lines":[{"line_number":1196,"context_line":""},{"line_number":1197,"context_line":"    def allocate_port_for_instance(self, context, instance, port_id,"},{"line_number":1198,"context_line":"                                   network_id\u003dNone, requested_ip\u003dNone,"},{"line_number":1199,"context_line":"                                   bind_host_id\u003dNone, tag\u003dNone):"},{"line_number":1200,"context_line":"        \"\"\"Allocate a port for the instance.\"\"\""},{"line_number":1201,"context_line":"        requested_networks \u003d objects.NetworkRequestList("},{"line_number":1202,"context_line":"            objects\u003d[objects.NetworkRequest(network_id\u003dnetwork_id,"}],"source_content_type":"text/x-python","patch_set":53,"id":"5f201791_2ab27095","line":1199,"updated":"2017-06-22 22:17:11.000000000","message":"We could use a simple unit test to make sure this is passed through to allocate_for_instance properly.","commit_id":"b4fb8642730ee631ae75c2caf8dbcb180140261a"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"d38894243bf4c8b9a440282ba4ad2020373badb3","unresolved":false,"context_lines":[{"line_number":1196,"context_line":""},{"line_number":1197,"context_line":"    def allocate_port_for_instance(self, context, instance, port_id,"},{"line_number":1198,"context_line":"                                   network_id\u003dNone, requested_ip\u003dNone,"},{"line_number":1199,"context_line":"                                   bind_host_id\u003dNone, tag\u003dNone):"},{"line_number":1200,"context_line":"        \"\"\"Allocate a port for the instance.\"\"\""},{"line_number":1201,"context_line":"        requested_networks \u003d objects.NetworkRequestList("},{"line_number":1202,"context_line":"            objects\u003d[objects.NetworkRequest(network_id\u003dnetwork_id,"}],"source_content_type":"text/x-python","patch_set":53,"id":"5f201791_84185475","line":1199,"in_reply_to":"5f201791_2ab27095","updated":"2017-06-23 04:45:53.000000000","message":"Done","commit_id":"b4fb8642730ee631ae75c2caf8dbcb180140261a"}],"nova/tests/unit/compute/test_compute.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"091fb38dc04a00a345173906bf28101cbbdd69b8","unresolved":false,"context_lines":[{"line_number":9936,"context_line":"                          self.compute_api.get_console_output,"},{"line_number":9937,"context_line":"                          self.context, instance)"},{"line_number":9938,"context_line":""},{"line_number":9939,"context_line":"    def test_attach_interface(self):"},{"line_number":9940,"context_line":"        new_type \u003d flavors.get_flavor_by_flavor_id(\u00274\u0027)"},{"line_number":9941,"context_line":"        instance \u003d objects.Instance(image_ref\u003duuids.image_instance,"},{"line_number":9942,"context_line":"                                    system_metadata\u003d{},"}],"source_content_type":"text/x-python","patch_set":53,"id":"5f201791_8a98641b","line":9939,"range":{"start_line":9939,"start_character":8,"end_line":9939,"end_character":29},"updated":"2017-06-22 22:17:11.000000000","message":"Don\u0027t update an existing test for the tag\u003dNone case, write a new one where a tag is passed.","commit_id":"b4fb8642730ee631ae75c2caf8dbcb180140261a"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"d38894243bf4c8b9a440282ba4ad2020373badb3","unresolved":false,"context_lines":[{"line_number":9936,"context_line":"                          self.compute_api.get_console_output,"},{"line_number":9937,"context_line":"                          self.context, instance)"},{"line_number":9938,"context_line":""},{"line_number":9939,"context_line":"    def test_attach_interface(self):"},{"line_number":9940,"context_line":"        new_type \u003d flavors.get_flavor_by_flavor_id(\u00274\u0027)"},{"line_number":9941,"context_line":"        instance \u003d objects.Instance(image_ref\u003duuids.image_instance,"},{"line_number":9942,"context_line":"                                    system_metadata\u003d{},"}],"source_content_type":"text/x-python","patch_set":53,"id":"5f201791_045b242e","line":9939,"range":{"start_line":9939,"start_character":8,"end_line":9939,"end_character":29},"in_reply_to":"5f201791_8a98641b","updated":"2017-06-23 04:45:53.000000000","message":"Done","commit_id":"b4fb8642730ee631ae75c2caf8dbcb180140261a"}]}
