)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":17789,"name":"Zhao Lei","email":"zhaolei@cn.fujitsu.com","username":"zhaolei"},"change_message_id":"3353f4944d2dd66a5754f06a15d695c0240bf437","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add allowed-address-pairs to port-update"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"allowed-address-pairs and no-allowed-addres-pairs have been newly"},{"line_number":10,"context_line":"defined to port-update."},{"line_number":11,"context_line":"If you would like to disable allowed-address-pairs, you can use"},{"line_number":12,"context_line":"--no-address-pairs option."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"9a1a9d01_48fcf971","line":9,"updated":"2015-09-29 10:32:50.000000000","message":"no-allowed-addres-pairs","commit_id":"18df82334bc5bc092d60483aa8b5b5fbd125258a"}],"neutron_test.sh":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"551a509d75208b742a1b1c11a980b84b57834f97","unresolved":false,"context_lines":[{"line_number":1,"context_line":""},{"line_number":2,"context_line":"#!/bin/bash"},{"line_number":3,"context_line":"set -x"},{"line_number":4,"context_line":"function die() {"}],"source_content_type":"text/x-sh","patch_set":2,"id":"ba15a1d1_37ab44d8","line":1,"updated":"2015-09-23 02:05:21.000000000","message":"Unnecessary change","commit_id":"5c2541b78ff8f540d80988c063307401072bb2f1"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"551a509d75208b742a1b1c11a980b84b57834f97","unresolved":false,"context_lines":[{"line_number":29,"context_line":"echo \"NOTE: User should be admin in order to perform all operations.\""},{"line_number":30,"context_line":"sleep 3"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"FORMAT\u003d\" --request-format json\""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"# test the CRUD of network"},{"line_number":35,"context_line":"network\u003d$net_name"}],"source_content_type":"text/x-sh","patch_set":2,"id":"ba15a1d1_577cb871","line":32,"updated":"2015-09-23 02:05:21.000000000","message":"nice catch. We dropped XML support in a couple of release ago!","commit_id":"5c2541b78ff8f540d80988c063307401072bb2f1"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"13f523ea332828eb27fbddf245163b10d5c16b2f","unresolved":false,"context_lines":[{"line_number":1,"context_line":""},{"line_number":2,"context_line":"#!/bin/bash"},{"line_number":3,"context_line":"set -x"},{"line_number":4,"context_line":"function die() {"}],"source_content_type":"text/x-sh","patch_set":4,"id":"9a1a9d01_820b977c","line":1,"updated":"2015-09-30 12:36:54.000000000","message":"The change needs to be undo.  The #! should be the first line in a shell script.","commit_id":"bc5bf365b70b69d9a737702ecbe416009e2c3a29"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"344a656a1c4b53ebd9428aef41093467fc3dadaf","unresolved":false,"context_lines":[{"line_number":1,"context_line":""},{"line_number":2,"context_line":"#!/bin/bash"},{"line_number":3,"context_line":"set -x"},{"line_number":4,"context_line":"function die() {"}],"source_content_type":"text/x-sh","patch_set":4,"id":"9a1a9d01_a037a9fd","line":1,"in_reply_to":"9a1a9d01_820b977c","updated":"2015-09-30 16:04:21.000000000","message":"+1","commit_id":"bc5bf365b70b69d9a737702ecbe416009e2c3a29"}],"neutronclient/neutron/v2_0/port.py":[{"author":{"_account_id":7293,"name":"Elena Ezhova","email":"ezhovaelena19@gmail.com","username":"elena"},"change_message_id":"d967d168c1a2cd72e988d46484b6efbd576f30bb","unresolved":false,"context_lines":[{"line_number":196,"context_line":"class UpdatePortAllowedAddressPairs(object):"},{"line_number":197,"context_line":"    \"\"\"Update Port for allowed_address_pairs\"\"\""},{"line_number":198,"context_line":""},{"line_number":199,"context_line":"    def add_arguments_allwedaddresspairs(self, parser):"},{"line_number":200,"context_line":"        group_aap \u003d parser.add_mutually_exclusive_group()"},{"line_number":201,"context_line":"        group_aap.add_argument("},{"line_number":202,"context_line":"            \u0027--allowed_address_pairs\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba15a1d1_5ba0b0a5","line":199,"updated":"2015-09-21 13:34:57.000000000","message":"nit: add_arguments_allowedaddresspairs","commit_id":"dc71813b9590f4300a38de815b815b5a94fcaf4f"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"314829711512f55ac6435f1a2b32865f7fba3c65","unresolved":false,"context_lines":[{"line_number":196,"context_line":"class UpdatePortAllowedAddressPairs(object):"},{"line_number":197,"context_line":"    \"\"\"Update Port for allowed_address_pairs\"\"\""},{"line_number":198,"context_line":""},{"line_number":199,"context_line":"    def add_arguments_allwedaddresspairs(self, parser):"},{"line_number":200,"context_line":"        group_aap \u003d parser.add_mutually_exclusive_group()"},{"line_number":201,"context_line":"        group_aap.add_argument("},{"line_number":202,"context_line":"            \u0027--allowed_address_pairs\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba15a1d1_59f16acc","line":199,"in_reply_to":"ba15a1d1_5ba0b0a5","updated":"2015-09-22 10:22:31.000000000","message":"+1","commit_id":"dc71813b9590f4300a38de815b815b5a94fcaf4f"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"6e065774814721c0efc6fdd688ad04ee38b6ce47","unresolved":false,"context_lines":[{"line_number":199,"context_line":"    def add_arguments_allwedaddresspairs(self, parser):"},{"line_number":200,"context_line":"        group_aap \u003d parser.add_mutually_exclusive_group()"},{"line_number":201,"context_line":"        group_aap.add_argument("},{"line_number":202,"context_line":"            \u0027--allowed_address_pairs\u0027,"},{"line_number":203,"context_line":"            metavar\u003d\u0027ip_address\u003dIP_ADDR,mac_address\u003dMAC_ADDR\u0027,"},{"line_number":204,"context_line":"            default\u003d[],"},{"line_number":205,"context_line":"            action\u003d\u0027append\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"da20952f_19e4abaa","line":202,"updated":"2015-09-01 14:01:24.000000000","message":"We don\u0027t use underscore as delimiters. Consider using hyphens instead of underscores.","commit_id":"dc71813b9590f4300a38de815b815b5a94fcaf4f"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"6e065774814721c0efc6fdd688ad04ee38b6ce47","unresolved":false,"context_lines":[{"line_number":200,"context_line":"        group_aap \u003d parser.add_mutually_exclusive_group()"},{"line_number":201,"context_line":"        group_aap.add_argument("},{"line_number":202,"context_line":"            \u0027--allowed_address_pairs\u0027,"},{"line_number":203,"context_line":"            metavar\u003d\u0027ip_address\u003dIP_ADDR,mac_address\u003dMAC_ADDR\u0027,"},{"line_number":204,"context_line":"            default\u003d[],"},{"line_number":205,"context_line":"            action\u003d\u0027append\u0027,"},{"line_number":206,"context_line":"            dest\u003d\u0027allowed_address_pairs\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"da20952f_f998d71d","line":203,"updated":"2015-09-01 14:01:24.000000000","message":"mac address is optional. \",mac_address\u003d...\" should be enclosed by [].","commit_id":"dc71813b9590f4300a38de815b815b5a94fcaf4f"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"314829711512f55ac6435f1a2b32865f7fba3c65","unresolved":false,"context_lines":[{"line_number":200,"context_line":"        group_aap \u003d parser.add_mutually_exclusive_group()"},{"line_number":201,"context_line":"        group_aap.add_argument("},{"line_number":202,"context_line":"            \u0027--allowed_address_pairs\u0027,"},{"line_number":203,"context_line":"            metavar\u003d\u0027ip_address\u003dIP_ADDR,mac_address\u003dMAC_ADDR\u0027,"},{"line_number":204,"context_line":"            default\u003d[],"},{"line_number":205,"context_line":"            action\u003d\u0027append\u0027,"},{"line_number":206,"context_line":"            dest\u003d\u0027allowed_address_pairs\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba15a1d1_19ba12e2","line":203,"in_reply_to":"da20952f_f998d71d","updated":"2015-09-22 10:22:31.000000000","message":"+1","commit_id":"dc71813b9590f4300a38de815b815b5a94fcaf4f"},{"author":{"_account_id":7293,"name":"Elena Ezhova","email":"ezhovaelena19@gmail.com","username":"elena"},"change_message_id":"d967d168c1a2cd72e988d46484b6efbd576f30bb","unresolved":false,"context_lines":[{"line_number":211,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":212,"context_line":"            help\u003d_(\u0027Associate no allowed address pairs with the port.\u0027))"},{"line_number":213,"context_line":""},{"line_number":214,"context_line":"    def args2body_allwedaddresspairs(self, parsed_args, port):"},{"line_number":215,"context_line":"        if parsed_args.allowed_address_pairs:"},{"line_number":216,"context_line":"            port[\u0027allowed_address_pairs\u0027] \u003d parsed_args.allowed_address_pairs"},{"line_number":217,"context_line":"        elif parsed_args.no_allowed_address_pairs:"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba15a1d1_3baffc95","line":214,"updated":"2015-09-21 13:34:57.000000000","message":"ditto","commit_id":"dc71813b9590f4300a38de815b815b5a94fcaf4f"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"6e065774814721c0efc6fdd688ad04ee38b6ce47","unresolved":false,"context_lines":[{"line_number":218,"context_line":"            port[\u0027allowed_address_pairs\u0027] \u003d []"},{"line_number":219,"context_line":""},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"class CreatePort(neutronV20.CreateCommand, UpdatePortSecGroupMixin,"},{"line_number":222,"context_line":"                 UpdateExtraDhcpOptMixin, qos_policy.CreateQosPolicyMixin):"},{"line_number":223,"context_line":"    \"\"\"Create a port for a given tenant.\"\"\""},{"line_number":224,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"da20952f_d948738d","line":221,"updated":"2015-09-01 14:01:24.000000000","message":"allowed-address-pairs option can be specified for port-create.\nCould you add the mixin to CreatePort too?","commit_id":"dc71813b9590f4300a38de815b815b5a94fcaf4f"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"551a509d75208b742a1b1c11a980b84b57834f97","unresolved":false,"context_lines":[{"line_number":196,"context_line":"class UpdatePortAllowedAddressPairs(object):"},{"line_number":197,"context_line":"    \"\"\"Update Port for allowed_address_pairs\"\"\""},{"line_number":198,"context_line":""},{"line_number":199,"context_line":"    def add_arguments_allwedaddresspairs(self, parser):"},{"line_number":200,"context_line":"        group_aap \u003d parser.add_mutually_exclusive_group()"},{"line_number":201,"context_line":"        group_aap.add_argument("},{"line_number":202,"context_line":"            \u0027--allowed-address-pairs\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba15a1d1_b43432fb","line":199,"range":{"start_line":199,"start_character":22,"end_line":199,"end_character":28},"updated":"2015-09-23 02:05:21.000000000","message":"allwed -\u003e allowed","commit_id":"5c2541b78ff8f540d80988c063307401072bb2f1"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"033538ce6a15b157d56e082d1c8830f8d8642309","unresolved":false,"context_lines":[{"line_number":196,"context_line":"class UpdatePortAllowedAddressPairs(object):"},{"line_number":197,"context_line":"    \"\"\"Update Port for allowed_address_pairs\"\"\""},{"line_number":198,"context_line":""},{"line_number":199,"context_line":"    def add_arguments_allwedaddresspairs(self, parser):"},{"line_number":200,"context_line":"        group_aap \u003d parser.add_mutually_exclusive_group()"},{"line_number":201,"context_line":"        group_aap.add_argument("},{"line_number":202,"context_line":"            \u0027--allowed-address-pairs\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba15a1d1_10b4df32","line":199,"in_reply_to":"ba15a1d1_b43432fb","updated":"2015-09-23 14:57:37.000000000","message":"+1. PS1 comments not addressed.","commit_id":"5c2541b78ff8f540d80988c063307401072bb2f1"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"c71f931552089c2c49f1fd7ddce018b606a87af2","unresolved":false,"context_lines":[{"line_number":199,"context_line":"    def add_arguments_allwedaddresspairs(self, parser):"},{"line_number":200,"context_line":"        group_aap \u003d parser.add_mutually_exclusive_group()"},{"line_number":201,"context_line":"        group_aap.add_argument("},{"line_number":202,"context_line":"            \u0027--allowed-address-pairs\u0027,"},{"line_number":203,"context_line":"            metavar\u003d\u0027ip_address\u003dIP_ADDR[,mac_address\u003dMAC_ADDR]\u0027,"},{"line_number":204,"context_line":"            default\u003d[],"},{"line_number":205,"context_line":"            action\u003d\u0027append\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba15a1d1_97555e1f","line":202,"updated":"2015-09-23 06:59:19.000000000","message":"Each option specify a pair. The option name should a singular form: --allowed-address-pair","commit_id":"5c2541b78ff8f540d80988c063307401072bb2f1"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"551a509d75208b742a1b1c11a980b84b57834f97","unresolved":false,"context_lines":[{"line_number":211,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":212,"context_line":"            help\u003d_(\u0027Associate no allowed address pairs with the port.\u0027))"},{"line_number":213,"context_line":""},{"line_number":214,"context_line":"    def args2body_allwedaddresspairs(self, parsed_args, port):"},{"line_number":215,"context_line":"        if parsed_args.allowed_address_pairs:"},{"line_number":216,"context_line":"            port[\u0027allowed_address_pairs\u0027] \u003d parsed_args.allowed_address_pairs"},{"line_number":217,"context_line":"        elif parsed_args.no_allowed_address_pairs:"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba15a1d1_743e9adb","line":214,"updated":"2015-09-23 02:05:21.000000000","message":"allwed -\u003e allowed","commit_id":"5c2541b78ff8f540d80988c063307401072bb2f1"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"13f523ea332828eb27fbddf245163b10d5c16b2f","unresolved":false,"context_lines":[{"line_number":199,"context_line":"    def add_arguments_allowedaddresspairs(self, parser):"},{"line_number":200,"context_line":"        group_aap \u003d parser.add_mutually_exclusive_group()"},{"line_number":201,"context_line":"        group_aap.add_argument("},{"line_number":202,"context_line":"            \u0027--allowed-address-pair\u0027,"},{"line_number":203,"context_line":"            metavar\u003d\u0027ip_address\u003dIP_ADDR[,mac_address\u003dMAC_ADDR]\u0027,"},{"line_number":204,"context_line":"            default\u003d[],"},{"line_number":205,"context_line":"            action\u003d\u0027append\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a1a9d01_a29b3b65","line":202,"updated":"2015-09-30 12:36:54.000000000","message":"General comment: There is a mixed use of \"pair\" and \"pairs\" for the option name, help and code.  I think it would be better to be consistent throughout.","commit_id":"bc5bf365b70b69d9a737702ecbe416009e2c3a29"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"344a656a1c4b53ebd9428aef41093467fc3dadaf","unresolved":false,"context_lines":[{"line_number":199,"context_line":"    def add_arguments_allowedaddresspairs(self, parser):"},{"line_number":200,"context_line":"        group_aap \u003d parser.add_mutually_exclusive_group()"},{"line_number":201,"context_line":"        group_aap.add_argument("},{"line_number":202,"context_line":"            \u0027--allowed-address-pair\u0027,"},{"line_number":203,"context_line":"            metavar\u003d\u0027ip_address\u003dIP_ADDR[,mac_address\u003dMAC_ADDR]\u0027,"},{"line_number":204,"context_line":"            default\u003d[],"},{"line_number":205,"context_line":"            action\u003d\u0027append\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a1a9d01_8034e5fb","line":202,"in_reply_to":"9a1a9d01_a29b3b65","updated":"2015-09-30 16:04:21.000000000","message":"I think the usage is consistent. --allowed-address-pair option specifies one pair, so a singular form sounds good. For other places, a plural case is used.\nI don\u0027t think more changes are needed. If you think differently, point them out more specifically.","commit_id":"bc5bf365b70b69d9a737702ecbe416009e2c3a29"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"60e66d899aae89dd7deb67e7202e3c8efeb60a4f","unresolved":false,"context_lines":[{"line_number":203,"context_line":"            metavar\u003d\u0027ip_address\u003dIP_ADDR[,mac_address\u003dMAC_ADDR]\u0027,"},{"line_number":204,"context_line":"            default\u003d[],"},{"line_number":205,"context_line":"            action\u003d\u0027append\u0027,"},{"line_number":206,"context_line":"            dest\u003d\u0027allowed_address_pair\u0027,"},{"line_number":207,"context_line":"            type\u003dutils.str2dict,"},{"line_number":208,"context_line":"            help\u003d_(\u0027Allowed address pair associated with the port.\u0027"},{"line_number":209,"context_line":"                   \u0027You can repeat this option.\u0027))"}],"source_content_type":"text/x-python","patch_set":5,"id":"9a1a9d01_43e6d7e8","line":206,"updated":"2015-09-30 16:14:42.000000000","message":"\"dest\" is a list, so the previous version \u0027allowed_address_paris\u0027 is better.\nIt is what other subcommands do.","commit_id":"c605ffac2ffbd3b2a3cb736207034f3e3adf7f35"}],"neutronclient/tests/unit/test_cli20.py":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"551a509d75208b742a1b1c11a980b84b57834f97","unresolved":false,"context_lines":[{"line_number":273,"context_line":"                body\u003dmox_body,"},{"line_number":274,"context_line":"                headers\u003dmox.ContainsKeyValue("},{"line_number":275,"context_line":"                    \u0027X-Auth-Token\u0027, TOKEN)).AndReturn((MyResp(200), resstr))"},{"line_number":276,"context_line":"        if \u0027--allowed-address-pairs\u0027 not in args:"},{"line_number":277,"context_line":"            args.extend([\u0027--request-format\u0027, self.format])"},{"line_number":278,"context_line":"        self.mox.ReplayAll()"},{"line_number":279,"context_line":"        cmd_parser \u003d cmd.get_parser(\u0027create_\u0027 + resource)"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba15a1d1_3736e4e7","line":276,"updated":"2015-09-23 02:05:21.000000000","message":"Why do we need this? Could you elaborate more and add a inline comment?","commit_id":"5c2541b78ff8f540d80988c063307401072bb2f1"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"c71f931552089c2c49f1fd7ddce018b606a87af2","unresolved":false,"context_lines":[{"line_number":273,"context_line":"                body\u003dmox_body,"},{"line_number":274,"context_line":"                headers\u003dmox.ContainsKeyValue("},{"line_number":275,"context_line":"                    \u0027X-Auth-Token\u0027, TOKEN)).AndReturn((MyResp(200), resstr))"},{"line_number":276,"context_line":"        if \u0027--allowed-address-pairs\u0027 not in args:"},{"line_number":277,"context_line":"            args.extend([\u0027--request-format\u0027, self.format])"},{"line_number":278,"context_line":"        self.mox.ReplayAll()"},{"line_number":279,"context_line":"        cmd_parser \u003d cmd.get_parser(\u0027create_\u0027 + resource)"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba15a1d1_57326611","line":276,"in_reply_to":"ba15a1d1_3736e4e7","updated":"2015-09-23 06:59:19.000000000","message":"as far as I tested, it is unnecessary.","commit_id":"5c2541b78ff8f540d80988c063307401072bb2f1"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"551a509d75208b742a1b1c11a980b84b57834f97","unresolved":false,"context_lines":[{"line_number":488,"context_line":"            body\u003dmox_body,"},{"line_number":489,"context_line":"            headers\u003dmox.ContainsKeyValue("},{"line_number":490,"context_line":"                \u0027X-Auth-Token\u0027, TOKEN)).AndReturn((MyResp(204), None))"},{"line_number":491,"context_line":"        if \u0027--allowed-address-pairs\u0027 not in args:"},{"line_number":492,"context_line":"            args.extend([\u0027--request-format\u0027, self.format])"},{"line_number":493,"context_line":"        self.mox.ReplayAll()"},{"line_number":494,"context_line":"        cmd_parser \u003d cmd.get_parser(\"update_\" + cmd_resource)"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba15a1d1_d73448df","line":491,"updated":"2015-09-23 02:05:21.000000000","message":"ditto","commit_id":"5c2541b78ff8f540d80988c063307401072bb2f1"}],"neutronclient/tests/unit/test_cli20_port.py":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"c71f931552089c2c49f1fd7ddce018b606a87af2","unresolved":false,"context_lines":[{"line_number":313,"context_line":"        netid \u003d \u0027netid\u0027"},{"line_number":314,"context_line":"        pairs \u003d [{\u0027ip_address\u0027: \u0027123.123.123.123\u0027},"},{"line_number":315,"context_line":"                 {\u0027ip_address\u0027: \u0027123.123.123.45\u0027}]"},{"line_number":316,"context_line":"        args \u003d [netid, \u0027--\u0027, \u0027--allowed-address-pairs\u0027,"},{"line_number":317,"context_line":"                \u0027type\u003ddict\u0027, \u0027list\u003dtrue\u0027]"},{"line_number":318,"context_line":"        for pair in pairs:"},{"line_number":319,"context_line":"            args.append(\u0027ip_address\u003d%(ip)s\u0027 % {\u0027ip\u0027: pair[\u0027ip_address\u0027]})"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba15a1d1_373d72dd","line":316,"updated":"2015-09-23 06:59:19.000000000","message":"\u0027--\u0027 is unnecessary. options after -- is regarded as unknown options and they are not parsed as normal arguments.","commit_id":"5c2541b78ff8f540d80988c063307401072bb2f1"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"c71f931552089c2c49f1fd7ddce018b606a87af2","unresolved":false,"context_lines":[{"line_number":314,"context_line":"        pairs \u003d [{\u0027ip_address\u0027: \u0027123.123.123.123\u0027},"},{"line_number":315,"context_line":"                 {\u0027ip_address\u0027: \u0027123.123.123.45\u0027}]"},{"line_number":316,"context_line":"        args \u003d [netid, \u0027--\u0027, \u0027--allowed-address-pairs\u0027,"},{"line_number":317,"context_line":"                \u0027type\u003ddict\u0027, \u0027list\u003dtrue\u0027]"},{"line_number":318,"context_line":"        for pair in pairs:"},{"line_number":319,"context_line":"            args.append(\u0027ip_address\u003d%(ip)s\u0027 % {\u0027ip\u0027: pair[\u0027ip_address\u0027]})"},{"line_number":320,"context_line":"        position_names \u003d [\u0027network_id\u0027, \u0027allowed_address_pairs\u0027]"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba15a1d1_b729829d","line":317,"updated":"2015-09-23 06:59:19.000000000","message":"type\u003ddict and list\u003dture are unnecessary.\nThis is syntax for unknown arguments.","commit_id":"5c2541b78ff8f540d80988c063307401072bb2f1"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"c71f931552089c2c49f1fd7ddce018b606a87af2","unresolved":false,"context_lines":[{"line_number":316,"context_line":"        args \u003d [netid, \u0027--\u0027, \u0027--allowed-address-pairs\u0027,"},{"line_number":317,"context_line":"                \u0027type\u003ddict\u0027, \u0027list\u003dtrue\u0027]"},{"line_number":318,"context_line":"        for pair in pairs:"},{"line_number":319,"context_line":"            args.append(\u0027ip_address\u003d%(ip)s\u0027 % {\u0027ip\u0027: pair[\u0027ip_address\u0027]})"},{"line_number":320,"context_line":"        position_names \u003d [\u0027network_id\u0027, \u0027allowed_address_pairs\u0027]"},{"line_number":321,"context_line":"        position_values \u003d [netid, pairs]"},{"line_number":322,"context_line":"        position_values.extend([netid])"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba15a1d1_97031e10","line":319,"updated":"2015-09-23 06:59:19.000000000","message":"The result of L.316-318 is:\n\n  --allowed-address-pairs ip_address\u003d123.123.123.123 ip_address\u003d123.123.123.45\n\nI think it should be:\n\n  --allowed-address-pair ip_address\u003d123.123.123.123 \n  --allowed-address-pair ip_address\u003d123.123.123.45","commit_id":"5c2541b78ff8f540d80988c063307401072bb2f1"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"13f523ea332828eb27fbddf245163b10d5c16b2f","unresolved":false,"context_lines":[{"line_number":303,"context_line":"                                   position_names, position_values)"},{"line_number":304,"context_line":""},{"line_number":305,"context_line":"    def test_create_port_with_allowed_address_pair_ipaddr(self):"},{"line_number":306,"context_line":"        \"\"\"Create port: --allowed-address-pair ip_address\u003daddr"},{"line_number":307,"context_line":"        \"\"\""},{"line_number":308,"context_line":"        resource \u003d \u0027port\u0027"},{"line_number":309,"context_line":"        cmd \u003d port.CreatePort(test_cli20.MyApp(sys.stdout), None)"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a1a9d01_c2f18f6c","line":306,"updated":"2015-09-30 12:36:54.000000000","message":"There are 2 address pair options for this test which should be listed here.","commit_id":"bc5bf365b70b69d9a737702ecbe416009e2c3a29"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"13f523ea332828eb27fbddf245163b10d5c16b2f","unresolved":false,"context_lines":[{"line_number":647,"context_line":""},{"line_number":648,"context_line":"    def test_update_port_allowed_address_pair_ipaddr(self):"},{"line_number":649,"context_line":"        \"\"\"Update port(ip_address only):"},{"line_number":650,"context_line":"        --allowed-address-pairs ip_address\u003daddr"},{"line_number":651,"context_line":"        \"\"\""},{"line_number":652,"context_line":"        import sys"},{"line_number":653,"context_line":"        resource \u003d \u0027port\u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a1a9d01_22f72b5a","line":650,"updated":"2015-09-30 12:36:54.000000000","message":"There are 2 address pair options which should be listed here.","commit_id":"bc5bf365b70b69d9a737702ecbe416009e2c3a29"}]}
