)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"2a4161fb1216f38c119af372a5c9f0549616606f","unresolved":true,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Partial-Bug: #1930200"},{"line_number":12,"context_line":"Depends-On: https://review.opendev.org/c/openstack/neutron/+/804523"},{"line_number":13,"context_line":"Depends-On: https://review.opendev.org/c/openstack/openstacksdk/+/804988"},{"line_number":14,"context_line":"Change-Id: I1095100efb27b8559412469f0a9d07fc0a3db9d5"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":15,"id":"b50aded6_647c74da","line":13,"updated":"2021-11-25 17:49:28.000000000","message":"This isn\u0027t correct. I think you want https://review.opendev.org/c/openstack/openstacksdk/+/814765","commit_id":"d875e872863f38cc102805e642f798a2cbb43ea7"},{"author":{"_account_id":32667,"name":"Mamatisa Nurmatov","email":"nurmatov.mamatisa@huawei.com","username":"isabek"},"change_message_id":"87aa97e586a4a141e8b70cd8cf68e0dedfe72ff6","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Partial-Bug: #1930200"},{"line_number":12,"context_line":"Depends-On: https://review.opendev.org/c/openstack/neutron/+/804523"},{"line_number":13,"context_line":"Depends-On: https://review.opendev.org/c/openstack/openstacksdk/+/804988"},{"line_number":14,"context_line":"Change-Id: I1095100efb27b8559412469f0a9d07fc0a3db9d5"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":15,"id":"2064dd6e_c9aee78e","line":13,"in_reply_to":"480d01fc_0b3e9a0b","updated":"2022-01-26 07:33:00.000000000","message":"Done","commit_id":"d875e872863f38cc102805e642f798a2cbb43ea7"},{"author":{"_account_id":32667,"name":"Mamatisa Nurmatov","email":"nurmatov.mamatisa@huawei.com","username":"isabek"},"change_message_id":"487b2cc78c2f4d539e3cab466642d06d73b22129","unresolved":true,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Partial-Bug: #1930200"},{"line_number":12,"context_line":"Depends-On: https://review.opendev.org/c/openstack/neutron/+/804523"},{"line_number":13,"context_line":"Depends-On: https://review.opendev.org/c/openstack/openstacksdk/+/804988"},{"line_number":14,"context_line":"Change-Id: I1095100efb27b8559412469f0a9d07fc0a3db9d5"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":15,"id":"480d01fc_0b3e9a0b","line":13,"in_reply_to":"b50aded6_647c74da","updated":"2021-11-29 13:43:51.000000000","message":"Done","commit_id":"d875e872863f38cc102805e642f798a2cbb43ea7"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":32667,"name":"Mamatisa Nurmatov","email":"nurmatov.mamatisa@huawei.com","username":"isabek"},"change_message_id":"1adb8a7ebd7a62dae8af116cd27429cd309ddccc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"2cb03eda_26f6d58b","updated":"2021-11-10 08:40:44.000000000","message":"recheck","commit_id":"1bb9442220a68f4eae3e0d3a1e913b40b8733148"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"fbe2197c56e6350f4153084c55d18a4302b7c715","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"43e9a82d_4dfd539c","updated":"2021-11-25 17:48:46.000000000","message":"Good start. Some work needed here though","commit_id":"d875e872863f38cc102805e642f798a2cbb43ea7"},{"author":{"_account_id":32667,"name":"Mamatisa Nurmatov","email":"nurmatov.mamatisa@huawei.com","username":"isabek"},"change_message_id":"487b2cc78c2f4d539e3cab466642d06d73b22129","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"c4def569_5d030acf","updated":"2021-11-29 13:43:51.000000000","message":"Hi @stephenfin!\nThank you very much for your thorough review of the patch!\nI have updated patch according your suggestions.","commit_id":"d875e872863f38cc102805e642f798a2cbb43ea7"},{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"10f5d027818fbedfb93613706db9e142fc09613d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":21,"id":"93d2e6e1_cc0d0a1a","updated":"2021-12-06 07:08:17.000000000","message":"recheck","commit_id":"e2a05e3c30e93951bb844b2e03f5932c0e9d7aac"},{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"eb63a97c42222fe4923e49d22881329807ee955b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":21,"id":"e4bc0d22_5803a57b","updated":"2021-12-08 11:56:08.000000000","message":"recheck","commit_id":"e2a05e3c30e93951bb844b2e03f5932c0e9d7aac"},{"author":{"_account_id":32667,"name":"Mamatisa Nurmatov","email":"nurmatov.mamatisa@huawei.com","username":"isabek"},"change_message_id":"6a3e216cfb1816bf420101a782b388338930e6a8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":25,"id":"7e42ec86_1bf6e142","updated":"2022-01-11 15:09:22.000000000","message":"recheck","commit_id":"ccdbd43d92de74e42403fff125519807ff6e406b"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"55b64135bb7c35ca580809b2d00f6137c3c80ae4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":25,"id":"0a4bb520_71d71c26","updated":"2022-01-10 16:56:39.000000000","message":"recheck\nvolume related test failed","commit_id":"ccdbd43d92de74e42403fff125519807ff6e406b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"68832fdd3b8dec9b2bf325c0e7dfbc13024333e8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":26,"id":"c11266d8_09f7859e","updated":"2022-01-28 12:43:13.000000000","message":"I\u0027ve a couple of questions inline and one nit, but this looks good enough to me. If you respin, please ping me and I\u0027ll re-review","commit_id":"0405d7b378968b3c4c9c9cac5ba8357fd98f49c0"},{"author":{"_account_id":32667,"name":"Mamatisa Nurmatov","email":"nurmatov.mamatisa@huawei.com","username":"isabek"},"change_message_id":"25da8bef95d9bcc035e7e6c6e59b3e5073088e8a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":27,"id":"4b31864c_27801123","updated":"2022-02-08 08:36:15.000000000","message":"ping fellow reviewers, thanks in advance","commit_id":"26144743d9207d876df40e030a2a4132e18a79a7"},{"author":{"_account_id":32667,"name":"Mamatisa Nurmatov","email":"nurmatov.mamatisa@huawei.com","username":"isabek"},"change_message_id":"b6066889f6e14560ad21b2bb8819e25cf0be95f2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":27,"id":"26033ede_2f3ce893","updated":"2022-02-03 12:26:19.000000000","message":"recheck","commit_id":"26144743d9207d876df40e030a2a4132e18a79a7"},{"author":{"_account_id":32667,"name":"Mamatisa Nurmatov","email":"nurmatov.mamatisa@huawei.com","username":"isabek"},"change_message_id":"0ebf276af0473ca0eae7bb0c8947e06c5067aea3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":27,"id":"77fd0162_4990ee1b","updated":"2022-02-03 08:38:43.000000000","message":"recheck","commit_id":"26144743d9207d876df40e030a2a4132e18a79a7"},{"author":{"_account_id":32667,"name":"Mamatisa Nurmatov","email":"nurmatov.mamatisa@huawei.com","username":"isabek"},"change_message_id":"2547ba292ee4181c73bb893c843f2a6678132253","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":27,"id":"9ccb41cb_45215027","updated":"2022-02-02 08:02:47.000000000","message":"recheck","commit_id":"26144743d9207d876df40e030a2a4132e18a79a7"},{"author":{"_account_id":32667,"name":"Mamatisa Nurmatov","email":"nurmatov.mamatisa@huawei.com","username":"isabek"},"change_message_id":"1c4715c9dbd32d8aee17585fe4898d0ddbf85778","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":27,"id":"9dbf2b72_c64d2f06","updated":"2022-01-28 15:27:29.000000000","message":"recheck","commit_id":"26144743d9207d876df40e030a2a4132e18a79a7"}],"doc/source/cli/command-objects/local-ip-association.rst":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"fbe2197c56e6350f4153084c55d18a4302b7c715","unresolved":true,"context_lines":[{"line_number":8,"context_line":"Network v2"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":".. autoprogram-cliff:: openstack.network.v2"},{"line_number":11,"context_line":"   :command: local ip association *"}],"source_content_type":"text/x-rst","patch_set":15,"id":"11ea3397_4f825989","line":11,"updated":"2021-11-25 17:48:46.000000000","message":"You\u0027re missing a new line here. Can you add one?","commit_id":"d875e872863f38cc102805e642f798a2cbb43ea7"},{"author":{"_account_id":32667,"name":"Mamatisa Nurmatov","email":"nurmatov.mamatisa@huawei.com","username":"isabek"},"change_message_id":"487b2cc78c2f4d539e3cab466642d06d73b22129","unresolved":true,"context_lines":[{"line_number":8,"context_line":"Network v2"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":".. autoprogram-cliff:: openstack.network.v2"},{"line_number":11,"context_line":"   :command: local ip association *"}],"source_content_type":"text/x-rst","patch_set":15,"id":"f4a9cd19_604247f7","line":11,"in_reply_to":"11ea3397_4f825989","updated":"2021-11-29 13:43:51.000000000","message":"Done","commit_id":"d875e872863f38cc102805e642f798a2cbb43ea7"},{"author":{"_account_id":32667,"name":"Mamatisa Nurmatov","email":"nurmatov.mamatisa@huawei.com","username":"isabek"},"change_message_id":"707fa6871390543eba853f4a387a19d08078e721","unresolved":false,"context_lines":[{"line_number":8,"context_line":"Network v2"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":".. autoprogram-cliff:: openstack.network.v2"},{"line_number":11,"context_line":"   :command: local ip association *"}],"source_content_type":"text/x-rst","patch_set":15,"id":"354aac52_e8642df8","line":11,"in_reply_to":"f4a9cd19_604247f7","updated":"2022-01-26 07:33:25.000000000","message":"Done","commit_id":"d875e872863f38cc102805e642f798a2cbb43ea7"}],"doc/source/cli/command-objects/local-ip.rst":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"fbe2197c56e6350f4153084c55d18a4302b7c715","unresolved":true,"context_lines":[{"line_number":9,"context_line":"Network v2"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":".. autoprogram-cliff:: openstack.network.v2"},{"line_number":12,"context_line":"   :command: local ip *"}],"source_content_type":"text/x-rst","patch_set":15,"id":"1fda1382_9aab855a","line":12,"range":{"start_line":12,"start_character":22,"end_line":12,"end_character":23},"updated":"2021-11-25 17:48:46.000000000","message":"Will this pick up the \u0027ip association\u0027 commands? If it does, you might need to spell out the commands here","commit_id":"d875e872863f38cc102805e642f798a2cbb43ea7"},{"author":{"_account_id":32667,"name":"Mamatisa Nurmatov","email":"nurmatov.mamatisa@huawei.com","username":"isabek"},"change_message_id":"487b2cc78c2f4d539e3cab466642d06d73b22129","unresolved":true,"context_lines":[{"line_number":9,"context_line":"Network v2"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":".. autoprogram-cliff:: openstack.network.v2"},{"line_number":12,"context_line":"   :command: local ip *"}],"source_content_type":"text/x-rst","patch_set":15,"id":"a401dc7b_3dede9c3","line":12,"range":{"start_line":12,"start_character":22,"end_line":12,"end_character":23},"in_reply_to":"1fda1382_9aab855a","updated":"2021-11-29 13:43:51.000000000","message":"For local ip association another file below (local_ip_association.rst).","commit_id":"d875e872863f38cc102805e642f798a2cbb43ea7"},{"author":{"_account_id":32667,"name":"Mamatisa Nurmatov","email":"nurmatov.mamatisa@huawei.com","username":"isabek"},"change_message_id":"87aa97e586a4a141e8b70cd8cf68e0dedfe72ff6","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Network v2"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":".. autoprogram-cliff:: openstack.network.v2"},{"line_number":12,"context_line":"   :command: local ip *"}],"source_content_type":"text/x-rst","patch_set":15,"id":"df2adc48_eef48207","line":12,"range":{"start_line":12,"start_character":22,"end_line":12,"end_character":23},"in_reply_to":"a401dc7b_3dede9c3","updated":"2022-01-26 07:33:00.000000000","message":"Done","commit_id":"d875e872863f38cc102805e642f798a2cbb43ea7"}],"openstackclient/network/v2/local_ip.py":[{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"bab031eae721122fbdc1a89a59c679ee9e0d3b4a","unresolved":true,"context_lines":[{"line_number":37,"context_line":""},{"line_number":38,"context_line":"def _get_attrs(client_manager, parsed_args):"},{"line_number":39,"context_line":"    attrs \u003d {}"},{"line_number":40,"context_line":"    attrs[\u0027name\u0027] \u003d parsed_args.name"},{"line_number":41,"context_line":"    if parsed_args.description:"},{"line_number":42,"context_line":"        attrs[\u0027description\u0027] \u003d parsed_args.description"},{"line_number":43,"context_line":"    if \u0027project\u0027 in parsed_args and parsed_args.project is not None:"}],"source_content_type":"text/x-python","patch_set":5,"id":"3ac80cbf_5a49cc30","line":40,"range":{"start_line":40,"start_character":4,"end_line":40,"end_character":36},"updated":"2021-09-02 12:41:14.000000000","message":"name is also not required, should it be checked as below then? \u0027if parsed_args.name\u0027","commit_id":"8c2208083e990c10e6c33e811edf292e2035861b"},{"author":{"_account_id":32667,"name":"Mamatisa Nurmatov","email":"nurmatov.mamatisa@huawei.com","username":"isabek"},"change_message_id":"baa602055c92adfe42f50cf0b93c0d5379f0e905","unresolved":false,"context_lines":[{"line_number":37,"context_line":""},{"line_number":38,"context_line":"def _get_attrs(client_manager, parsed_args):"},{"line_number":39,"context_line":"    attrs \u003d {}"},{"line_number":40,"context_line":"    attrs[\u0027name\u0027] \u003d parsed_args.name"},{"line_number":41,"context_line":"    if parsed_args.description:"},{"line_number":42,"context_line":"        attrs[\u0027description\u0027] \u003d parsed_args.description"},{"line_number":43,"context_line":"    if \u0027project\u0027 in parsed_args and parsed_args.project is not None:"}],"source_content_type":"text/x-python","patch_set":5,"id":"f3cae78c_23088967","line":40,"range":{"start_line":40,"start_character":4,"end_line":40,"end_character":36},"in_reply_to":"3ac80cbf_5a49cc30","updated":"2021-09-02 13:37:55.000000000","message":"Done","commit_id":"8c2208083e990c10e6c33e811edf292e2035861b"},{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"bab031eae721122fbdc1a89a59c679ee9e0d3b4a","unresolved":true,"context_lines":[{"line_number":65,"context_line":"    def get_parser(self, prog_name):"},{"line_number":66,"context_line":"        parser \u003d super(CreateLocalIP, self).get_parser(prog_name)"},{"line_number":67,"context_line":"        parser.add_argument("},{"line_number":68,"context_line":"            \u0027name\u0027,"},{"line_number":69,"context_line":"            metavar\u003d\"\u003cname\u003e\","},{"line_number":70,"context_line":"            help\u003d_(\"New local IP name\")"},{"line_number":71,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":5,"id":"0663b46e_0ba12022","line":68,"range":{"start_line":68,"start_character":12,"end_line":68,"end_character":19},"updated":"2021-09-02 12:41:14.000000000","message":"ditto, not required","commit_id":"8c2208083e990c10e6c33e811edf292e2035861b"},{"author":{"_account_id":32667,"name":"Mamatisa Nurmatov","email":"nurmatov.mamatisa@huawei.com","username":"isabek"},"change_message_id":"baa602055c92adfe42f50cf0b93c0d5379f0e905","unresolved":false,"context_lines":[{"line_number":65,"context_line":"    def get_parser(self, prog_name):"},{"line_number":66,"context_line":"        parser \u003d super(CreateLocalIP, self).get_parser(prog_name)"},{"line_number":67,"context_line":"        parser.add_argument("},{"line_number":68,"context_line":"            \u0027name\u0027,"},{"line_number":69,"context_line":"            metavar\u003d\"\u003cname\u003e\","},{"line_number":70,"context_line":"            help\u003d_(\"New local IP name\")"},{"line_number":71,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":5,"id":"bb973d58_80b0dfc9","line":68,"range":{"start_line":68,"start_character":12,"end_line":68,"end_character":19},"in_reply_to":"0663b46e_0ba12022","updated":"2021-09-02 13:37:55.000000000","message":"Done","commit_id":"8c2208083e990c10e6c33e811edf292e2035861b"},{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"bab031eae721122fbdc1a89a59c679ee9e0d3b4a","unresolved":true,"context_lines":[{"line_number":188,"context_line":"    def get_parser(self, prog_name):"},{"line_number":189,"context_line":"        parser \u003d super(ListLocalIP, self).get_parser(prog_name)"},{"line_number":190,"context_line":""},{"line_number":191,"context_line":"        parser.add_argument("},{"line_number":192,"context_line":"            \u0027--name\u0027,"},{"line_number":193,"context_line":"            metavar\u003d\u0027\u003cname\u003e\u0027,"},{"line_number":194,"context_line":"            help\u003d_(\"List only local IPs of given name in output\")"},{"line_number":195,"context_line":"        )"},{"line_number":196,"context_line":"        parser.add_argument("},{"line_number":197,"context_line":"            \u0027--project\u0027,"},{"line_number":198,"context_line":"            metavar\u003d\"\u003cproject\u003e\","},{"line_number":199,"context_line":"            help\u003d_(\"List Local IPs according to their project \""},{"line_number":200,"context_line":"                   \"(name or ID)\")"},{"line_number":201,"context_line":"        )"},{"line_number":202,"context_line":"        identity_common.add_project_domain_option_to_parser(parser)"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"        return parser"}],"source_content_type":"text/x-python","patch_set":5,"id":"f1c26b8d_397f1354","line":201,"range":{"start_line":191,"start_character":8,"end_line":201,"end_character":9},"updated":"2021-09-02 12:41:14.000000000","message":"please add ability to filter by description, network_id, local_ip_address, ip_mode","commit_id":"8c2208083e990c10e6c33e811edf292e2035861b"},{"author":{"_account_id":32667,"name":"Mamatisa Nurmatov","email":"nurmatov.mamatisa@huawei.com","username":"isabek"},"change_message_id":"baa602055c92adfe42f50cf0b93c0d5379f0e905","unresolved":false,"context_lines":[{"line_number":188,"context_line":"    def get_parser(self, prog_name):"},{"line_number":189,"context_line":"        parser \u003d super(ListLocalIP, self).get_parser(prog_name)"},{"line_number":190,"context_line":""},{"line_number":191,"context_line":"        parser.add_argument("},{"line_number":192,"context_line":"            \u0027--name\u0027,"},{"line_number":193,"context_line":"            metavar\u003d\u0027\u003cname\u003e\u0027,"},{"line_number":194,"context_line":"            help\u003d_(\"List only local IPs of given name in output\")"},{"line_number":195,"context_line":"        )"},{"line_number":196,"context_line":"        parser.add_argument("},{"line_number":197,"context_line":"            \u0027--project\u0027,"},{"line_number":198,"context_line":"            metavar\u003d\"\u003cproject\u003e\","},{"line_number":199,"context_line":"            help\u003d_(\"List Local IPs according to their project \""},{"line_number":200,"context_line":"                   \"(name or ID)\")"},{"line_number":201,"context_line":"        )"},{"line_number":202,"context_line":"        identity_common.add_project_domain_option_to_parser(parser)"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"        return parser"}],"source_content_type":"text/x-python","patch_set":5,"id":"0e70f464_9bac7ffa","line":201,"range":{"start_line":191,"start_character":8,"end_line":201,"end_character":9},"in_reply_to":"f1c26b8d_397f1354","updated":"2021-09-02 13:37:55.000000000","message":"Done","commit_id":"8c2208083e990c10e6c33e811edf292e2035861b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"fbe2197c56e6350f4153084c55d18a4302b7c715","unresolved":true,"context_lines":[{"line_number":75,"context_line":"            help\u003d_(\"New local IP description\")"},{"line_number":76,"context_line":"        )"},{"line_number":77,"context_line":"        parser.add_argument("},{"line_number":78,"context_line":"            \u0027--network_id\u0027,"},{"line_number":79,"context_line":"            metavar\u003d\u0027\u003cnetwork_id\u003e\u0027,"},{"line_number":80,"context_line":"            help\u003d_(\"Network to allocate Local IP (name or ID)\")"},{"line_number":81,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":15,"id":"de2dff94_9cb5ca8f","line":78,"range":{"start_line":78,"start_character":13,"end_line":78,"end_character":25},"updated":"2021-11-25 17:48:46.000000000","message":"We use dashes, not underscores, for optional arguments like this.\n\nDitto for the below","commit_id":"d875e872863f38cc102805e642f798a2cbb43ea7"},{"author":{"_account_id":32667,"name":"Mamatisa Nurmatov","email":"nurmatov.mamatisa@huawei.com","username":"isabek"},"change_message_id":"87aa97e586a4a141e8b70cd8cf68e0dedfe72ff6","unresolved":false,"context_lines":[{"line_number":75,"context_line":"            help\u003d_(\"New local IP description\")"},{"line_number":76,"context_line":"        )"},{"line_number":77,"context_line":"        parser.add_argument("},{"line_number":78,"context_line":"            \u0027--network_id\u0027,"},{"line_number":79,"context_line":"            metavar\u003d\u0027\u003cnetwork_id\u003e\u0027,"},{"line_number":80,"context_line":"            help\u003d_(\"Network to allocate Local IP (name or ID)\")"},{"line_number":81,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":15,"id":"a0a6dbbb_70bd354c","line":78,"range":{"start_line":78,"start_character":13,"end_line":78,"end_character":25},"in_reply_to":"99c73503_90a44753","updated":"2022-01-26 07:33:00.000000000","message":"Done","commit_id":"d875e872863f38cc102805e642f798a2cbb43ea7"},{"author":{"_account_id":32667,"name":"Mamatisa Nurmatov","email":"nurmatov.mamatisa@huawei.com","username":"isabek"},"change_message_id":"487b2cc78c2f4d539e3cab466642d06d73b22129","unresolved":true,"context_lines":[{"line_number":75,"context_line":"            help\u003d_(\"New local IP description\")"},{"line_number":76,"context_line":"        )"},{"line_number":77,"context_line":"        parser.add_argument("},{"line_number":78,"context_line":"            \u0027--network_id\u0027,"},{"line_number":79,"context_line":"            metavar\u003d\u0027\u003cnetwork_id\u003e\u0027,"},{"line_number":80,"context_line":"            help\u003d_(\"Network to allocate Local IP (name or ID)\")"},{"line_number":81,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":15,"id":"99c73503_90a44753","line":78,"range":{"start_line":78,"start_character":13,"end_line":78,"end_character":25},"in_reply_to":"de2dff94_9cb5ca8f","updated":"2021-11-29 13:43:51.000000000","message":"Done","commit_id":"d875e872863f38cc102805e642f798a2cbb43ea7"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"fbe2197c56e6350f4153084c55d18a4302b7c715","unresolved":true,"context_lines":[{"line_number":200,"context_line":"                   \"(name or ID)\")"},{"line_number":201,"context_line":"        )"},{"line_number":202,"context_line":"        parser.add_argument("},{"line_number":203,"context_line":"            \u0027--network_id\u0027,"},{"line_number":204,"context_line":"            metavar\u003d\u0027\u003cnetwork_id\u003e\u0027,"},{"line_number":205,"context_line":"            help\u003d_(\"List Local IP(s) according to \""},{"line_number":206,"context_line":"                   \"given network (name or ID)\")"}],"source_content_type":"text/x-python","patch_set":15,"id":"ebbe9085_f56dfc86","line":203,"range":{"start_line":203,"start_character":12,"end_line":203,"end_character":26},"updated":"2021-11-25 17:48:46.000000000","message":"We use dashes, not underscores, for optional arguments like this.\n\nDitto for the below","commit_id":"d875e872863f38cc102805e642f798a2cbb43ea7"},{"author":{"_account_id":32667,"name":"Mamatisa Nurmatov","email":"nurmatov.mamatisa@huawei.com","username":"isabek"},"change_message_id":"87aa97e586a4a141e8b70cd8cf68e0dedfe72ff6","unresolved":false,"context_lines":[{"line_number":200,"context_line":"                   \"(name or ID)\")"},{"line_number":201,"context_line":"        )"},{"line_number":202,"context_line":"        parser.add_argument("},{"line_number":203,"context_line":"            \u0027--network_id\u0027,"},{"line_number":204,"context_line":"            metavar\u003d\u0027\u003cnetwork_id\u003e\u0027,"},{"line_number":205,"context_line":"            help\u003d_(\"List Local IP(s) according to \""},{"line_number":206,"context_line":"                   \"given network (name or ID)\")"}],"source_content_type":"text/x-python","patch_set":15,"id":"8c6a3516_fa398609","line":203,"range":{"start_line":203,"start_character":12,"end_line":203,"end_character":26},"in_reply_to":"4115ea7f_501e68fe","updated":"2022-01-26 07:33:00.000000000","message":"Done","commit_id":"d875e872863f38cc102805e642f798a2cbb43ea7"},{"author":{"_account_id":32667,"name":"Mamatisa Nurmatov","email":"nurmatov.mamatisa@huawei.com","username":"isabek"},"change_message_id":"487b2cc78c2f4d539e3cab466642d06d73b22129","unresolved":true,"context_lines":[{"line_number":200,"context_line":"                   \"(name or ID)\")"},{"line_number":201,"context_line":"        )"},{"line_number":202,"context_line":"        parser.add_argument("},{"line_number":203,"context_line":"            \u0027--network_id\u0027,"},{"line_number":204,"context_line":"            metavar\u003d\u0027\u003cnetwork_id\u003e\u0027,"},{"line_number":205,"context_line":"            help\u003d_(\"List Local IP(s) according to \""},{"line_number":206,"context_line":"                   \"given network (name or ID)\")"}],"source_content_type":"text/x-python","patch_set":15,"id":"4115ea7f_501e68fe","line":203,"range":{"start_line":203,"start_character":12,"end_line":203,"end_character":26},"in_reply_to":"ebbe9085_f56dfc86","updated":"2021-11-29 13:43:51.000000000","message":"Done","commit_id":"d875e872863f38cc102805e642f798a2cbb43ea7"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"fbe2197c56e6350f4153084c55d18a4302b7c715","unresolved":true,"context_lines":[{"line_number":267,"context_line":"        return (column_headers,"},{"line_number":268,"context_line":"                (utils.get_item_properties("},{"line_number":269,"context_line":"                    s, columns, formatters\u003d{},"},{"line_number":270,"context_line":"                ) for s in data))"},{"line_number":271,"context_line":""},{"line_number":272,"context_line":""},{"line_number":273,"context_line":"class ShowLocalIP(command.ShowOne):"}],"source_content_type":"text/x-python","patch_set":15,"id":"d2c7cf0e_a2125ed7","line":270,"updated":"2021-11-25 17:48:46.000000000","message":"style nit:\n\n  return (\n      column_headers,\n      (utils.get_item_properties(s, columns, formatters\u003d{}) for s in data),\n  )","commit_id":"d875e872863f38cc102805e642f798a2cbb43ea7"},{"author":{"_account_id":32667,"name":"Mamatisa Nurmatov","email":"nurmatov.mamatisa@huawei.com","username":"isabek"},"change_message_id":"87aa97e586a4a141e8b70cd8cf68e0dedfe72ff6","unresolved":false,"context_lines":[{"line_number":267,"context_line":"        return (column_headers,"},{"line_number":268,"context_line":"                (utils.get_item_properties("},{"line_number":269,"context_line":"                    s, columns, formatters\u003d{},"},{"line_number":270,"context_line":"                ) for s in data))"},{"line_number":271,"context_line":""},{"line_number":272,"context_line":""},{"line_number":273,"context_line":"class ShowLocalIP(command.ShowOne):"}],"source_content_type":"text/x-python","patch_set":15,"id":"e44465a6_f93a71f4","line":270,"in_reply_to":"5cd6caf5_e1afd1a1","updated":"2022-01-26 07:33:00.000000000","message":"Done","commit_id":"d875e872863f38cc102805e642f798a2cbb43ea7"},{"author":{"_account_id":32667,"name":"Mamatisa Nurmatov","email":"nurmatov.mamatisa@huawei.com","username":"isabek"},"change_message_id":"487b2cc78c2f4d539e3cab466642d06d73b22129","unresolved":true,"context_lines":[{"line_number":267,"context_line":"        return (column_headers,"},{"line_number":268,"context_line":"                (utils.get_item_properties("},{"line_number":269,"context_line":"                    s, columns, formatters\u003d{},"},{"line_number":270,"context_line":"                ) for s in data))"},{"line_number":271,"context_line":""},{"line_number":272,"context_line":""},{"line_number":273,"context_line":"class ShowLocalIP(command.ShowOne):"}],"source_content_type":"text/x-python","patch_set":15,"id":"5cd6caf5_e1afd1a1","line":270,"in_reply_to":"d2c7cf0e_a2125ed7","updated":"2021-11-29 13:43:51.000000000","message":"Done","commit_id":"d875e872863f38cc102805e642f798a2cbb43ea7"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"7e92bb9228a0764c5ec64344d6c68fd223a9b97b","unresolved":true,"context_lines":[{"line_number":75,"context_line":"            help\u003d_(\"New local IP description\")"},{"line_number":76,"context_line":"        )"},{"line_number":77,"context_line":"        parser.add_argument("},{"line_number":78,"context_line":"            \u0027--network-id\u0027,"},{"line_number":79,"context_line":"            metavar\u003d\u0027\u003cnetwork_id\u003e\u0027,"},{"line_number":80,"context_line":"            help\u003d_(\"Network to allocate Local IP (name or ID)\")"},{"line_number":81,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":23,"id":"446b78ad_cdc2ffe2","line":78,"range":{"start_line":78,"start_character":15,"end_line":78,"end_character":25},"updated":"2021-12-15 10:17:18.000000000","message":"just network instead of network-id, by the way it accepts only uuid for me now. You have to use find_local_ip I think to fetch uuid if name was given on CLI","commit_id":"85561fd2a07827acbb2dae3538fa9536845e68a7"},{"author":{"_account_id":32667,"name":"Mamatisa Nurmatov","email":"nurmatov.mamatisa@huawei.com","username":"isabek"},"change_message_id":"088e67e9a9521eb078705deb0cb58d0de3040d2d","unresolved":true,"context_lines":[{"line_number":75,"context_line":"            help\u003d_(\"New local IP description\")"},{"line_number":76,"context_line":"        )"},{"line_number":77,"context_line":"        parser.add_argument("},{"line_number":78,"context_line":"            \u0027--network-id\u0027,"},{"line_number":79,"context_line":"            metavar\u003d\u0027\u003cnetwork_id\u003e\u0027,"},{"line_number":80,"context_line":"            help\u003d_(\"Network to allocate Local IP (name or ID)\")"},{"line_number":81,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":23,"id":"520deeb0_a34e5eeb","line":78,"range":{"start_line":78,"start_character":15,"end_line":78,"end_character":25},"in_reply_to":"446b78ad_cdc2ffe2","updated":"2021-12-16 14:22:42.000000000","message":"Done","commit_id":"85561fd2a07827acbb2dae3538fa9536845e68a7"},{"author":{"_account_id":32667,"name":"Mamatisa Nurmatov","email":"nurmatov.mamatisa@huawei.com","username":"isabek"},"change_message_id":"707fa6871390543eba853f4a387a19d08078e721","unresolved":false,"context_lines":[{"line_number":75,"context_line":"            help\u003d_(\"New local IP description\")"},{"line_number":76,"context_line":"        )"},{"line_number":77,"context_line":"        parser.add_argument("},{"line_number":78,"context_line":"            \u0027--network-id\u0027,"},{"line_number":79,"context_line":"            metavar\u003d\u0027\u003cnetwork_id\u003e\u0027,"},{"line_number":80,"context_line":"            help\u003d_(\"Network to allocate Local IP (name or ID)\")"},{"line_number":81,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":23,"id":"40f341ee_25d2588e","line":78,"range":{"start_line":78,"start_character":15,"end_line":78,"end_character":25},"in_reply_to":"520deeb0_a34e5eeb","updated":"2022-01-26 07:33:25.000000000","message":"Done","commit_id":"85561fd2a07827acbb2dae3538fa9536845e68a7"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"7e92bb9228a0764c5ec64344d6c68fd223a9b97b","unresolved":true,"context_lines":[{"line_number":80,"context_line":"            help\u003d_(\"Network to allocate Local IP (name or ID)\")"},{"line_number":81,"context_line":"        )"},{"line_number":82,"context_line":"        parser.add_argument("},{"line_number":83,"context_line":"            \u0027--local-port-id\u0027,"},{"line_number":84,"context_line":"            metavar\u003d\u0027\u003clocal_port_id\u003e\u0027,"},{"line_number":85,"context_line":"            help\u003d_(\"Port to allocate Local IP (name or ID)\")"},{"line_number":86,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":23,"id":"84314ce1_1fcc4009","line":83,"range":{"start_line":83,"start_character":15,"end_line":83,"end_character":28},"updated":"2021-12-15 10:17:18.000000000","message":"ditto","commit_id":"85561fd2a07827acbb2dae3538fa9536845e68a7"},{"author":{"_account_id":32667,"name":"Mamatisa Nurmatov","email":"nurmatov.mamatisa@huawei.com","username":"isabek"},"change_message_id":"707fa6871390543eba853f4a387a19d08078e721","unresolved":false,"context_lines":[{"line_number":80,"context_line":"            help\u003d_(\"Network to allocate Local IP (name or ID)\")"},{"line_number":81,"context_line":"        )"},{"line_number":82,"context_line":"        parser.add_argument("},{"line_number":83,"context_line":"            \u0027--local-port-id\u0027,"},{"line_number":84,"context_line":"            metavar\u003d\u0027\u003clocal_port_id\u003e\u0027,"},{"line_number":85,"context_line":"            help\u003d_(\"Port to allocate Local IP (name or ID)\")"},{"line_number":86,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":23,"id":"1adde4ca_0d16f94d","line":83,"range":{"start_line":83,"start_character":15,"end_line":83,"end_character":28},"in_reply_to":"2fe4afaf_e4d125b0","updated":"2022-01-26 07:33:25.000000000","message":"Done","commit_id":"85561fd2a07827acbb2dae3538fa9536845e68a7"},{"author":{"_account_id":32667,"name":"Mamatisa Nurmatov","email":"nurmatov.mamatisa@huawei.com","username":"isabek"},"change_message_id":"088e67e9a9521eb078705deb0cb58d0de3040d2d","unresolved":true,"context_lines":[{"line_number":80,"context_line":"            help\u003d_(\"Network to allocate Local IP (name or ID)\")"},{"line_number":81,"context_line":"        )"},{"line_number":82,"context_line":"        parser.add_argument("},{"line_number":83,"context_line":"            \u0027--local-port-id\u0027,"},{"line_number":84,"context_line":"            metavar\u003d\u0027\u003clocal_port_id\u003e\u0027,"},{"line_number":85,"context_line":"            help\u003d_(\"Port to allocate Local IP (name or ID)\")"},{"line_number":86,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":23,"id":"2fe4afaf_e4d125b0","line":83,"range":{"start_line":83,"start_character":15,"end_line":83,"end_character":28},"in_reply_to":"84314ce1_1fcc4009","updated":"2021-12-16 14:22:42.000000000","message":"Done","commit_id":"85561fd2a07827acbb2dae3538fa9536845e68a7"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"68832fdd3b8dec9b2bf325c0e7dfbc13024333e8","unresolved":false,"context_lines":[{"line_number":69,"context_line":"    _description \u003d _(\"Create Local IP\")"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"    def get_parser(self, prog_name):"},{"line_number":72,"context_line":"        parser \u003d super(CreateLocalIP, self).get_parser(prog_name)"},{"line_number":73,"context_line":"        parser.add_argument("},{"line_number":74,"context_line":"            \u0027--name\u0027,"},{"line_number":75,"context_line":"            metavar\u003d\"\u003cname\u003e\","}],"source_content_type":"text/x-python","patch_set":26,"id":"3f004c7b_2f3a85af","line":72,"range":{"start_line":72,"start_character":23,"end_line":72,"end_character":42},"updated":"2022-01-28 12:43:13.000000000","message":"style nit: don\u0027t need these in Python 3. Ditto for the other \u0027super()\u0027 invocations below","commit_id":"0405d7b378968b3c4c9c9cac5ba8357fd98f49c0"},{"author":{"_account_id":32667,"name":"Mamatisa Nurmatov","email":"nurmatov.mamatisa@huawei.com","username":"isabek"},"change_message_id":"012695e94a9355273f4f90afd9ddee132479ab06","unresolved":false,"context_lines":[{"line_number":69,"context_line":"    _description \u003d _(\"Create Local IP\")"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"    def get_parser(self, prog_name):"},{"line_number":72,"context_line":"        parser \u003d super(CreateLocalIP, self).get_parser(prog_name)"},{"line_number":73,"context_line":"        parser.add_argument("},{"line_number":74,"context_line":"            \u0027--name\u0027,"},{"line_number":75,"context_line":"            metavar\u003d\"\u003cname\u003e\","}],"source_content_type":"text/x-python","patch_set":26,"id":"e96b40aa_5269c25c","line":72,"range":{"start_line":72,"start_character":23,"end_line":72,"end_character":42},"in_reply_to":"3f004c7b_2f3a85af","updated":"2022-01-28 14:27:19.000000000","message":"Done","commit_id":"0405d7b378968b3c4c9c9cac5ba8357fd98f49c0"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"68832fdd3b8dec9b2bf325c0e7dfbc13024333e8","unresolved":true,"context_lines":[{"line_number":94,"context_line":"            \"--local-ip-address\","},{"line_number":95,"context_line":"            metavar\u003d\"\u003clocal_ip_address\u003e\","},{"line_number":96,"context_line":"            help\u003d_(\"IP address or CIDR \"),"},{"line_number":97,"context_line":"        )"},{"line_number":98,"context_line":"        parser.add_argument("},{"line_number":99,"context_line":"            \u0027--ip-mode\u0027,"},{"line_number":100,"context_line":"            metavar\u003d\u0027\u003cip_mode\u003e\u0027,"}],"source_content_type":"text/x-python","patch_set":26,"id":"9a5ac449_1574e97e","line":97,"updated":"2022-01-28 12:43:13.000000000","message":"Are any of these required/mandatory? If so, which ones? Should they be positional arguments instead?\n\n(I suspect local IP address might be since that\u0027s what you\u0027re using for the delete operation below, but I\u0027m not sure)","commit_id":"0405d7b378968b3c4c9c9cac5ba8357fd98f49c0"},{"author":{"_account_id":32667,"name":"Mamatisa Nurmatov","email":"nurmatov.mamatisa@huawei.com","username":"isabek"},"change_message_id":"012695e94a9355273f4f90afd9ddee132479ab06","unresolved":false,"context_lines":[{"line_number":94,"context_line":"            \"--local-ip-address\","},{"line_number":95,"context_line":"            metavar\u003d\"\u003clocal_ip_address\u003e\","},{"line_number":96,"context_line":"            help\u003d_(\"IP address or CIDR \"),"},{"line_number":97,"context_line":"        )"},{"line_number":98,"context_line":"        parser.add_argument("},{"line_number":99,"context_line":"            \u0027--ip-mode\u0027,"},{"line_number":100,"context_line":"            metavar\u003d\u0027\u003cip_mode\u003e\u0027,"}],"source_content_type":"text/x-python","patch_set":26,"id":"35f61555_9082ff0b","line":97,"in_reply_to":"9a5ac449_1574e97e","updated":"2022-01-28 14:27:19.000000000","message":"Local IP can be created with network or port, so we use optional arguments.\nhttps://review.opendev.org/c/openstack/neutron-lib/+/803051/9/api-ref/source/v2/local-ips.inc#79","commit_id":"0405d7b378968b3c4c9c9cac5ba8357fd98f49c0"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"36a5831915d290c529069cc8b44b26513c79d0cd","unresolved":true,"context_lines":[{"line_number":71,"context_line":"    def get_parser(self, prog_name):"},{"line_number":72,"context_line":"        parser \u003d super().get_parser(prog_name)"},{"line_number":73,"context_line":"        parser.add_argument("},{"line_number":74,"context_line":"            \u0027--name\u0027,"},{"line_number":75,"context_line":"            metavar\u003d\"\u003cname\u003e\","},{"line_number":76,"context_line":"            help\u003d_(\"New local IP name\")"},{"line_number":77,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":27,"id":"92874459_d13d2c3e","line":74,"range":{"start_line":74,"start_character":13,"end_line":74,"end_character":19},"updated":"2022-01-31 14:49:28.000000000","message":"nit: this should be \u0027name\u0027 to make name a positional argument, like for create network","commit_id":"26144743d9207d876df40e030a2a4132e18a79a7"},{"author":{"_account_id":32667,"name":"Mamatisa Nurmatov","email":"nurmatov.mamatisa@huawei.com","username":"isabek"},"change_message_id":"f653ba7e9a08cc9e63820f568f39db762d554928","unresolved":false,"context_lines":[{"line_number":71,"context_line":"    def get_parser(self, prog_name):"},{"line_number":72,"context_line":"        parser \u003d super().get_parser(prog_name)"},{"line_number":73,"context_line":"        parser.add_argument("},{"line_number":74,"context_line":"            \u0027--name\u0027,"},{"line_number":75,"context_line":"            metavar\u003d\"\u003cname\u003e\","},{"line_number":76,"context_line":"            help\u003d_(\"New local IP name\")"},{"line_number":77,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":27,"id":"469792b8_7e0c4010","line":74,"range":{"start_line":74,"start_character":13,"end_line":74,"end_character":19},"in_reply_to":"92874459_d13d2c3e","updated":"2022-01-31 15:01:07.000000000","message":"Hi! According to API \u0027name\u0027 is not required when creating local ip.","commit_id":"26144743d9207d876df40e030a2a4132e18a79a7"}],"openstackclient/network/v2/local_ip_association.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"fbe2197c56e6350f4153084c55d18a4302b7c715","unresolved":true,"context_lines":[{"line_number":49,"context_line":"            help\u003d_(\" The ID of Port to allocate Local IP Association\")"},{"line_number":50,"context_line":"        )"},{"line_number":51,"context_line":"        parser.add_argument("},{"line_number":52,"context_line":"            \u0027--fixed_ip\u0027,"},{"line_number":53,"context_line":"            metavar\u003d\u0027\u003cfixed_ip\u003e\u0027,"},{"line_number":54,"context_line":"            help\u003d_(\"Fixed IP for Local IP Association\")"},{"line_number":55,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":15,"id":"f1863fe1_b5ef1a43","line":52,"range":{"start_line":52,"start_character":13,"end_line":52,"end_character":23},"updated":"2021-11-25 17:48:46.000000000","message":"We use dashes, not underscores, for optional arguments like this","commit_id":"d875e872863f38cc102805e642f798a2cbb43ea7"},{"author":{"_account_id":32667,"name":"Mamatisa Nurmatov","email":"nurmatov.mamatisa@huawei.com","username":"isabek"},"change_message_id":"707fa6871390543eba853f4a387a19d08078e721","unresolved":false,"context_lines":[{"line_number":49,"context_line":"            help\u003d_(\" The ID of Port to allocate Local IP Association\")"},{"line_number":50,"context_line":"        )"},{"line_number":51,"context_line":"        parser.add_argument("},{"line_number":52,"context_line":"            \u0027--fixed_ip\u0027,"},{"line_number":53,"context_line":"            metavar\u003d\u0027\u003cfixed_ip\u003e\u0027,"},{"line_number":54,"context_line":"            help\u003d_(\"Fixed IP for Local IP Association\")"},{"line_number":55,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":15,"id":"c3bd4975_65f04ae3","line":52,"range":{"start_line":52,"start_character":13,"end_line":52,"end_character":23},"in_reply_to":"16868118_68860348","updated":"2022-01-26 07:33:25.000000000","message":"Done","commit_id":"d875e872863f38cc102805e642f798a2cbb43ea7"},{"author":{"_account_id":32667,"name":"Mamatisa Nurmatov","email":"nurmatov.mamatisa@huawei.com","username":"isabek"},"change_message_id":"487b2cc78c2f4d539e3cab466642d06d73b22129","unresolved":true,"context_lines":[{"line_number":49,"context_line":"            help\u003d_(\" The ID of Port to allocate Local IP Association\")"},{"line_number":50,"context_line":"        )"},{"line_number":51,"context_line":"        parser.add_argument("},{"line_number":52,"context_line":"            \u0027--fixed_ip\u0027,"},{"line_number":53,"context_line":"            metavar\u003d\u0027\u003cfixed_ip\u003e\u0027,"},{"line_number":54,"context_line":"            help\u003d_(\"Fixed IP for Local IP Association\")"},{"line_number":55,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":15,"id":"16868118_68860348","line":52,"range":{"start_line":52,"start_character":13,"end_line":52,"end_character":23},"in_reply_to":"f1863fe1_b5ef1a43","updated":"2021-11-29 13:43:51.000000000","message":"Done","commit_id":"d875e872863f38cc102805e642f798a2cbb43ea7"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"fbe2197c56e6350f4153084c55d18a4302b7c715","unresolved":true,"context_lines":[{"line_number":165,"context_line":"        return (column_headers,"},{"line_number":166,"context_line":"                (utils.get_item_properties("},{"line_number":167,"context_line":"                    s, columns, formatters\u003d{},"},{"line_number":168,"context_line":"                ) for s in data))"}],"source_content_type":"text/x-python","patch_set":15,"id":"e9f48391_5c29cb24","line":168,"updated":"2021-11-25 17:48:46.000000000","message":"style nit:\n\n  return (\n      column_headers,\n      (utils.get_item_properties(s, columns, formatters\u003d{}) for s in data),\n  )","commit_id":"d875e872863f38cc102805e642f798a2cbb43ea7"},{"author":{"_account_id":32667,"name":"Mamatisa Nurmatov","email":"nurmatov.mamatisa@huawei.com","username":"isabek"},"change_message_id":"87aa97e586a4a141e8b70cd8cf68e0dedfe72ff6","unresolved":false,"context_lines":[{"line_number":165,"context_line":"        return (column_headers,"},{"line_number":166,"context_line":"                (utils.get_item_properties("},{"line_number":167,"context_line":"                    s, columns, formatters\u003d{},"},{"line_number":168,"context_line":"                ) for s in data))"}],"source_content_type":"text/x-python","patch_set":15,"id":"afd70039_758cf95b","line":168,"in_reply_to":"cac06f3f_e808559b","updated":"2022-01-26 07:33:00.000000000","message":"Done","commit_id":"d875e872863f38cc102805e642f798a2cbb43ea7"},{"author":{"_account_id":32667,"name":"Mamatisa Nurmatov","email":"nurmatov.mamatisa@huawei.com","username":"isabek"},"change_message_id":"487b2cc78c2f4d539e3cab466642d06d73b22129","unresolved":true,"context_lines":[{"line_number":165,"context_line":"        return (column_headers,"},{"line_number":166,"context_line":"                (utils.get_item_properties("},{"line_number":167,"context_line":"                    s, columns, formatters\u003d{},"},{"line_number":168,"context_line":"                ) for s in data))"}],"source_content_type":"text/x-python","patch_set":15,"id":"cac06f3f_e808559b","line":168,"in_reply_to":"e9f48391_5c29cb24","updated":"2021-11-29 13:43:51.000000000","message":"Done","commit_id":"d875e872863f38cc102805e642f798a2cbb43ea7"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"68832fdd3b8dec9b2bf325c0e7dfbc13024333e8","unresolved":false,"context_lines":[{"line_number":38,"context_line":"    _description \u003d _(\"Create Local IP Association\")"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    def get_parser(self, prog_name):"},{"line_number":41,"context_line":"        parser \u003d super(CreateLocalIPAssociation, self).get_parser(prog_name)"},{"line_number":42,"context_line":"        parser.add_argument("},{"line_number":43,"context_line":"            \u0027local_ip\u0027,"},{"line_number":44,"context_line":"            metavar\u003d\u0027\u003clocal-ip\u003e\u0027,"}],"source_content_type":"text/x-python","patch_set":26,"id":"bd70c3c0_051628fe","line":41,"range":{"start_line":41,"start_character":23,"end_line":41,"end_character":53},"updated":"2022-01-28 12:43:13.000000000","message":"style nit: don\u0027t need these in Python 3 (ditto for the other invocations below)","commit_id":"0405d7b378968b3c4c9c9cac5ba8357fd98f49c0"},{"author":{"_account_id":32667,"name":"Mamatisa Nurmatov","email":"nurmatov.mamatisa@huawei.com","username":"isabek"},"change_message_id":"012695e94a9355273f4f90afd9ddee132479ab06","unresolved":false,"context_lines":[{"line_number":38,"context_line":"    _description \u003d _(\"Create Local IP Association\")"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    def get_parser(self, prog_name):"},{"line_number":41,"context_line":"        parser \u003d super(CreateLocalIPAssociation, self).get_parser(prog_name)"},{"line_number":42,"context_line":"        parser.add_argument("},{"line_number":43,"context_line":"            \u0027local_ip\u0027,"},{"line_number":44,"context_line":"            metavar\u003d\u0027\u003clocal-ip\u003e\u0027,"}],"source_content_type":"text/x-python","patch_set":26,"id":"403beb9a_e6c529cc","line":41,"range":{"start_line":41,"start_character":23,"end_line":41,"end_character":53},"in_reply_to":"bd70c3c0_051628fe","updated":"2022-01-28 14:27:19.000000000","message":"Done","commit_id":"0405d7b378968b3c4c9c9cac5ba8357fd98f49c0"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"68832fdd3b8dec9b2bf325c0e7dfbc13024333e8","unresolved":true,"context_lines":[{"line_number":48,"context_line":"        parser.add_argument("},{"line_number":49,"context_line":"            \u0027fixed_port\u0027,"},{"line_number":50,"context_line":"            metavar\u003d\u0027\u003cfixed_port\u003e\u0027,"},{"line_number":51,"context_line":"            help\u003d_(\" The ID or Name of Port to allocate Local IP Association\")"},{"line_number":52,"context_line":"        )"},{"line_number":53,"context_line":"        parser.add_argument("},{"line_number":54,"context_line":"            \u0027--fixed-ip\u0027,"}],"source_content_type":"text/x-python","patch_set":26,"id":"1c8217a6_fff7cec6","line":51,"range":{"start_line":51,"start_character":20,"end_line":51,"end_character":21},"updated":"2022-01-28 12:43:13.000000000","message":"nit","commit_id":"0405d7b378968b3c4c9c9cac5ba8357fd98f49c0"},{"author":{"_account_id":32667,"name":"Mamatisa Nurmatov","email":"nurmatov.mamatisa@huawei.com","username":"isabek"},"change_message_id":"012695e94a9355273f4f90afd9ddee132479ab06","unresolved":false,"context_lines":[{"line_number":48,"context_line":"        parser.add_argument("},{"line_number":49,"context_line":"            \u0027fixed_port\u0027,"},{"line_number":50,"context_line":"            metavar\u003d\u0027\u003cfixed_port\u003e\u0027,"},{"line_number":51,"context_line":"            help\u003d_(\" The ID or Name of Port to allocate Local IP Association\")"},{"line_number":52,"context_line":"        )"},{"line_number":53,"context_line":"        parser.add_argument("},{"line_number":54,"context_line":"            \u0027--fixed-ip\u0027,"}],"source_content_type":"text/x-python","patch_set":26,"id":"219920df_38e5098c","line":51,"range":{"start_line":51,"start_character":20,"end_line":51,"end_character":21},"in_reply_to":"1c8217a6_fff7cec6","updated":"2022-01-28 14:27:19.000000000","message":"Done","commit_id":"0405d7b378968b3c4c9c9cac5ba8357fd98f49c0"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"68832fdd3b8dec9b2bf325c0e7dfbc13024333e8","unresolved":false,"context_lines":[{"line_number":93,"context_line":"        )"},{"line_number":94,"context_line":"        parser.add_argument("},{"line_number":95,"context_line":"            \u0027fixed_port_id\u0027,"},{"line_number":96,"context_line":"            nargs\u003d\"+\","},{"line_number":97,"context_line":"            metavar\u003d\"\u003cfixed_port_id\u003e\","},{"line_number":98,"context_line":"            help\u003d_(\"The fixed port ID of Local IP Association\")"},{"line_number":99,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":26,"id":"83288abd_0e72a134","line":96,"updated":"2022-01-28 12:43:13.000000000","message":"Can you have actually have multiple of these? If not, should this really be nargs\u003d\"+\"?\n\nLater: based on the logic below, I would assume yes?","commit_id":"0405d7b378968b3c4c9c9cac5ba8357fd98f49c0"},{"author":{"_account_id":32667,"name":"Mamatisa Nurmatov","email":"nurmatov.mamatisa@huawei.com","username":"isabek"},"change_message_id":"012695e94a9355273f4f90afd9ddee132479ab06","unresolved":false,"context_lines":[{"line_number":93,"context_line":"        )"},{"line_number":94,"context_line":"        parser.add_argument("},{"line_number":95,"context_line":"            \u0027fixed_port_id\u0027,"},{"line_number":96,"context_line":"            nargs\u003d\"+\","},{"line_number":97,"context_line":"            metavar\u003d\"\u003cfixed_port_id\u003e\","},{"line_number":98,"context_line":"            help\u003d_(\"The fixed port ID of Local IP Association\")"},{"line_number":99,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":26,"id":"824395ef_3a5bbb74","line":96,"in_reply_to":"83288abd_0e72a134","updated":"2022-01-28 14:27:19.000000000","message":"Local IP could be associated with multiple fixed ports at the same time, and we can delete port associations like \u0027openstack local ip asscoation delete \u003clocal_ip_\u003e \u003cfixed_port1\u003e \u003cfixed_port2\u003e\u0027","commit_id":"0405d7b378968b3c4c9c9cac5ba8357fd98f49c0"}],"openstackclient/tests/unit/network/v2/fakes.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"fbe2197c56e6350f4153084c55d18a4302b7c715","unresolved":true,"context_lines":[{"line_number":417,"context_line":"        # Overwrite default attributes."},{"line_number":418,"context_line":"        local_ip_attrs.update(attrs)"},{"line_number":419,"context_line":""},{"line_number":420,"context_line":"        local_ip \u003d fakes.FakeResource("},{"line_number":421,"context_line":"            info\u003dcopy.deepcopy(local_ip_attrs),"},{"line_number":422,"context_line":"            loaded\u003dTrue)"},{"line_number":423,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"27611d21_6208d330","line":420,"updated":"2021-11-25 17:48:46.000000000","message":"This is creating an instance of a FakeResource which is what neutronclient would create. However, you\u0027re not using neutronclient in the implementation: you\u0027re using openstacksdk. You need to create instances of the resources from openstacksdk here, so this would become e.g.\n\n    local_ip \u003d _local_ip.LocalIP(**local_ip_attrs)\n\nand you\u0027d import from SDK at the top of the file, like:\n\n  from openstack.network.v2 import local_ip as _local_ip\n\nAlso, given we\u0027re no longer creating fake resources like this, we don\u0027t really need the \"container\" class. You could just place these definitions at the module level, e.g. instead of:\n\n  class FakeLocalIP(object):\n      @staticmethod\n      def create_one_local_ip(attrs\u003dNone):\n          ...\n\nSimply do:\n\n  def create_one_local_ip(attrs\u003dNone):\n      ...\n\nThis bit is optional though\n\nPS: Not your fault: all the other tests here are wrong too, but we shouldn\u0027t persist this \"wrongness\".","commit_id":"d875e872863f38cc102805e642f798a2cbb43ea7"},{"author":{"_account_id":32667,"name":"Mamatisa Nurmatov","email":"nurmatov.mamatisa@huawei.com","username":"isabek"},"change_message_id":"487b2cc78c2f4d539e3cab466642d06d73b22129","unresolved":true,"context_lines":[{"line_number":417,"context_line":"        # Overwrite default attributes."},{"line_number":418,"context_line":"        local_ip_attrs.update(attrs)"},{"line_number":419,"context_line":""},{"line_number":420,"context_line":"        local_ip \u003d fakes.FakeResource("},{"line_number":421,"context_line":"            info\u003dcopy.deepcopy(local_ip_attrs),"},{"line_number":422,"context_line":"            loaded\u003dTrue)"},{"line_number":423,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"7e4a4447_2cff1701","line":420,"in_reply_to":"27611d21_6208d330","updated":"2021-11-29 13:43:51.000000000","message":"SDK patch not landed on master yet. But I have updated CLI patch according your suggestion","commit_id":"d875e872863f38cc102805e642f798a2cbb43ea7"},{"author":{"_account_id":32667,"name":"Mamatisa Nurmatov","email":"nurmatov.mamatisa@huawei.com","username":"isabek"},"change_message_id":"87aa97e586a4a141e8b70cd8cf68e0dedfe72ff6","unresolved":false,"context_lines":[{"line_number":417,"context_line":"        # Overwrite default attributes."},{"line_number":418,"context_line":"        local_ip_attrs.update(attrs)"},{"line_number":419,"context_line":""},{"line_number":420,"context_line":"        local_ip \u003d fakes.FakeResource("},{"line_number":421,"context_line":"            info\u003dcopy.deepcopy(local_ip_attrs),"},{"line_number":422,"context_line":"            loaded\u003dTrue)"},{"line_number":423,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"b5adfe76_5663c98f","line":420,"in_reply_to":"7e4a4447_2cff1701","updated":"2022-01-26 07:33:00.000000000","message":"Done","commit_id":"d875e872863f38cc102805e642f798a2cbb43ea7"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"fbe2197c56e6350f4153084c55d18a4302b7c715","unresolved":true,"context_lines":[{"line_number":445,"context_line":"        return local_ips"},{"line_number":446,"context_line":""},{"line_number":447,"context_line":"    @staticmethod"},{"line_number":448,"context_line":"    def get_local_ip(local_ips\u003dNone, count\u003d2):"},{"line_number":449,"context_line":"        \"\"\"Get an iterable Mock object with a list of faked local ips."},{"line_number":450,"context_line":""},{"line_number":451,"context_line":"        If local ip list is provided, then initialize the Mock object"}],"source_content_type":"text/x-python","patch_set":15,"id":"0184a48f_ce987f18","line":448,"range":{"start_line":448,"start_character":18,"end_line":448,"end_character":20},"updated":"2021-11-25 17:48:46.000000000","message":"this should be plural","commit_id":"d875e872863f38cc102805e642f798a2cbb43ea7"},{"author":{"_account_id":32667,"name":"Mamatisa Nurmatov","email":"nurmatov.mamatisa@huawei.com","username":"isabek"},"change_message_id":"487b2cc78c2f4d539e3cab466642d06d73b22129","unresolved":true,"context_lines":[{"line_number":445,"context_line":"        return local_ips"},{"line_number":446,"context_line":""},{"line_number":447,"context_line":"    @staticmethod"},{"line_number":448,"context_line":"    def get_local_ip(local_ips\u003dNone, count\u003d2):"},{"line_number":449,"context_line":"        \"\"\"Get an iterable Mock object with a list of faked local ips."},{"line_number":450,"context_line":""},{"line_number":451,"context_line":"        If local ip list is provided, then initialize the Mock object"}],"source_content_type":"text/x-python","patch_set":15,"id":"5adbb8df_03fba44f","line":448,"range":{"start_line":448,"start_character":18,"end_line":448,"end_character":20},"in_reply_to":"0184a48f_ce987f18","updated":"2021-11-29 13:43:51.000000000","message":"Done","commit_id":"d875e872863f38cc102805e642f798a2cbb43ea7"},{"author":{"_account_id":32667,"name":"Mamatisa Nurmatov","email":"nurmatov.mamatisa@huawei.com","username":"isabek"},"change_message_id":"707fa6871390543eba853f4a387a19d08078e721","unresolved":false,"context_lines":[{"line_number":445,"context_line":"        return local_ips"},{"line_number":446,"context_line":""},{"line_number":447,"context_line":"    @staticmethod"},{"line_number":448,"context_line":"    def get_local_ip(local_ips\u003dNone, count\u003d2):"},{"line_number":449,"context_line":"        \"\"\"Get an iterable Mock object with a list of faked local ips."},{"line_number":450,"context_line":""},{"line_number":451,"context_line":"        If local ip list is provided, then initialize the Mock object"}],"source_content_type":"text/x-python","patch_set":15,"id":"84b6425f_5ec22bf7","line":448,"range":{"start_line":448,"start_character":18,"end_line":448,"end_character":20},"in_reply_to":"5adbb8df_03fba44f","updated":"2022-01-26 07:33:25.000000000","message":"Done","commit_id":"d875e872863f38cc102805e642f798a2cbb43ea7"}],"openstackclient/tests/unit/network/v2/test_local_ip.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"fbe2197c56e6350f4153084c55d18a4302b7c715","unresolved":true,"context_lines":[{"line_number":27,"context_line":"class TestLocalIP(network_fakes.TestNetworkV2):"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    def setUp(self):"},{"line_number":30,"context_line":"        super(TestLocalIP, self).setUp()"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"        # Get a shortcut to the network client"},{"line_number":33,"context_line":"        self.network \u003d self.app.client_manager.network"}],"source_content_type":"text/x-python","patch_set":15,"id":"dfad49a4_16293b3f","line":30,"range":{"start_line":30,"start_character":14,"end_line":30,"end_character":31},"updated":"2021-11-25 17:48:46.000000000","message":"nit: not needed in Python 3. Ditto below","commit_id":"d875e872863f38cc102805e642f798a2cbb43ea7"},{"author":{"_account_id":32667,"name":"Mamatisa Nurmatov","email":"nurmatov.mamatisa@huawei.com","username":"isabek"},"change_message_id":"87aa97e586a4a141e8b70cd8cf68e0dedfe72ff6","unresolved":false,"context_lines":[{"line_number":27,"context_line":"class TestLocalIP(network_fakes.TestNetworkV2):"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    def setUp(self):"},{"line_number":30,"context_line":"        super(TestLocalIP, self).setUp()"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"        # Get a shortcut to the network client"},{"line_number":33,"context_line":"        self.network \u003d self.app.client_manager.network"}],"source_content_type":"text/x-python","patch_set":15,"id":"bdb3afa8_6da739be","line":30,"range":{"start_line":30,"start_character":14,"end_line":30,"end_character":31},"in_reply_to":"c037f325_8c97108a","updated":"2022-01-26 07:33:00.000000000","message":"Done","commit_id":"d875e872863f38cc102805e642f798a2cbb43ea7"},{"author":{"_account_id":32667,"name":"Mamatisa Nurmatov","email":"nurmatov.mamatisa@huawei.com","username":"isabek"},"change_message_id":"487b2cc78c2f4d539e3cab466642d06d73b22129","unresolved":true,"context_lines":[{"line_number":27,"context_line":"class TestLocalIP(network_fakes.TestNetworkV2):"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    def setUp(self):"},{"line_number":30,"context_line":"        super(TestLocalIP, self).setUp()"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"        # Get a shortcut to the network client"},{"line_number":33,"context_line":"        self.network \u003d self.app.client_manager.network"}],"source_content_type":"text/x-python","patch_set":15,"id":"c037f325_8c97108a","line":30,"range":{"start_line":30,"start_character":14,"end_line":30,"end_character":31},"in_reply_to":"dfad49a4_16293b3f","updated":"2021-11-29 13:43:51.000000000","message":"Done","commit_id":"d875e872863f38cc102805e642f798a2cbb43ea7"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"fbe2197c56e6350f4153084c55d18a4302b7c715","unresolved":true,"context_lines":[{"line_number":42,"context_line":"    domain \u003d identity_fakes_v3.FakeDomain.create_one_domain()"},{"line_number":43,"context_line":"    # The new local ip created."},{"line_number":44,"context_line":"    new_local_ip \u003d ("},{"line_number":45,"context_line":"        network_fakes.FakeLocalIP.create_one_local_ip("},{"line_number":46,"context_line":"            attrs\u003d{"},{"line_number":47,"context_line":"                \u0027tenant_id\u0027: project.id,"},{"line_number":48,"context_line":"            }"}],"source_content_type":"text/x-python","patch_set":15,"id":"3025d0f3_339b665d","line":45,"updated":"2021-11-25 17:48:46.000000000","message":"This could fit on the above line","commit_id":"d875e872863f38cc102805e642f798a2cbb43ea7"},{"author":{"_account_id":32667,"name":"Mamatisa Nurmatov","email":"nurmatov.mamatisa@huawei.com","username":"isabek"},"change_message_id":"487b2cc78c2f4d539e3cab466642d06d73b22129","unresolved":true,"context_lines":[{"line_number":42,"context_line":"    domain \u003d identity_fakes_v3.FakeDomain.create_one_domain()"},{"line_number":43,"context_line":"    # The new local ip created."},{"line_number":44,"context_line":"    new_local_ip \u003d ("},{"line_number":45,"context_line":"        network_fakes.FakeLocalIP.create_one_local_ip("},{"line_number":46,"context_line":"            attrs\u003d{"},{"line_number":47,"context_line":"                \u0027tenant_id\u0027: project.id,"},{"line_number":48,"context_line":"            }"}],"source_content_type":"text/x-python","patch_set":15,"id":"7887428b_360b1c72","line":45,"in_reply_to":"3025d0f3_339b665d","updated":"2021-11-29 13:43:51.000000000","message":"Done","commit_id":"d875e872863f38cc102805e642f798a2cbb43ea7"},{"author":{"_account_id":32667,"name":"Mamatisa Nurmatov","email":"nurmatov.mamatisa@huawei.com","username":"isabek"},"change_message_id":"87aa97e586a4a141e8b70cd8cf68e0dedfe72ff6","unresolved":false,"context_lines":[{"line_number":42,"context_line":"    domain \u003d identity_fakes_v3.FakeDomain.create_one_domain()"},{"line_number":43,"context_line":"    # The new local ip created."},{"line_number":44,"context_line":"    new_local_ip \u003d ("},{"line_number":45,"context_line":"        network_fakes.FakeLocalIP.create_one_local_ip("},{"line_number":46,"context_line":"            attrs\u003d{"},{"line_number":47,"context_line":"                \u0027tenant_id\u0027: project.id,"},{"line_number":48,"context_line":"            }"}],"source_content_type":"text/x-python","patch_set":15,"id":"debc312d_7471a424","line":45,"in_reply_to":"7887428b_360b1c72","updated":"2022-01-26 07:33:00.000000000","message":"Done","commit_id":"d875e872863f38cc102805e642f798a2cbb43ea7"}],"openstackclient/tests/unit/network/v2/test_local_ip_association.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"fbe2197c56e6350f4153084c55d18a4302b7c715","unresolved":true,"context_lines":[{"line_number":27,"context_line":"class TestLocalIPAssociation(network_fakes.TestNetworkV2):"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    def setUp(self):"},{"line_number":30,"context_line":"        super(TestLocalIPAssociation, self).setUp()"},{"line_number":31,"context_line":"        self.network \u003d self.app.client_manager.network"},{"line_number":32,"context_line":"        self.local_ip \u003d (network_fakes.FakeLocalIP."},{"line_number":33,"context_line":"                         create_one_local_ip())"}],"source_content_type":"text/x-python","patch_set":15,"id":"c4442e50_17518ec1","line":30,"range":{"start_line":30,"start_character":14,"end_line":30,"end_character":42},"updated":"2021-11-25 17:48:46.000000000","message":"nit: don\u0027t need this in Python 3","commit_id":"d875e872863f38cc102805e642f798a2cbb43ea7"},{"author":{"_account_id":32667,"name":"Mamatisa Nurmatov","email":"nurmatov.mamatisa@huawei.com","username":"isabek"},"change_message_id":"707fa6871390543eba853f4a387a19d08078e721","unresolved":false,"context_lines":[{"line_number":27,"context_line":"class TestLocalIPAssociation(network_fakes.TestNetworkV2):"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    def setUp(self):"},{"line_number":30,"context_line":"        super(TestLocalIPAssociation, self).setUp()"},{"line_number":31,"context_line":"        self.network \u003d self.app.client_manager.network"},{"line_number":32,"context_line":"        self.local_ip \u003d (network_fakes.FakeLocalIP."},{"line_number":33,"context_line":"                         create_one_local_ip())"}],"source_content_type":"text/x-python","patch_set":15,"id":"8f334aba_51a38b05","line":30,"range":{"start_line":30,"start_character":14,"end_line":30,"end_character":42},"in_reply_to":"1211e847_2a861d53","updated":"2022-01-26 07:33:25.000000000","message":"Done","commit_id":"d875e872863f38cc102805e642f798a2cbb43ea7"},{"author":{"_account_id":32667,"name":"Mamatisa Nurmatov","email":"nurmatov.mamatisa@huawei.com","username":"isabek"},"change_message_id":"487b2cc78c2f4d539e3cab466642d06d73b22129","unresolved":true,"context_lines":[{"line_number":27,"context_line":"class TestLocalIPAssociation(network_fakes.TestNetworkV2):"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    def setUp(self):"},{"line_number":30,"context_line":"        super(TestLocalIPAssociation, self).setUp()"},{"line_number":31,"context_line":"        self.network \u003d self.app.client_manager.network"},{"line_number":32,"context_line":"        self.local_ip \u003d (network_fakes.FakeLocalIP."},{"line_number":33,"context_line":"                         create_one_local_ip())"}],"source_content_type":"text/x-python","patch_set":15,"id":"1211e847_2a861d53","line":30,"range":{"start_line":30,"start_character":14,"end_line":30,"end_character":42},"in_reply_to":"c4442e50_17518ec1","updated":"2021-11-29 13:43:51.000000000","message":"Done","commit_id":"d875e872863f38cc102805e642f798a2cbb43ea7"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"fbe2197c56e6350f4153084c55d18a4302b7c715","unresolved":true,"context_lines":[{"line_number":30,"context_line":"        super(TestLocalIPAssociation, self).setUp()"},{"line_number":31,"context_line":"        self.network \u003d self.app.client_manager.network"},{"line_number":32,"context_line":"        self.local_ip \u003d (network_fakes.FakeLocalIP."},{"line_number":33,"context_line":"                         create_one_local_ip())"},{"line_number":34,"context_line":"        self.fixed_port \u003d network_fakes.FakePort.create_one_port()"},{"line_number":35,"context_line":"        self.project \u003d identity_fakes_v2.FakeProject.create_one_project()"},{"line_number":36,"context_line":"        self.network.find_port \u003d mock.Mock(return_value\u003dself.fixed_port)"}],"source_content_type":"text/x-python","patch_set":15,"id":"885acf89_b214f722","line":33,"updated":"2021-11-25 17:48:46.000000000","message":"nit: this would all fit on one line","commit_id":"d875e872863f38cc102805e642f798a2cbb43ea7"},{"author":{"_account_id":32667,"name":"Mamatisa Nurmatov","email":"nurmatov.mamatisa@huawei.com","username":"isabek"},"change_message_id":"487b2cc78c2f4d539e3cab466642d06d73b22129","unresolved":true,"context_lines":[{"line_number":30,"context_line":"        super(TestLocalIPAssociation, self).setUp()"},{"line_number":31,"context_line":"        self.network \u003d self.app.client_manager.network"},{"line_number":32,"context_line":"        self.local_ip \u003d (network_fakes.FakeLocalIP."},{"line_number":33,"context_line":"                         create_one_local_ip())"},{"line_number":34,"context_line":"        self.fixed_port \u003d network_fakes.FakePort.create_one_port()"},{"line_number":35,"context_line":"        self.project \u003d identity_fakes_v2.FakeProject.create_one_project()"},{"line_number":36,"context_line":"        self.network.find_port \u003d mock.Mock(return_value\u003dself.fixed_port)"}],"source_content_type":"text/x-python","patch_set":15,"id":"b1ff47fb_7fc7ba11","line":33,"in_reply_to":"885acf89_b214f722","updated":"2021-11-29 13:43:51.000000000","message":"Done","commit_id":"d875e872863f38cc102805e642f798a2cbb43ea7"},{"author":{"_account_id":32667,"name":"Mamatisa Nurmatov","email":"nurmatov.mamatisa@huawei.com","username":"isabek"},"change_message_id":"707fa6871390543eba853f4a387a19d08078e721","unresolved":false,"context_lines":[{"line_number":30,"context_line":"        super(TestLocalIPAssociation, self).setUp()"},{"line_number":31,"context_line":"        self.network \u003d self.app.client_manager.network"},{"line_number":32,"context_line":"        self.local_ip \u003d (network_fakes.FakeLocalIP."},{"line_number":33,"context_line":"                         create_one_local_ip())"},{"line_number":34,"context_line":"        self.fixed_port \u003d network_fakes.FakePort.create_one_port()"},{"line_number":35,"context_line":"        self.project \u003d identity_fakes_v2.FakeProject.create_one_project()"},{"line_number":36,"context_line":"        self.network.find_port \u003d mock.Mock(return_value\u003dself.fixed_port)"}],"source_content_type":"text/x-python","patch_set":15,"id":"4b35be54_99507831","line":33,"in_reply_to":"b1ff47fb_7fc7ba11","updated":"2022-01-26 07:33:25.000000000","message":"Done","commit_id":"d875e872863f38cc102805e642f798a2cbb43ea7"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"fbe2197c56e6350f4153084c55d18a4302b7c715","unresolved":true,"context_lines":[{"line_number":74,"context_line":"            self.new_local_ip_association.fixed_port_id,"},{"line_number":75,"context_line":"            self.new_local_ip_association.fixed_ip,"},{"line_number":76,"context_line":"            self.new_local_ip_association.host,"},{"line_number":77,"context_line":"        )"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"    def test_create_no_options(self):"},{"line_number":80,"context_line":"        arglist \u003d []"}],"source_content_type":"text/x-python","patch_set":15,"id":"472fb96e_92253a3f","line":77,"updated":"2021-11-25 17:48:46.000000000","message":"nit: Odd that these are object attributes here yet class attributes in the previous file. Any reason for the difference?","commit_id":"d875e872863f38cc102805e642f798a2cbb43ea7"},{"author":{"_account_id":32667,"name":"Mamatisa Nurmatov","email":"nurmatov.mamatisa@huawei.com","username":"isabek"},"change_message_id":"487b2cc78c2f4d539e3cab466642d06d73b22129","unresolved":true,"context_lines":[{"line_number":74,"context_line":"            self.new_local_ip_association.fixed_port_id,"},{"line_number":75,"context_line":"            self.new_local_ip_association.fixed_ip,"},{"line_number":76,"context_line":"            self.new_local_ip_association.host,"},{"line_number":77,"context_line":"        )"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"    def test_create_no_options(self):"},{"line_number":80,"context_line":"        arglist \u003d []"}],"source_content_type":"text/x-python","patch_set":15,"id":"f039a83e_425ebb47","line":77,"in_reply_to":"472fb96e_92253a3f","updated":"2021-11-29 13:43:51.000000000","message":"Because in sub resource I added data in \u0027def setUp\u0027","commit_id":"d875e872863f38cc102805e642f798a2cbb43ea7"},{"author":{"_account_id":32667,"name":"Mamatisa Nurmatov","email":"nurmatov.mamatisa@huawei.com","username":"isabek"},"change_message_id":"87aa97e586a4a141e8b70cd8cf68e0dedfe72ff6","unresolved":false,"context_lines":[{"line_number":74,"context_line":"            self.new_local_ip_association.fixed_port_id,"},{"line_number":75,"context_line":"            self.new_local_ip_association.fixed_ip,"},{"line_number":76,"context_line":"            self.new_local_ip_association.host,"},{"line_number":77,"context_line":"        )"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"    def test_create_no_options(self):"},{"line_number":80,"context_line":"        arglist \u003d []"}],"source_content_type":"text/x-python","patch_set":15,"id":"a40d8995_57fdb30c","line":77,"in_reply_to":"f039a83e_425ebb47","updated":"2022-01-26 07:33:00.000000000","message":"Done","commit_id":"d875e872863f38cc102805e642f798a2cbb43ea7"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"fbe2197c56e6350f4153084c55d18a4302b7c715","unresolved":true,"context_lines":[{"line_number":76,"context_line":"            self.new_local_ip_association.host,"},{"line_number":77,"context_line":"        )"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"    def test_create_no_options(self):"},{"line_number":80,"context_line":"        arglist \u003d []"},{"line_number":81,"context_line":"        verifylist \u003d []"},{"line_number":82,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"856a2f6d_fe40ee85","line":79,"updated":"2021-11-25 17:48:46.000000000","message":"nit: This isn\u0027t really testing with \"no options\": this is testing with no arguments. These are different things. We typically test stuff like this by having two tests: one that tests with the bare minimum arguments and one testing with all options. You\u0027ve got the latter but not the former, and what you\u0027ve done here is really just testing that argparse works, which we already know it does (most of the time, anyway 😉). Consider making this a test that does the same as below but without the options.","commit_id":"d875e872863f38cc102805e642f798a2cbb43ea7"},{"author":{"_account_id":32667,"name":"Mamatisa Nurmatov","email":"nurmatov.mamatisa@huawei.com","username":"isabek"},"change_message_id":"707fa6871390543eba853f4a387a19d08078e721","unresolved":false,"context_lines":[{"line_number":76,"context_line":"            self.new_local_ip_association.host,"},{"line_number":77,"context_line":"        )"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"    def test_create_no_options(self):"},{"line_number":80,"context_line":"        arglist \u003d []"},{"line_number":81,"context_line":"        verifylist \u003d []"},{"line_number":82,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"375b76a2_6a712ad2","line":79,"in_reply_to":"3c4f4a65_d5ab3ca9","updated":"2022-01-26 07:33:25.000000000","message":"Done","commit_id":"d875e872863f38cc102805e642f798a2cbb43ea7"},{"author":{"_account_id":32667,"name":"Mamatisa Nurmatov","email":"nurmatov.mamatisa@huawei.com","username":"isabek"},"change_message_id":"487b2cc78c2f4d539e3cab466642d06d73b22129","unresolved":true,"context_lines":[{"line_number":76,"context_line":"            self.new_local_ip_association.host,"},{"line_number":77,"context_line":"        )"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"    def test_create_no_options(self):"},{"line_number":80,"context_line":"        arglist \u003d []"},{"line_number":81,"context_line":"        verifylist \u003d []"},{"line_number":82,"context_line":""}],"source_content_type":"text/x-python","patch_set":15,"id":"3c4f4a65_d5ab3ca9","line":79,"in_reply_to":"856a2f6d_fe40ee85","updated":"2021-11-29 13:43:51.000000000","message":"Done","commit_id":"d875e872863f38cc102805e642f798a2cbb43ea7"}],"releasenotes/notes/add-network-local-ip-df3a9ce7610d8b90.yaml":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"fbe2197c56e6350f4153084c55d18a4302b7c715","unresolved":true,"context_lines":[{"line_number":4,"context_line":"    ``local ip list``, ``local ip set``, ``local ip show``,"},{"line_number":5,"context_line":"    ``local ip association create``, ``local ip association delete``,"},{"line_number":6,"context_line":"    ``local ip association list``,"},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"    commands to support Neutron local IP CRUD operations."},{"line_number":9,"context_line":"    [`bug 1930200 \u003chttps://bugs.launchpad.net/neutron/+bug/1930200\u003e`_]"}],"source_content_type":"text/x-yaml","patch_set":15,"id":"9ff71628_1f2a4609","line":7,"updated":"2021-11-25 17:48:46.000000000","message":"Something funky has happened here. I assume this newline isn\u0027t supposed to be here? Also, you\u0027re missing an \u0027and\u0027 for the last item in the list, i.e.\n\n  ``local ip association delete``, and\n  ``local ip association list`` commands...","commit_id":"d875e872863f38cc102805e642f798a2cbb43ea7"},{"author":{"_account_id":32667,"name":"Mamatisa Nurmatov","email":"nurmatov.mamatisa@huawei.com","username":"isabek"},"change_message_id":"87aa97e586a4a141e8b70cd8cf68e0dedfe72ff6","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    ``local ip list``, ``local ip set``, ``local ip show``,"},{"line_number":5,"context_line":"    ``local ip association create``, ``local ip association delete``,"},{"line_number":6,"context_line":"    ``local ip association list``,"},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"    commands to support Neutron local IP CRUD operations."},{"line_number":9,"context_line":"    [`bug 1930200 \u003chttps://bugs.launchpad.net/neutron/+bug/1930200\u003e`_]"}],"source_content_type":"text/x-yaml","patch_set":15,"id":"49288d47_4d633e99","line":7,"in_reply_to":"3635d410_ffe660a5","updated":"2022-01-26 07:33:00.000000000","message":"Done","commit_id":"d875e872863f38cc102805e642f798a2cbb43ea7"},{"author":{"_account_id":32667,"name":"Mamatisa Nurmatov","email":"nurmatov.mamatisa@huawei.com","username":"isabek"},"change_message_id":"487b2cc78c2f4d539e3cab466642d06d73b22129","unresolved":true,"context_lines":[{"line_number":4,"context_line":"    ``local ip list``, ``local ip set``, ``local ip show``,"},{"line_number":5,"context_line":"    ``local ip association create``, ``local ip association delete``,"},{"line_number":6,"context_line":"    ``local ip association list``,"},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"    commands to support Neutron local IP CRUD operations."},{"line_number":9,"context_line":"    [`bug 1930200 \u003chttps://bugs.launchpad.net/neutron/+bug/1930200\u003e`_]"}],"source_content_type":"text/x-yaml","patch_set":15,"id":"3635d410_ffe660a5","line":7,"in_reply_to":"9ff71628_1f2a4609","updated":"2021-11-29 13:43:51.000000000","message":"Done","commit_id":"d875e872863f38cc102805e642f798a2cbb43ea7"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"c02462d43f5aa69c4db05cb863188f83921d30b9","unresolved":true,"context_lines":[{"line_number":5,"context_line":"    ``local ip association create``, ``local ip association delete``"},{"line_number":6,"context_line":"    and ``local ip association list`` commands to support Neutron Local IP"},{"line_number":7,"context_line":"    CRUD operations."},{"line_number":8,"context_line":"    [`bug 1930200 \u003chttps://bugs.launchpad.net/neutron/+bug/1930200\u003e`_]"}],"source_content_type":"text/x-yaml","patch_set":27,"id":"22a15706_0171032f","line":8,"range":{"start_line":8,"start_character":19,"end_line":8,"end_character":67},"updated":"2022-01-31 14:52:10.000000000","message":"by the zuul log (https://storage.gra.cloud.ovh.net/v1/AUTH_dcaab5e32b234d56b626f72581e3644c/zuul_opendev_logs_02a/805618/27/check/build-openstack-releasenotes/02a128e/job-output.txt) you have to replace full link here to :lpbug: 1489441 or similar:\n\n\u003creno.sphinxext current branch\u003e:95:hardcoded link \u0027https://bugs.launchpad.net/bugs/1489441\u0027 could be replaced by an extlink (try using \u0027:lpbug:`1489441`\u0027 instead)","commit_id":"26144743d9207d876df40e030a2a4132e18a79a7"},{"author":{"_account_id":32667,"name":"Mamatisa Nurmatov","email":"nurmatov.mamatisa@huawei.com","username":"isabek"},"change_message_id":"f653ba7e9a08cc9e63820f568f39db762d554928","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    ``local ip association create``, ``local ip association delete``"},{"line_number":6,"context_line":"    and ``local ip association list`` commands to support Neutron Local IP"},{"line_number":7,"context_line":"    CRUD operations."},{"line_number":8,"context_line":"    [`bug 1930200 \u003chttps://bugs.launchpad.net/neutron/+bug/1930200\u003e`_]"}],"source_content_type":"text/x-yaml","patch_set":27,"id":"6f6d94ad_9fe4fdf2","line":8,"range":{"start_line":8,"start_character":19,"end_line":8,"end_character":67},"in_reply_to":"22a15706_0171032f","updated":"2022-01-31 15:01:07.000000000","message":"This failure is not related to my patch. Today I reported this bug to frickler [1].\n1) https://meetings.opendev.org/irclogs/%23openstack-sdks/%23openstack-sdks.2022-01-31.log.html","commit_id":"26144743d9207d876df40e030a2a4132e18a79a7"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"854834c717a3a82563274f7a726ea84e227d9b99","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    ``local ip association create``, ``local ip association delete``"},{"line_number":6,"context_line":"    and ``local ip association list`` commands to support Neutron Local IP"},{"line_number":7,"context_line":"    CRUD operations."},{"line_number":8,"context_line":"    [`bug 1930200 \u003chttps://bugs.launchpad.net/neutron/+bug/1930200\u003e`_]"}],"source_content_type":"text/x-yaml","patch_set":27,"id":"c11c46c2_b3fd2f5b","line":8,"range":{"start_line":8,"start_character":19,"end_line":8,"end_character":67},"in_reply_to":"6f6d94ad_9fe4fdf2","updated":"2022-02-01 17:50:54.000000000","message":"You are right I checked again","commit_id":"26144743d9207d876df40e030a2a4132e18a79a7"}]}
