)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":17922,"name":"Huan Xie","email":"huan.xie@citrix.com","username":"huan"},"change_message_id":"0156bddb72e2610a343224461149be3fb9a3fc73","unresolved":false,"context_lines":[{"line_number":10,"context_line":"tagging implementation."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I9fe520bc9b68d0bc7f879617f2cd27dd1029e4de"},{"line_number":13,"context_line":"Depends-On: I565617e05acf33e6254ea091b88d975270ffde05"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"7f231b9d_308bee1f","line":13,"range":{"start_line":13,"start_character":0,"end_line":13,"end_character":53},"updated":"2017-06-14 03:12:42.000000000","message":"You should not depends on nova patch, it\u0027s nova patch depends on this patch","commit_id":"6ee8be4e05e8f97c35315eb4a2df375b836289d9"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"edd368f97fe27a6739ae8340899bffa5822edd2e","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Xenapi: Fix tempest for xenserver device taggging"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch is for tempest modification to fit xenserver device"},{"line_number":10,"context_line":"tagging implementation."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I9fe520bc9b68d0bc7f879617f2cd27dd1029e4de"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"7f231b9d_3bfdd46d","line":10,"range":{"start_line":9,"start_character":0,"end_line":10,"end_character":23},"updated":"2017-06-15 18:04:15.000000000","message":"I cannot understand why we need this change from the commit message. Can you explain it on the commit message like what is the special case for xenserver ?","commit_id":"a4becc1f342b031a3205b7ae11a0b442d1459a04"},{"author":{"_account_id":25638,"name":"Naichuan Sun","email":"naichuan.sun@citrix.com","username":"naichuans"},"change_message_id":"c9dfa87d7d1fe32f63384fea73104d240cecac9c","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Xenapi: Fix tempest for xenserver device taggging"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch is for tempest modification to fit xenserver device"},{"line_number":10,"context_line":"tagging implementation."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I9fe520bc9b68d0bc7f879617f2cd27dd1029e4de"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"7f231b9d_ae9aafb5","line":10,"range":{"start_line":9,"start_character":0,"end_line":10,"end_character":23},"in_reply_to":"7f231b9d_3bfdd46d","updated":"2017-06-16 10:17:17.000000000","message":"Will modify that~","commit_id":"a4becc1f342b031a3205b7ae11a0b442d1459a04"},{"author":{"_account_id":25638,"name":"Naichuan Sun","email":"naichuan.sun@citrix.com","username":"naichuans"},"change_message_id":"a0a03dd97a454d807ad6b5b3b9a463fcf8ae3dc2","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Xenapi: Fix tempest for xenserver device taggging"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch is for tempest modification to fit xenserver device"},{"line_number":10,"context_line":"tagging implementation."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I9fe520bc9b68d0bc7f879617f2cd27dd1029e4de"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"7f231b9d_fdf17b02","line":10,"range":{"start_line":9,"start_character":0,"end_line":10,"end_character":23},"in_reply_to":"7f231b9d_ae9aafb5","updated":"2017-06-16 10:17:35.000000000","message":"Done","commit_id":"a4becc1f342b031a3205b7ae11a0b442d1459a04"},{"author":{"_account_id":17920,"name":"Jianghua Wang","email":"jianghua.wang@citrix.com","username":"wjhfresh"},"change_message_id":"af221f4b783fbf9e3852ab106a88635a3fef4f4d","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Xenapi: Fix tempest for xenserver device taggging"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch is for tempest modification to fit xenserver device"},{"line_number":10,"context_line":"tagging implementation issue about block-device tagging. Unlike"},{"line_number":11,"context_line":"libvirt and hyper-v, xenserver support more than one kind of"},{"line_number":12,"context_line":"buses."},{"line_number":13,"context_line":"We can\u0027t confirm which kind of bus would be  used, that depend"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"7f231b9d_8cf477f2","line":10,"range":{"start_line":10,"start_character":23,"end_line":10,"end_character":29},"updated":"2017-06-19 03:12:12.000000000","message":"the XS tagging implementation just follows the Xen manual, so it\u0027s not an issue with the implementation:-) Suggest remove **issue**.","commit_id":"43a9e8ebc5c89df036d7ef3b8f5acd9f3abf2a4d"},{"author":{"_account_id":17920,"name":"Jianghua Wang","email":"jianghua.wang@citrix.com","username":"wjhfresh"},"change_message_id":"af221f4b783fbf9e3852ab106a88635a3fef4f4d","unresolved":false,"context_lines":[{"line_number":10,"context_line":"tagging implementation issue about block-device tagging. Unlike"},{"line_number":11,"context_line":"libvirt and hyper-v, xenserver support more than one kind of"},{"line_number":12,"context_line":"buses."},{"line_number":13,"context_line":"We can\u0027t confirm which kind of bus would be  used, that depend"},{"line_number":14,"context_line":"on the guest\u0027s choice. So we tagging all of them at one time."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: I9fe520bc9b68d0bc7f879617f2cd27dd1029e4de"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"7f231b9d_8c3c77e1","line":14,"range":{"start_line":13,"start_character":51,"end_line":14,"end_character":21},"updated":"2017-06-19 03:12:12.000000000","message":"Instead of depending on guest\u0027s choice, I think different device entries will be exposed to guest depending the guest type (linux or window) and the PV drivers.\n\nSuggest to post the reference link: http://xenbits.xen.org/docs/4.2-testing/misc/vbd-interface.txt\nand copy an example metadata here for easy understanding this situation.","commit_id":"43a9e8ebc5c89df036d7ef3b8f5acd9f3abf2a4d"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"0b22af855af9a4f9b5d65e07ec07773530e2c354","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     naichuans \u003cnaichuan.sun@citrix.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2017-06-19 05:34:29 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Xenapi: Fix tempest for xenserver device taggging"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch is for tempest modification to fit xenserver device"},{"line_number":10,"context_line":"tagging implementation about block-device tagging. Unlike"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"5f201791_daa9aadf","line":7,"updated":"2017-06-22 06:28:57.000000000","message":"typo: tagging","commit_id":"318eaa3301a3395dd9f532a9064f3405696ca450"},{"author":{"_account_id":25638,"name":"Naichuan Sun","email":"naichuan.sun@citrix.com","username":"naichuans"},"change_message_id":"1b9e9dbacb1114b4c891fbff84e260c682b9434e","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     naichuans \u003cnaichuan.sun@citrix.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2017-06-19 05:34:29 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Xenapi: Fix tempest for xenserver device taggging"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch is for tempest modification to fit xenserver device"},{"line_number":10,"context_line":"tagging implementation about block-device tagging. Unlike"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"5f201791_35a1d1aa","line":7,"in_reply_to":"5f201791_daa9aadf","updated":"2017-06-22 07:21:25.000000000","message":"will modify it","commit_id":"318eaa3301a3395dd9f532a9064f3405696ca450"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"0b22af855af9a4f9b5d65e07ec07773530e2c354","unresolved":false,"context_lines":[{"line_number":9,"context_line":"This patch is for tempest modification to fit xenserver device"},{"line_number":10,"context_line":"tagging implementation about block-device tagging. Unlike"},{"line_number":11,"context_line":"libvirt and hyper-v, xenserver support more than one kind of"},{"line_number":12,"context_line":"buses."},{"line_number":13,"context_line":"We can\u0027t confirm which kind of bus would be  used, different"},{"line_number":14,"context_line":"device entries will be exposed to guest depending the guest"},{"line_number":15,"context_line":"type (linux or window) and the PV drivers. So we tagging all of"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"5f201791_baaeeee4","line":12,"updated":"2017-06-22 06:28:57.000000000","message":"I actually can\u0027t imagine the xenserver device tagging. Could you give me an example for that?","commit_id":"318eaa3301a3395dd9f532a9064f3405696ca450"},{"author":{"_account_id":25638,"name":"Naichuan Sun","email":"naichuan.sun@citrix.com","username":"naichuans"},"change_message_id":"4350d3883a937fa9ab7d5d231a266e5567dd2c15","unresolved":false,"context_lines":[{"line_number":9,"context_line":"This patch is for tempest modification to fit xenserver device"},{"line_number":10,"context_line":"tagging implementation about block-device tagging. Unlike"},{"line_number":11,"context_line":"libvirt and hyper-v, xenserver support more than one kind of"},{"line_number":12,"context_line":"buses."},{"line_number":13,"context_line":"We can\u0027t confirm which kind of bus would be  used, different"},{"line_number":14,"context_line":"device entries will be exposed to guest depending the guest"},{"line_number":15,"context_line":"type (linux or window) and the PV drivers. So we tagging all of"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"5f201791_6611dcac","line":12,"in_reply_to":"5f201791_957ae521","updated":"2017-06-22 09:29:16.000000000","message":"example metadata is too large, please check if Bob\u0027s description is clear for you. thank you","commit_id":"318eaa3301a3395dd9f532a9064f3405696ca450"},{"author":{"_account_id":25638,"name":"Naichuan Sun","email":"naichuan.sun@citrix.com","username":"naichuans"},"change_message_id":"1b9e9dbacb1114b4c891fbff84e260c682b9434e","unresolved":false,"context_lines":[{"line_number":9,"context_line":"This patch is for tempest modification to fit xenserver device"},{"line_number":10,"context_line":"tagging implementation about block-device tagging. Unlike"},{"line_number":11,"context_line":"libvirt and hyper-v, xenserver support more than one kind of"},{"line_number":12,"context_line":"buses."},{"line_number":13,"context_line":"We can\u0027t confirm which kind of bus would be  used, different"},{"line_number":14,"context_line":"device entries will be exposed to guest depending the guest"},{"line_number":15,"context_line":"type (linux or window) and the PV drivers. So we tagging all of"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"5f201791_957ae521","line":12,"in_reply_to":"5f201791_baaeeee4","updated":"2017-06-22 07:21:25.000000000","message":"I will put an example here, thank you.","commit_id":"318eaa3301a3395dd9f532a9064f3405696ca450"},{"author":{"_account_id":6735,"name":"Bob Ball","email":"bob.ball@citrix.com","username":"bob-ball"},"change_message_id":"f1425f3a73a4c20791c5900467c175bf9ebcc7fb","unresolved":false,"context_lines":[{"line_number":14,"context_line":"device entries will be exposed to guest depending the guest"},{"line_number":15,"context_line":"type (linux or window) and the PV drivers. So we tagging all of"},{"line_number":16,"context_line":"them at one time."},{"line_number":17,"context_line":"Here is an example,"},{"line_number":18,"context_line":"{\"path\": \"/dev/xvda\", \"address\": \"0:0\", \"type\": \"disk\", \"tags\":"},{"line_number":19,"context_line":"[\"boot\"], \"bus\": \"ide\"},"},{"line_number":20,"context_line":"{\"path\": \"HKLM\\\\SYSTEM\\\\ControlSet001\\\\Enum\\\\SCSIDisk\u0026Ven_XENSRC"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":11,"id":"5f201791_a02ebcf7","line":17,"updated":"2017-06-22 08:33:03.000000000","message":"We shouldn\u0027t include this entire example, but instead highlight why the change is needed.  I\u0027d suggest the following text instead of the copy/paste:\n\nThere are two reasons that multiple paths will exist for a tagged disk:\n1) HVM guests may not have the PV drivers installed, in which case the disk will be accessible on the IDE bus.  When the PV drivers are installed the disk will be accessible on the Xen bus.\n2) Windows guests with PV drivers installed expose devices in a different way to Linux guests with PV drivers.  Linux systems will see disk paths under /sys/devices/ but Windows guests will see them in the registry (e.g. HKLM\\System\\ControlSet001\\Enum\\SCSIDisk).  These two disks are both on the \"xen\" bus.","commit_id":"880c0503b86f05b67982385fc3f56eb7c4651ce8"},{"author":{"_account_id":25638,"name":"Naichuan Sun","email":"naichuan.sun@citrix.com","username":"naichuans"},"change_message_id":"aff9111a428f448173b5c3abdc896c4573828ef8","unresolved":false,"context_lines":[{"line_number":14,"context_line":"device entries will be exposed to guest depending the guest"},{"line_number":15,"context_line":"type (linux or window) and the PV drivers. So we tagging all of"},{"line_number":16,"context_line":"them at one time."},{"line_number":17,"context_line":"Here is an example,"},{"line_number":18,"context_line":"{\"path\": \"/dev/xvda\", \"address\": \"0:0\", \"type\": \"disk\", \"tags\":"},{"line_number":19,"context_line":"[\"boot\"], \"bus\": \"ide\"},"},{"line_number":20,"context_line":"{\"path\": \"HKLM\\\\SYSTEM\\\\ControlSet001\\\\Enum\\\\SCSIDisk\u0026Ven_XENSRC"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":11,"id":"5f201791_06db481b","line":17,"in_reply_to":"5f201791_a02ebcf7","updated":"2017-06-22 09:27:13.000000000","message":"Thank you very much, Bob. Will update it","commit_id":"880c0503b86f05b67982385fc3f56eb7c4651ce8"}],"tempest/api/compute/servers/test_device_tagging.py":[{"author":{"_account_id":17920,"name":"Jianghua Wang","email":"jianghua.wang@citrix.com","username":"wjhfresh"},"change_message_id":"a0834adb45b0a5f9b489a8709520c1906bf65cb8","unresolved":false,"context_lines":[{"line_number":86,"context_line":"            elif d[\u0027type\u0027] \u003d\u003d \u0027disk\u0027:"},{"line_number":87,"context_line":"                self.assertTrue(\u0027tags\u0027 in d"},{"line_number":88,"context_line":"                                and (d[\u0027tags\u0027] \u003d\u003d [\u0027boot\u0027]"},{"line_number":89,"context_line":"                                     or d[\u0027tags\u0027] \u003d\u003d [\u0027other\u0027]))"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"    @decorators.idempotent_id(\u0027a2e65a6c-66f1-4442-aaa8-498c31778d96\u0027)"},{"line_number":92,"context_line":"    @test.services(\u0027network\u0027, \u0027volume\u0027, \u0027image\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f231b9d_c808b8da","line":89,"updated":"2017-06-13 05:20:02.000000000","message":"in stead checking the result tags is either \"boot\" or \"other\", suggest check if both \"boot\" and \"other\" exist in the result tag list. And please add a comments to explain XenServer will have multiple tagged entries.","commit_id":"ba8033ca3f76e7389543a72388282862f15a17ec"},{"author":{"_account_id":25638,"name":"Naichuan Sun","email":"naichuan.sun@citrix.com","username":"naichuans"},"change_message_id":"928ed0ad99a905801a75083f5f97efa6830461ac","unresolved":false,"context_lines":[{"line_number":86,"context_line":"            elif d[\u0027type\u0027] \u003d\u003d \u0027disk\u0027:"},{"line_number":87,"context_line":"                self.assertTrue(\u0027tags\u0027 in d"},{"line_number":88,"context_line":"                                and (d[\u0027tags\u0027] \u003d\u003d [\u0027boot\u0027]"},{"line_number":89,"context_line":"                                     or d[\u0027tags\u0027] \u003d\u003d [\u0027other\u0027]))"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"    @decorators.idempotent_id(\u0027a2e65a6c-66f1-4442-aaa8-498c31778d96\u0027)"},{"line_number":92,"context_line":"    @test.services(\u0027network\u0027, \u0027volume\u0027, \u0027image\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f231b9d_c8c1d8e6","line":89,"in_reply_to":"7f231b9d_c808b8da","updated":"2017-06-13 05:51:58.000000000","message":"will check that","commit_id":"ba8033ca3f76e7389543a72388282862f15a17ec"},{"author":{"_account_id":6735,"name":"Bob Ball","email":"bob.ball@citrix.com","username":"bob-ball"},"change_message_id":"1ff8d22c23e99b9a699c934fdd552e472b6cba54","unresolved":false,"context_lines":[{"line_number":84,"context_line":"                if d[\u0027mac\u0027] \u003d\u003d self.net_2_200_mac:"},{"line_number":85,"context_line":"                    self.assertEqual(d[\u0027tags\u0027], [\u0027net-2-200\u0027])"},{"line_number":86,"context_line":"            elif d[\u0027type\u0027] \u003d\u003d \u0027disk\u0027:"},{"line_number":87,"context_line":"                self.assertTrue(\u0027tags\u0027 in d"},{"line_number":88,"context_line":"                                and (d[\u0027tags\u0027] \u003d\u003d [\u0027boot\u0027]"},{"line_number":89,"context_line":"                                     or d[\u0027tags\u0027] \u003d\u003d [\u0027other\u0027]))"},{"line_number":90,"context_line":"            # According to device tagging implementation on xenserver, there"}],"source_content_type":"text/x-python","patch_set":4,"id":"7f231b9d_4c86eadd","line":87,"updated":"2017-06-13 14:38:37.000000000","message":"I think this could be better written as:\nself.assertIn(d[\u0027tags\u0027],[[\u0027boot\u0027], [\u0027other\u0027]])?\n\nI wonder if this is needed though, since it\u0027s verified by the below lines.","commit_id":"c8893c0114f3f8c3a7ed07d13a51b42a2330443a"},{"author":{"_account_id":25638,"name":"Naichuan Sun","email":"naichuan.sun@citrix.com","username":"naichuans"},"change_message_id":"61153b018e5c64c7acc55b9aabd36c1fa8fa2ca1","unresolved":false,"context_lines":[{"line_number":84,"context_line":"                if d[\u0027mac\u0027] \u003d\u003d self.net_2_200_mac:"},{"line_number":85,"context_line":"                    self.assertEqual(d[\u0027tags\u0027], [\u0027net-2-200\u0027])"},{"line_number":86,"context_line":"            elif d[\u0027type\u0027] \u003d\u003d \u0027disk\u0027:"},{"line_number":87,"context_line":"                self.assertTrue(\u0027tags\u0027 in d"},{"line_number":88,"context_line":"                                and (d[\u0027tags\u0027] \u003d\u003d [\u0027boot\u0027]"},{"line_number":89,"context_line":"                                     or d[\u0027tags\u0027] \u003d\u003d [\u0027other\u0027]))"},{"line_number":90,"context_line":"            # According to device tagging implementation on xenserver, there"}],"source_content_type":"text/x-python","patch_set":4,"id":"7f231b9d_53bd57d6","line":87,"in_reply_to":"7f231b9d_4c86eadd","updated":"2017-06-14 01:45:26.000000000","message":"You are right, will remove these codes","commit_id":"c8893c0114f3f8c3a7ed07d13a51b42a2330443a"},{"author":{"_account_id":6735,"name":"Bob Ball","email":"bob.ball@citrix.com","username":"bob-ball"},"change_message_id":"1ff8d22c23e99b9a699c934fdd552e472b6cba54","unresolved":false,"context_lines":[{"line_number":87,"context_line":"                self.assertTrue(\u0027tags\u0027 in d"},{"line_number":88,"context_line":"                                and (d[\u0027tags\u0027] \u003d\u003d [\u0027boot\u0027]"},{"line_number":89,"context_line":"                                     or d[\u0027tags\u0027] \u003d\u003d [\u0027other\u0027]))"},{"line_number":90,"context_line":"            # According to device tagging implementation on xenserver, there"},{"line_number":91,"context_line":"            # would tagging more than once for each disk, so the tags(\u0027boot\u0027,"},{"line_number":92,"context_line":"            # \u0027other\u0027) would be more than one"},{"line_number":93,"context_line":"            found_devices \u003d [d[\u0027tags\u0027][0] for d in md_dict[\u0027devices\u0027]]"}],"source_content_type":"text/x-python","patch_set":4,"id":"7f231b9d_ecf3769d","line":90,"updated":"2017-06-13 14:38:37.000000000","message":"Tempest tries hard to not include any hypervisor-specifics.  I think we should instead just comment that \"a hypervisor may present multiple paths to a tagged disk\"","commit_id":"c8893c0114f3f8c3a7ed07d13a51b42a2330443a"},{"author":{"_account_id":25638,"name":"Naichuan Sun","email":"naichuan.sun@citrix.com","username":"naichuans"},"change_message_id":"61153b018e5c64c7acc55b9aabd36c1fa8fa2ca1","unresolved":false,"context_lines":[{"line_number":87,"context_line":"                self.assertTrue(\u0027tags\u0027 in d"},{"line_number":88,"context_line":"                                and (d[\u0027tags\u0027] \u003d\u003d [\u0027boot\u0027]"},{"line_number":89,"context_line":"                                     or d[\u0027tags\u0027] \u003d\u003d [\u0027other\u0027]))"},{"line_number":90,"context_line":"            # According to device tagging implementation on xenserver, there"},{"line_number":91,"context_line":"            # would tagging more than once for each disk, so the tags(\u0027boot\u0027,"},{"line_number":92,"context_line":"            # \u0027other\u0027) would be more than one"},{"line_number":93,"context_line":"            found_devices \u003d [d[\u0027tags\u0027][0] for d in md_dict[\u0027devices\u0027]]"}],"source_content_type":"text/x-python","patch_set":4,"id":"7f231b9d_b3cb8b70","line":90,"in_reply_to":"7f231b9d_ecf3769d","updated":"2017-06-14 01:45:26.000000000","message":"Will modify that","commit_id":"c8893c0114f3f8c3a7ed07d13a51b42a2330443a"},{"author":{"_account_id":6735,"name":"Bob Ball","email":"bob.ball@citrix.com","username":"bob-ball"},"change_message_id":"1ff8d22c23e99b9a699c934fdd552e472b6cba54","unresolved":false,"context_lines":[{"line_number":91,"context_line":"            # would tagging more than once for each disk, so the tags(\u0027boot\u0027,"},{"line_number":92,"context_line":"            # \u0027other\u0027) would be more than one"},{"line_number":93,"context_line":"            found_devices \u003d [d[\u0027tags\u0027][0] for d in md_dict[\u0027devices\u0027]]"},{"line_number":94,"context_line":"            self.assertEqual(set(found_devices), set([\u0027port-1\u0027, \u0027port-2\u0027,"},{"line_number":95,"context_line":"                                              \u0027net-1\u0027, \u0027net-2-100\u0027,"},{"line_number":96,"context_line":"                                              \u0027net-2-200\u0027, \u0027boot\u0027, \u0027other\u0027]))"},{"line_number":97,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"7f231b9d_ac621e3d","line":94,"updated":"2017-06-13 14:38:37.000000000","message":"I like this - very nice way of expressing the test.","commit_id":"c8893c0114f3f8c3a7ed07d13a51b42a2330443a"},{"author":{"_account_id":25638,"name":"Naichuan Sun","email":"naichuan.sun@citrix.com","username":"naichuans"},"change_message_id":"61153b018e5c64c7acc55b9aabd36c1fa8fa2ca1","unresolved":false,"context_lines":[{"line_number":91,"context_line":"            # would tagging more than once for each disk, so the tags(\u0027boot\u0027,"},{"line_number":92,"context_line":"            # \u0027other\u0027) would be more than one"},{"line_number":93,"context_line":"            found_devices \u003d [d[\u0027tags\u0027][0] for d in md_dict[\u0027devices\u0027]]"},{"line_number":94,"context_line":"            self.assertEqual(set(found_devices), set([\u0027port-1\u0027, \u0027port-2\u0027,"},{"line_number":95,"context_line":"                                              \u0027net-1\u0027, \u0027net-2-100\u0027,"},{"line_number":96,"context_line":"                                              \u0027net-2-200\u0027, \u0027boot\u0027, \u0027other\u0027]))"},{"line_number":97,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"7f231b9d_13859f08","line":94,"in_reply_to":"7f231b9d_ac621e3d","updated":"2017-06-14 01:45:26.000000000","message":"Thank you","commit_id":"c8893c0114f3f8c3a7ed07d13a51b42a2330443a"},{"author":{"_account_id":17922,"name":"Huan Xie","email":"huan.xie@citrix.com","username":"huan"},"change_message_id":"67f5e0721d389587ee5dfcc3320801b261f92892","unresolved":false,"context_lines":[{"line_number":87,"context_line":"            # a hypervisor may present multiple paths to a tagged disk"},{"line_number":88,"context_line":"            found_devices \u003d [d[\u0027tags\u0027][0] for d in md_dict[\u0027devices\u0027]]"},{"line_number":89,"context_line":"            self.assertEqual(set(found_devices), set([\u0027port-1\u0027, \u0027port-2\u0027,"},{"line_number":90,"context_line":"                                              \u0027net-1\u0027, \u0027net-2-100\u0027,"},{"line_number":91,"context_line":"                                              \u0027net-2-200\u0027, \u0027boot\u0027, \u0027other\u0027]))"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"    @decorators.idempotent_id(\u0027a2e65a6c-66f1-4442-aaa8-498c31778d96\u0027)"},{"line_number":94,"context_line":"    @test.services(\u0027network\u0027, \u0027volume\u0027, \u0027image\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"7f231b9d_33509b32","line":91,"range":{"start_line":90,"start_character":46,"end_line":91,"end_character":77},"updated":"2017-06-14 02:16:35.000000000","message":"This may meet pep8 problem for indent","commit_id":"1a79d2bcbcbe4e98da105c13a3cd993d52a39004"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"0b22af855af9a4f9b5d65e07ec07773530e2c354","unresolved":false,"context_lines":[{"line_number":85,"context_line":"                    self.assertEqual(d[\u0027tags\u0027], [\u0027net-2-200\u0027])"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"            # a hypervisor may present multiple paths to a tagged disk"},{"line_number":88,"context_line":"            found_devices \u003d [d[\u0027tags\u0027][0] for d in md_dict[\u0027devices\u0027]]"},{"line_number":89,"context_line":"            self.assertEqual(set(found_devices), set([\u0027port-1\u0027, \u0027port-2\u0027,"},{"line_number":90,"context_line":"                                                      \u0027net-1\u0027, \u0027net-2-100\u0027,"},{"line_number":91,"context_line":"                                                      \u0027net-2-200\u0027, \u0027boot\u0027,"}],"source_content_type":"text/x-python","patch_set":10,"id":"5f201791_9aab32d5","line":88,"updated":"2017-06-22 06:28:57.000000000","message":"I think adding a NOTE is good to understand the meaning of these \u0027set()\u0027.","commit_id":"318eaa3301a3395dd9f532a9064f3405696ca450"}]}
