)]}'
{"openstackclient/tests/functional/network/v2/test_subnet_pool.py":[{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"54300772f7adf70671b6c1d967885e1767169a96","unresolved":false,"context_lines":[{"line_number":9,"context_line":"#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":10,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":11,"context_line":"#    under the License."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"import json"},{"line_number":14,"context_line":"import random"},{"line_number":15,"context_line":"import uuid"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba2be162_0dc5235a","line":12,"updated":"2017-03-02 13:48:53.000000000","message":"Nit: I would also like to see a \u0027subnet pool unset\u0027","commit_id":"76942e65326c0af022427601024d2fe609960e3f"},{"author":{"_account_id":24080,"name":"jiahui.qiang","email":"jiahui.qiang@easystack.cn","username":"qiangjiahui"},"change_message_id":"d57ddcd8fff4b1c1b743d2557d355de94d85e798","unresolved":false,"context_lines":[{"line_number":9,"context_line":"#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":10,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":11,"context_line":"#    under the License."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"import json"},{"line_number":14,"context_line":"import random"},{"line_number":15,"context_line":"import uuid"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba2be162_4543046c","line":12,"in_reply_to":"ba2be162_0dc5235a","updated":"2017-03-06 02:15:18.000000000","message":"hi, Ankur. Thank you for your review. I did not add unset command because i find a bug in this command as below:\nhttps://bugs.launchpad.net/python-openstackclient/+bug/1670230\nAnd i am trying to fix it now. :)","commit_id":"76942e65326c0af022427601024d2fe609960e3f"},{"author":{"_account_id":22776,"name":"Nakul Dahiwade","email":"nakul.dahiwade@intel.com","username":"nakul.dahiwade"},"change_message_id":"73de9c1ecf8b49e0a4ffb2cf317a7c5e0bc5a1f1","unresolved":false,"context_lines":[{"line_number":35,"context_line":"            pool_prefix,"},{"line_number":36,"context_line":"            cmd_output[\"prefixes\"]"},{"line_number":37,"context_line":"        )"},{"line_number":38,"context_line":"        del_output \u003d del_output \u003d self.openstack("},{"line_number":39,"context_line":"            \u0027subnet pool delete \u0027 + name1)"},{"line_number":40,"context_line":"        self.assertOutput(\u0027\u0027, del_output)"},{"line_number":41,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"ba2be162_40a9608f","line":38,"updated":"2017-03-03 16:19:13.000000000","message":"one del_output can be removed","commit_id":"76942e65326c0af022427601024d2fe609960e3f"},{"author":{"_account_id":24080,"name":"jiahui.qiang","email":"jiahui.qiang@easystack.cn","username":"qiangjiahui"},"change_message_id":"d57ddcd8fff4b1c1b743d2557d355de94d85e798","unresolved":false,"context_lines":[{"line_number":35,"context_line":"            pool_prefix,"},{"line_number":36,"context_line":"            cmd_output[\"prefixes\"]"},{"line_number":37,"context_line":"        )"},{"line_number":38,"context_line":"        del_output \u003d del_output \u003d self.openstack("},{"line_number":39,"context_line":"            \u0027subnet pool delete \u0027 + name1)"},{"line_number":40,"context_line":"        self.assertOutput(\u0027\u0027, del_output)"},{"line_number":41,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"ba2be162_c5fb7445","line":38,"in_reply_to":"ba2be162_40a9608f","updated":"2017-03-06 02:15:18.000000000","message":"Done","commit_id":"76942e65326c0af022427601024d2fe609960e3f"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"54300772f7adf70671b6c1d967885e1767169a96","unresolved":false,"context_lines":[{"line_number":39,"context_line":"            \u0027subnet pool delete \u0027 + name1)"},{"line_number":40,"context_line":"        self.assertOutput(\u0027\u0027, del_output)"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    def test_subnet_list(self):"},{"line_number":43,"context_line":"        \"\"\"Test create, list filter\"\"\""},{"line_number":44,"context_line":"        name1 \u003d uuid.uuid4().hex"},{"line_number":45,"context_line":"        name2 \u003d uuid.uuid4().hex"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba2be162_ed91af9a","line":42,"updated":"2017-03-02 13:48:53.000000000","message":"test_subnet_pool_list","commit_id":"76942e65326c0af022427601024d2fe609960e3f"},{"author":{"_account_id":22776,"name":"Nakul Dahiwade","email":"nakul.dahiwade@intel.com","username":"nakul.dahiwade"},"change_message_id":"73de9c1ecf8b49e0a4ffb2cf317a7c5e0bc5a1f1","unresolved":false,"context_lines":[{"line_number":39,"context_line":"            \u0027subnet pool delete \u0027 + name1)"},{"line_number":40,"context_line":"        self.assertOutput(\u0027\u0027, del_output)"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    def test_subnet_list(self):"},{"line_number":43,"context_line":"        \"\"\"Test create, list filter\"\"\""},{"line_number":44,"context_line":"        name1 \u003d uuid.uuid4().hex"},{"line_number":45,"context_line":"        name2 \u003d uuid.uuid4().hex"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba2be162_60b744f5","line":42,"in_reply_to":"ba2be162_ed91af9a","updated":"2017-03-03 16:19:13.000000000","message":"+1","commit_id":"76942e65326c0af022427601024d2fe609960e3f"},{"author":{"_account_id":24080,"name":"jiahui.qiang","email":"jiahui.qiang@easystack.cn","username":"qiangjiahui"},"change_message_id":"d57ddcd8fff4b1c1b743d2557d355de94d85e798","unresolved":false,"context_lines":[{"line_number":39,"context_line":"            \u0027subnet pool delete \u0027 + name1)"},{"line_number":40,"context_line":"        self.assertOutput(\u0027\u0027, del_output)"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    def test_subnet_list(self):"},{"line_number":43,"context_line":"        \"\"\"Test create, list filter\"\"\""},{"line_number":44,"context_line":"        name1 \u003d uuid.uuid4().hex"},{"line_number":45,"context_line":"        name2 \u003d uuid.uuid4().hex"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba2be162_a5004035","line":42,"in_reply_to":"ba2be162_ed91af9a","updated":"2017-03-06 02:15:18.000000000","message":"Done","commit_id":"76942e65326c0af022427601024d2fe609960e3f"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"54300772f7adf70671b6c1d967885e1767169a96","unresolved":false,"context_lines":[{"line_number":128,"context_line":"            \u0027subnet pool delete \u0027 + name1 + \u0027 \u0027 + name2)"},{"line_number":129,"context_line":"        self.assertOutput(\u0027\u0027, del_output)"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"    def test_subnet_set_show(self):"},{"line_number":132,"context_line":"        \"\"\"Test create, set, show, delete\"\"\""},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"        name \u003d uuid.uuid4().hex"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba2be162_0d5fe30e","line":131,"updated":"2017-03-02 13:48:53.000000000","message":"test_subnet_pool_set_show","commit_id":"76942e65326c0af022427601024d2fe609960e3f"},{"author":{"_account_id":22776,"name":"Nakul Dahiwade","email":"nakul.dahiwade@intel.com","username":"nakul.dahiwade"},"change_message_id":"73de9c1ecf8b49e0a4ffb2cf317a7c5e0bc5a1f1","unresolved":false,"context_lines":[{"line_number":128,"context_line":"            \u0027subnet pool delete \u0027 + name1 + \u0027 \u0027 + name2)"},{"line_number":129,"context_line":"        self.assertOutput(\u0027\u0027, del_output)"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"    def test_subnet_set_show(self):"},{"line_number":132,"context_line":"        \"\"\"Test create, set, show, delete\"\"\""},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"        name \u003d uuid.uuid4().hex"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba2be162_20c1cc54","line":131,"in_reply_to":"ba2be162_0d5fe30e","updated":"2017-03-03 16:19:13.000000000","message":"+1","commit_id":"76942e65326c0af022427601024d2fe609960e3f"},{"author":{"_account_id":24080,"name":"jiahui.qiang","email":"jiahui.qiang@easystack.cn","username":"qiangjiahui"},"change_message_id":"d57ddcd8fff4b1c1b743d2557d355de94d85e798","unresolved":false,"context_lines":[{"line_number":128,"context_line":"            \u0027subnet pool delete \u0027 + name1 + \u0027 \u0027 + name2)"},{"line_number":129,"context_line":"        self.assertOutput(\u0027\u0027, del_output)"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"    def test_subnet_set_show(self):"},{"line_number":132,"context_line":"        \"\"\"Test create, set, show, delete\"\"\""},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"        name \u003d uuid.uuid4().hex"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba2be162_e5f6b85b","line":131,"in_reply_to":"ba2be162_0d5fe30e","updated":"2017-03-06 02:15:18.000000000","message":"Done","commit_id":"76942e65326c0af022427601024d2fe609960e3f"},{"author":{"_account_id":22776,"name":"Nakul Dahiwade","email":"nakul.dahiwade@intel.com","username":"nakul.dahiwade"},"change_message_id":"73de9c1ecf8b49e0a4ffb2cf317a7c5e0bc5a1f1","unresolved":false,"context_lines":[{"line_number":152,"context_line":"            pool_prefix,"},{"line_number":153,"context_line":"            cmd_output[\"prefixes\"]"},{"line_number":154,"context_line":"        )"},{"line_number":155,"context_line":"        self.assertInOutput("},{"line_number":156,"context_line":"            \"16\","},{"line_number":157,"context_line":"            cmd_output[\"default_prefixlen\"]"},{"line_number":158,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba2be162_80e998e8","line":155,"updated":"2017-03-03 16:19:13.000000000","message":"This should be changed to assertEqual","commit_id":"76942e65326c0af022427601024d2fe609960e3f"},{"author":{"_account_id":24080,"name":"jiahui.qiang","email":"jiahui.qiang@easystack.cn","username":"qiangjiahui"},"change_message_id":"d57ddcd8fff4b1c1b743d2557d355de94d85e798","unresolved":false,"context_lines":[{"line_number":152,"context_line":"            pool_prefix,"},{"line_number":153,"context_line":"            cmd_output[\"prefixes\"]"},{"line_number":154,"context_line":"        )"},{"line_number":155,"context_line":"        self.assertInOutput("},{"line_number":156,"context_line":"            \"16\","},{"line_number":157,"context_line":"            cmd_output[\"default_prefixlen\"]"},{"line_number":158,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba2be162_858c1cdb","line":155,"in_reply_to":"ba2be162_80e998e8","updated":"2017-03-06 02:15:18.000000000","message":"assertEqual is success in my local environment but it is also failed in jenkins","commit_id":"76942e65326c0af022427601024d2fe609960e3f"},{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"e28936b7ee32ca4c9fac0d1ed38ffe12749dd651","unresolved":false,"context_lines":[{"line_number":125,"context_line":"        self.assertIn(name2, names)"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"        del_output \u003d self.openstack("},{"line_number":128,"context_line":"            \u0027subnet pool delete \u0027 + name1 + \u0027 \u0027 + name2)"},{"line_number":129,"context_line":"        self.assertOutput(\u0027\u0027, del_output)"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"    def test_subnet_pool_set_show(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a30ddce_7aeac5ad","line":128,"updated":"2017-03-09 12:19:11.000000000","message":"Why not use AddCleanUp here?","commit_id":"bff9221c30bb9104bddfea1e098794a65f9030d1"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"6b0c682f6519a17d2f6e361204ad4bb9822de78b","unresolved":false,"context_lines":[{"line_number":125,"context_line":"        self.assertIn(name2, names)"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"        del_output \u003d self.openstack("},{"line_number":128,"context_line":"            \u0027subnet pool delete \u0027 + name1 + \u0027 \u0027 + name2)"},{"line_number":129,"context_line":"        self.assertOutput(\u0027\u0027, del_output)"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"    def test_subnet_pool_set_show(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a30ddce_051c0169","line":128,"in_reply_to":"9a30ddce_7aeac5ad","updated":"2017-03-09 17:05:06.000000000","message":"+1","commit_id":"bff9221c30bb9104bddfea1e098794a65f9030d1"},{"author":{"_account_id":24080,"name":"jiahui.qiang","email":"jiahui.qiang@easystack.cn","username":"qiangjiahui"},"change_message_id":"06296eb404c99e3dc7306c82536978ff5863da7a","unresolved":false,"context_lines":[{"line_number":125,"context_line":"        self.assertIn(name2, names)"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"        del_output \u003d self.openstack("},{"line_number":128,"context_line":"            \u0027subnet pool delete \u0027 + name1 + \u0027 \u0027 + name2)"},{"line_number":129,"context_line":"        self.assertOutput(\u0027\u0027, del_output)"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"    def test_subnet_pool_set_show(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a30ddce_08815fc3","line":128,"in_reply_to":"9a30ddce_7aeac5ad","updated":"2017-03-10 04:50:12.000000000","message":"Done","commit_id":"bff9221c30bb9104bddfea1e098794a65f9030d1"},{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"e28936b7ee32ca4c9fac0d1ed38ffe12749dd651","unresolved":false,"context_lines":[{"line_number":208,"context_line":"        )"},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"        del_output \u003d self.openstack("},{"line_number":211,"context_line":"            \u0027subnet pool delete \u0027 + new_name)"},{"line_number":212,"context_line":"        self.assertOutput(\u0027\u0027, del_output)"},{"line_number":213,"context_line":""},{"line_number":214,"context_line":"    def _get_admin_demo_project_ID(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a30ddce_9ad3f903","line":211,"updated":"2017-03-09 12:19:11.000000000","message":"ditto","commit_id":"bff9221c30bb9104bddfea1e098794a65f9030d1"},{"author":{"_account_id":24080,"name":"jiahui.qiang","email":"jiahui.qiang@easystack.cn","username":"qiangjiahui"},"change_message_id":"06296eb404c99e3dc7306c82536978ff5863da7a","unresolved":false,"context_lines":[{"line_number":208,"context_line":"        )"},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"        del_output \u003d self.openstack("},{"line_number":211,"context_line":"            \u0027subnet pool delete \u0027 + new_name)"},{"line_number":212,"context_line":"        self.assertOutput(\u0027\u0027, del_output)"},{"line_number":213,"context_line":""},{"line_number":214,"context_line":"    def _get_admin_demo_project_ID(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a30ddce_88754ffb","line":211,"in_reply_to":"9a30ddce_9ad3f903","updated":"2017-03-10 04:50:12.000000000","message":"It really makes sense to me. Thank you!","commit_id":"bff9221c30bb9104bddfea1e098794a65f9030d1"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"6c4d588de9c6812d99e588b2e4b4d172c15d735d","unresolved":false,"context_lines":[{"line_number":231,"context_line":"        self.assertEqual(admin_project_id, auth_project_id)"},{"line_number":232,"context_line":"        return admin_project_id, demo_project_id"},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"    def _subnet_pool_create(self, cmd, name, is_type_ipv4\u003dTrue):"},{"line_number":235,"context_line":"        # Make a random subnet pool"},{"line_number":236,"context_line":"        if is_type_ipv4:"},{"line_number":237,"context_line":"            pool_prefix \u003d \".\".join(map("}],"source_content_type":"text/x-python","patch_set":5,"id":"7a25e98e_1c81424b","line":234,"updated":"2017-03-13 23:33:32.000000000","message":"Have a look at test_subnet.py SubnetTests._subnet_create() and make sure this does not have the same collision issues we found there.  That is why there is the for loop to make 4 attempts at finding a non-colliding subnet before failing the test.","commit_id":"13e743b8a6c667ab0c126999ad95d5eca4f62617"},{"author":{"_account_id":21514,"name":"Huanxuan Ao","email":"aohuanxuan@163.com","username":"aohuanxuan"},"change_message_id":"78f47e3688ab0ab6292004f82727144675598f9e","unresolved":false,"context_lines":[{"line_number":245,"context_line":"        return admin_project_id, demo_project_id"},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"    def _subnet_pool_create(self, cmd, name, is_type_ipv4\u003dTrue):"},{"line_number":248,"context_line":"        # Make a random subnet pool"},{"line_number":249,"context_line":"        if is_type_ipv4:"},{"line_number":250,"context_line":"            pool_prefix \u003d \".\".join(map("},{"line_number":251,"context_line":"                str,"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a1ff146_4a3d5aba","line":248,"updated":"2017-03-16 11:52:52.000000000","message":"I still not quite understand why not remove the 4 times loop here, can we make sure the random one pool_prefix is always available?","commit_id":"9e6d56454fef3389374cac84594e518255ea2100"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"808879b9bb3d29997d710026bb80176f98fec941","unresolved":false,"context_lines":[{"line_number":245,"context_line":"        return admin_project_id, demo_project_id"},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"    def _subnet_pool_create(self, cmd, name, is_type_ipv4\u003dTrue):"},{"line_number":248,"context_line":"        # Make a random subnet pool"},{"line_number":249,"context_line":"        if is_type_ipv4:"},{"line_number":250,"context_line":"            pool_prefix \u003d \".\".join(map("},{"line_number":251,"context_line":"                str,"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a1ced50_5d4b5287","line":248,"in_reply_to":"1a1ced50_1ee84f7c","updated":"2017-03-20 20:00:08.000000000","message":"This method creates a random network address to be used for a subnet pool.  What assurance do we have that the randomly created network does not overlap something already in the database?\n\nIf the command fails in line 260, the test fails.  SubnetTests._subnet_create() loops 4 times to attempt to find a network address that does not fail, can you show me why we do not need to do that here too?","commit_id":"9e6d56454fef3389374cac84594e518255ea2100"},{"author":{"_account_id":24080,"name":"jiahui.qiang","email":"jiahui.qiang@easystack.cn","username":"qiangjiahui"},"change_message_id":"ebc962b1af885fd8a6e7b02ac82c88d3efa98c71","unresolved":false,"context_lines":[{"line_number":245,"context_line":"        return admin_project_id, demo_project_id"},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"    def _subnet_pool_create(self, cmd, name, is_type_ipv4\u003dTrue):"},{"line_number":248,"context_line":"        # Make a random subnet pool"},{"line_number":249,"context_line":"        if is_type_ipv4:"},{"line_number":250,"context_line":"            pool_prefix \u003d \".\".join(map("},{"line_number":251,"context_line":"                str,"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a1ced50_1ee84f7c","line":248,"in_reply_to":"3a1ff146_4a3d5aba","updated":"2017-03-17 03:13:43.000000000","message":"subnet_pool is an item in the neutron db.it then will be tested, when the prefix is being used by subnet.","commit_id":"9e6d56454fef3389374cac84594e518255ea2100"}]}
