)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"b00c0010b8c7b0c15e094d4f3e059202fa009419","unresolved":true,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"We removed calls to configure the libvirt-based firewall driver in"},{"line_number":10,"context_line":"\u0027_create_guest_with_network\u0027 as part of change"},{"line_number":11,"context_line":"I5a9e5532c46a5f7064441ae644125d21efe5fda1. Since then, there only other"},{"line_number":12,"context_line":"way we can successfully create a guest and still end up in an exception"},{"line_number":13,"context_line":"handler is if the plugging of VIFs fails. Despite this, all three code"},{"line_number":14,"context_line":"paths still contained references to a \u0027guest\u0027 attribute that would never"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"40e754a3_50252b28","line":11,"range":{"start_line":11,"start_character":55,"end_line":11,"end_character":60},"updated":"2021-04-21 09:30:08.000000000","message":"nit: the?","commit_id":"dc814a6822c98e0f3ec9d652d48f523d0f76b96f"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"5a7cf5ba9cb5cd525408165e4cc1a9c0418758e0","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"We removed calls to configure the libvirt-based firewall driver in"},{"line_number":10,"context_line":"\u0027_create_guest_with_network\u0027 as part of change"},{"line_number":11,"context_line":"I5a9e5532c46a5f7064441ae644125d21efe5fda1. Since then, there only other"},{"line_number":12,"context_line":"way we can successfully create a guest and still end up in an exception"},{"line_number":13,"context_line":"handler is if the plugging of VIFs fails. Despite this, all three code"},{"line_number":14,"context_line":"paths still contained references to a \u0027guest\u0027 attribute that would never"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"c10f21ee_146a3227","line":11,"range":{"start_line":11,"start_character":55,"end_line":11,"end_character":60},"in_reply_to":"40e754a3_50252b28","updated":"2021-04-21 10:19:51.000000000","message":"Whoops 😞 I guess I was saying \u0027there is\u0027 before I reworded the end of the sentence","commit_id":"dc814a6822c98e0f3ec9d652d48f523d0f76b96f"},{"author":{"_account_id":10135,"name":"Lee Yarwood","display_name":"Lee Yarwood","email":"lyarwood@redhat.com","username":"lyarwood"},"change_message_id":"ee3cf3def60bafc488e985e7e1aa91649c299bb5","unresolved":false,"context_lines":[{"line_number":24,"context_line":"already done in change I2489bf16dabc8a83b2044139247f4245ae29adb1 so this"},{"line_number":25,"context_line":"is pretty easy to grok."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Next up, we really need to stop passing around dicts of block device"},{"line_number":28,"context_line":"mapping info, but that\u0027s another change for another day."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Change-Id: I0b93bdc12cdce591c7e642ab8830e92445467b9a"},{"line_number":31,"context_line":"Signed-off-by: Stephen Finucane \u003cstephenfin@redhat.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"8b39fde2_669a5fbe","line":28,"range":{"start_line":27,"start_character":0,"end_line":28,"end_character":56},"updated":"2021-04-19 11:32:09.000000000","message":"✔ I\u0027ve set out some plans in the Xena PTG pad [1] to replace block_device_info with lists of actual bdm objects in the future but in the short term we should try to clean up stuff like this when possible.\n\n[1] https://etherpad.opendev.org/p/nova-xena-ptg","commit_id":"dc814a6822c98e0f3ec9d652d48f523d0f76b96f"}],"nova/virt/libvirt/driver.py":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"b00c0010b8c7b0c15e094d4f3e059202fa009419","unresolved":true,"context_lines":[{"line_number":7278,"context_line":""},{"line_number":7279,"context_line":"            if CONF.vif_plugging_is_fatal:"},{"line_number":7280,"context_line":"                # NOTE(stephenfin): don\u0027t worry, guest will be in scope since"},{"line_number":7281,"context_line":"                # we can only hit this branch if the VIF plug timed out"},{"line_number":7282,"context_line":"                if guest.is_active():"},{"line_number":7283,"context_line":"                    guest.poweroff()"},{"line_number":7284,"context_line":"                self._cleanup("}],"source_content_type":"text/x-python","patch_set":5,"id":"53484520_18bd33dc","line":7281,"updated":"2021-04-21 09:30:08.000000000","message":"true but my brain hurts :/","commit_id":"dc814a6822c98e0f3ec9d652d48f523d0f76b96f"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"085d9ac99326a308e4f07e11de7cc349565bf736","unresolved":false,"context_lines":[{"line_number":7278,"context_line":""},{"line_number":7279,"context_line":"            if CONF.vif_plugging_is_fatal:"},{"line_number":7280,"context_line":"                # NOTE(stephenfin): don\u0027t worry, guest will be in scope since"},{"line_number":7281,"context_line":"                # we can only hit this branch if the VIF plug timed out"},{"line_number":7282,"context_line":"                if guest.is_active():"},{"line_number":7283,"context_line":"                    guest.poweroff()"},{"line_number":7284,"context_line":"                self._cleanup("}],"source_content_type":"text/x-python","patch_set":5,"id":"1292c712_25517255","line":7281,"in_reply_to":"53484520_18bd33dc","updated":"2021-04-21 10:18:30.000000000","message":"I did contemplate replacing the context manager with an explicit wait that roughly resembled below, allowing me to separate the two exception handlers and hopefully make things more obvious. However, I wasn\u0027t able to find an easy way to do this\n\n  try:\n      self.plug_vifs(instance, network_info)\n      with self._lxc_disk_handler(\n          context, instance, instance.image_meta, block_device_info,\n      ):\n          guest \u003d self._create_guest( ... )\n  except Exception:\n      ...\n\n  try:\n      self.wait_for_vif_plug(...)\n  except eventlet.timeout.Timeout:\n      ...","commit_id":"dc814a6822c98e0f3ec9d652d48f523d0f76b96f"}]}
