)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":10796,"name":"Deepak C Shetty (deepakcs)","email":"dpkshetty@gmail.com","username":"deepakcs"},"change_message_id":"670ff02b9b1efb851cf8d8f61be0827ef9ea10c5","unresolved":false,"context_lines":[{"line_number":10,"context_line":"base, libvirt reports error in this case, so check if"},{"line_number":11,"context_line":"base is non-null before setting this flag (relative argument"},{"line_number":12,"context_line":"of BlockDevice.rebase method)."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: Ife50f211fd54190a2665ad090f6208048b841690"},{"line_number":15,"context_line":"Closes-Bug: #1475202"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9a41bdd9_76662dbc","line":13,"updated":"2015-07-16 09:15:13.000000000","message":"A mention of patch @ https://review.openstack.org/#/c/190213/9 that caused\nthis to happen will be good too","commit_id":"30ca4f2170ca29cebb5fd2c38d472b2bd0a3debd"},{"author":{"_account_id":12661,"name":"Dmitry Guryanov","email":"dmitry.guryanov@gmail.com","username":"dguryanov"},"change_message_id":"403d7b081e557588037552de57e3ba7baa89c93c","unresolved":false,"context_lines":[{"line_number":10,"context_line":"base, libvirt reports error in this case, so check if"},{"line_number":11,"context_line":"base is non-null before setting this flag (relative argument"},{"line_number":12,"context_line":"of BlockDevice.rebase method)."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: Ife50f211fd54190a2665ad090f6208048b841690"},{"line_number":15,"context_line":"Closes-Bug: #1475202"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9a41bdd9_b6003535","line":13,"in_reply_to":"9a41bdd9_76662dbc","updated":"2015-07-16 09:24:22.000000000","message":"Is it better to add a link to gerrit or commit ID?","commit_id":"30ca4f2170ca29cebb5fd2c38d472b2bd0a3debd"},{"author":{"_account_id":10796,"name":"Deepak C Shetty (deepakcs)","email":"dpkshetty@gmail.com","username":"deepakcs"},"change_message_id":"685a88e2fc663ae532317ff2e4bce473d69e9718","unresolved":false,"context_lines":[{"line_number":10,"context_line":"base, libvirt reports error in this case, so check if"},{"line_number":11,"context_line":"base is non-null before setting this flag (relative argument"},{"line_number":12,"context_line":"of BlockDevice.rebase method)."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: Ife50f211fd54190a2665ad090f6208048b841690"},{"line_number":15,"context_line":"Closes-Bug: #1475202"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9a41bdd9_b166ffea","line":13,"in_reply_to":"9a41bdd9_b6003535","updated":"2015-07-16 09:28:46.000000000","message":"I would prefer gerrit, that ways one can see the difference between old and new in a user friendly way.","commit_id":"30ca4f2170ca29cebb5fd2c38d472b2bd0a3debd"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"0bfe0115d53ee670fd4995707fac6dc807eb90f2","unresolved":false,"context_lines":[{"line_number":10,"context_line":"base, libvirt reports error in this case, so check if"},{"line_number":11,"context_line":"base is non-null before setting this flag (relative argument"},{"line_number":12,"context_line":"of BlockDevice.rebase method)."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: Ife50f211fd54190a2665ad090f6208048b841690"},{"line_number":15,"context_line":"Closes-Bug: #1475202"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9a41bdd9_35a97a24","line":13,"updated":"2015-07-16 09:56:59.000000000","message":"Can you refer commit which introduced the error: e9639913294036ff94f354e9c8ea18cd816243ab","commit_id":"b712ad7ef84815ad480b8ed2a7a85ca85cd520ed"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"0bf38467962cbb169d4ebc3e79f13398d5d39042","unresolved":false,"context_lines":[{"line_number":12,"context_line":"of BlockDevice.rebase method)."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"The error was introduced by commit"},{"line_number":15,"context_line":"https://review.openstack.org/#/c/190213/9"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Change-Id: Ife50f211fd54190a2665ad090f6208048b841690"},{"line_number":18,"context_line":"Closes-Bug: #1475202"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"9a41bdd9_ef1a5b7c","line":15,"updated":"2015-07-16 11:32:25.000000000","message":"Prefer to see the commit ID here","commit_id":"c773886fd7c8b0afe316a036b35facbb3a5be3c3"},{"author":{"_account_id":12661,"name":"Dmitry Guryanov","email":"dmitry.guryanov@gmail.com","username":"dguryanov"},"change_message_id":"a3d33da6b002ca494f2506671049bb91464dc759","unresolved":false,"context_lines":[{"line_number":12,"context_line":"of BlockDevice.rebase method)."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"The error was introduced by commit"},{"line_number":15,"context_line":"https://review.openstack.org/#/c/190213/9"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Change-Id: Ife50f211fd54190a2665ad090f6208048b841690"},{"line_number":18,"context_line":"Closes-Bug: #1475202"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"9a41bdd9_2db3664e","line":15,"in_reply_to":"9a41bdd9_ef1a5b7c","updated":"2015-07-16 13:27:29.000000000","message":"Done","commit_id":"c773886fd7c8b0afe316a036b35facbb3a5be3c3"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"17e39090aac4982c9586d231251dc1e5a199c33c","unresolved":false,"context_lines":[{"line_number":12,"context_line":"of BlockDevice.rebase method)."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"The error was introduced by commit"},{"line_number":15,"context_line":"https://review.openstack.org/#q,e9639913294036ff94f354e9c8ea18cd816243ab,n,z"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Change-Id: Ife50f211fd54190a2665ad090f6208048b841690"},{"line_number":18,"context_line":"Closes-Bug: #1475202"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"9a41bdd9_d58fb873","line":15,"updated":"2015-07-17 06:50:29.000000000","message":"s/https://review.openstack.org/#q,e9639913294036ff94f354e9c8ea18cd816243ab,n,z/e9639913294036ff94f354e9c8ea18cd816243ab","commit_id":"421e592a55a619e6533c9bc99ea2c1b9754520e6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"dfca546e0c5d2d0ea4201e508888bb936a23b238","unresolved":false,"context_lines":[{"line_number":12,"context_line":"of BlockDevice.rebase method)."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"The error was introduced by commit"},{"line_number":15,"context_line":"https://review.openstack.org/#q,e9639913294036ff94f354e9c8ea18cd816243ab,n,z"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Change-Id: Ife50f211fd54190a2665ad090f6208048b841690"},{"line_number":18,"context_line":"Closes-Bug: #1475202"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"3a50d1a3_f09a2f13","line":15,"updated":"2015-07-23 18:56:09.000000000","message":"nit: you can just list the commit hash, the gerrit UI will create the link, and those not using the gerrit UI can\u0027t use the http link anyway.","commit_id":"fad16baa82d61c4e05415a6888552fa6cd88d7fb"}],"nova/tests/unit/virt/libvirt/test_driver.py":[{"author":{"_account_id":10796,"name":"Deepak C Shetty (deepakcs)","email":"dpkshetty@gmail.com","username":"deepakcs"},"change_message_id":"d1570ba12f4c542c4ee79cf29cd795b1e02b2fab","unresolved":false,"context_lines":[{"line_number":13420,"context_line":""},{"line_number":13421,"context_line":"        self.mox.VerifyAll()"},{"line_number":13422,"context_line":""},{"line_number":13423,"context_line":"    def test_volume_snapshot_delete_3(self):"},{"line_number":13424,"context_line":"        \"\"\"Deleting newest snapshot -- blockRebase.\"\"\""},{"line_number":13425,"context_line":""},{"line_number":13426,"context_line":"        self.stubs.Set(libvirt_driver, \u0027libvirt\u0027, fakelibvirt)"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a41bdd9_4f8d87d1","line":13423,"updated":"2015-07-16 11:34:56.000000000","message":"I think we should call out the test name explicitly for this case, since this is a regression and we want the testcase for this particular specific case.\n\nFor eg: test_blockRebase_non-relative_with_null_base","commit_id":"c773886fd7c8b0afe316a036b35facbb3a5be3c3"},{"author":{"_account_id":12661,"name":"Dmitry Guryanov","email":"dmitry.guryanov@gmail.com","username":"dguryanov"},"change_message_id":"a3d33da6b002ca494f2506671049bb91464dc759","unresolved":false,"context_lines":[{"line_number":13420,"context_line":""},{"line_number":13421,"context_line":"        self.mox.VerifyAll()"},{"line_number":13422,"context_line":""},{"line_number":13423,"context_line":"    def test_volume_snapshot_delete_3(self):"},{"line_number":13424,"context_line":"        \"\"\"Deleting newest snapshot -- blockRebase.\"\"\""},{"line_number":13425,"context_line":""},{"line_number":13426,"context_line":"        self.stubs.Set(libvirt_driver, \u0027libvirt\u0027, fakelibvirt)"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a41bdd9_cd843a5f","line":13423,"in_reply_to":"9a41bdd9_4f8d87d1","updated":"2015-07-16 13:27:29.000000000","message":"Done","commit_id":"c773886fd7c8b0afe316a036b35facbb3a5be3c3"},{"author":{"_account_id":10796,"name":"Deepak C Shetty (deepakcs)","email":"dpkshetty@gmail.com","username":"deepakcs"},"change_message_id":"d1570ba12f4c542c4ee79cf29cd795b1e02b2fab","unresolved":false,"context_lines":[{"line_number":13422,"context_line":""},{"line_number":13423,"context_line":"    def test_volume_snapshot_delete_3(self):"},{"line_number":13424,"context_line":"        \"\"\"Deleting newest snapshot -- blockRebase.\"\"\""},{"line_number":13425,"context_line":""},{"line_number":13426,"context_line":"        self.stubs.Set(libvirt_driver, \u0027libvirt\u0027, fakelibvirt)"},{"line_number":13427,"context_line":""},{"line_number":13428,"context_line":"        instance \u003d objects.Instance(**self.inst)"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a41bdd9_6fb3ab98","line":13425,"updated":"2015-07-16 11:34:56.000000000","message":"Pls change this docstring, to indicate that this test is specific to the null base scenario","commit_id":"c773886fd7c8b0afe316a036b35facbb3a5be3c3"},{"author":{"_account_id":12661,"name":"Dmitry Guryanov","email":"dmitry.guryanov@gmail.com","username":"dguryanov"},"change_message_id":"a3d33da6b002ca494f2506671049bb91464dc759","unresolved":false,"context_lines":[{"line_number":13422,"context_line":""},{"line_number":13423,"context_line":"    def test_volume_snapshot_delete_3(self):"},{"line_number":13424,"context_line":"        \"\"\"Deleting newest snapshot -- blockRebase.\"\"\""},{"line_number":13425,"context_line":""},{"line_number":13426,"context_line":"        self.stubs.Set(libvirt_driver, \u0027libvirt\u0027, fakelibvirt)"},{"line_number":13427,"context_line":""},{"line_number":13428,"context_line":"        instance \u003d objects.Instance(**self.inst)"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a41bdd9_ed87be5e","line":13425,"in_reply_to":"9a41bdd9_6fb3ab98","updated":"2015-07-16 13:27:29.000000000","message":"Done","commit_id":"c773886fd7c8b0afe316a036b35facbb3a5be3c3"},{"author":{"_account_id":10796,"name":"Deepak C Shetty (deepakcs)","email":"dpkshetty@gmail.com","username":"deepakcs"},"change_message_id":"d1570ba12f4c542c4ee79cf29cd795b1e02b2fab","unresolved":false,"context_lines":[{"line_number":13429,"context_line":"        snapshot_id \u003d \u0027snapshot-1234\u0027"},{"line_number":13430,"context_line":""},{"line_number":13431,"context_line":"        domain \u003d FakeVirtDomain(fake_xml\u003dself.dom_xml)"},{"line_number":13432,"context_line":"        self.mox.StubOutWithMock(domain, \u0027XMLDesc\u0027)"},{"line_number":13433,"context_line":"        domain.XMLDesc(flags\u003d0).AndReturn(self.dom_xml)"},{"line_number":13434,"context_line":""},{"line_number":13435,"context_line":"        self.mox.StubOutWithMock(self.drvr._host, \u0027get_domain\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a41bdd9_4f002702","line":13432,"updated":"2015-07-16 11:34:56.000000000","message":"The testcase needs to use the \u0027guest\u0027 object flow, like how its done in \ntest_volume_snapshot_delete_relative_1\n\nI am not sure how/why the commit which introduced \u0027guest\u0027 object usage in libvirt.py did not change all the testcase to use guest, but only did it for\ntest_volume_snapshot_delete_relative_1\n\nBut using \u0027guest\u0027 is the right thing i feel","commit_id":"c773886fd7c8b0afe316a036b35facbb3a5be3c3"},{"author":{"_account_id":12661,"name":"Dmitry Guryanov","email":"dmitry.guryanov@gmail.com","username":"dguryanov"},"change_message_id":"a3d33da6b002ca494f2506671049bb91464dc759","unresolved":false,"context_lines":[{"line_number":13429,"context_line":"        snapshot_id \u003d \u0027snapshot-1234\u0027"},{"line_number":13430,"context_line":""},{"line_number":13431,"context_line":"        domain \u003d FakeVirtDomain(fake_xml\u003dself.dom_xml)"},{"line_number":13432,"context_line":"        self.mox.StubOutWithMock(domain, \u0027XMLDesc\u0027)"},{"line_number":13433,"context_line":"        domain.XMLDesc(flags\u003d0).AndReturn(self.dom_xml)"},{"line_number":13434,"context_line":""},{"line_number":13435,"context_line":"        self.mox.StubOutWithMock(self.drvr._host, \u0027get_domain\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a41bdd9_8d7ab275","line":13432,"in_reply_to":"9a41bdd9_4f002702","updated":"2015-07-16 13:27:29.000000000","message":"Done","commit_id":"c773886fd7c8b0afe316a036b35facbb3a5be3c3"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"45f23d7ce0a396ae847e2f2456b84bb82b7b806b","unresolved":false,"context_lines":[{"line_number":13429,"context_line":"        snapshot_id \u003d \u0027snapshot-1234\u0027"},{"line_number":13430,"context_line":""},{"line_number":13431,"context_line":"        domain \u003d FakeVirtDomain(fake_xml\u003dself.dom_xml)"},{"line_number":13432,"context_line":"        self.mox.StubOutWithMock(domain, \u0027XMLDesc\u0027)"},{"line_number":13433,"context_line":"        domain.XMLDesc(flags\u003d0).AndReturn(self.dom_xml)"},{"line_number":13434,"context_line":""},{"line_number":13435,"context_line":"        self.mox.StubOutWithMock(self.drvr._host, \u0027get_domain\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a41bdd9_8af61d8d","line":13432,"in_reply_to":"9a41bdd9_4f002702","updated":"2015-07-16 11:46:25.000000000","message":"This is ok how it is I guess. Guest object is just a wrapper around virDomain. I do not see any reason to force mocking Guest.","commit_id":"c773886fd7c8b0afe316a036b35facbb3a5be3c3"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"0bf38467962cbb169d4ebc3e79f13398d5d39042","unresolved":false,"context_lines":[{"line_number":13435,"context_line":"        self.mox.StubOutWithMock(self.drvr._host, \u0027get_domain\u0027)"},{"line_number":13436,"context_line":"        self.mox.StubOutWithMock(self.drvr._host, \u0027has_min_version\u0027)"},{"line_number":13437,"context_line":"        self.mox.StubOutWithMock(domain, \u0027blockRebase\u0027)"},{"line_number":13438,"context_line":"        self.mox.StubOutWithMock(domain, \u0027blockCommit\u0027)"},{"line_number":13439,"context_line":"        self.mox.StubOutWithMock(domain, \u0027blockJobInfo\u0027)"},{"line_number":13440,"context_line":""},{"line_number":13441,"context_line":"        self.drvr._host.get_domain(instance).AndReturn(domain)"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a41bdd9_6f8c0bda","line":13438,"updated":"2015-07-16 11:32:25.000000000","message":"Don\u0027t see a reason to have this mocked.","commit_id":"c773886fd7c8b0afe316a036b35facbb3a5be3c3"},{"author":{"_account_id":12661,"name":"Dmitry Guryanov","email":"dmitry.guryanov@gmail.com","username":"dguryanov"},"change_message_id":"69c79b97a1c9b0a69a3b2b180a39e650249aa85e","unresolved":false,"context_lines":[{"line_number":13435,"context_line":"        self.mox.StubOutWithMock(self.drvr._host, \u0027get_domain\u0027)"},{"line_number":13436,"context_line":"        self.mox.StubOutWithMock(self.drvr._host, \u0027has_min_version\u0027)"},{"line_number":13437,"context_line":"        self.mox.StubOutWithMock(domain, \u0027blockRebase\u0027)"},{"line_number":13438,"context_line":"        self.mox.StubOutWithMock(domain, \u0027blockCommit\u0027)"},{"line_number":13439,"context_line":"        self.mox.StubOutWithMock(domain, \u0027blockJobInfo\u0027)"},{"line_number":13440,"context_line":""},{"line_number":13441,"context_line":"        self.drvr._host.get_domain(instance).AndReturn(domain)"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a41bdd9_b4e90381","line":13438,"in_reply_to":"9a41bdd9_6f8c0bda","updated":"2015-07-16 12:41:31.000000000","message":"To check, that blockCommit isn\u0027t called?","commit_id":"c773886fd7c8b0afe316a036b35facbb3a5be3c3"},{"author":{"_account_id":10796,"name":"Deepak C Shetty (deepakcs)","email":"dpkshetty@gmail.com","username":"deepakcs"},"change_message_id":"d1570ba12f4c542c4ee79cf29cd795b1e02b2fab","unresolved":false,"context_lines":[{"line_number":13438,"context_line":"        self.mox.StubOutWithMock(domain, \u0027blockCommit\u0027)"},{"line_number":13439,"context_line":"        self.mox.StubOutWithMock(domain, \u0027blockJobInfo\u0027)"},{"line_number":13440,"context_line":""},{"line_number":13441,"context_line":"        self.drvr._host.get_domain(instance).AndReturn(domain)"},{"line_number":13442,"context_line":"        self.drvr._host.has_min_version(mox.IgnoreArg()).AndReturn(True)"},{"line_number":13443,"context_line":""},{"line_number":13444,"context_line":"        domain.blockRebase(\u0027vda\u0027, None, 0, flags\u003d0)"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a41bdd9_6a16394d","line":13441,"updated":"2015-07-16 11:34:56.000000000","message":"mock get_guest instead of get_domain if u follow test_volume_snapshot_delete_relative_1","commit_id":"c773886fd7c8b0afe316a036b35facbb3a5be3c3"},{"author":{"_account_id":12661,"name":"Dmitry Guryanov","email":"dmitry.guryanov@gmail.com","username":"dguryanov"},"change_message_id":"a3d33da6b002ca494f2506671049bb91464dc759","unresolved":false,"context_lines":[{"line_number":13438,"context_line":"        self.mox.StubOutWithMock(domain, \u0027blockCommit\u0027)"},{"line_number":13439,"context_line":"        self.mox.StubOutWithMock(domain, \u0027blockJobInfo\u0027)"},{"line_number":13440,"context_line":""},{"line_number":13441,"context_line":"        self.drvr._host.get_domain(instance).AndReturn(domain)"},{"line_number":13442,"context_line":"        self.drvr._host.has_min_version(mox.IgnoreArg()).AndReturn(True)"},{"line_number":13443,"context_line":""},{"line_number":13444,"context_line":"        domain.blockRebase(\u0027vda\u0027, None, 0, flags\u003d0)"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a41bdd9_4d990ac3","line":13441,"in_reply_to":"9a41bdd9_6a16394d","updated":"2015-07-16 13:27:29.000000000","message":"Done","commit_id":"c773886fd7c8b0afe316a036b35facbb3a5be3c3"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"0bf38467962cbb169d4ebc3e79f13398d5d39042","unresolved":false,"context_lines":[{"line_number":13441,"context_line":"        self.drvr._host.get_domain(instance).AndReturn(domain)"},{"line_number":13442,"context_line":"        self.drvr._host.has_min_version(mox.IgnoreArg()).AndReturn(True)"},{"line_number":13443,"context_line":""},{"line_number":13444,"context_line":"        domain.blockRebase(\u0027vda\u0027, None, 0, flags\u003d0)"},{"line_number":13445,"context_line":""},{"line_number":13446,"context_line":"        domain.blockJobInfo(\u0027vda\u0027, 0).AndReturn({\u0027cur\u0027: 1, \u0027end\u0027: 1000})"},{"line_number":13447,"context_line":"        domain.blockJobInfo(\u0027vda\u0027, 0).AndReturn({\u0027cur\u0027: 1000, \u0027end\u0027: 1000})"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a41bdd9_af6bf3ef","line":13444,"updated":"2015-07-16 11:32:25.000000000","message":"ack","commit_id":"c773886fd7c8b0afe316a036b35facbb3a5be3c3"},{"author":{"_account_id":10796,"name":"Deepak C Shetty (deepakcs)","email":"dpkshetty@gmail.com","username":"deepakcs"},"change_message_id":"d1570ba12f4c542c4ee79cf29cd795b1e02b2fab","unresolved":false,"context_lines":[{"line_number":13452,"context_line":"                                          snapshot_id, self.delete_info_3)"},{"line_number":13453,"context_line":""},{"line_number":13454,"context_line":"        self.mox.VerifyAll()"},{"line_number":13455,"context_line":""},{"line_number":13456,"context_line":"    def test_volume_snapshot_delete_outer_success(self):"},{"line_number":13457,"context_line":"        instance \u003d objects.Instance(**self.inst)"},{"line_number":13458,"context_line":"        snapshot_id \u003d \u0027snapshot-1234\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a41bdd9_6ab2b94d","line":13455,"updated":"2015-07-16 11:34:56.000000000","message":"Need a -ve testcase, blcokRebase relative with null base and assert that it raises exception","commit_id":"c773886fd7c8b0afe316a036b35facbb3a5be3c3"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"45f23d7ce0a396ae847e2f2456b84bb82b7b806b","unresolved":false,"context_lines":[{"line_number":13452,"context_line":"                                          snapshot_id, self.delete_info_3)"},{"line_number":13453,"context_line":""},{"line_number":13454,"context_line":"        self.mox.VerifyAll()"},{"line_number":13455,"context_line":""},{"line_number":13456,"context_line":"    def test_volume_snapshot_delete_outer_success(self):"},{"line_number":13457,"context_line":"        instance \u003d objects.Instance(**self.inst)"},{"line_number":13458,"context_line":"        snapshot_id \u003d \u0027snapshot-1234\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a41bdd9_4aec95ba","line":13455,"in_reply_to":"9a41bdd9_6ab2b94d","updated":"2015-07-16 11:46:25.000000000","message":"+1","commit_id":"c773886fd7c8b0afe316a036b35facbb3a5be3c3"},{"author":{"_account_id":12661,"name":"Dmitry Guryanov","email":"dmitry.guryanov@gmail.com","username":"dguryanov"},"change_message_id":"ffef9b3496aec67648f062f6dbc06d3da2b91096","unresolved":false,"context_lines":[{"line_number":13452,"context_line":"                                          snapshot_id, self.delete_info_3)"},{"line_number":13453,"context_line":""},{"line_number":13454,"context_line":"        self.mox.VerifyAll()"},{"line_number":13455,"context_line":""},{"line_number":13456,"context_line":"    def test_volume_snapshot_delete_outer_success(self):"},{"line_number":13457,"context_line":"        instance \u003d objects.Instance(**self.inst)"},{"line_number":13458,"context_line":"        snapshot_id \u003d \u0027snapshot-1234\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a41bdd9_92108f5a","line":13455,"in_reply_to":"9a41bdd9_6ab2b94d","updated":"2015-07-16 13:18:09.000000000","message":"blockRebase is libvirt-python\u0027s method, why do we need to test it here?","commit_id":"c773886fd7c8b0afe316a036b35facbb3a5be3c3"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"8ae1e3d4d98a0eea6c82f92e0f87e587672b5b5e","unresolved":false,"context_lines":[{"line_number":13291,"context_line":"        snapshot_id \u003d \u0027snapshot-1234\u0027"},{"line_number":13292,"context_line":""},{"line_number":13293,"context_line":"        domain \u003d FakeVirtDomain(fake_xml\u003dself.dom_xml)"},{"line_number":13294,"context_line":"        guest \u003d libvirt_guest.Guest(domain)"},{"line_number":13295,"context_line":"        self.mox.StubOutWithMock(domain, \u0027XMLDesc\u0027)"},{"line_number":13296,"context_line":"        domain.XMLDesc(flags\u003d0).AndReturn(self.dom_xml)"},{"line_number":13297,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"3a50d1a3_dc32fe0f","line":13294,"updated":"2015-07-22 15:40:47.000000000","message":"Why is this needed?","commit_id":"421e592a55a619e6533c9bc99ea2c1b9754520e6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"8ae1e3d4d98a0eea6c82f92e0f87e587672b5b5e","unresolved":false,"context_lines":[{"line_number":13424,"context_line":"        self.mox.VerifyAll()"},{"line_number":13425,"context_line":""},{"line_number":13426,"context_line":"    def test_volume_snapshot_delete_nonrelative_null_base(self):"},{"line_number":13427,"context_line":"        \"\"\"Deleting newest and last snapshot of a volume"},{"line_number":13428,"context_line":"        with blockRebase. So base of the new image will be null."},{"line_number":13429,"context_line":"        \"\"\""},{"line_number":13430,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"3a50d1a3_82497062","line":13427,"updated":"2015-07-22 15:40:47.000000000","message":"Use comments (#) rather than docstrings for test cases, it\u0027s a thing, I know, weird, but anyway if you need to push a new patch set please change this also.","commit_id":"421e592a55a619e6533c9bc99ea2c1b9754520e6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"8ae1e3d4d98a0eea6c82f92e0f87e587672b5b5e","unresolved":false,"context_lines":[{"line_number":13438,"context_line":"        self.mox.StubOutWithMock(domain, \u0027XMLDesc\u0027)"},{"line_number":13439,"context_line":"        domain.XMLDesc(flags\u003d0).AndReturn(self.dom_xml)"},{"line_number":13440,"context_line":""},{"line_number":13441,"context_line":"        self.mox.StubOutWithMock(self.drvr._host, \u0027get_guest\u0027)"},{"line_number":13442,"context_line":"        self.mox.StubOutWithMock(self.drvr._host, \u0027has_min_version\u0027)"},{"line_number":13443,"context_line":"        self.mox.StubOutWithMock(domain, \u0027blockRebase\u0027)"},{"line_number":13444,"context_line":"        self.mox.StubOutWithMock(domain, \u0027blockCommit\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"3a50d1a3_429da8ba","line":13441,"updated":"2015-07-22 15:40:47.000000000","message":"We should be using mock for new tests, not self.stubs or self.mox.","commit_id":"421e592a55a619e6533c9bc99ea2c1b9754520e6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"b2918882a8ebf8e3ce4d7ddc6bf4f73eb58a1574","unresolved":false,"context_lines":[{"line_number":13514,"context_line":"            mock_get_guest.assert_called_once_with(instance)"},{"line_number":13515,"context_line":"            mock_has_min_version.assert_called_once_with((1, 1, 1,))"},{"line_number":13516,"context_line":"            mock_rebase.assert_called_once_with(\u0027vda\u0027, None, 0, flags\u003d0)"},{"line_number":13517,"context_line":"            mock_job_info.assert_called_once_with(\u0027vda\u0027, flags\u003d0)"},{"line_number":13518,"context_line":""},{"line_number":13519,"context_line":"    def test_volume_snapshot_delete_outer_success(self):"},{"line_number":13520,"context_line":"        instance \u003d objects.Instance(**self.inst)"}],"source_content_type":"text/x-python","patch_set":8,"id":"3a50d1a3_942938f5","line":13517,"updated":"2015-07-30 14:57:49.000000000","message":"The only difference in the rebase is that flags\u003d0 is now passed as kwarg rather than just passing 0.  Jenkins is happy though so LGTM.","commit_id":"45d73c49bd2f37ff0091f10a928b2ad548256bae"}]}
