)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"79873ba6bfebe6b0c10477403f002eb2f5d45809","unresolved":false,"context_lines":[{"line_number":9,"context_line":"While attaching a volume by FC, Huawei driver will verify the FC initiator"},{"line_number":10,"context_line":"wwns validation via checking if these wwns exist in Huawei storage."},{"line_number":11,"context_line":"At the situation of NOVA compute node connects to multiple storage through"},{"line_number":12,"context_line":"FC, the passed in inititator wwns must include the wwns that don\u0027t actually"},{"line_number":13,"context_line":"connected to current backend storage, so the verification would fail."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"To avoid this problem, add a filtering step for initiator wwns according to"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"5f4e5783_2f45c543","line":12,"range":{"start_line":12,"start_character":61,"end_line":12,"end_character":65},"updated":"2017-10-13 15:51:47.000000000","message":"aren\u0027t","commit_id":"d7d4fcabe7187396a5fa04c34003b70261ccbf0b"}],"cinder/tests/unit/volume/drivers/huawei/test_huawei_drivers.py":[{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"2531133cde84973b22e3fa1c9073438c2c4742b7","unresolved":false,"context_lines":[{"line_number":5350,"context_line":"    def test_get_fc_initiator_on_array(self):"},{"line_number":5351,"context_line":"        wwns \u003d self.driver.client.get_fc_initiator_on_array()"},{"line_number":5352,"context_line":"        self.assertEqual(2, len(wwns))"},{"line_number":5353,"context_line":"        self.assertIn(\"10000090fa0d6754\", wwns)"},{"line_number":5354,"context_line":"        self.assertIn(\"10000090fa0d6755\", wwns)"},{"line_number":5355,"context_line":""},{"line_number":5356,"context_line":"    @mock.patch.object(rest_client.RestClient, \u0027call\u0027,"},{"line_number":5357,"context_line":"                       return_value\u003d{\"data\": {\"ID\": 1}, \"error\": {\"code\": 0}})"}],"source_content_type":"text/x-python","patch_set":2,"id":"ff82abbf_baaecc95","line":5354,"range":{"start_line":5353,"start_character":8,"end_line":5354,"end_character":47},"updated":"2017-11-24 01:24:51.000000000","message":"Can we use assertListEqual here?","commit_id":"faac5db2f9cfe4285099cfe9521cb39ce6e8a36e"},{"author":{"_account_id":16203,"name":"zengyingzhe","email":"zengyingzhe@huawei.com","username":"zengyingzhe"},"change_message_id":"5a27e826578434f8fec287427f3497706e12856f","unresolved":false,"context_lines":[{"line_number":5350,"context_line":"    def test_get_fc_initiator_on_array(self):"},{"line_number":5351,"context_line":"        wwns \u003d self.driver.client.get_fc_initiator_on_array()"},{"line_number":5352,"context_line":"        self.assertEqual(2, len(wwns))"},{"line_number":5353,"context_line":"        self.assertIn(\"10000090fa0d6754\", wwns)"},{"line_number":5354,"context_line":"        self.assertIn(\"10000090fa0d6755\", wwns)"},{"line_number":5355,"context_line":""},{"line_number":5356,"context_line":"    @mock.patch.object(rest_client.RestClient, \u0027call\u0027,"},{"line_number":5357,"context_line":"                       return_value\u003d{\"data\": {\"ID\": 1}, \"error\": {\"code\": 0}})"}],"source_content_type":"text/x-python","patch_set":2,"id":"ff82abbf_5504314a","line":5354,"range":{"start_line":5353,"start_character":8,"end_line":5354,"end_character":47},"in_reply_to":"ff82abbf_baaecc95","updated":"2017-11-24 02:54:48.000000000","message":"Good idea. Thanks.","commit_id":"faac5db2f9cfe4285099cfe9521cb39ce6e8a36e"}]}
