)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"dfaa42b9451877e62b6bb30bcd7bbe901b9839b7","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"libvirt: check graphic/serial consoles at pre_live_migration step"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"\u0027live_migration_flags\u0027 and \u0027block_migration_flags\u0027 are used for"},{"line_number":10,"context_line":"bitwise arithmetic -- they should not default to \u0027None\u0027, but to \u00270\u0027"},{"line_number":11,"context_line":"instead."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":16,"id":"fa0719c6_ac56a9cb","line":9,"updated":"2016-03-23 12:19:20.000000000","message":"Probably you updated commit message in wrong change set","commit_id":"71ef20087a96e1288f7eb2b4b619eaba35c6bd36"},{"author":{"_account_id":12299,"name":"Paweł Koniszewski","email":"pawel.koniszewski@gmail.com","username":"pawel.koniszewski"},"change_message_id":"e973b9ad0030239fd35033be1dfa58d96db87a4a","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"libvirt: check graphic/serial consoles at pre_live_migration step"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"\u0027live_migration_flags\u0027 and \u0027block_migration_flags\u0027 are used for"},{"line_number":10,"context_line":"bitwise arithmetic -- they should not default to \u0027None\u0027, but to \u00270\u0027"},{"line_number":11,"context_line":"instead."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":17,"id":"fa0719c6_a7336261","line":9,"updated":"2016-03-23 12:36:32.000000000","message":"You still have wrong commit message there","commit_id":"0fa4416d4213ea42a10296bf16d75eddc36c96c5"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"3da73409e09cec25c2e8c0e116eb6c18d6655cb6","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Sahid Orentino Ferdjaoui \u003csahid.ferdjaoui@redhat.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-03-29 07:30:36 -0400"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"libvirt: move graphic/serial consoles check at pre_live_migration"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Deplaces checks of graphic and serial consoles to the"},{"line_number":10,"context_line":"pre_live_migration step in order to be coherent with the purpose of"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":19,"id":"ba0121b8_f561d2a9","line":7,"updated":"2016-03-29 19:04:55.000000000","message":"s/check at/checks to/","commit_id":"483458075257c3c7efdbbf3adb8b5461abc1cb4c"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"3da73409e09cec25c2e8c0e116eb6c18d6655cb6","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"libvirt: move graphic/serial consoles check at pre_live_migration"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Deplaces checks of graphic and serial consoles to the"},{"line_number":10,"context_line":"pre_live_migration step in order to be coherent with the purpose of"},{"line_number":11,"context_line":"that step."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":19,"id":"ba0121b8_55599efd","line":9,"updated":"2016-03-29 19:04:55.000000000","message":"What does \"deplaces\" mean? :)","commit_id":"483458075257c3c7efdbbf3adb8b5461abc1cb4c"}],"nova/tests/unit/virt/libvirt/test_driver.py":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"3da73409e09cec25c2e8c0e116eb6c18d6655cb6","unresolved":false,"context_lines":[{"line_number":6465,"context_line":"        self.flags(enabled\u003dTrue, group\u003d\"serial_console\")"},{"line_number":6466,"context_line":"        instance \u003d objects.Instance(**self.test_instance)"},{"line_number":6467,"context_line":"        drvr \u003d libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), False)"},{"line_number":6468,"context_line":"        self.mox.ReplayAll()"},{"line_number":6469,"context_line":"        self.assertRaises(exception.MigrationError,"},{"line_number":6470,"context_line":"                          drvr.check_can_live_migrate_source,"},{"line_number":6471,"context_line":"                          self.context, instance, {})"}],"source_content_type":"text/x-python","patch_set":19,"id":"ba0121b8_b5511adb","line":6468,"updated":"2016-03-29 19:04:55.000000000","message":"Can you remove the above line? I don\u0027t believe it\u0027s necessary in either this or the below test because no stubouts are being used, right?","commit_id":"483458075257c3c7efdbbf3adb8b5461abc1cb4c"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"9c61a3f74488f50cd7b9b3a9067b20e3e5c779eb","unresolved":false,"context_lines":[{"line_number":6465,"context_line":"        self.flags(enabled\u003dTrue, group\u003d\"serial_console\")"},{"line_number":6466,"context_line":"        instance \u003d objects.Instance(**self.test_instance)"},{"line_number":6467,"context_line":"        drvr \u003d libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), False)"},{"line_number":6468,"context_line":"        self.mox.ReplayAll()"},{"line_number":6469,"context_line":"        self.assertRaises(exception.MigrationError,"},{"line_number":6470,"context_line":"                          drvr.check_can_live_migrate_source,"},{"line_number":6471,"context_line":"                          self.context, instance, {})"}],"source_content_type":"text/x-python","patch_set":19,"id":"ba0121b8_79a2bcaf","line":6468,"in_reply_to":"ba0121b8_b5511adb","updated":"2016-03-30 11:51:35.000000000","message":"Yes, yes I made mistake when i have resolved conflicts.","commit_id":"483458075257c3c7efdbbf3adb8b5461abc1cb4c"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"3da73409e09cec25c2e8c0e116eb6c18d6655cb6","unresolved":false,"context_lines":[{"line_number":6474,"context_line":"                       create\u003dTrue)"},{"line_number":6475,"context_line":"    def test_check_can_live_migrate_source_graphics_fails(self):"},{"line_number":6476,"context_line":"        self.flags(enabled\u003dTrue, vncserver_listen\u003d\u00271.2.3.4\u0027, group\u003d\u0027vnc\u0027)"},{"line_number":6477,"context_line":"        CONF.set_override(\"enabled\", True, \"serial_console\")"},{"line_number":6478,"context_line":"        instance \u003d objects.Instance(**self.test_instance)"},{"line_number":6479,"context_line":"        drvr \u003d libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), False)"},{"line_number":6480,"context_line":"        migrate_data \u003d {\u0027pre_live_migration_result\u0027:"}],"source_content_type":"text/x-python","patch_set":19,"id":"ba0121b8_155f26e6","line":6477,"updated":"2016-03-29 19:04:55.000000000","message":"Any reason you used CONF.set_override() here instead calling self.flags()?\n\nAlso, why is this even needed if the vnc_enabled option is True above?","commit_id":"483458075257c3c7efdbbf3adb8b5461abc1cb4c"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"9c61a3f74488f50cd7b9b3a9067b20e3e5c779eb","unresolved":false,"context_lines":[{"line_number":6474,"context_line":"                       create\u003dTrue)"},{"line_number":6475,"context_line":"    def test_check_can_live_migrate_source_graphics_fails(self):"},{"line_number":6476,"context_line":"        self.flags(enabled\u003dTrue, vncserver_listen\u003d\u00271.2.3.4\u0027, group\u003d\u0027vnc\u0027)"},{"line_number":6477,"context_line":"        CONF.set_override(\"enabled\", True, \"serial_console\")"},{"line_number":6478,"context_line":"        instance \u003d objects.Instance(**self.test_instance)"},{"line_number":6479,"context_line":"        drvr \u003d libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), False)"},{"line_number":6480,"context_line":"        migrate_data \u003d {\u0027pre_live_migration_result\u0027:"}],"source_content_type":"text/x-python","patch_set":19,"id":"ba0121b8_991070aa","line":6477,"in_reply_to":"ba0121b8_155f26e6","updated":"2016-03-30 11:51:35.000000000","message":"It\u0027s a mistake when i have resolved conflict. here we just want to test for vnc","commit_id":"483458075257c3c7efdbbf3adb8b5461abc1cb4c"}],"nova/virt/libvirt/driver.py":[{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"4fb5ef4b54f30b243a5a109ca2ace5efbce1c3b0","unresolved":false,"context_lines":[{"line_number":5172,"context_line":"        \"\"\""},{"line_number":5173,"context_line":"        listen_addrs \u003d (dest_check_data or {}).get("},{"line_number":5174,"context_line":"            \u0027pre_live_migration_result\u0027, {}).get(\u0027graphics_listen_addrs\u0027)"},{"line_number":5175,"context_line":"        migratable_flag \u003d getattr(libvirt, \u0027VIR_DOMAIN_XML_MIGRATABLE\u0027,"},{"line_number":5176,"context_line":"                                  None)"},{"line_number":5177,"context_line":"        if not migratable_flag or not listen_addrs:"},{"line_number":5178,"context_line":"            # In this context want to ensure we do not have to"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a7e1126_70d78f23","line":5175,"updated":"2015-12-18 11:50:23.000000000","message":"given that this is carving out a couple of places a \"is_live_migratable()\" method would be handy, mostly because getattr is more suspect to typos.\n\nOn the flip side, this all goes away early in N when we drop support for libvirt \u003c 1, right? Given that, living with the weird code is fine, but leave the comment here so this can be deleted early next cycle.","commit_id":"a171b87ead91aeefeacd43502c979823004d5331"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"3da73409e09cec25c2e8c0e116eb6c18d6655cb6","unresolved":false,"context_lines":[{"line_number":5502,"context_line":"            listen_addrs[\u0027spice\u0027] \u003d dest_check_data.graphics_listen_addr_spice"},{"line_number":5503,"context_line":""},{"line_number":5504,"context_line":"        migratable_flag \u003d self._host.is_migratable_xml_flag()"},{"line_number":5505,"context_line":"        if not migratable_flag or not listen_addrs:"},{"line_number":5506,"context_line":"            # In this context want to ensure we do not have to"},{"line_number":5507,"context_line":"            # migrate graphic or serial consoles."},{"line_number":5508,"context_line":"            self._check_graphics_addresses_can_live_migrate(listen_addrs)"}],"source_content_type":"text/x-python","patch_set":19,"id":"ba0121b8_355ceaec","line":5505,"updated":"2016-03-29 19:04:55.000000000","message":"This changed the logic from the original call location\u0027s conditional, which was this:\n\n if (migratable_flag is None or (not listen_addrs and not migrate_data.bdms)):\n\nYou are missing the \"and not migrate_data.bdms\" part...","commit_id":"483458075257c3c7efdbbf3adb8b5461abc1cb4c"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"9c61a3f74488f50cd7b9b3a9067b20e3e5c779eb","unresolved":false,"context_lines":[{"line_number":5502,"context_line":"            listen_addrs[\u0027spice\u0027] \u003d dest_check_data.graphics_listen_addr_spice"},{"line_number":5503,"context_line":""},{"line_number":5504,"context_line":"        migratable_flag \u003d self._host.is_migratable_xml_flag()"},{"line_number":5505,"context_line":"        if not migratable_flag or not listen_addrs:"},{"line_number":5506,"context_line":"            # In this context want to ensure we do not have to"},{"line_number":5507,"context_line":"            # migrate graphic or serial consoles."},{"line_number":5508,"context_line":"            self._check_graphics_addresses_can_live_migrate(listen_addrs)"}],"source_content_type":"text/x-python","patch_set":19,"id":"ba0121b8_b9457471","line":5505,"in_reply_to":"ba0121b8_355ceaec","updated":"2016-03-30 11:51:35.000000000","message":":/","commit_id":"483458075257c3c7efdbbf3adb8b5461abc1cb4c"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"0a29875ccd2a3fe2601443bad615feea3a76facb","unresolved":false,"context_lines":[{"line_number":5502,"context_line":"            listen_addrs[\u0027spice\u0027] \u003d dest_check_data.graphics_listen_addr_spice"},{"line_number":5503,"context_line":""},{"line_number":5504,"context_line":"        migratable_flag \u003d self._host.is_migratable_xml_flag()"},{"line_number":5505,"context_line":"        if not migratable_flag or not listen_addrs:"},{"line_number":5506,"context_line":"            # In this context want to ensure we do not have to"},{"line_number":5507,"context_line":"            # migrate graphic or serial consoles."},{"line_number":5508,"context_line":"            self._check_graphics_addresses_can_live_migrate(listen_addrs)"}],"source_content_type":"text/x-python","patch_set":19,"id":"ba0121b8_3217b9ee","line":5505,"in_reply_to":"ba0121b8_b9457471","updated":"2016-03-30 12:28:36.000000000","message":"Oh no actually there is no mistake here, We are only checking whether we have listen_addrs and migratable_flag. Then we execute:\n\n  self._check_graphics_addresses_can_live_migrate(listen_addrs)\n  self._verify_serial_console_is_disabled()\n\nThe condition with \u0027bdm\u0027 your are talking about is still line 6002","commit_id":"483458075257c3c7efdbbf3adb8b5461abc1cb4c"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"3da73409e09cec25c2e8c0e116eb6c18d6655cb6","unresolved":false,"context_lines":[{"line_number":6042,"context_line":"                    # _check_graphics_addresses_can_live_migrate check in place"},{"line_number":6043,"context_line":"                    # to catch it."},{"line_number":6044,"context_line":"                    # TODO(mriedem): Remove this workaround when"},{"line_number":6045,"context_line":"                    # Red Hat BZ #1141838 is closed."},{"line_number":6046,"context_line":"                    error_code \u003d ex.get_error_code()"},{"line_number":6047,"context_line":"                    if error_code \u003d\u003d libvirt.VIR_ERR_CONFIG_UNSUPPORTED:"},{"line_number":6048,"context_line":"                        LOG.warning(_LW(\u0027An error occurred trying to live \u0027"}],"source_content_type":"text/x-python","patch_set":19,"id":"ba0121b8_95733680","line":6045,"updated":"2016-03-29 19:04:55.000000000","message":"The above comment is no longer applicable after this patch. Does this mean that RH BZ #1141838 is closed or that you just failed to remove this comment?","commit_id":"483458075257c3c7efdbbf3adb8b5461abc1cb4c"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"9c61a3f74488f50cd7b9b3a9067b20e3e5c779eb","unresolved":false,"context_lines":[{"line_number":6042,"context_line":"                    # _check_graphics_addresses_can_live_migrate check in place"},{"line_number":6043,"context_line":"                    # to catch it."},{"line_number":6044,"context_line":"                    # TODO(mriedem): Remove this workaround when"},{"line_number":6045,"context_line":"                    # Red Hat BZ #1141838 is closed."},{"line_number":6046,"context_line":"                    error_code \u003d ex.get_error_code()"},{"line_number":6047,"context_line":"                    if error_code \u003d\u003d libvirt.VIR_ERR_CONFIG_UNSUPPORTED:"},{"line_number":6048,"context_line":"                        LOG.warning(_LW(\u0027An error occurred trying to live \u0027"}],"source_content_type":"text/x-python","patch_set":19,"id":"ba0121b8_9c2a1e2b","line":6045,"in_reply_to":"ba0121b8_95733680","updated":"2016-03-30 11:51:35.000000000","message":"Actually this should have been fixed on all versions of libvirt we are now supporting but I\u0027ll revert that part and address a new change to ensure we are all on the same page.","commit_id":"483458075257c3c7efdbbf3adb8b5461abc1cb4c"}],"nova/virt/libvirt/host.py":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"3da73409e09cec25c2e8c0e116eb6c18d6655cb6","unresolved":false,"context_lines":[{"line_number":1016,"context_line":"        except IOError:"},{"line_number":1017,"context_line":"            return False"},{"line_number":1018,"context_line":""},{"line_number":1019,"context_line":"    def is_migratable_xml_flag(self):"},{"line_number":1020,"context_line":"        \"\"\"Determines whether libvirt is supporting dump XML suitable for"},{"line_number":1021,"context_line":"        migration."},{"line_number":1022,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":19,"id":"ba0121b8_756e6297","line":1019,"updated":"2016-03-29 19:04:55.000000000","message":"I\u0027d prefer to call this has_migratable_xml() or supports_migratable_xml(). is_migratable_xml_flag() doesn\u0027t really make a whole lot of sense from a readable code perspective...","commit_id":"483458075257c3c7efdbbf3adb8b5461abc1cb4c"}]}
