)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"ea4e46f850c0f979deeaff7863d4aa2adb29a0f7","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     steve.ruan \u003cruansx@cn.ibm.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-03-01 05:46:30 -0600"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"CLI for bug 1525059"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Add a new option \"--provider:underlay_flooding_list\" to net-create."},{"line_number":10,"context_line":"This option is used to configure the VTEP of VXLAN network which"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"7af24918_7b5fb80e","line":7,"updated":"2016-03-01 13:19:39.000000000","message":"The summary line should describe what is changed.\n\nbug number is not useful.","commit_id":"b57d8875b94fea75af13176eedc2245807b6b735"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"ea4e46f850c0f979deeaff7863d4aa2adb29a0f7","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Add a new option \"--provider:underlay_flooding_list\" to net-create."},{"line_number":10,"context_line":"This option is used to configure the VTEP of VXLAN network which"},{"line_number":11,"context_line":"can\u0027t be found by neutron automatically."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"APIImpact"},{"line_number":14,"context_line":"Partial-Bug: #1525059"},{"line_number":15,"context_line":"Change-Id: I658655c1206edc00b9a2a8c077dadb06ad7bc599"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"7af24918_3bda5079","line":12,"updated":"2016-03-01 13:19:39.000000000","message":"Please add Depends-On header to the neutron side patch.\nWe can easily track neutron side patch lands and avoid merging CLI patch accidentally before landing the server side feature.","commit_id":"b57d8875b94fea75af13176eedc2245807b6b735"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"ea4e46f850c0f979deeaff7863d4aa2adb29a0f7","unresolved":false,"context_lines":[{"line_number":10,"context_line":"This option is used to configure the VTEP of VXLAN network which"},{"line_number":11,"context_line":"can\u0027t be found by neutron automatically."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"APIImpact"},{"line_number":14,"context_line":"Partial-Bug: #1525059"},{"line_number":15,"context_line":"Change-Id: I658655c1206edc00b9a2a8c077dadb06ad7bc599"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"7af24918_db36ccb3","line":13,"range":{"start_line":13,"start_character":0,"end_line":13,"end_character":9},"updated":"2016-03-01 13:19:39.000000000","message":"Unnecessary for CLI patch.\nAPIImpact flag should be included only in the neutron side patch.","commit_id":"b57d8875b94fea75af13176eedc2245807b6b735"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"41f162aab8dad496d469bb0607918e88a4bb2410","unresolved":false,"context_lines":[{"line_number":9,"context_line":"can\u0027t be found by neutron automatically."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"neutron server code submit:"},{"line_number":12,"context_line":"https://review.openstack.org/285986"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Partial-Bug: #1525059"},{"line_number":15,"context_line":"Change-Id: I658655c1206edc00b9a2a8c077dadb06ad7bc599"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"9a061dce_d4f2e405","line":12,"updated":"2016-04-09 04:11:21.000000000","message":"I think you mean https://review.openstack.org/#/c/299480/","commit_id":"9b3c0cd86c19b30cd88d48eca11df165dda509c9"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"5d91673cfaf484983b95d5774471cf504a248282","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Add a new option \"--provider:flooding_vtep ip_address\u003dIP_ADDR\""},{"line_number":8,"context_line":"\"[,dstport\u003dUDPPORT]\" to net-create."},{"line_number":9,"context_line":"This option is used to configure the VTEP of VXLAN network which"},{"line_number":10,"context_line":"can\u0027t be found by neutron automatically."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Please help review:"},{"line_number":13,"context_line":"Spec:"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"dab17558_412423ae","line":10,"updated":"2016-05-10 04:34:01.000000000","message":"What-if the user provides a VTEP which can be found by neutron... What I mean here is we cannot control this from the CLI.. All the user input will be honored..","commit_id":"efff659a91214760e38c3c19c407b5113e275104"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"5d91673cfaf484983b95d5774471cf504a248282","unresolved":false,"context_lines":[{"line_number":22,"context_line":"Neutron server attribute change:"},{"line_number":23,"context_line":"https://review.openstack.org/#/c/299191"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"neutron client code patch:"},{"line_number":26,"context_line":"https://review.openstack.org/#/c/286504"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Partial-Bug: #1525059"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"dab17558_610a0723","line":25,"updated":"2016-05-10 04:34:01.000000000","message":"I think you can remove this.. We are in the same patch ;)","commit_id":"efff659a91214760e38c3c19c407b5113e275104"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"5d91673cfaf484983b95d5774471cf504a248282","unresolved":false,"context_lines":[{"line_number":25,"context_line":"neutron client code patch:"},{"line_number":26,"context_line":"https://review.openstack.org/#/c/286504"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"Partial-Bug: #1525059"},{"line_number":29,"context_line":"Change-Id: I658655c1206edc00b9a2a8c077dadb06ad7bc599"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"dab17558_a114ef43","line":28,"updated":"2016-05-10 04:34:01.000000000","message":"Let\u0027s add a \u0027Depands-On: I7bc541f307f6a6e8d7e7157633fdf9c43f02919a\u0027 tag..","commit_id":"efff659a91214760e38c3c19c407b5113e275104"},{"author":{"_account_id":12712,"name":"Gleb Stepanov","email":"gstepanov@mirantis.com","username":"stgleb"},"change_message_id":"f55b2d6b4e10ada81230126f30d80430b839ff7f","unresolved":false,"context_lines":[{"line_number":5,"context_line":"CommitDate: 2016-08-03 19:20:48 -0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add a new option \"--provider:flooding_vtep ip_address\u003dIP_ADDR\""},{"line_number":8,"context_line":"\"[,dstport\u003dUDPPORT]\" to net-create."},{"line_number":9,"context_line":"This option is used to configure the VTEP of VXLAN network which"},{"line_number":10,"context_line":"can\u0027t be found by neutron automatically."},{"line_number":11,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":14,"id":"9ad45d7e_8f70f0dd","line":8,"updated":"2016-08-10 13:43:00.000000000","message":"Blank line between commit message header and body is needed.","commit_id":"42099d7a3d938d62ad8a3f9f40ecd2a997ec6827"},{"author":{"_account_id":17609,"name":"steve","email":"ruansx@cn.ibm.com","username":"steve.ruan"},"change_message_id":"7e5e99b4c5a676b8115ffc24c1c31015324968d5","unresolved":false,"context_lines":[{"line_number":5,"context_line":"CommitDate: 2016-08-03 19:20:48 -0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add a new option \"--provider:flooding_vtep ip_address\u003dIP_ADDR\""},{"line_number":8,"context_line":"\"[,dstport\u003dUDPPORT]\" to net-create."},{"line_number":9,"context_line":"This option is used to configure the VTEP of VXLAN network which"},{"line_number":10,"context_line":"can\u0027t be found by neutron automatically."},{"line_number":11,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":14,"id":"fa6399be_dfbc28de","line":8,"in_reply_to":"9ad45d7e_8f70f0dd","updated":"2016-10-17 07:13:01.000000000","message":"Thanks. Fixed it.","commit_id":"42099d7a3d938d62ad8a3f9f40ecd2a997ec6827"}],"neutronclient/neutron/v2_0/network.py":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"ea4e46f850c0f979deeaff7863d4aa2adb29a0f7","unresolved":false,"context_lines":[{"line_number":156,"context_line":"            help\u003d_(\u0027VLAN ID for VLAN networks or tunnel-id for GRE/VXLAN\u0027"},{"line_number":157,"context_line":"                   \u0027 networks.\u0027))"},{"line_number":158,"context_line":"        parser.add_argument("},{"line_number":159,"context_line":"            \u0027--provider:underlay_flooding_list\u0027, metavar\u003d\u0027\u003cIP_ADDR\u003e\u0027,"},{"line_number":160,"context_line":"            action\u003d\u0027append\u0027, default\u003d[],"},{"line_number":161,"context_line":"            dest\u003d\u0027underlay_flooding_list\u0027,"},{"line_number":162,"context_line":"            help\u003d_(\u0027Remotes IP addresses of flood list tunnel for VXLAN networks. (You can repeat this option.)\u0027))          "}],"source_content_type":"text/x-python","patch_set":4,"id":"7af24918_7b69788b","line":159,"range":{"start_line":159,"start_character":58,"end_line":159,"end_character":67},"updated":"2016-03-01 13:19:39.000000000","message":"\"\u003cIP_ADDR\u003e\" -\u003e\"IP_ADDR\"","commit_id":"b57d8875b94fea75af13176eedc2245807b6b735"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"ea4e46f850c0f979deeaff7863d4aa2adb29a0f7","unresolved":false,"context_lines":[{"line_number":156,"context_line":"            help\u003d_(\u0027VLAN ID for VLAN networks or tunnel-id for GRE/VXLAN\u0027"},{"line_number":157,"context_line":"                   \u0027 networks.\u0027))"},{"line_number":158,"context_line":"        parser.add_argument("},{"line_number":159,"context_line":"            \u0027--provider:underlay_flooding_list\u0027, metavar\u003d\u0027\u003cIP_ADDR\u003e\u0027,"},{"line_number":160,"context_line":"            action\u003d\u0027append\u0027, default\u003d[],"},{"line_number":161,"context_line":"            dest\u003d\u0027underlay_flooding_list\u0027,"},{"line_number":162,"context_line":"            help\u003d_(\u0027Remotes IP addresses of flood list tunnel for VXLAN networks. (You can repeat this option.)\u0027))          "}],"source_content_type":"text/x-python","patch_set":4,"id":"7af24918_7bc1782e","line":159,"range":{"start_line":159,"start_character":13,"end_line":159,"end_character":46},"updated":"2016-03-01 13:19:39.000000000","message":"This option can be repeated, so \u0027_list\u0027 is unnecessary.\n\n  --provider:underlay_flooding\n\nMore better option name is:\n\n  --provider:underlay_flooding_\u003cmore-meaningful-noun\u003e","commit_id":"b57d8875b94fea75af13176eedc2245807b6b735"},{"author":{"_account_id":17609,"name":"steve","email":"ruansx@cn.ibm.com","username":"steve.ruan"},"change_message_id":"b31428a992b2cccfd66bd3fb34bf1f5c252f4ef9","unresolved":false,"context_lines":[{"line_number":156,"context_line":"            help\u003d_(\u0027VLAN ID for VLAN networks or tunnel-id for GRE/VXLAN\u0027"},{"line_number":157,"context_line":"                   \u0027 networks.\u0027))"},{"line_number":158,"context_line":"        parser.add_argument("},{"line_number":159,"context_line":"            \u0027--provider:underlay_flooding_list\u0027, metavar\u003d\u0027\u003cIP_ADDR\u003e\u0027,"},{"line_number":160,"context_line":"            action\u003d\u0027append\u0027, default\u003d[],"},{"line_number":161,"context_line":"            dest\u003d\u0027underlay_flooding_list\u0027,"},{"line_number":162,"context_line":"            help\u003d_(\u0027Remotes IP addresses of flood list tunnel for VXLAN networks. (You can repeat this option.)\u0027))          "}],"source_content_type":"text/x-python","patch_set":4,"id":"7af24918_ba2bcc2f","line":159,"range":{"start_line":159,"start_character":13,"end_line":159,"end_character":46},"in_reply_to":"7af24918_7bc1782e","updated":"2016-03-02 01:49:49.000000000","message":"Thanks, Akihiro.\nThis option is used to specify the VTEP peer of network. It will be changed to \"underlay_flooding_vtep\".\nHow do think.","commit_id":"b57d8875b94fea75af13176eedc2245807b6b735"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"ea4e46f850c0f979deeaff7863d4aa2adb29a0f7","unresolved":false,"context_lines":[{"line_number":158,"context_line":"        parser.add_argument("},{"line_number":159,"context_line":"            \u0027--provider:underlay_flooding_list\u0027, metavar\u003d\u0027\u003cIP_ADDR\u003e\u0027,"},{"line_number":160,"context_line":"            action\u003d\u0027append\u0027, default\u003d[],"},{"line_number":161,"context_line":"            dest\u003d\u0027underlay_flooding_list\u0027,"},{"line_number":162,"context_line":"            help\u003d_(\u0027Remotes IP addresses of flood list tunnel for VXLAN networks. (You can repeat this option.)\u0027))          "},{"line_number":163,"context_line":"        utils.add_boolean_argument("},{"line_number":164,"context_line":"            parser,"}],"source_content_type":"text/x-python","patch_set":4,"id":"7af24918_3b1d3010","line":161,"range":{"start_line":161,"start_character":12,"end_line":161,"end_character":42},"updated":"2016-03-01 13:19:39.000000000","message":"Why do you need \u0027dest\u0027?","commit_id":"b57d8875b94fea75af13176eedc2245807b6b735"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"ea4e46f850c0f979deeaff7863d4aa2adb29a0f7","unresolved":false,"context_lines":[{"line_number":159,"context_line":"            \u0027--provider:underlay_flooding_list\u0027, metavar\u003d\u0027\u003cIP_ADDR\u003e\u0027,"},{"line_number":160,"context_line":"            action\u003d\u0027append\u0027, default\u003d[],"},{"line_number":161,"context_line":"            dest\u003d\u0027underlay_flooding_list\u0027,"},{"line_number":162,"context_line":"            help\u003d_(\u0027Remotes IP addresses of flood list tunnel for VXLAN networks. (You can repeat this option.)\u0027))          "},{"line_number":163,"context_line":"        utils.add_boolean_argument("},{"line_number":164,"context_line":"            parser,"},{"line_number":165,"context_line":"            \u0027--vlan-transparent\u0027,"}],"source_content_type":"text/x-python","patch_set":4,"id":"7af24918_5bf91cc8","line":162,"updated":"2016-03-01 13:19:39.000000000","message":"Too long line and trailing white spaces.","commit_id":"b57d8875b94fea75af13176eedc2245807b6b735"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"ea4e46f850c0f979deeaff7863d4aa2adb29a0f7","unresolved":false,"context_lines":[{"line_number":183,"context_line":"                                \u0027provider:physical_network\u0027,"},{"line_number":184,"context_line":"                                \u0027provider:segmentation_id\u0027])"},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"        if parsed_args.underlay_flooding_list:"},{"line_number":187,"context_line":"            body[\u0027provider:underlay_flooding_list\u0027] \u003d parsed_args.underlay_flooding_list"},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"        self.args2body_qos_policy(parsed_args, body)"},{"line_number":190,"context_line":"        availability_zone.args2body_az_hint(parsed_args, body)"}],"source_content_type":"text/x-python","patch_set":4,"id":"7af24918_9bf1e4d0","line":187,"range":{"start_line":186,"start_character":8,"end_line":187,"end_character":88},"updated":"2016-03-01 13:19:39.000000000","message":"If you drop \u0027dest\u0027 parameter from L.161, you can include this option to update_dict() above.","commit_id":"b57d8875b94fea75af13176eedc2245807b6b735"},{"author":{"_account_id":17609,"name":"steve","email":"ruansx@cn.ibm.com","username":"steve.ruan"},"change_message_id":"b31428a992b2cccfd66bd3fb34bf1f5c252f4ef9","unresolved":false,"context_lines":[{"line_number":183,"context_line":"                                \u0027provider:physical_network\u0027,"},{"line_number":184,"context_line":"                                \u0027provider:segmentation_id\u0027])"},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"        if parsed_args.underlay_flooding_list:"},{"line_number":187,"context_line":"            body[\u0027provider:underlay_flooding_list\u0027] \u003d parsed_args.underlay_flooding_list"},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"        self.args2body_qos_policy(parsed_args, body)"},{"line_number":190,"context_line":"        availability_zone.args2body_az_hint(parsed_args, body)"}],"source_content_type":"text/x-python","patch_set":4,"id":"7af24918_daa5f804","line":187,"range":{"start_line":186,"start_character":8,"end_line":187,"end_character":88},"in_reply_to":"7af24918_9bf1e4d0","updated":"2016-03-02 01:49:49.000000000","message":"Put \"provider:underlay_flooding_list\" in \"update_dict\", If  this option is not specified, neutron client will send request with \"provider:underlay_flooding_list: null\". It will break the current unit test cases in test_cli20_network.py.","commit_id":"b57d8875b94fea75af13176eedc2245807b6b735"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"263c21a425787e59494f1521cd7b075a4198383a","unresolved":false,"context_lines":[{"line_number":183,"context_line":"                                \u0027provider:physical_network\u0027,"},{"line_number":184,"context_line":"                                \u0027provider:segmentation_id\u0027])"},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"        if parsed_args.underlay_flooding_list:"},{"line_number":187,"context_line":"            body[\u0027provider:underlay_flooding_list\u0027] \u003d parsed_args.underlay_flooding_list"},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"        self.args2body_qos_policy(parsed_args, body)"},{"line_number":190,"context_line":"        availability_zone.args2body_az_hint(parsed_args, body)"}],"source_content_type":"text/x-python","patch_set":4,"id":"7af24918_44a454a5","line":187,"range":{"start_line":186,"start_character":8,"end_line":187,"end_character":88},"in_reply_to":"7af24918_daa5f804","updated":"2016-03-02 10:51:28.000000000","message":"I think default\u003d[] at L.160 is unnecessary.\n\nIf there is no default, I got the following result, and I think we can use update_dict.\n\nhttp://paste.openstack.org/show/488927/","commit_id":"b57d8875b94fea75af13176eedc2245807b6b735"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"9109066f69c53e548124509a592be8e10165e603","unresolved":false,"context_lines":[{"line_number":177,"context_line":"            help\u003d_(\u0027VLAN ID for VLAN networks or tunnel-id for GRE/VXLAN\u0027"},{"line_number":178,"context_line":"                   \u0027 networks.\u0027))"},{"line_number":179,"context_line":"        parser.add_argument("},{"line_number":180,"context_line":"            \u0027--provider:flooding_vtep\u0027, metavar\u003d\u0027IP_ADDR\u0027,"},{"line_number":181,"context_line":"            action\u003d\u0027append\u0027,"},{"line_number":182,"context_line":"            help\u003d_(\u0027Remotes IP addresses of tunnel endpoint for \u0027"},{"line_number":183,"context_line":"                   \u0027VXLAN networks. (You can repeat this option.)\u0027))"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a061dce_749f98b4","line":180,"updated":"2016-04-09 04:08:46.000000000","message":"just another thought: How about we rename the option as \"--provider:flood_vtep\". IMO, lets make metavar more informative, just saying \u0027IP_ADDR\u0027 won\u0027t convey the intention clearly (probably metavar\u003d\u0027REMOTE TUNNEL IP_ADDR\u0027","commit_id":"9b3c0cd86c19b30cd88d48eca11df165dda509c9"},{"author":{"_account_id":17609,"name":"steve","email":"ruansx@cn.ibm.com","username":"steve.ruan"},"change_message_id":"05756d61b3578a42ad2bbfa611615794ec4d352d","unresolved":false,"context_lines":[{"line_number":177,"context_line":"            help\u003d_(\u0027VLAN ID for VLAN networks or tunnel-id for GRE/VXLAN\u0027"},{"line_number":178,"context_line":"                   \u0027 networks.\u0027))"},{"line_number":179,"context_line":"        parser.add_argument("},{"line_number":180,"context_line":"            \u0027--provider:flooding_vtep\u0027, metavar\u003d\u0027IP_ADDR\u0027,"},{"line_number":181,"context_line":"            action\u003d\u0027append\u0027,"},{"line_number":182,"context_line":"            help\u003d_(\u0027Remotes IP addresses of tunnel endpoint for \u0027"},{"line_number":183,"context_line":"                   \u0027VXLAN networks. (You can repeat this option.)\u0027))"}],"source_content_type":"text/x-python","patch_set":7,"id":"1a122d0e_53ee24ed","line":180,"in_reply_to":"5a18252c_60e73740","updated":"2016-04-15 09:17:57.000000000","message":"Sorry for the typo, I want to say \"flooding_vtep\" is discussed result.\nCould you give some reason for \"flood_vtep\"?\n:)","commit_id":"9b3c0cd86c19b30cd88d48eca11df165dda509c9"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"8e123d31c06be4ba2b16d4ca9725a09f695d0df9","unresolved":false,"context_lines":[{"line_number":177,"context_line":"            help\u003d_(\u0027VLAN ID for VLAN networks or tunnel-id for GRE/VXLAN\u0027"},{"line_number":178,"context_line":"                   \u0027 networks.\u0027))"},{"line_number":179,"context_line":"        parser.add_argument("},{"line_number":180,"context_line":"            \u0027--provider:flooding_vtep\u0027, metavar\u003d\u0027IP_ADDR\u0027,"},{"line_number":181,"context_line":"            action\u003d\u0027append\u0027,"},{"line_number":182,"context_line":"            help\u003d_(\u0027Remotes IP addresses of tunnel endpoint for \u0027"},{"line_number":183,"context_line":"                   \u0027VXLAN networks. (You can repeat this option.)\u0027))"}],"source_content_type":"text/x-python","patch_set":7,"id":"5a18252c_60e73740","line":180,"in_reply_to":"5a18252c_d93a8ee6","updated":"2016-04-15 07:50:36.000000000","message":"+1 to \u0027flood_vtep\u0027","commit_id":"9b3c0cd86c19b30cd88d48eca11df165dda509c9"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"826225aa849de97f6f04762fd203a5979d2fc5d5","unresolved":false,"context_lines":[{"line_number":177,"context_line":"            help\u003d_(\u0027VLAN ID for VLAN networks or tunnel-id for GRE/VXLAN\u0027"},{"line_number":178,"context_line":"                   \u0027 networks.\u0027))"},{"line_number":179,"context_line":"        parser.add_argument("},{"line_number":180,"context_line":"            \u0027--provider:flooding_vtep\u0027, metavar\u003d\u0027IP_ADDR\u0027,"},{"line_number":181,"context_line":"            action\u003d\u0027append\u0027,"},{"line_number":182,"context_line":"            help\u003d_(\u0027Remotes IP addresses of tunnel endpoint for \u0027"},{"line_number":183,"context_line":"                   \u0027VXLAN networks. (You can repeat this option.)\u0027))"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a061dce_f4f44888","line":180,"in_reply_to":"9a061dce_749f98b4","updated":"2016-04-09 05:06:39.000000000","message":"After going through the spec I believe\n\n--provider:remote_vtep and metavar\u003dREMOTE_VTEP would be better.","commit_id":"9b3c0cd86c19b30cd88d48eca11df165dda509c9"},{"author":{"_account_id":17609,"name":"steve","email":"ruansx@cn.ibm.com","username":"steve.ruan"},"change_message_id":"c173a5395e50ee26774a9715b012bd332e364523","unresolved":false,"context_lines":[{"line_number":177,"context_line":"            help\u003d_(\u0027VLAN ID for VLAN networks or tunnel-id for GRE/VXLAN\u0027"},{"line_number":178,"context_line":"                   \u0027 networks.\u0027))"},{"line_number":179,"context_line":"        parser.add_argument("},{"line_number":180,"context_line":"            \u0027--provider:flooding_vtep\u0027, metavar\u003d\u0027IP_ADDR\u0027,"},{"line_number":181,"context_line":"            action\u003d\u0027append\u0027,"},{"line_number":182,"context_line":"            help\u003d_(\u0027Remotes IP addresses of tunnel endpoint for \u0027"},{"line_number":183,"context_line":"                   \u0027VXLAN networks. (You can repeat this option.)\u0027))"}],"source_content_type":"text/x-python","patch_set":7,"id":"5a18252c_d93a8ee6","line":180,"in_reply_to":"9a061dce_f4f44888","updated":"2016-04-15 05:21:55.000000000","message":"Thanks Vikram.\n\"flood_vtep\" is discussed result. Personally, I prefer this name because it means add VTEPs to network flooding list of BUM traffic.\nLet see if there any other suggestion.","commit_id":"9b3c0cd86c19b30cd88d48eca11df165dda509c9"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"9ed54fb07a51cb87c039312b5375febc3ea50a82","unresolved":false,"context_lines":[{"line_number":180,"context_line":"            \u0027--provider:flooding_vtep\u0027, metavar\u003d\u0027IP_ADDR\u0027,"},{"line_number":181,"context_line":"            action\u003d\u0027append\u0027,"},{"line_number":182,"context_line":"            help\u003d_(\u0027Remotes IP addresses of tunnel endpoint for \u0027"},{"line_number":183,"context_line":"                   \u0027VXLAN networks. (You can repeat this option.)\u0027))"},{"line_number":184,"context_line":"        utils.add_boolean_argument("},{"line_number":185,"context_line":"            parser,"},{"line_number":186,"context_line":"            \u0027--vlan-transparent\u0027,"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a061dce_de7ec8e2","line":183,"updated":"2016-04-07 20:49:10.000000000","message":"How would a user go about removing a remote VTEP? I don\u0027t see how this is supported. I\u0027d like to be able to add and remove VTEP\u0027s.","commit_id":"9b3c0cd86c19b30cd88d48eca11df165dda509c9"},{"author":{"_account_id":17609,"name":"steve","email":"ruansx@cn.ibm.com","username":"steve.ruan"},"change_message_id":"c173a5395e50ee26774a9715b012bd332e364523","unresolved":false,"context_lines":[{"line_number":180,"context_line":"            \u0027--provider:flooding_vtep\u0027, metavar\u003d\u0027IP_ADDR\u0027,"},{"line_number":181,"context_line":"            action\u003d\u0027append\u0027,"},{"line_number":182,"context_line":"            help\u003d_(\u0027Remotes IP addresses of tunnel endpoint for \u0027"},{"line_number":183,"context_line":"                   \u0027VXLAN networks. (You can repeat this option.)\u0027))"},{"line_number":184,"context_line":"        utils.add_boolean_argument("},{"line_number":185,"context_line":"            parser,"},{"line_number":186,"context_line":"            \u0027--vlan-transparent\u0027,"}],"source_content_type":"text/x-python","patch_set":7,"id":"5a18252c_9998161e","line":183,"in_reply_to":"9a061dce_de7ec8e2","updated":"2016-04-15 05:21:55.000000000","message":"Current other provider attribute like network type, segment id can NOT be updated.\nI think it\u0027s not necessary to update be VTEP list?","commit_id":"9b3c0cd86c19b30cd88d48eca11df165dda509c9"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"9109066f69c53e548124509a592be8e10165e603","unresolved":false,"context_lines":[{"line_number":206,"context_line":"                                \u0027provider:network_type\u0027,"},{"line_number":207,"context_line":"                                \u0027provider:physical_network\u0027,"},{"line_number":208,"context_line":"                                \u0027provider:segmentation_id\u0027,"},{"line_number":209,"context_line":"                                \u0027provider:flooding_vtep\u0027,"},{"line_number":210,"context_line":"                                \u0027description\u0027])"},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"        self.args2body_qos_policy(parsed_args, body)"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a061dce_54909495","line":209,"updated":"2016-04-09 04:08:46.000000000","message":"I think this option is valid iff the network_type is vxlan. Would you like to add a validation for this here? What if the user try specifying the new option not for vxlan network_type?","commit_id":"9b3c0cd86c19b30cd88d48eca11df165dda509c9"},{"author":{"_account_id":17609,"name":"steve","email":"ruansx@cn.ibm.com","username":"steve.ruan"},"change_message_id":"c173a5395e50ee26774a9715b012bd332e364523","unresolved":false,"context_lines":[{"line_number":206,"context_line":"                                \u0027provider:network_type\u0027,"},{"line_number":207,"context_line":"                                \u0027provider:physical_network\u0027,"},{"line_number":208,"context_line":"                                \u0027provider:segmentation_id\u0027,"},{"line_number":209,"context_line":"                                \u0027provider:flooding_vtep\u0027,"},{"line_number":210,"context_line":"                                \u0027description\u0027])"},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"        self.args2body_qos_policy(parsed_args, body)"}],"source_content_type":"text/x-python","patch_set":7,"id":"5a18252c_59815e8e","line":209,"in_reply_to":"9a061dce_54909495","updated":"2016-04-15 05:21:55.000000000","message":"Will add the validation.","commit_id":"9b3c0cd86c19b30cd88d48eca11df165dda509c9"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"5d91673cfaf484983b95d5774471cf504a248282","unresolved":false,"context_lines":[{"line_number":24,"context_line":"from neutronclient.neutron.v2_0 import dns"},{"line_number":25,"context_line":"from neutronclient.neutron.v2_0.qos import policy as qos_policy"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"NETWORT_TYPE_VXLAN \u003d \u0027vxlan\u0027"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"def _format_subnets(network):"}],"source_content_type":"text/x-python","patch_set":10,"id":"dab17558_0667d125","line":27,"updated":"2016-05-10 04:34:01.000000000","message":"nit: typo should be \u0027NETWORK\u0027","commit_id":"efff659a91214760e38c3c19c407b5113e275104"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"5d91673cfaf484983b95d5774471cf504a248282","unresolved":false,"context_lines":[{"line_number":35,"context_line":"        return \u0027\u0027"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"def network_valid_flooding_vtep(body):"},{"line_number":39,"context_line":"    if ((body.get(\u0027provider:network_type\u0027) !\u003d NETWORT_TYPE_VXLAN)"},{"line_number":40,"context_line":"            and (body.get(\u0027provider:flooding_vtep\u0027) is not None)):"},{"line_number":41,"context_line":"        raise exceptions.CommandError(_(\u0027flooding_vtep ONLY works\u0027"}],"source_content_type":"text/x-python","patch_set":10,"id":"dab17558_a65fe53f","line":38,"updated":"2016-05-10 04:34:01.000000000","message":"How about renaming this function to \"valid_vtep_network\"?","commit_id":"efff659a91214760e38c3c19c407b5113e275104"},{"author":{"_account_id":17609,"name":"steve","email":"ruansx@cn.ibm.com","username":"steve.ruan"},"change_message_id":"1ab010a20913ce3155ec1ead67526c31c45f67d9","unresolved":false,"context_lines":[{"line_number":35,"context_line":"        return \u0027\u0027"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"def network_valid_flooding_vtep(body):"},{"line_number":39,"context_line":"    if ((body.get(\u0027provider:network_type\u0027) !\u003d NETWORT_TYPE_VXLAN)"},{"line_number":40,"context_line":"            and (body.get(\u0027provider:flooding_vtep\u0027) is not None)):"},{"line_number":41,"context_line":"        raise exceptions.CommandError(_(\u0027flooding_vtep ONLY works\u0027"}],"source_content_type":"text/x-python","patch_set":10,"id":"dab17558_e07d471d","line":38,"in_reply_to":"dab17558_a65fe53f","updated":"2016-05-16 08:01:12.000000000","message":"I think \"valid_network_flooding_vtep\" is better.\nBecause flooding_vtep is attribute of network.","commit_id":"efff659a91214760e38c3c19c407b5113e275104"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"5d91673cfaf484983b95d5774471cf504a248282","unresolved":false,"context_lines":[{"line_number":37,"context_line":""},{"line_number":38,"context_line":"def network_valid_flooding_vtep(body):"},{"line_number":39,"context_line":"    if ((body.get(\u0027provider:network_type\u0027) !\u003d NETWORT_TYPE_VXLAN)"},{"line_number":40,"context_line":"            and (body.get(\u0027provider:flooding_vtep\u0027) is not None)):"},{"line_number":41,"context_line":"        raise exceptions.CommandError(_(\u0027flooding_vtep ONLY works\u0027"},{"line_number":42,"context_line":"                                        \u0027 for vxlan network\u0027))"},{"line_number":43,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"dab17558_264bf588","line":40,"updated":"2016-05-10 04:34:01.000000000","message":"IMO, not None check can be the first one..","commit_id":"efff659a91214760e38c3c19c407b5113e275104"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"5d91673cfaf484983b95d5774471cf504a248282","unresolved":false,"context_lines":[{"line_number":192,"context_line":"            type\u003dutils.str2dict_type("},{"line_number":193,"context_line":"                required_keys\u003d[\u0027ip_address\u0027],"},{"line_number":194,"context_line":"                optional_keys\u003d[\u0027dstport\u0027]),"},{"line_number":195,"context_line":"            help\u003d_(\u0027Remotes IP addresses of tunnel endpoint for \u0027"},{"line_number":196,"context_line":"                   \u0027VXLAN networks. (You can repeat this option.)\u0027))"},{"line_number":197,"context_line":"        utils.add_boolean_argument("},{"line_number":198,"context_line":"            parser,"}],"source_content_type":"text/x-python","patch_set":10,"id":"dab17558_463f19d6","line":195,"updated":"2016-05-10 04:34:01.000000000","message":"nit: Remotes \u003d\u003d\u003e Remote","commit_id":"efff659a91214760e38c3c19c407b5113e275104"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"5d91673cfaf484983b95d5774471cf504a248282","unresolved":false,"context_lines":[{"line_number":222,"context_line":"                                \u0027provider:flooding_vtep\u0027,"},{"line_number":223,"context_line":"                                \u0027description\u0027])"},{"line_number":224,"context_line":""},{"line_number":225,"context_line":"        network_valid_flooding_vtep(body)"},{"line_number":226,"context_line":"        self.args2body_qos_policy(parsed_args, body)"},{"line_number":227,"context_line":"        availability_zone.args2body_az_hint(parsed_args, body)"},{"line_number":228,"context_line":"        dns.args2body_dns_create(parsed_args, body, \u0027domain\u0027)"}],"source_content_type":"text/x-python","patch_set":10,"id":"dab17558_26193589","line":225,"updated":"2016-05-10 04:34:01.000000000","message":"I think you need to put the validation check before populating the dictionary.. Why we need to have a dict update call in case of an invalid input?","commit_id":"efff659a91214760e38c3c19c407b5113e275104"},{"author":{"_account_id":17609,"name":"steve","email":"ruansx@cn.ibm.com","username":"steve.ruan"},"change_message_id":"8c4c5754c202f7724597a087179034e5afee029f","unresolved":false,"context_lines":[{"line_number":222,"context_line":"                                \u0027provider:flooding_vtep\u0027,"},{"line_number":223,"context_line":"                                \u0027description\u0027])"},{"line_number":224,"context_line":""},{"line_number":225,"context_line":"        network_valid_flooding_vtep(body)"},{"line_number":226,"context_line":"        self.args2body_qos_policy(parsed_args, body)"},{"line_number":227,"context_line":"        availability_zone.args2body_az_hint(parsed_args, body)"},{"line_number":228,"context_line":"        dns.args2body_dns_create(parsed_args, body, \u0027domain\u0027)"}],"source_content_type":"text/x-python","patch_set":10,"id":"dab17558_81a3aaff","line":225,"in_reply_to":"dab17558_26193589","updated":"2016-05-10 05:24:38.000000000","message":"Will fix it","commit_id":"efff659a91214760e38c3c19c407b5113e275104"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"cb5e42f5ae06cd65de537ff18bf21300d4d638f4","unresolved":false,"context_lines":[{"line_number":35,"context_line":"        return \u0027\u0027"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"def valid_network_flooding_vtep(parsed_args):"},{"line_number":39,"context_line":"    if (hasattr(parsed_args, \u0027provider:flooding_vtep\u0027)"},{"line_number":40,"context_line":"            and getattr(parsed_args, \u0027provider:flooding_vtep\u0027) is not None"},{"line_number":41,"context_line":"            and hasattr(parsed_args, \u0027provider:network_type\u0027)"}],"source_content_type":"text/x-python","patch_set":11,"id":"bab6814e_d69e82b7","line":38,"updated":"2016-05-24 06:59:11.000000000","message":"How about \u0027valid_flooding_vtep_type\u0027?","commit_id":"817c2da956661abec6a081278f5ebae3e0ca76e3"},{"author":{"_account_id":17609,"name":"steve","email":"ruansx@cn.ibm.com","username":"steve.ruan"},"change_message_id":"be3378e0418faee882b9263212180ae0cdcb93b2","unresolved":false,"context_lines":[{"line_number":35,"context_line":"        return \u0027\u0027"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"def valid_network_flooding_vtep(parsed_args):"},{"line_number":39,"context_line":"    if (hasattr(parsed_args, \u0027provider:flooding_vtep\u0027)"},{"line_number":40,"context_line":"            and getattr(parsed_args, \u0027provider:flooding_vtep\u0027) is not None"},{"line_number":41,"context_line":"            and hasattr(parsed_args, \u0027provider:network_type\u0027)"}],"source_content_type":"text/x-python","patch_set":11,"id":"bab6814e_d3fb2946","line":38,"in_reply_to":"bab6814e_8cd98a86","updated":"2016-05-24 10:21:47.000000000","message":"Hi vikram,\n\nI still think \"valid_network_flooding_vtep\" is better, because it includes all necessary information, and there is confusion about it. Right?\n\n:)","commit_id":"817c2da956661abec6a081278f5ebae3e0ca76e3"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"f9a942ccc34fd1b90099a13fdb6f589f6d1473e7","unresolved":false,"context_lines":[{"line_number":35,"context_line":"        return \u0027\u0027"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"def valid_network_flooding_vtep(parsed_args):"},{"line_number":39,"context_line":"    if (hasattr(parsed_args, \u0027provider:flooding_vtep\u0027)"},{"line_number":40,"context_line":"            and getattr(parsed_args, \u0027provider:flooding_vtep\u0027) is not None"},{"line_number":41,"context_line":"            and hasattr(parsed_args, \u0027provider:network_type\u0027)"}],"source_content_type":"text/x-python","patch_set":11,"id":"bab6814e_8cd98a86","line":38,"in_reply_to":"bab6814e_d69e82b7","updated":"2016-05-24 09:19:13.000000000","message":"PS#10 has the response from steve for this comment","commit_id":"817c2da956661abec6a081278f5ebae3e0ca76e3"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"cb5e42f5ae06cd65de537ff18bf21300d4d638f4","unresolved":false,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"def valid_network_flooding_vtep(parsed_args):"},{"line_number":39,"context_line":"    if (hasattr(parsed_args, \u0027provider:flooding_vtep\u0027)"},{"line_number":40,"context_line":"            and getattr(parsed_args, \u0027provider:flooding_vtep\u0027) is not None"},{"line_number":41,"context_line":"            and hasattr(parsed_args, \u0027provider:network_type\u0027)"},{"line_number":42,"context_line":"            and getattr(parsed_args, \u0027provider:network_type\u0027) !\u003d"}],"source_content_type":"text/x-python","patch_set":11,"id":"bab6814e_16f76af6","line":39,"updated":"2016-05-24 06:59:11.000000000","message":"why we need to do \u0027hasattr\u0027? \u0027getattr\u0027 will will None if the attr is not found..","commit_id":"817c2da956661abec6a081278f5ebae3e0ca76e3"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"f9a942ccc34fd1b90099a13fdb6f589f6d1473e7","unresolved":false,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"def valid_network_flooding_vtep(parsed_args):"},{"line_number":39,"context_line":"    if (hasattr(parsed_args, \u0027provider:flooding_vtep\u0027)"},{"line_number":40,"context_line":"            and getattr(parsed_args, \u0027provider:flooding_vtep\u0027) is not None"},{"line_number":41,"context_line":"            and hasattr(parsed_args, \u0027provider:network_type\u0027)"},{"line_number":42,"context_line":"            and getattr(parsed_args, \u0027provider:network_type\u0027) !\u003d"}],"source_content_type":"text/x-python","patch_set":11,"id":"bab6814e_cc51d2da","line":39,"in_reply_to":"bab6814e_16f76af6","updated":"2016-05-24 09:19:13.000000000","message":"wont getattr return an exception ?\nI think hasattr is okay to be used here...","commit_id":"817c2da956661abec6a081278f5ebae3e0ca76e3"},{"author":{"_account_id":17609,"name":"steve","email":"ruansx@cn.ibm.com","username":"steve.ruan"},"change_message_id":"be3378e0418faee882b9263212180ae0cdcb93b2","unresolved":false,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"def valid_network_flooding_vtep(parsed_args):"},{"line_number":39,"context_line":"    if (hasattr(parsed_args, \u0027provider:flooding_vtep\u0027)"},{"line_number":40,"context_line":"            and getattr(parsed_args, \u0027provider:flooding_vtep\u0027) is not None"},{"line_number":41,"context_line":"            and hasattr(parsed_args, \u0027provider:network_type\u0027)"},{"line_number":42,"context_line":"            and getattr(parsed_args, \u0027provider:network_type\u0027) !\u003d"}],"source_content_type":"text/x-python","patch_set":11,"id":"bab6814e_d3f16997","line":39,"in_reply_to":"bab6814e_cc51d2da","updated":"2016-05-24 10:21:47.000000000","message":"Agreed with Reedip.","commit_id":"817c2da956661abec6a081278f5ebae3e0ca76e3"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"f9a942ccc34fd1b90099a13fdb6f589f6d1473e7","unresolved":false,"context_lines":[{"line_number":230,"context_line":"        availability_zone.args2body_az_hint(parsed_args, body)"},{"line_number":231,"context_line":"        dns.args2body_dns_create(parsed_args, body, \u0027domain\u0027)"},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"        return {\u0027network\u0027: body}"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":""},{"line_number":236,"context_line":"class DeleteNetwork(neutronV20.DeleteCommand):"}],"source_content_type":"text/x-python","patch_set":11,"id":"bab6814e_6cdc2647","line":233,"updated":"2016-05-24 09:19:13.000000000","message":"return {resource:body} is a much better option as resource\u003dnetwork in Line#154\n\nIt also avoids any problems in the future in case the resource attribute is ever changed.","commit_id":"817c2da956661abec6a081278f5ebae3e0ca76e3"},{"author":{"_account_id":17609,"name":"steve","email":"ruansx@cn.ibm.com","username":"steve.ruan"},"change_message_id":"be3378e0418faee882b9263212180ae0cdcb93b2","unresolved":false,"context_lines":[{"line_number":230,"context_line":"        availability_zone.args2body_az_hint(parsed_args, body)"},{"line_number":231,"context_line":"        dns.args2body_dns_create(parsed_args, body, \u0027domain\u0027)"},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"        return {\u0027network\u0027: body}"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":""},{"line_number":236,"context_line":"class DeleteNetwork(neutronV20.DeleteCommand):"}],"source_content_type":"text/x-python","patch_set":11,"id":"bab6814e_33a39551","line":233,"in_reply_to":"bab6814e_6cdc2647","updated":"2016-05-24 10:21:47.000000000","message":"Thanks. Will fix it.","commit_id":"817c2da956661abec6a081278f5ebae3e0ca76e3"}],"neutronclient/tests/unit/test_cli20_network.py":[{"author":{"_account_id":17455,"name":"Na Zhu","email":"juno.zhu@huawei.com","username":"Na"},"change_message_id":"96d8a3082455bce9c6f52fb9ba2bf65c34dd0495","unresolved":false,"context_lines":[{"line_number":91,"context_line":"                                   position_names, position_values)"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"    def test_create_network_provider_floodlist_args(self):"},{"line_number":94,"context_line":"        # Create net: with --provider:underlay_flooding_list arguments."},{"line_number":95,"context_line":"        resource \u003d \u0027network\u0027"},{"line_number":96,"context_line":"        cmd \u003d network.CreateNetwork(test_cli20.MyApp(sys.stdout), None)"},{"line_number":97,"context_line":"        name \u003d \u0027myname\u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"7af24918_73e6b1e9","line":94,"range":{"start_line":94,"start_character":38,"end_line":94,"end_character":60},"updated":"2016-03-05 05:28:26.000000000","message":"Need update this to underlay-flooding_vtep.","commit_id":"45bc8b147c3bbbb3450d46044934a5f71c08a600"},{"author":{"_account_id":17609,"name":"steve","email":"ruansx@cn.ibm.com","username":"steve.ruan"},"change_message_id":"e643a99775fb5f56bfa907d1ded94e18ead52b22","unresolved":false,"context_lines":[{"line_number":91,"context_line":"                                   position_names, position_values)"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"    def test_create_network_provider_floodlist_args(self):"},{"line_number":94,"context_line":"        # Create net: with --provider:underlay_flooding_list arguments."},{"line_number":95,"context_line":"        resource \u003d \u0027network\u0027"},{"line_number":96,"context_line":"        cmd \u003d network.CreateNetwork(test_cli20.MyApp(sys.stdout), None)"},{"line_number":97,"context_line":"        name \u003d \u0027myname\u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"3afc51ec_81e578dd","line":94,"range":{"start_line":94,"start_character":38,"end_line":94,"end_character":60},"in_reply_to":"7af24918_73e6b1e9","updated":"2016-03-15 09:10:21.000000000","message":"Thanks","commit_id":"45bc8b147c3bbbb3450d46044934a5f71c08a600"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"5d91673cfaf484983b95d5774471cf504a248282","unresolved":false,"context_lines":[{"line_number":122,"context_line":"                          \u0027provider:flooding_vtep\u0027]"},{"line_number":123,"context_line":"        vteps \u003d [{\u0027ip_address\u0027: \u0027192.168.1.1\u0027, \u0027dstport\u0027: \u00274789\u0027},"},{"line_number":124,"context_line":"                 {\u0027ip_address\u0027: \u0027192.168.1.2\u0027}]"},{"line_number":125,"context_line":"        position_values \u003d [\u0027vxlan\u0027, \u0027400\u0027, name, vteps]"},{"line_number":126,"context_line":"        self._test_create_resource(resource, cmd, name, myid, args,"},{"line_number":127,"context_line":"                                   position_names, position_values)"},{"line_number":128,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"dab17558_a60d2540","line":125,"updated":"2016-05-10 04:34:01.000000000","message":"Add a testcase for an invalid vtep network-type say \u0027GRE\u0027","commit_id":"efff659a91214760e38c3c19c407b5113e275104"},{"author":{"_account_id":17609,"name":"steve","email":"ruansx@cn.ibm.com","username":"steve.ruan"},"change_message_id":"8c4c5754c202f7724597a087179034e5afee029f","unresolved":false,"context_lines":[{"line_number":122,"context_line":"                          \u0027provider:flooding_vtep\u0027]"},{"line_number":123,"context_line":"        vteps \u003d [{\u0027ip_address\u0027: \u0027192.168.1.1\u0027, \u0027dstport\u0027: \u00274789\u0027},"},{"line_number":124,"context_line":"                 {\u0027ip_address\u0027: \u0027192.168.1.2\u0027}]"},{"line_number":125,"context_line":"        position_values \u003d [\u0027vxlan\u0027, \u0027400\u0027, name, vteps]"},{"line_number":126,"context_line":"        self._test_create_resource(resource, cmd, name, myid, args,"},{"line_number":127,"context_line":"                                   position_names, position_values)"},{"line_number":128,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"dab17558_c115b240","line":125,"in_reply_to":"dab17558_a60d2540","updated":"2016-05-10 05:24:38.000000000","message":"Yes. Will add it","commit_id":"efff659a91214760e38c3c19c407b5113e275104"},{"author":{"_account_id":17455,"name":"Na Zhu","email":"juno.zhu@huawei.com","username":"Na"},"change_message_id":"d0023ac1981ce923b1e00b7b1cdcec2670744c5b","unresolved":false,"context_lines":[{"line_number":104,"context_line":"                                   position_names, position_values)"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"    def test_create_network_provider_floodlist_args(self):"},{"line_number":107,"context_line":"        # Create net: with --provider:flooding_vtep arguments."},{"line_number":108,"context_line":"        resource \u003d \u0027network\u0027"},{"line_number":109,"context_line":"        cmd \u003d network.CreateNetwork(test_cli20.MyApp(sys.stdout), None)"},{"line_number":110,"context_line":"        name \u003d \u0027myname\u0027"}],"source_content_type":"text/x-python","patch_set":11,"id":"bab6814e_8fdcd547","line":107,"range":{"start_line":107,"start_character":60,"end_line":107,"end_character":61},"updated":"2016-05-24 11:06:11.000000000","message":"should remove \u0027s\u0027.","commit_id":"817c2da956661abec6a081278f5ebae3e0ca76e3"},{"author":{"_account_id":17455,"name":"Na Zhu","email":"juno.zhu@huawei.com","username":"Na"},"change_message_id":"d0023ac1981ce923b1e00b7b1cdcec2670744c5b","unresolved":false,"context_lines":[{"line_number":127,"context_line":"                                   position_names, position_values)"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"    def test_create_network_provider_floodlist_invalid_network_type(self):"},{"line_number":130,"context_line":"        # Create net: with --provider:flooding_vtep arguments."},{"line_number":131,"context_line":"        resource \u003d \u0027network\u0027"},{"line_number":132,"context_line":"        cmd \u003d network.CreateNetwork(test_cli20.MyApp(sys.stdout), None)"},{"line_number":133,"context_line":"        name \u003d \u0027myname\u0027"}],"source_content_type":"text/x-python","patch_set":11,"id":"bab6814e_6faff194","line":130,"range":{"start_line":130,"start_character":60,"end_line":130,"end_character":61},"updated":"2016-05-24 11:06:11.000000000","message":"ditto.","commit_id":"817c2da956661abec6a081278f5ebae3e0ca76e3"},{"author":{"_account_id":17455,"name":"Na Zhu","email":"juno.zhu@huawei.com","username":"Na"},"change_message_id":"d0023ac1981ce923b1e00b7b1cdcec2670744c5b","unresolved":false,"context_lines":[{"line_number":133,"context_line":"        name \u003d \u0027myname\u0027"},{"line_number":134,"context_line":"        myid \u003d \u0027myid\u0027"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"        # Test --provider attributes before network name"},{"line_number":137,"context_line":"        args \u003d [\u0027--provider:network_type\u0027, \u0027gre\u0027, name,"},{"line_number":138,"context_line":"                \u0027--provider:flooding_vtep\u0027,"},{"line_number":139,"context_line":"                \u0027ip_address\u003d192.168.1.1,dstport\u003d4789\u0027,"}],"source_content_type":"text/x-python","patch_set":11,"id":"bab6814e_8f98556c","line":136,"range":{"start_line":136,"start_character":8,"end_line":136,"end_character":56},"updated":"2016-05-24 11:06:11.000000000","message":"I think you want to test wrong provider network type.","commit_id":"817c2da956661abec6a081278f5ebae3e0ca76e3"},{"author":{"_account_id":4187,"name":"Ryan Tidwell","email":"rtidwell@suse.com","username":"ryan-tidwell"},"change_message_id":"dc7924aec53cee45a9e5ba1e6373fa3337cc683a","unresolved":false,"context_lines":[{"line_number":149,"context_line":"                                self._test_create_resource,"},{"line_number":150,"context_line":"                                resource, cmd, name, myid, args,"},{"line_number":151,"context_line":"                                position_names, position_values)"},{"line_number":152,"context_line":"        self.assertEqual(\u0027flooding_vtep ONLY works for vxlan network\u0027,"},{"line_number":153,"context_line":"                         str(exc))"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"    def test_create_network_tags(self):"}],"source_content_type":"text/x-python","patch_set":11,"id":"bab6814e_a773637f","line":152,"updated":"2016-05-19 21:50:29.000000000","message":"I\u0027m not sure we need to assert the error message. I think asserting the exception gets raised is sufficient. But at a minimum, let\u0027s make sure there\u0027s a constant that can be referenced by the test instead of relying on fragile string literal.","commit_id":"817c2da956661abec6a081278f5ebae3e0ca76e3"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"cb5e42f5ae06cd65de537ff18bf21300d4d638f4","unresolved":false,"context_lines":[{"line_number":149,"context_line":"                                self._test_create_resource,"},{"line_number":150,"context_line":"                                resource, cmd, name, myid, args,"},{"line_number":151,"context_line":"                                position_names, position_values)"},{"line_number":152,"context_line":"        self.assertEqual(\u0027flooding_vtep ONLY works for vxlan network\u0027,"},{"line_number":153,"context_line":"                         str(exc))"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"    def test_create_network_tags(self):"}],"source_content_type":"text/x-python","patch_set":11,"id":"bab6814e_7612365a","line":152,"in_reply_to":"bab6814e_a773637f","updated":"2016-05-24 06:59:11.000000000","message":"I agree but not sure how we can do that.. We have followed this practice while writing BGP tests as well..\n\nhttps://github.com/openstack/python-neutronclient/blob/master/neutronclient/tests/unit/bgp/test_cli20_speaker.py#L120-L122","commit_id":"817c2da956661abec6a081278f5ebae3e0ca76e3"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"f9a942ccc34fd1b90099a13fdb6f589f6d1473e7","unresolved":false,"context_lines":[{"line_number":149,"context_line":"                                self._test_create_resource,"},{"line_number":150,"context_line":"                                resource, cmd, name, myid, args,"},{"line_number":151,"context_line":"                                position_names, position_values)"},{"line_number":152,"context_line":"        self.assertEqual(\u0027flooding_vtep ONLY works for vxlan network\u0027,"},{"line_number":153,"context_line":"                         str(exc))"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"    def test_create_network_tags(self):"}],"source_content_type":"text/x-python","patch_set":11,"id":"bab6814e_6caa6687","line":152,"in_reply_to":"bab6814e_a773637f","updated":"2016-05-24 09:19:13.000000000","message":"I think this is not required in the long run, but its good enough to get the error message validated.","commit_id":"817c2da956661abec6a081278f5ebae3e0ca76e3"}]}
