)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"a843a8ba137c57f892bbd852d57aa04d685e1e66","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Bob Ball \u003cbob.ball@citrix.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2013-07-11 15:31:08 +0100"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Refactor Fake to create pools, SRs and VIFs automatically"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Required for changing the default SR to be the pool default (see"},{"line_number":10,"context_line":"next commit in this review)."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"AAAAP3%2F%2FpwE%3D","line":7,"updated":"2013-07-15 09:06:35.000000000","message":"should mention xenapi really","commit_id":"ba645b221fe9736a9b8f8e91eea064e308ee67d0"},{"author":{"_account_id":6735,"name":"Bob Ball","email":"bob.ball@citrix.com","username":"bob-ball"},"change_message_id":"10dacefb0306e5bbd595e155948ca1ba1df2e47e","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Bob Ball \u003cbob.ball@citrix.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2013-07-11 15:31:08 +0100"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Refactor Fake to create pools, SRs and VIFs automatically"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Required for changing the default SR to be the pool default (see"},{"line_number":10,"context_line":"next commit in this review)."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"AAAAP3%2F%2Fpuo%3D","line":7,"in_reply_to":"AAAAP3%2F%2FpwE%3D","updated":"2013-07-15 09:18:09.000000000","message":"Done","commit_id":"ba645b221fe9736a9b8f8e91eea064e308ee67d0"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"a843a8ba137c57f892bbd852d57aa04d685e1e66","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Refactor Fake to create pools, SRs and VIFs automatically"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Required for changing the default SR to be the pool default (see"},{"line_number":10,"context_line":"next commit in this review)."},{"line_number":11,"context_line":"This also fixes some minor bugs in fake.py shown up by the tests"},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"AAAAP3%2F%2Fpv8%3D","line":9,"updated":"2013-07-15 09:06:35.000000000","message":"not sure you want to reference the \"next commit\" will not mean much in the git history.","commit_id":"ba645b221fe9736a9b8f8e91eea064e308ee67d0"},{"author":{"_account_id":6735,"name":"Bob Ball","email":"bob.ball@citrix.com","username":"bob-ball"},"change_message_id":"10dacefb0306e5bbd595e155948ca1ba1df2e47e","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Refactor Fake to create pools, SRs and VIFs automatically"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Required for changing the default SR to be the pool default (see"},{"line_number":10,"context_line":"next commit in this review)."},{"line_number":11,"context_line":"This also fixes some minor bugs in fake.py shown up by the tests"},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"AAAAP3%2F%2Fpus%3D","line":9,"in_reply_to":"AAAAP3%2F%2Fpv8%3D","updated":"2013-07-15 09:18:09.000000000","message":"There is a dependency in gerrit; but do you think I Should add the Change-ID of the other commit or just delete this?","commit_id":"ba645b221fe9736a9b8f8e91eea064e308ee67d0"}],"nova/tests/virt/xenapi/test_xenapi.py":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"a843a8ba137c57f892bbd852d57aa04d685e1e66","unresolved":false,"context_lines":[{"line_number":2632,"context_line":"            if pbd_rec[\u0027host\u0027] !\u003d host_ref:"},{"line_number":2633,"context_line":"                continue"},{"line_number":2634,"context_line":"            sr_rec \u003d xenapi_fake.get_record(\u0027SR\u0027, pbd_rec[\u0027SR\u0027])"},{"line_number":2635,"context_line":"            if sr_rec[\u0027other_config\u0027][\u0027i18n-key\u0027] \u003d\u003d \u0027local-storage\u0027:"},{"line_number":2636,"context_line":"                local_sr \u003d pbd_rec[\u0027SR\u0027]"},{"line_number":2637,"context_line":"        expected \u003d vm_utils.safe_find_sr(session)"},{"line_number":2638,"context_line":"        self.assertEqual(local_sr, expected)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAP3%2F%2FpwQ%3D","line":2635,"updated":"2013-07-15 09:06:35.000000000","message":"This seems really messy, can you not just get the pool default SR, because you know it will also match this local-storage key?","commit_id":"ba645b221fe9736a9b8f8e91eea064e308ee67d0"},{"author":{"_account_id":6735,"name":"Bob Ball","email":"bob.ball@citrix.com","username":"bob-ball"},"change_message_id":"10dacefb0306e5bbd595e155948ca1ba1df2e47e","unresolved":false,"context_lines":[{"line_number":2632,"context_line":"            if pbd_rec[\u0027host\u0027] !\u003d host_ref:"},{"line_number":2633,"context_line":"                continue"},{"line_number":2634,"context_line":"            sr_rec \u003d xenapi_fake.get_record(\u0027SR\u0027, pbd_rec[\u0027SR\u0027])"},{"line_number":2635,"context_line":"            if sr_rec[\u0027other_config\u0027][\u0027i18n-key\u0027] \u003d\u003d \u0027local-storage\u0027:"},{"line_number":2636,"context_line":"                local_sr \u003d pbd_rec[\u0027SR\u0027]"},{"line_number":2637,"context_line":"        expected \u003d vm_utils.safe_find_sr(session)"},{"line_number":2638,"context_line":"        self.assertEqual(local_sr, expected)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAP3%2F%2Fpu0%3D","line":2635,"in_reply_to":"AAAAP3%2F%2FpwQ%3D","updated":"2013-07-15 09:18:09.000000000","message":"I specifically didn\u0027t want to do that because this test is using the local-storage key - so I want to make sure the function does return local-storage irrespective of what the pool default is or whether there is one","commit_id":"ba645b221fe9736a9b8f8e91eea064e308ee67d0"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"00ad8e940286ba86ef2bf8ef930a51c3226c30b1","unresolved":false,"context_lines":[{"line_number":2627,"context_line":"        self.assertEqual(len(xenapi_fake.get_all(\u0027host\u0027)), 1)"},{"line_number":2628,"context_line":"        host_ref \u003d xenapi_fake.get_all(\u0027host\u0027)[0]"},{"line_number":2629,"context_line":"        pbd_refs \u003d xenapi_fake.get_all(\u0027PBD\u0027)"},{"line_number":2630,"context_line":"        for pbd_ref in pbd_refs:"},{"line_number":2631,"context_line":"            pbd_rec \u003d xenapi_fake.get_record(\u0027PBD\u0027, pbd_ref)"},{"line_number":2632,"context_line":"            if pbd_rec[\u0027host\u0027] !\u003d host_ref:"},{"line_number":2633,"context_line":"                continue"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAP3%2F%2FjzY%3D","line":2630,"updated":"2013-07-16 15:37:15.000000000","message":"would seem easier to list all SRs and pick the local-storage one, but still, this works I guess.","commit_id":"c04017ffd4cd3535891cc862870c50bd841d57b4"},{"author":{"_account_id":6735,"name":"Bob Ball","email":"bob.ball@citrix.com","username":"bob-ball"},"change_message_id":"045755a4dab9aeba2db3b54afc6aad40cf8488bd","unresolved":false,"context_lines":[{"line_number":2627,"context_line":"        self.assertEqual(len(xenapi_fake.get_all(\u0027host\u0027)), 1)"},{"line_number":2628,"context_line":"        host_ref \u003d xenapi_fake.get_all(\u0027host\u0027)[0]"},{"line_number":2629,"context_line":"        pbd_refs \u003d xenapi_fake.get_all(\u0027PBD\u0027)"},{"line_number":2630,"context_line":"        for pbd_ref in pbd_refs:"},{"line_number":2631,"context_line":"            pbd_rec \u003d xenapi_fake.get_record(\u0027PBD\u0027, pbd_ref)"},{"line_number":2632,"context_line":"            if pbd_rec[\u0027host\u0027] !\u003d host_ref:"},{"line_number":2633,"context_line":"                continue"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAQn%2F%2F2Go%3D","line":2630,"in_reply_to":"AAAAP3%2F%2FjzY%3D","updated":"2013-07-22 08:23:43.000000000","message":"I wanted the code to be resilient to multiple hosts in the pool - in which case the first local-storage SR might not be the right one; which could be a sporadic failure depending on the order in which SRs were enumerated","commit_id":"c04017ffd4cd3535891cc862870c50bd841d57b4"}]}
