)]}'
{"doc/source/command-objects/subnet.rst":[{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"91e1c6fca9579e0272dbb977902e064c6611fd8e","unresolved":false,"context_lines":[{"line_number":18,"context_line":"        [--cidr \u003ccidr\u003e]"},{"line_number":19,"context_line":"        [--allocation-pool start\u003dlow,end\u003dhigh]"},{"line_number":20,"context_line":"        [--dhcp | --no-dhcp]"},{"line_number":21,"context_line":"        [--dns-nameserver \u003cdns_nameserver\u003e]"},{"line_number":22,"context_line":"        [--gateway \u003cgateway_ip\u003e]"},{"line_number":23,"context_line":"        [--host-route destination\u003dCIDR,nexthop\u003dIP_ADDR]"},{"line_number":24,"context_line":"        [--ip-version {4,6}]"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3a57f1b5_a027b1c8","line":21,"updated":"2016-02-12 17:12:07.000000000","message":"General comment is to use \"-\" instead of \"_\".","commit_id":"4d58217ad68e750110b251196b5915c80a2532c8"},{"author":{"_account_id":14957,"name":"Brad Behle","email":"behle@us.ibm.com","username":"behle"},"change_message_id":"5f31c3334167aa9ac23c75a162b1eb47a3945ed8","unresolved":false,"context_lines":[{"line_number":18,"context_line":"        [--cidr \u003ccidr\u003e]"},{"line_number":19,"context_line":"        [--allocation-pool start\u003dlow,end\u003dhigh]"},{"line_number":20,"context_line":"        [--dhcp | --no-dhcp]"},{"line_number":21,"context_line":"        [--dns-nameserver \u003cdns_nameserver\u003e]"},{"line_number":22,"context_line":"        [--gateway \u003cgateway_ip\u003e]"},{"line_number":23,"context_line":"        [--host-route destination\u003dCIDR,nexthop\u003dIP_ADDR]"},{"line_number":24,"context_line":"        [--ip-version {4,6}]"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bae84128_ebb34596","line":21,"in_reply_to":"3a57f1b5_a027b1c8","updated":"2016-02-23 21:07:09.000000000","message":"Done","commit_id":"4d58217ad68e750110b251196b5915c80a2532c8"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"91e1c6fca9579e0272dbb977902e064c6611fd8e","unresolved":false,"context_lines":[{"line_number":36,"context_line":"    Domain the project belongs to (name or ID)."},{"line_number":37,"context_line":"    This can be used in case collisions between project names exist."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":".. option:: --subnetpool \u003csubnetpool\u003e"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    ID or name of subnetpool from which this subnet will obtain a CIDR"},{"line_number":42,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3a57f1b5_20f0a166","line":39,"updated":"2016-02-12 17:12:07.000000000","message":"General comment, I suggest using \"subnet-pool\" instead \"subnetpool\".","commit_id":"4d58217ad68e750110b251196b5915c80a2532c8"},{"author":{"_account_id":14957,"name":"Brad Behle","email":"behle@us.ibm.com","username":"behle"},"change_message_id":"5f31c3334167aa9ac23c75a162b1eb47a3945ed8","unresolved":false,"context_lines":[{"line_number":36,"context_line":"    Domain the project belongs to (name or ID)."},{"line_number":37,"context_line":"    This can be used in case collisions between project names exist."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":".. option:: --subnetpool \u003csubnetpool\u003e"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    ID or name of subnetpool from which this subnet will obtain a CIDR"},{"line_number":42,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"bae84128_2baa4d19","line":39,"in_reply_to":"3a57f1b5_20f0a166","updated":"2016-02-23 21:07:09.000000000","message":"Done","commit_id":"4d58217ad68e750110b251196b5915c80a2532c8"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"5f0652e6ab55cddab1cbd66161698f87a4af776e","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":".. option:: --subnetpool \u003csubnetpool\u003e"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    ID or name of subnetpool from which this subnet will obtain a CIDR"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":".. option:: --prefixlen \u003cprefixlen\u003e"},{"line_number":44,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3a57f1b5_a062783c","line":41,"range":{"start_line":41,"start_character":4,"end_line":41,"end_character":14},"updated":"2016-02-12 01:31:27.000000000","message":"nit: Also put this in a () in the end of this line, if you like.","commit_id":"4d58217ad68e750110b251196b5915c80a2532c8"},{"author":{"_account_id":14957,"name":"Brad Behle","email":"behle@us.ibm.com","username":"behle"},"change_message_id":"5f31c3334167aa9ac23c75a162b1eb47a3945ed8","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":".. option:: --subnetpool \u003csubnetpool\u003e"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    ID or name of subnetpool from which this subnet will obtain a CIDR"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":".. option:: --prefixlen \u003cprefixlen\u003e"},{"line_number":44,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"bae84128_0ba5c945","line":41,"range":{"start_line":41,"start_character":4,"end_line":41,"end_character":14},"in_reply_to":"3a57f1b5_20be6165","updated":"2016-02-23 21:07:09.000000000","message":"Done","commit_id":"4d58217ad68e750110b251196b5915c80a2532c8"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"91e1c6fca9579e0272dbb977902e064c6611fd8e","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":".. option:: --subnetpool \u003csubnetpool\u003e"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    ID or name of subnetpool from which this subnet will obtain a CIDR"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":".. option:: --prefixlen \u003cprefixlen\u003e"},{"line_number":44,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3a57f1b5_20be6165","line":41,"range":{"start_line":41,"start_character":4,"end_line":41,"end_character":14},"in_reply_to":"3a57f1b5_a062783c","updated":"2016-02-12 17:12:07.000000000","message":"General comment, I suggest using \"subnet pool\" instead \"subnetpool\".","commit_id":"4d58217ad68e750110b251196b5915c80a2532c8"},{"author":{"_account_id":14957,"name":"Brad Behle","email":"behle@us.ibm.com","username":"behle"},"change_message_id":"ed8a9da9ee28ab5481c7988ca64865eb3757bfd4","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":".. option:: --subnetpool \u003csubnetpool\u003e"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    ID or name of subnetpool from which this subnet will obtain a CIDR"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":".. option:: --prefixlen \u003cprefixlen\u003e"},{"line_number":44,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"bae84128_c810355c","line":41,"range":{"start_line":41,"start_character":4,"end_line":41,"end_character":14},"in_reply_to":"3a57f1b5_a062783c","updated":"2016-02-23 04:47:41.000000000","message":"I don\u0027t understand this comment, what are you suggesting I put in parenthesis?","commit_id":"4d58217ad68e750110b251196b5915c80a2532c8"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"91e1c6fca9579e0272dbb977902e064c6611fd8e","unresolved":false,"context_lines":[{"line_number":66,"context_line":""},{"line_number":67,"context_line":"     DNS name server for this subnet (This option can be repeated)"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":".. option:: --gateway \u003cgateway_ip\u003e"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"     Address of the gateway for this subnet"},{"line_number":72,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3a57f1b5_7bb40a34","line":69,"updated":"2016-02-12 17:12:07.000000000","message":"I think \"gateway_ip\" should be \"gateway\".","commit_id":"4d58217ad68e750110b251196b5915c80a2532c8"},{"author":{"_account_id":14957,"name":"Brad Behle","email":"behle@us.ibm.com","username":"behle"},"change_message_id":"5f31c3334167aa9ac23c75a162b1eb47a3945ed8","unresolved":false,"context_lines":[{"line_number":66,"context_line":""},{"line_number":67,"context_line":"     DNS name server for this subnet (This option can be repeated)"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":".. option:: --gateway \u003cgateway_ip\u003e"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"     Address of the gateway for this subnet"},{"line_number":72,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"bae84128_eb7a25bc","line":69,"in_reply_to":"3a57f1b5_7bb40a34","updated":"2016-02-23 21:07:09.000000000","message":"Done","commit_id":"4d58217ad68e750110b251196b5915c80a2532c8"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"91e1c6fca9579e0272dbb977902e064c6611fd8e","unresolved":false,"context_lines":[{"line_number":70,"context_line":""},{"line_number":71,"context_line":"     Address of the gateway for this subnet"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":".. option:: --host-route destination\u003dCIDR,nexthop\u003dIP_ADDR"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"     Additional route for this subnet e.g.:"},{"line_number":76,"context_line":"         destination\u003d10.10.0.0/16,nexthop\u003d192.168.71.254"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3a57f1b5_7b464a50","line":73,"updated":"2016-02-12 17:12:07.000000000","message":"Please see comments in https://review.openstack.org/#/c/276042/ related to this option.","commit_id":"4d58217ad68e750110b251196b5915c80a2532c8"},{"author":{"_account_id":14957,"name":"Brad Behle","email":"behle@us.ibm.com","username":"behle"},"change_message_id":"5f31c3334167aa9ac23c75a162b1eb47a3945ed8","unresolved":false,"context_lines":[{"line_number":70,"context_line":""},{"line_number":71,"context_line":"     Address of the gateway for this subnet"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":".. option:: --host-route destination\u003dCIDR,nexthop\u003dIP_ADDR"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"     Additional route for this subnet e.g.:"},{"line_number":76,"context_line":"         destination\u003d10.10.0.0/16,nexthop\u003d192.168.71.254"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bae84128_6b4d7599","line":73,"in_reply_to":"3a57f1b5_7b464a50","updated":"2016-02-23 21:07:09.000000000","message":"Done","commit_id":"4d58217ad68e750110b251196b5915c80a2532c8"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"5f0652e6ab55cddab1cbd66161698f87a4af776e","unresolved":false,"context_lines":[{"line_number":96,"context_line":".. _subnet_create-name:"},{"line_number":97,"context_line":".. describe:: \u003cname\u003e"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    Name of subnet to create"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"subnet list"},{"line_number":102,"context_line":"-----------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3a57f1b5_a065981e","line":99,"range":{"start_line":99,"start_character":4,"end_line":99,"end_character":8},"updated":"2016-02-12 01:31:27.000000000","message":"nit: One more space.","commit_id":"4d58217ad68e750110b251196b5915c80a2532c8"},{"author":{"_account_id":14957,"name":"Brad Behle","email":"behle@us.ibm.com","username":"behle"},"change_message_id":"5f31c3334167aa9ac23c75a162b1eb47a3945ed8","unresolved":false,"context_lines":[{"line_number":96,"context_line":".. _subnet_create-name:"},{"line_number":97,"context_line":".. describe:: \u003cname\u003e"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    Name of subnet to create"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"subnet list"},{"line_number":102,"context_line":"-----------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bae84128_4b507132","line":99,"range":{"start_line":99,"start_character":4,"end_line":99,"end_character":8},"in_reply_to":"3a57f1b5_a065981e","updated":"2016-02-23 21:07:09.000000000","message":"Done","commit_id":"4d58217ad68e750110b251196b5915c80a2532c8"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"8466203dbaaeed4cbb27292e903ed1871afea27a","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    Prefix length for subnet allocation from subnetpool"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":".. option:: --cidr \u003ccidr\u003e"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    CIDR of the subnet (required if --subnetpool not specified,"},{"line_number":50,"context_line":"                        optional otherwise)"}],"source_content_type":"text/x-rst","patch_set":2,"id":"bae84128_40e76e12","line":47,"range":{"start_line":47,"start_character":12,"end_line":47,"end_character":25},"updated":"2016-02-19 08:54:32.000000000","message":"--subnet \u003csubnet\u003e\n\nSubnet in CIDR notation.\n\nI think this is better. Dean said this here:\nhttps://review.openstack.org/#/c/276042/","commit_id":"52982e29377b02932bf34755dfea03e232a85ea4"},{"author":{"_account_id":14957,"name":"Brad Behle","email":"behle@us.ibm.com","username":"behle"},"change_message_id":"f8eee9b5c26c8637343ac7627e34dc3963c0f4c0","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    Prefix length for subnet allocation from subnetpool"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":".. option:: --cidr \u003ccidr\u003e"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    CIDR of the subnet (required if --subnetpool not specified,"},{"line_number":50,"context_line":"                        optional otherwise)"}],"source_content_type":"text/x-rst","patch_set":2,"id":"bae84128_4ed6bf4f","line":47,"range":{"start_line":47,"start_character":12,"end_line":47,"end_character":25},"in_reply_to":"bae84128_2b471b4c","updated":"2016-02-23 21:48:42.000000000","message":"I changed --cidr to --subnet-range","commit_id":"52982e29377b02932bf34755dfea03e232a85ea4"},{"author":{"_account_id":14957,"name":"Brad Behle","email":"behle@us.ibm.com","username":"behle"},"change_message_id":"061f218e73f4ac158b5e9bcc48fad10af1f69d51","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    Prefix length for subnet allocation from subnetpool"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":".. option:: --cidr \u003ccidr\u003e"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    CIDR of the subnet (required if --subnetpool not specified,"},{"line_number":50,"context_line":"                        optional otherwise)"}],"source_content_type":"text/x-rst","patch_set":2,"id":"bae84128_2b471b4c","line":47,"range":{"start_line":47,"start_character":12,"end_line":47,"end_character":25},"in_reply_to":"bae84128_40e76e12","updated":"2016-02-23 04:47:32.000000000","message":"I agree --subnet makes sense for the router set command, but a --subnet parameter for the subnet create command seems a bit off.  I think --subnet-range would be is good for this option, since it can be specified by itself, or in combination with --subnet-pool.  I\u0027ll make the change to --subnet-range if that sounds good?","commit_id":"52982e29377b02932bf34755dfea03e232a85ea4"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"8466203dbaaeed4cbb27292e903ed1871afea27a","unresolved":false,"context_lines":[{"line_number":49,"context_line":"    CIDR of the subnet (required if --subnetpool not specified,"},{"line_number":50,"context_line":"                        optional otherwise)"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":".. option:: --allocation-pool start\u003dlow,end\u003dhigh"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    Allocation pool IP addresses for this subnet e.g.:"},{"line_number":55,"context_line":"        start\u003d192.168.199.2,end\u003d192.168.199.254 (This option can be repeated)"}],"source_content_type":"text/x-rst","patch_set":2,"id":"bae84128_e0d5e2b9","line":52,"range":{"start_line":52,"start_character":30,"end_line":52,"end_character":48},"updated":"2016-02-19 08:54:32.000000000","message":"low and high means nothing to users because start and end are already there. So I suggest:\n\nstart\u003d\u003cip-address\u003e,end\u003d\u003cip-address\u003e","commit_id":"52982e29377b02932bf34755dfea03e232a85ea4"},{"author":{"_account_id":14957,"name":"Brad Behle","email":"behle@us.ibm.com","username":"behle"},"change_message_id":"f8eee9b5c26c8637343ac7627e34dc3963c0f4c0","unresolved":false,"context_lines":[{"line_number":49,"context_line":"    CIDR of the subnet (required if --subnetpool not specified,"},{"line_number":50,"context_line":"                        optional otherwise)"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":".. option:: --allocation-pool start\u003dlow,end\u003dhigh"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    Allocation pool IP addresses for this subnet e.g.:"},{"line_number":55,"context_line":"        start\u003d192.168.199.2,end\u003d192.168.199.254 (This option can be repeated)"}],"source_content_type":"text/x-rst","patch_set":2,"id":"bae84128_aec94bae","line":52,"range":{"start_line":52,"start_character":30,"end_line":52,"end_character":48},"in_reply_to":"bae84128_e0d5e2b9","updated":"2016-02-23 21:48:42.000000000","message":"Done","commit_id":"52982e29377b02932bf34755dfea03e232a85ea4"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"8466203dbaaeed4cbb27292e903ed1871afea27a","unresolved":false,"context_lines":[{"line_number":70,"context_line":""},{"line_number":71,"context_line":"     Address of the gateway for this subnet"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":".. option:: --host-route destination\u003dCIDR,nexthop\u003dIP_ADDR"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"     Additional route for this subnet e.g.:"},{"line_number":76,"context_line":"         destination\u003d10.10.0.0/16,nexthop\u003d192.168.71.254"}],"source_content_type":"text/x-rst","patch_set":2,"id":"bae84128_809336fa","line":73,"range":{"start_line":73,"start_character":25,"end_line":73,"end_character":57},"updated":"2016-02-19 08:54:32.000000000","message":"destination\u003dsubnet,gateway\u003dip-address\n\nPlease refer to https://review.openstack.org/#/c/276042/","commit_id":"52982e29377b02932bf34755dfea03e232a85ea4"},{"author":{"_account_id":14957,"name":"Brad Behle","email":"behle@us.ibm.com","username":"behle"},"change_message_id":"f8eee9b5c26c8637343ac7627e34dc3963c0f4c0","unresolved":false,"context_lines":[{"line_number":70,"context_line":""},{"line_number":71,"context_line":"     Address of the gateway for this subnet"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":".. option:: --host-route destination\u003dCIDR,nexthop\u003dIP_ADDR"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"     Additional route for this subnet e.g.:"},{"line_number":76,"context_line":"         destination\u003d10.10.0.0/16,nexthop\u003d192.168.71.254"}],"source_content_type":"text/x-rst","patch_set":2,"id":"bae84128_ae578bc8","line":73,"range":{"start_line":73,"start_character":25,"end_line":73,"end_character":57},"in_reply_to":"bae84128_809336fa","updated":"2016-02-23 21:48:42.000000000","message":"I made this change to use destination\u003dsubnet,gateway\u003dip-address, but since the API still expects \"nexthop\" instead of \"gateway\", I have to change that in the _get_attrs() method, so it is a bit clunky.","commit_id":"52982e29377b02932bf34755dfea03e232a85ea4"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"8466203dbaaeed4cbb27292e903ed1871afea27a","unresolved":false,"context_lines":[{"line_number":80,"context_line":""},{"line_number":81,"context_line":"     IP version (default is 4)"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":".. option:: --network \u003cnetwork\u003e"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"     Network this subnet belongs to (name or ID)"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":".. option:: --ipv6-ra-mode {dhcpv6-stateful,dhcpv6-stateless,slaac}"},{"line_number":88,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"bae84128_607ef2af","line":85,"range":{"start_line":83,"start_character":0,"end_line":85,"end_character":48},"updated":"2016-02-19 08:54:32.000000000","message":"Please follow the options order, move this after --ipv6-address-mode option.","commit_id":"52982e29377b02932bf34755dfea03e232a85ea4"},{"author":{"_account_id":14957,"name":"Brad Behle","email":"behle@us.ibm.com","username":"behle"},"change_message_id":"f8eee9b5c26c8637343ac7627e34dc3963c0f4c0","unresolved":false,"context_lines":[{"line_number":80,"context_line":""},{"line_number":81,"context_line":"     IP version (default is 4)"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":".. option:: --network \u003cnetwork\u003e"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"     Network this subnet belongs to (name or ID)"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":".. option:: --ipv6-ra-mode {dhcpv6-stateful,dhcpv6-stateless,slaac}"},{"line_number":88,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"bae84128_8e5a87f0","line":85,"range":{"start_line":83,"start_character":0,"end_line":85,"end_character":48},"in_reply_to":"bae84128_607ef2af","updated":"2016-02-23 21:48:42.000000000","message":"Done","commit_id":"52982e29377b02932bf34755dfea03e232a85ea4"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"e24466b51153badf600698fb495e995fea956a99","unresolved":false,"context_lines":[{"line_number":19,"context_line":"        [--allocation-pool start\u003dip-address,end\u003dip-address]"},{"line_number":20,"context_line":"        [--dhcp | --no-dhcp]"},{"line_number":21,"context_line":"        [--dns-nameserver \u003cdns-nameserver\u003e]"},{"line_number":22,"context_line":"        [--gateway \u003cgateway-ip\u003e]"},{"line_number":23,"context_line":"        [--host-route destination\u003dsubnet,gateway\u003dip-address]"},{"line_number":24,"context_line":"        [--ip-version {4,6}]"},{"line_number":25,"context_line":"        [--ipv6-ra-mode {dhcpv6-stateful,dhcpv6-stateless,slaac}]"}],"source_content_type":"text/x-rst","patch_set":4,"id":"bae84128_2cb9437a","line":22,"updated":"2016-02-25 16:47:56.000000000","message":"Missing --no-gateway option","commit_id":"153da3864ae4ee613ec3de8d5560038e4315a246"},{"author":{"_account_id":14957,"name":"Brad Behle","email":"behle@us.ibm.com","username":"behle"},"change_message_id":"ff6716d948430bf26a3cbf6ad20c7c26869c5696","unresolved":false,"context_lines":[{"line_number":19,"context_line":"        [--allocation-pool start\u003dip-address,end\u003dip-address]"},{"line_number":20,"context_line":"        [--dhcp | --no-dhcp]"},{"line_number":21,"context_line":"        [--dns-nameserver \u003cdns-nameserver\u003e]"},{"line_number":22,"context_line":"        [--gateway \u003cgateway-ip\u003e]"},{"line_number":23,"context_line":"        [--host-route destination\u003dsubnet,gateway\u003dip-address]"},{"line_number":24,"context_line":"        [--ip-version {4,6}]"},{"line_number":25,"context_line":"        [--ipv6-ra-mode {dhcpv6-stateful,dhcpv6-stateless,slaac}]"}],"source_content_type":"text/x-rst","patch_set":4,"id":"9aed3d3a_461dff64","line":22,"in_reply_to":"bae84128_2cb9437a","updated":"2016-03-01 05:28:02.000000000","message":"Done","commit_id":"153da3864ae4ee613ec3de8d5560038e4315a246"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"e24466b51153badf600698fb495e995fea956a99","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":".. option:: --subnet-pool \u003csubnet-pool\u003e"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    ID or name of subnet pool from which this subnet will obtain a CIDR"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":".. option:: --prefixlen \u003cprefixlen\u003e"},{"line_number":44,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"bae84128_4ce8077d","line":41,"updated":"2016-02-25 16:47:56.000000000","message":"Usually \"ID or name\" is placed at the end of the option documentation.","commit_id":"153da3864ae4ee613ec3de8d5560038e4315a246"},{"author":{"_account_id":14957,"name":"Brad Behle","email":"behle@us.ibm.com","username":"behle"},"change_message_id":"ff6716d948430bf26a3cbf6ad20c7c26869c5696","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":".. option:: --subnet-pool \u003csubnet-pool\u003e"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    ID or name of subnet pool from which this subnet will obtain a CIDR"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":".. option:: --prefixlen \u003cprefixlen\u003e"},{"line_number":44,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"9aed3d3a_2618bb74","line":41,"in_reply_to":"bae84128_4ce8077d","updated":"2016-03-01 05:28:02.000000000","message":"Done","commit_id":"153da3864ae4ee613ec3de8d5560038e4315a246"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"e24466b51153badf600698fb495e995fea956a99","unresolved":false,"context_lines":[{"line_number":66,"context_line":""},{"line_number":67,"context_line":"     DNS name server for this subnet (This option can be repeated)"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":".. option:: --gateway \u003cgateway\u003e"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"     Address of the gateway for this subnet"},{"line_number":72,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"bae84128_ac1b93c9","line":69,"updated":"2016-02-25 16:47:56.000000000","message":"Missing --no-gateway option documentation.","commit_id":"153da3864ae4ee613ec3de8d5560038e4315a246"},{"author":{"_account_id":14957,"name":"Brad Behle","email":"behle@us.ibm.com","username":"behle"},"change_message_id":"ff6716d948430bf26a3cbf6ad20c7c26869c5696","unresolved":false,"context_lines":[{"line_number":66,"context_line":""},{"line_number":67,"context_line":"     DNS name server for this subnet (This option can be repeated)"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":".. option:: --gateway \u003cgateway\u003e"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"     Address of the gateway for this subnet"},{"line_number":72,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"9aed3d3a_8629c78c","line":69,"in_reply_to":"bae84128_ac1b93c9","updated":"2016-03-01 05:28:02.000000000","message":"Done","commit_id":"153da3864ae4ee613ec3de8d5560038e4315a246"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"3751e581a3d2c22ed44fe1b25effbaadf2517cb5","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    os subnet create"},{"line_number":32,"context_line":"        [--project \u003cproject\u003e [--project-domain \u003cproject-domain\u003e]]"},{"line_number":33,"context_line":"        [--subnet-pool \u003csubnet-pool\u003e | --use-default-subnet-pool"},{"line_number":34,"context_line":"        [--prefixlen \u003cprefixlen\u003e]]"},{"line_number":35,"context_line":"        [--subnet-range \u003csubnet-range\u003e]"},{"line_number":36,"context_line":"        [--allocation-pool start\u003dip-address,end\u003dip-address]"}],"source_content_type":"text/x-rst","patch_set":7,"id":"7af24918_c237e6e1","line":33,"updated":"2016-03-01 18:00:17.000000000","message":"missing trailing bracket","commit_id":"71468d8e1afbd576a7c201aa9316a0ea1c1822ac"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"3751e581a3d2c22ed44fe1b25effbaadf2517cb5","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    os subnet create"},{"line_number":32,"context_line":"        [--project \u003cproject\u003e [--project-domain \u003cproject-domain\u003e]]"},{"line_number":33,"context_line":"        [--subnet-pool \u003csubnet-pool\u003e | --use-default-subnet-pool"},{"line_number":34,"context_line":"        [--prefixlen \u003cprefixlen\u003e]]"},{"line_number":35,"context_line":"        [--subnet-range \u003csubnet-range\u003e]"},{"line_number":36,"context_line":"        [--allocation-pool start\u003dip-address,end\u003dip-address]"},{"line_number":37,"context_line":"        [--dhcp | --no-dhcp]"}],"source_content_type":"text/x-rst","patch_set":7,"id":"7af24918_2235ead9","line":34,"updated":"2016-03-01 18:00:17.000000000","message":"extra trailing bracket","commit_id":"71468d8e1afbd576a7c201aa9316a0ea1c1822ac"},{"author":{"_account_id":14957,"name":"Brad Behle","email":"behle@us.ibm.com","username":"behle"},"change_message_id":"58d0d68ae9167e79d34c0b31d19d9629868d87fe","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    os subnet create"},{"line_number":32,"context_line":"        [--project \u003cproject\u003e [--project-domain \u003cproject-domain\u003e]]"},{"line_number":33,"context_line":"        [--subnet-pool \u003csubnet-pool\u003e | --use-default-subnet-pool"},{"line_number":34,"context_line":"        [--prefixlen \u003cprefixlen\u003e]]"},{"line_number":35,"context_line":"        [--subnet-range \u003csubnet-range\u003e]"},{"line_number":36,"context_line":"        [--allocation-pool start\u003dip-address,end\u003dip-address]"},{"line_number":37,"context_line":"        [--dhcp | --no-dhcp]"}],"source_content_type":"text/x-rst","patch_set":7,"id":"7af24918_8fff7066","line":34,"in_reply_to":"7af24918_2235ead9","updated":"2016-03-02 19:37:10.000000000","message":"The brackets I have here I think are correct.  I put them both on one line to make it more clear that all three of these are optional, subnet-pool and use-default-subnet-pool are mutually exclusive, and --prefixlen only makes sense if one of the subnet-pool parms are used.","commit_id":"71468d8e1afbd576a7c201aa9316a0ea1c1822ac"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"3751e581a3d2c22ed44fe1b25effbaadf2517cb5","unresolved":false,"context_lines":[{"line_number":55,"context_line":""},{"line_number":56,"context_line":".. option:: --subnet-pool \u003csubnet-pool\u003e"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    Subnet pool from which this subnet will obtain a CIDR (Name or ID)"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":".. option:: --use-default-subnet-pool"},{"line_number":61,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"7af24918_6274129c","line":58,"updated":"2016-03-01 18:00:17.000000000","message":"nit...lowercase \u0027name\u0027","commit_id":"71468d8e1afbd576a7c201aa9316a0ea1c1822ac"},{"author":{"_account_id":14957,"name":"Brad Behle","email":"behle@us.ibm.com","username":"behle"},"change_message_id":"58d0d68ae9167e79d34c0b31d19d9629868d87fe","unresolved":false,"context_lines":[{"line_number":55,"context_line":""},{"line_number":56,"context_line":".. option:: --subnet-pool \u003csubnet-pool\u003e"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"    Subnet pool from which this subnet will obtain a CIDR (Name or ID)"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":".. option:: --use-default-subnet-pool"},{"line_number":61,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"7af24918_4f2c4802","line":58,"in_reply_to":"7af24918_6274129c","updated":"2016-03-02 19:37:10.000000000","message":"Done","commit_id":"71468d8e1afbd576a7c201aa9316a0ea1c1822ac"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"3751e581a3d2c22ed44fe1b25effbaadf2517cb5","unresolved":false,"context_lines":[{"line_number":59,"context_line":""},{"line_number":60,"context_line":".. option:: --use-default-subnet-pool"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    Use default subnet pool for --ip-version"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":".. option:: --prefixlen \u003cprefixlen\u003e"},{"line_number":65,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"7af24918_a5574401","line":62,"updated":"2016-03-01 18:00:17.000000000","message":"doc doesn\u0027t match the code","commit_id":"71468d8e1afbd576a7c201aa9316a0ea1c1822ac"},{"author":{"_account_id":14957,"name":"Brad Behle","email":"behle@us.ibm.com","username":"behle"},"change_message_id":"58d0d68ae9167e79d34c0b31d19d9629868d87fe","unresolved":false,"context_lines":[{"line_number":59,"context_line":""},{"line_number":60,"context_line":".. option:: --use-default-subnet-pool"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    Use default subnet pool for --ip-version"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":".. option:: --prefixlen \u003cprefixlen\u003e"},{"line_number":65,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"7af24918_8f365050","line":62,"in_reply_to":"7af24918_a5574401","updated":"2016-03-02 19:37:10.000000000","message":"Done","commit_id":"71468d8e1afbd576a7c201aa9316a0ea1c1822ac"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"3751e581a3d2c22ed44fe1b25effbaadf2517cb5","unresolved":false,"context_lines":[{"line_number":89,"context_line":""},{"line_number":90,"context_line":".. option:: --gateway \u003cgateway\u003e"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"     Address of the gateway for this subnet"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":".. option:: --no-gateway"},{"line_number":95,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"7af24918_02754ef8","line":92,"updated":"2016-03-01 18:00:17.000000000","message":"Consider noting that by default this will be allocated from the CIDR.","commit_id":"71468d8e1afbd576a7c201aa9316a0ea1c1822ac"},{"author":{"_account_id":14957,"name":"Brad Behle","email":"behle@us.ibm.com","username":"behle"},"change_message_id":"58d0d68ae9167e79d34c0b31d19d9629868d87fe","unresolved":false,"context_lines":[{"line_number":89,"context_line":""},{"line_number":90,"context_line":".. option:: --gateway \u003cgateway\u003e"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"     Address of the gateway for this subnet"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":".. option:: --no-gateway"},{"line_number":95,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"7af24918_6f394441","line":92,"in_reply_to":"7af24918_02754ef8","updated":"2016-03-02 19:37:10.000000000","message":"Missed this in patch set 8, will upload patch set 9 to fix this.","commit_id":"71468d8e1afbd576a7c201aa9316a0ea1c1822ac"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"89f8dbfe9264137bfc96b1b9947cdf25911eee25","unresolved":false,"context_lines":[{"line_number":91,"context_line":"     Address of the gateway for this subnet, by default the"},{"line_number":92,"context_line":"         gateway will be allocated from the subnet range"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":".. option:: --no-gateway"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"     Do not use a gateway"},{"line_number":97,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"5aef4532_d472f97b","line":94,"updated":"2016-03-08 12:22:55.000000000","message":"--gateway is not a boolean, do we need --no-gateway?","commit_id":"1b430292bbade2e6f90ba97d9f8219ff5fe1141b"},{"author":{"_account_id":14957,"name":"Brad Behle","email":"behle@us.ibm.com","username":"behle"},"change_message_id":"4d8726cd09e2ad87fcc6e5762690599152a13a38","unresolved":false,"context_lines":[{"line_number":91,"context_line":"     Address of the gateway for this subnet, by default the"},{"line_number":92,"context_line":"         gateway will be allocated from the subnet range"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":".. option:: --no-gateway"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"     Do not use a gateway"},{"line_number":97,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"5aef4532_c5bdf7d8","line":94,"in_reply_to":"5aef4532_d472f97b","updated":"2016-03-08 20:00:35.000000000","message":"We do.  A subnet can be created with three possible options for a gateway:\n1) User provides an explicit IP for gateway (--gateway 192.168.0.1)\n2) User doesn\u0027t provide IP for gateway, so neutron picks an IP from the CIDR to use as gateway (--gateway not specified)\n3) User specifically indicates this subnet should not have a gateway (--no-gateway)","commit_id":"1b430292bbade2e6f90ba97d9f8219ff5fe1141b"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"89e79cf260e56bad923ceb26b64476a73ae23d76","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    os subnet create"},{"line_number":32,"context_line":"        [--project \u003cproject\u003e [--project-domain \u003cproject-domain\u003e]]"},{"line_number":33,"context_line":"        [--subnet-pool \u003csubnet-pool\u003e | --use-default-subnet-pool [--prefixlen \u003cprefixlen\u003e]]"},{"line_number":34,"context_line":"        [--subnet-range \u003csubnet-range\u003e]"},{"line_number":35,"context_line":"        [--allocation-pool start\u003dip-address,end\u003dip-address]"},{"line_number":36,"context_line":"        [--dhcp | --no-dhcp]"}],"source_content_type":"text/x-rst","patch_set":13,"id":"5aef4532_8c820193","line":33,"updated":"2016-03-08 14:40:10.000000000","message":"See https://review.openstack.org/#/c/289202/7/doc/source/command-objects/subnet-pool.rst Steve\u0027s concern about using prefixlen.  I think we should be consistent between subnet and subnet pool commands.","commit_id":"5c0f75d95e0a44eba19073b890f119e6b0c7aeaa"},{"author":{"_account_id":14957,"name":"Brad Behle","email":"behle@us.ibm.com","username":"behle"},"change_message_id":"725868270e2a009df50b9d05f575d027b2ef9ba8","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    os subnet create"},{"line_number":32,"context_line":"        [--project \u003cproject\u003e [--project-domain \u003cproject-domain\u003e]]"},{"line_number":33,"context_line":"        [--subnet-pool \u003csubnet-pool\u003e | --use-default-subnet-pool [--prefixlen \u003cprefixlen\u003e]]"},{"line_number":34,"context_line":"        [--subnet-range \u003csubnet-range\u003e]"},{"line_number":35,"context_line":"        [--allocation-pool start\u003dip-address,end\u003dip-address]"},{"line_number":36,"context_line":"        [--dhcp | --no-dhcp]"}],"source_content_type":"text/x-rst","patch_set":13,"id":"5aef4532_08236b06","line":33,"in_reply_to":"5aef4532_8c820193","updated":"2016-03-08 20:01:06.000000000","message":"Changed this to --prefix-length","commit_id":"5c0f75d95e0a44eba19073b890f119e6b0c7aeaa"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"340feb9d7db34c1465216d396ca172d1e0b3774d","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    os subnet create"},{"line_number":32,"context_line":"        [--project \u003cproject\u003e [--project-domain \u003cproject-domain\u003e]]"},{"line_number":33,"context_line":"        [--subnet-pool \u003csubnet-pool\u003e | --use-default-subnet-pool [--prefix-length \u003cprefix-length\u003e]]"},{"line_number":34,"context_line":"        [--subnet-range \u003csubnet-range\u003e]"},{"line_number":35,"context_line":"        [--allocation-pool start\u003dip-address,end\u003dip-address]"},{"line_number":36,"context_line":"        [--dhcp | --no-dhcp]"}],"source_content_type":"text/x-rst","patch_set":14,"id":"5aef4532_bcf42b87","line":33,"range":{"start_line":33,"start_character":65,"end_line":33,"end_character":99},"updated":"2016-03-09 06:08:06.000000000","message":"The [] is not correctly used.","commit_id":"9e796a32c32cffdadfa29f38e65e58318838b3af"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"75ee44280b1c76d95abc84bd44e4e7e2b02f1989","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    os subnet create"},{"line_number":32,"context_line":"        [--project \u003cproject\u003e [--project-domain \u003cproject-domain\u003e]]"},{"line_number":33,"context_line":"        [--subnet-pool \u003csubnet-pool\u003e | --use-default-subnet-pool [--prefix-length \u003cprefix-length\u003e]]"},{"line_number":34,"context_line":"        [--subnet-range \u003csubnet-range\u003e]"},{"line_number":35,"context_line":"        [--allocation-pool start\u003dip-address,end\u003dip-address]"},{"line_number":36,"context_line":"        [--dhcp | --no-dhcp]"}],"source_content_type":"text/x-rst","patch_set":14,"id":"5aef4532_62b94c79","line":33,"range":{"start_line":33,"start_character":65,"end_line":33,"end_character":99},"in_reply_to":"5aef4532_509cebbf","updated":"2016-03-09 11:20:12.000000000","message":"Oh, OK, my mistake. :)","commit_id":"9e796a32c32cffdadfa29f38e65e58318838b3af"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"2e8395a9ac253e6fe8aaff19decd8d037dbcf659","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    os subnet create"},{"line_number":32,"context_line":"        [--project \u003cproject\u003e [--project-domain \u003cproject-domain\u003e]]"},{"line_number":33,"context_line":"        [--subnet-pool \u003csubnet-pool\u003e | --use-default-subnet-pool [--prefix-length \u003cprefix-length\u003e]]"},{"line_number":34,"context_line":"        [--subnet-range \u003csubnet-range\u003e]"},{"line_number":35,"context_line":"        [--allocation-pool start\u003dip-address,end\u003dip-address]"},{"line_number":36,"context_line":"        [--dhcp | --no-dhcp]"}],"source_content_type":"text/x-rst","patch_set":14,"id":"5aef4532_509cebbf","line":33,"range":{"start_line":33,"start_character":65,"end_line":33,"end_character":99},"in_reply_to":"5aef4532_bcf42b87","updated":"2016-03-09 06:17:38.000000000","message":"Tang Chen: \nOn reading the explanation below, the [] seem correct because prefix-length is optional and only useable if subnet-pool or use-default-subnet-pool is specified","commit_id":"9e796a32c32cffdadfa29f38e65e58318838b3af"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"2e8395a9ac253e6fe8aaff19decd8d037dbcf659","unresolved":false,"context_lines":[{"line_number":89,"context_line":".. option:: --gateway \u003cgateway\u003e"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"     Address of the gateway for this subnet, by default the"},{"line_number":92,"context_line":"         gateway will be allocated from the subnet range"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":".. option:: --no-gateway"},{"line_number":95,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"5aef4532_10bb8328","line":92,"updated":"2016-03-09 06:17:38.000000000","message":"Fullstop/period","commit_id":"9e796a32c32cffdadfa29f38e65e58318838b3af"},{"author":{"_account_id":14957,"name":"Brad Behle","email":"behle@us.ibm.com","username":"behle"},"change_message_id":"8b35ec2eaf2525dbf009cb790d41ff47b5cf9d28","unresolved":false,"context_lines":[{"line_number":89,"context_line":".. option:: --gateway \u003cgateway\u003e"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"     Address of the gateway for this subnet, by default the"},{"line_number":92,"context_line":"         gateway will be allocated from the subnet range"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":".. option:: --no-gateway"},{"line_number":95,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"5aef4532_0e6045a4","line":92,"in_reply_to":"5aef4532_10bb8328","updated":"2016-03-10 03:50:29.000000000","message":"Since this isn\u0027t multiple sentences, it shouldn\u0027t need a period at the end.  I did however correct a few spots in here that needed different punctuation to keep it consistent.","commit_id":"9e796a32c32cffdadfa29f38e65e58318838b3af"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"2e8395a9ac253e6fe8aaff19decd8d037dbcf659","unresolved":false,"context_lines":[{"line_number":105,"context_line":""},{"line_number":106,"context_line":".. option:: --ip-version {4,6}"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"     IP version (default is 4)"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":".. option:: --ipv6-ra-mode {dhcpv6-stateful,dhcpv6-stateless,slaac}"},{"line_number":111,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"5aef4532_d0de3b6c","line":108,"updated":"2016-03-09 06:17:38.000000000","message":"This explanation seems much more suited:\n\nhttps://github.com/openstack/python-neutronclient/blob/master/neutronclient/neutron/v2_0/subnet.py#L166-L169","commit_id":"9e796a32c32cffdadfa29f38e65e58318838b3af"},{"author":{"_account_id":14957,"name":"Brad Behle","email":"behle@us.ibm.com","username":"behle"},"change_message_id":"8b35ec2eaf2525dbf009cb790d41ff47b5cf9d28","unresolved":false,"context_lines":[{"line_number":105,"context_line":""},{"line_number":106,"context_line":".. option:: --ip-version {4,6}"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"     IP version (default is 4)"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":".. option:: --ipv6-ra-mode {dhcpv6-stateful,dhcpv6-stateless,slaac}"},{"line_number":111,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"5aef4532_b3a53e48","line":108,"in_reply_to":"5aef4532_d0de3b6c","updated":"2016-03-10 03:50:29.000000000","message":"Done","commit_id":"9e796a32c32cffdadfa29f38e65e58318838b3af"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"2e8395a9ac253e6fe8aaff19decd8d037dbcf659","unresolved":false,"context_lines":[{"line_number":110,"context_line":".. option:: --ipv6-ra-mode {dhcpv6-stateful,dhcpv6-stateless,slaac}"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"     IPv6 RA (Router Advertisement) mode,"},{"line_number":113,"context_line":"         valid modes: [dhcpv6-stateful, dhcpv6-stateless, slaac]"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":".. option:: --ipv6-address-mode {dhcpv6-stateful,dhcpv6-stateless,slaac}"},{"line_number":116,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"5aef4532_b0d9ef85","line":113,"updated":"2016-03-09 06:17:38.000000000","message":"This can be used only if --ip-version is 6 ( I guess ?)","commit_id":"9e796a32c32cffdadfa29f38e65e58318838b3af"},{"author":{"_account_id":14957,"name":"Brad Behle","email":"behle@us.ibm.com","username":"behle"},"change_message_id":"8b35ec2eaf2525dbf009cb790d41ff47b5cf9d28","unresolved":false,"context_lines":[{"line_number":110,"context_line":".. option:: --ipv6-ra-mode {dhcpv6-stateful,dhcpv6-stateless,slaac}"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"     IPv6 RA (Router Advertisement) mode,"},{"line_number":113,"context_line":"         valid modes: [dhcpv6-stateful, dhcpv6-stateless, slaac]"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":".. option:: --ipv6-address-mode {dhcpv6-stateful,dhcpv6-stateless,slaac}"},{"line_number":116,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"5aef4532_f3c226e8","line":113,"in_reply_to":"5aef4532_31ae5ce6","updated":"2016-03-10 03:50:29.000000000","message":"Yes, the --ipv6... options are only valid for --ip-version 6.  I don\u0027t think it makes sense to add this to the help, it should be obvious to anyone creating an IPv6 subnet both by the option name and by the modes that this isn\u0027t valid for IPv4.","commit_id":"9e796a32c32cffdadfa29f38e65e58318838b3af"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"7031514518e1b4ce3ed9c59b58cb40e359d17f8a","unresolved":false,"context_lines":[{"line_number":110,"context_line":".. option:: --ipv6-ra-mode {dhcpv6-stateful,dhcpv6-stateless,slaac}"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"     IPv6 RA (Router Advertisement) mode,"},{"line_number":113,"context_line":"         valid modes: [dhcpv6-stateful, dhcpv6-stateless, slaac]"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":".. option:: --ipv6-address-mode {dhcpv6-stateful,dhcpv6-stateless,slaac}"},{"line_number":116,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"5aef4532_31ae5ce6","line":113,"in_reply_to":"5aef4532_b0d9ef85","updated":"2016-03-09 17:03:53.000000000","message":"the option below too?","commit_id":"9e796a32c32cffdadfa29f38e65e58318838b3af"}],"openstackclient/common/parseractions.py":[{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"5f0652e6ab55cddab1cbd66161698f87a4af776e","unresolved":false,"context_lines":[{"line_number":36,"context_line":"            getattr(namespace, self.dest, {}).pop(values, None)"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"class KeyValueAppendAction(argparse.Action):"},{"line_number":40,"context_line":"    \"\"\"A custom action to parse arguments as key\u003dvalue pairs"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    Ensures that ``dest`` is a list of dicts.  This parser action is just"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a57f1b5_3b3a39cd","line":39,"range":{"start_line":39,"start_character":6,"end_line":39,"end_character":26},"updated":"2016-02-12 01:31:27.000000000","message":"Is this the same as this one ?\nhttps://review.openstack.org/#/c/276041/\n\nI think I did something similar. Also, you need to add a test for this.\n\nBut if it is the same, would you please reuse the one I have made ?\n\nThanks. :)","commit_id":"4d58217ad68e750110b251196b5915c80a2532c8"},{"author":{"_account_id":14957,"name":"Brad Behle","email":"behle@us.ibm.com","username":"behle"},"change_message_id":"5f31c3334167aa9ac23c75a162b1eb47a3945ed8","unresolved":false,"context_lines":[{"line_number":36,"context_line":"            getattr(namespace, self.dest, {}).pop(values, None)"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"class KeyValueAppendAction(argparse.Action):"},{"line_number":40,"context_line":"    \"\"\"A custom action to parse arguments as key\u003dvalue pairs"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    Ensures that ``dest`` is a list of dicts.  This parser action is just"}],"source_content_type":"text/x-python","patch_set":1,"id":"bae84128_2e341bdc","line":39,"range":{"start_line":39,"start_character":6,"end_line":39,"end_character":26},"in_reply_to":"3a57f1b5_3b3a39cd","updated":"2016-02-23 21:07:09.000000000","message":"For now I just copied the code you wrote from that review into this one, so I could test and verify this patch works with that code.  If it makes sense, I can make this one depend on yours, or I can just wait to commit until your patch merges.","commit_id":"4d58217ad68e750110b251196b5915c80a2532c8"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"8466203dbaaeed4cbb27292e903ed1871afea27a","unresolved":false,"context_lines":[{"line_number":36,"context_line":"            getattr(namespace, self.dest, {}).pop(values, None)"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"class KeyValueAppendAction(argparse.Action):"},{"line_number":40,"context_line":"    \"\"\"A custom action to parse arguments as key\u003dvalue pairs"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    Ensures that ``dest`` is a list of dicts.  This parser action is just"}],"source_content_type":"text/x-python","patch_set":2,"id":"bae84128_631a7c70","line":39,"range":{"start_line":39,"start_character":6,"end_line":39,"end_character":26},"updated":"2016-02-19 08:54:32.000000000","message":"I think this is duplicate with this patch I\u0027m working on:\n\nhttps://review.openstack.org/#/c/276041/3/openstackclient/common/parseractions.py\n\nWould you please make your patch depand on mine, and I\u0027ll rebase my patch soon.","commit_id":"52982e29377b02932bf34755dfea03e232a85ea4"},{"author":{"_account_id":14957,"name":"Brad Behle","email":"behle@us.ibm.com","username":"behle"},"change_message_id":"f8eee9b5c26c8637343ac7627e34dc3963c0f4c0","unresolved":false,"context_lines":[{"line_number":36,"context_line":"            getattr(namespace, self.dest, {}).pop(values, None)"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"class KeyValueAppendAction(argparse.Action):"},{"line_number":40,"context_line":"    \"\"\"A custom action to parse arguments as key\u003dvalue pairs"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    Ensures that ``dest`` is a list of dicts.  This parser action is just"}],"source_content_type":"text/x-python","patch_set":2,"id":"bae84128_2e6c1b9b","line":39,"range":{"start_line":39,"start_character":6,"end_line":39,"end_character":26},"in_reply_to":"bae84128_631a7c70","updated":"2016-02-23 21:48:42.000000000","message":"See my previous comment, I just copied your code in here for now.","commit_id":"52982e29377b02932bf34755dfea03e232a85ea4"}],"openstackclient/network/v2/subnet.py":[{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"5f0652e6ab55cddab1cbd66161698f87a4af776e","unresolved":false,"context_lines":[{"line_number":81,"context_line":"            action\u003dparseractions.KeyValueAppendAction,"},{"line_number":82,"context_line":"            const\u003d[\u0027start\u0027, \u0027end\u0027],"},{"line_number":83,"context_line":"            help\u003d\u0027Allocation pool IP addresses for this subnet \u0027"},{"line_number":84,"context_line":"            \u0027e.g.: start\u003d192.168.199.2,end\u003d192.168.199.254 \u0027"},{"line_number":85,"context_line":"            \u0027(This option can be repeated)\u0027"},{"line_number":86,"context_line":"        )"},{"line_number":87,"context_line":"        dhcp_enable_group \u003d parser.add_mutually_exclusive_group()"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a57f1b5_c051b437","line":84,"range":{"start_line":84,"start_character":12,"end_line":84,"end_character":17},"updated":"2016-02-12 01:31:27.000000000","message":"Please align the line to the line above. And the same below.","commit_id":"4d58217ad68e750110b251196b5915c80a2532c8"},{"author":{"_account_id":14957,"name":"Brad Behle","email":"behle@us.ibm.com","username":"behle"},"change_message_id":"5f31c3334167aa9ac23c75a162b1eb47a3945ed8","unresolved":false,"context_lines":[{"line_number":81,"context_line":"            action\u003dparseractions.KeyValueAppendAction,"},{"line_number":82,"context_line":"            const\u003d[\u0027start\u0027, \u0027end\u0027],"},{"line_number":83,"context_line":"            help\u003d\u0027Allocation pool IP addresses for this subnet \u0027"},{"line_number":84,"context_line":"            \u0027e.g.: start\u003d192.168.199.2,end\u003d192.168.199.254 \u0027"},{"line_number":85,"context_line":"            \u0027(This option can be repeated)\u0027"},{"line_number":86,"context_line":"        )"},{"line_number":87,"context_line":"        dhcp_enable_group \u003d parser.add_mutually_exclusive_group()"}],"source_content_type":"text/x-python","patch_set":1,"id":"bae84128_8e59e737","line":84,"range":{"start_line":84,"start_character":12,"end_line":84,"end_character":17},"in_reply_to":"3a57f1b5_c051b437","updated":"2016-02-23 21:07:09.000000000","message":"Done","commit_id":"4d58217ad68e750110b251196b5915c80a2532c8"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"91e1c6fca9579e0272dbb977902e064c6611fd8e","unresolved":false,"context_lines":[{"line_number":87,"context_line":"        dhcp_enable_group \u003d parser.add_mutually_exclusive_group()"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"        dhcp_enable_group.add_argument("},{"line_number":90,"context_line":"            \u0027--dhcp\u0027,"},{"line_number":91,"context_line":"            default\u003dNone,"},{"line_number":92,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":93,"context_line":"            help\u003d\u0027Enable DHCP (default)\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a57f1b5_3bf53256","line":90,"updated":"2016-02-12 17:12:07.000000000","message":"I think you can use dest\u003d\"enable_dhcp\" here to simplify the code.  See --enable/--disable on network create.","commit_id":"4d58217ad68e750110b251196b5915c80a2532c8"},{"author":{"_account_id":14957,"name":"Brad Behle","email":"behle@us.ibm.com","username":"behle"},"change_message_id":"5f31c3334167aa9ac23c75a162b1eb47a3945ed8","unresolved":false,"context_lines":[{"line_number":87,"context_line":"        dhcp_enable_group \u003d parser.add_mutually_exclusive_group()"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"        dhcp_enable_group.add_argument("},{"line_number":90,"context_line":"            \u0027--dhcp\u0027,"},{"line_number":91,"context_line":"            default\u003dNone,"},{"line_number":92,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":93,"context_line":"            help\u003d\u0027Enable DHCP (default)\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"bae84128_ce3f6fb2","line":90,"in_reply_to":"3a57f1b5_3bf53256","updated":"2016-02-23 21:07:09.000000000","message":"Done","commit_id":"4d58217ad68e750110b251196b5915c80a2532c8"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"d9807cf09a6a382335bf95113c7159364d3c97ef","unresolved":false,"context_lines":[{"line_number":107,"context_line":"            \u0027(This option can be repeated)\u0027"},{"line_number":108,"context_line":"        )"},{"line_number":109,"context_line":"        parser.add_argument("},{"line_number":110,"context_line":"            \u0027--gateway\u0027,"},{"line_number":111,"context_line":"            metavar\u003d\u0027\u003cgateway_ip\u003e\u0027,"},{"line_number":112,"context_line":"            help\u003d\u0027Address of the gateway for this subnet\u0027"},{"line_number":113,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":1,"id":"dae33548_57a2144c","line":110,"updated":"2016-02-17 03:19:14.000000000","message":"while checking the code for neutron client,I found that there is an option to specify gateway/no-gateway\n\nhttps://github.com/openstack/python-neutronclient/blob/master/neutronclient/neutron/v2_0/subnet.py#L59-L62\n\nI think we should keep the behavior similar, so that user has a similar experience after porting.","commit_id":"4d58217ad68e750110b251196b5915c80a2532c8"},{"author":{"_account_id":14957,"name":"Brad Behle","email":"behle@us.ibm.com","username":"behle"},"change_message_id":"5f31c3334167aa9ac23c75a162b1eb47a3945ed8","unresolved":false,"context_lines":[{"line_number":107,"context_line":"            \u0027(This option can be repeated)\u0027"},{"line_number":108,"context_line":"        )"},{"line_number":109,"context_line":"        parser.add_argument("},{"line_number":110,"context_line":"            \u0027--gateway\u0027,"},{"line_number":111,"context_line":"            metavar\u003d\u0027\u003cgateway_ip\u003e\u0027,"},{"line_number":112,"context_line":"            help\u003d\u0027Address of the gateway for this subnet\u0027"},{"line_number":113,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":1,"id":"bae84128_4e7a3f89","line":110,"in_reply_to":"dae33548_57a2144c","updated":"2016-02-23 21:07:09.000000000","message":"Done","commit_id":"4d58217ad68e750110b251196b5915c80a2532c8"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"5f0652e6ab55cddab1cbd66161698f87a4af776e","unresolved":false,"context_lines":[{"line_number":162,"context_line":"        data \u003d utils.get_item_properties(obj, columns, formatters\u003d_formatters)"},{"line_number":163,"context_line":"        return (tuple(columns), data)"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"    def get_body(self, parsed_args):"},{"line_number":166,"context_line":"        body \u003d {\u0027name\u0027: str(parsed_args.name)}"},{"line_number":167,"context_line":"        if parsed_args.project is not None:"},{"line_number":168,"context_line":"            project_id \u003d identity_common.find_project("}],"source_content_type":"text/x-python","patch_set":1,"id":"3a57f1b5_bb06291b","line":165,"range":{"start_line":165,"start_character":4,"end_line":165,"end_character":36},"updated":"2016-02-12 01:31:27.000000000","message":"I would prefer to rename this to _get_attrs() and put it outside any class, like the one in network.py. I think it would be reused in \"os subnet set\" command soon if you are planing to do it.","commit_id":"4d58217ad68e750110b251196b5915c80a2532c8"},{"author":{"_account_id":14957,"name":"Brad Behle","email":"behle@us.ibm.com","username":"behle"},"change_message_id":"5f31c3334167aa9ac23c75a162b1eb47a3945ed8","unresolved":false,"context_lines":[{"line_number":162,"context_line":"        data \u003d utils.get_item_properties(obj, columns, formatters\u003d_formatters)"},{"line_number":163,"context_line":"        return (tuple(columns), data)"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"    def get_body(self, parsed_args):"},{"line_number":166,"context_line":"        body \u003d {\u0027name\u0027: str(parsed_args.name)}"},{"line_number":167,"context_line":"        if parsed_args.project is not None:"},{"line_number":168,"context_line":"            project_id \u003d identity_common.find_project("}],"source_content_type":"text/x-python","patch_set":1,"id":"bae84128_ee6b53b5","line":165,"range":{"start_line":165,"start_character":4,"end_line":165,"end_character":36},"in_reply_to":"3a57f1b5_bb06291b","updated":"2016-02-23 21:07:09.000000000","message":"Done","commit_id":"4d58217ad68e750110b251196b5915c80a2532c8"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"91e1c6fca9579e0272dbb977902e064c6611fd8e","unresolved":false,"context_lines":[{"line_number":177,"context_line":"                                                 ignore_missing\u003dFalse).id"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"        if parsed_args.subnetpool is not None:"},{"line_number":180,"context_line":"            subnet_pool \u003d client.find_subnet_pool(parsed_args.subnetpool)"},{"line_number":181,"context_line":"            if subnet_pool is not None:"},{"line_number":182,"context_line":"                body[\u0027subnetpool_id\u0027] \u003d subnet_pool.id"},{"line_number":183,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3a57f1b5_db7f3e15","line":180,"updated":"2016-02-12 17:12:07.000000000","message":"Shouldn\u0027t this not ignore missing like is done for network?","commit_id":"4d58217ad68e750110b251196b5915c80a2532c8"},{"author":{"_account_id":14957,"name":"Brad Behle","email":"behle@us.ibm.com","username":"behle"},"change_message_id":"5f31c3334167aa9ac23c75a162b1eb47a3945ed8","unresolved":false,"context_lines":[{"line_number":177,"context_line":"                                                 ignore_missing\u003dFalse).id"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"        if parsed_args.subnetpool is not None:"},{"line_number":180,"context_line":"            subnet_pool \u003d client.find_subnet_pool(parsed_args.subnetpool)"},{"line_number":181,"context_line":"            if subnet_pool is not None:"},{"line_number":182,"context_line":"                body[\u0027subnetpool_id\u0027] \u003d subnet_pool.id"},{"line_number":183,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"bae84128_0e5dd714","line":180,"in_reply_to":"3a57f1b5_db7f3e15","updated":"2016-02-23 21:07:09.000000000","message":"Done","commit_id":"4d58217ad68e750110b251196b5915c80a2532c8"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"e24466b51153badf600698fb495e995fea956a99","unresolved":false,"context_lines":[{"line_number":91,"context_line":"    if parsed_args.subnet_pool is not None:"},{"line_number":92,"context_line":"        subnet_pool \u003d client.find_subnet_pool(parsed_args.subnet_pool,"},{"line_number":93,"context_line":"                                              ignore_missing\u003dFalse)"},{"line_number":94,"context_line":"        if subnet_pool is not None:"},{"line_number":95,"context_line":"            attrs[\u0027subnetpool_id\u0027] \u003d subnet_pool.id"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    if parsed_args.no_gateway is not None and parsed_args.no_gateway is True:"}],"source_content_type":"text/x-python","patch_set":4,"id":"bae84128_c75510c7","line":94,"updated":"2016-02-25 16:47:56.000000000","message":"Is this check necessary since ignore_missing\u003dFalse?","commit_id":"153da3864ae4ee613ec3de8d5560038e4315a246"},{"author":{"_account_id":14957,"name":"Brad Behle","email":"behle@us.ibm.com","username":"behle"},"change_message_id":"ff6716d948430bf26a3cbf6ad20c7c26869c5696","unresolved":false,"context_lines":[{"line_number":91,"context_line":"    if parsed_args.subnet_pool is not None:"},{"line_number":92,"context_line":"        subnet_pool \u003d client.find_subnet_pool(parsed_args.subnet_pool,"},{"line_number":93,"context_line":"                                              ignore_missing\u003dFalse)"},{"line_number":94,"context_line":"        if subnet_pool is not None:"},{"line_number":95,"context_line":"            attrs[\u0027subnetpool_id\u0027] \u003d subnet_pool.id"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    if parsed_args.no_gateway is not None and parsed_args.no_gateway is True:"}],"source_content_type":"text/x-python","patch_set":4,"id":"9aed3d3a_c61f4f59","line":94,"in_reply_to":"bae84128_c75510c7","updated":"2016-03-01 05:28:02.000000000","message":"Nope, I removed it","commit_id":"153da3864ae4ee613ec3de8d5560038e4315a246"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"3751e581a3d2c22ed44fe1b25effbaadf2517cb5","unresolved":false,"context_lines":[{"line_number":139,"context_line":"                 \u0027(Name or ID)\u0027"},{"line_number":140,"context_line":"        )"},{"line_number":141,"context_line":"        parser.add_argument("},{"line_number":142,"context_line":"            \u0027--use-default-subnet-pool\u0027,"},{"line_number":143,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":144,"context_line":"            help\u003d\u0027Use default subnet pool for --ip-version, if it exists\u0027"},{"line_number":145,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":7,"id":"7af24918_65e9bc1a","line":142,"updated":"2016-03-01 18:00:17.000000000","message":"Should this be a mutually exclusive group with subnet-pool?","commit_id":"71468d8e1afbd576a7c201aa9316a0ea1c1822ac"},{"author":{"_account_id":14957,"name":"Brad Behle","email":"behle@us.ibm.com","username":"behle"},"change_message_id":"58d0d68ae9167e79d34c0b31d19d9629868d87fe","unresolved":false,"context_lines":[{"line_number":139,"context_line":"                 \u0027(Name or ID)\u0027"},{"line_number":140,"context_line":"        )"},{"line_number":141,"context_line":"        parser.add_argument("},{"line_number":142,"context_line":"            \u0027--use-default-subnet-pool\u0027,"},{"line_number":143,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":144,"context_line":"            help\u003d\u0027Use default subnet pool for --ip-version, if it exists\u0027"},{"line_number":145,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":7,"id":"7af24918_4fbd6867","line":142,"in_reply_to":"7af24918_65e9bc1a","updated":"2016-03-02 19:37:10.000000000","message":"Done","commit_id":"71468d8e1afbd576a7c201aa9316a0ea1c1822ac"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"3751e581a3d2c22ed44fe1b25effbaadf2517cb5","unresolved":false,"context_lines":[{"line_number":222,"context_line":"            \u0027--ipv6-ra-mode\u0027,"},{"line_number":223,"context_line":"            choices\u003d[\u0027dhcpv6-stateful\u0027, \u0027dhcpv6-stateless\u0027, \u0027slaac\u0027],"},{"line_number":224,"context_line":"            help\u003d\u0027IPv6 RA (Router Advertisement) mode, \u0027"},{"line_number":225,"context_line":"                 \u0027Valid modes: [dhcpv6-stateful, dhcpv6-stateless, slaac]\u0027"},{"line_number":226,"context_line":"        )"},{"line_number":227,"context_line":"        parser.add_argument("},{"line_number":228,"context_line":"            \u0027--ipv6-address-mode\u0027,"}],"source_content_type":"text/x-python","patch_set":7,"id":"7af24918_424f5692","line":225,"updated":"2016-03-01 18:00:17.000000000","message":"nit...\"valid\" is used in doc.","commit_id":"71468d8e1afbd576a7c201aa9316a0ea1c1822ac"},{"author":{"_account_id":14957,"name":"Brad Behle","email":"behle@us.ibm.com","username":"behle"},"change_message_id":"58d0d68ae9167e79d34c0b31d19d9629868d87fe","unresolved":false,"context_lines":[{"line_number":222,"context_line":"            \u0027--ipv6-ra-mode\u0027,"},{"line_number":223,"context_line":"            choices\u003d[\u0027dhcpv6-stateful\u0027, \u0027dhcpv6-stateless\u0027, \u0027slaac\u0027],"},{"line_number":224,"context_line":"            help\u003d\u0027IPv6 RA (Router Advertisement) mode, \u0027"},{"line_number":225,"context_line":"                 \u0027Valid modes: [dhcpv6-stateful, dhcpv6-stateless, slaac]\u0027"},{"line_number":226,"context_line":"        )"},{"line_number":227,"context_line":"        parser.add_argument("},{"line_number":228,"context_line":"            \u0027--ipv6-address-mode\u0027,"}],"source_content_type":"text/x-python","patch_set":7,"id":"7af24918_cf7858c7","line":225,"in_reply_to":"7af24918_424f5692","updated":"2016-03-02 19:37:10.000000000","message":"Done","commit_id":"71468d8e1afbd576a7c201aa9316a0ea1c1822ac"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"3751e581a3d2c22ed44fe1b25effbaadf2517cb5","unresolved":false,"context_lines":[{"line_number":228,"context_line":"            \u0027--ipv6-address-mode\u0027,"},{"line_number":229,"context_line":"            choices\u003d[\u0027dhcpv6-stateful\u0027, \u0027dhcpv6-stateless\u0027, \u0027slaac\u0027],"},{"line_number":230,"context_line":"            help\u003d\u0027IPv6 address mode, \u0027"},{"line_number":231,"context_line":"                 \u0027Valid modes: [dhcpv6-stateful, dhcpv6-stateless, slaac]\u0027"},{"line_number":232,"context_line":"        )"},{"line_number":233,"context_line":"        parser.add_argument("},{"line_number":234,"context_line":"            \u0027--network\u0027,"}],"source_content_type":"text/x-python","patch_set":7,"id":"7af24918_027f0eab","line":231,"updated":"2016-03-01 18:00:17.000000000","message":"nit...\"valid\" is used in doc.","commit_id":"71468d8e1afbd576a7c201aa9316a0ea1c1822ac"},{"author":{"_account_id":14957,"name":"Brad Behle","email":"behle@us.ibm.com","username":"behle"},"change_message_id":"58d0d68ae9167e79d34c0b31d19d9629868d87fe","unresolved":false,"context_lines":[{"line_number":228,"context_line":"            \u0027--ipv6-address-mode\u0027,"},{"line_number":229,"context_line":"            choices\u003d[\u0027dhcpv6-stateful\u0027, \u0027dhcpv6-stateless\u0027, \u0027slaac\u0027],"},{"line_number":230,"context_line":"            help\u003d\u0027IPv6 address mode, \u0027"},{"line_number":231,"context_line":"                 \u0027Valid modes: [dhcpv6-stateful, dhcpv6-stateless, slaac]\u0027"},{"line_number":232,"context_line":"        )"},{"line_number":233,"context_line":"        parser.add_argument("},{"line_number":234,"context_line":"            \u0027--network\u0027,"}],"source_content_type":"text/x-python","patch_set":7,"id":"7af24918_0f836099","line":231,"in_reply_to":"7af24918_027f0eab","updated":"2016-03-02 19:37:10.000000000","message":"Done","commit_id":"71468d8e1afbd576a7c201aa9316a0ea1c1822ac"},{"author":{"_account_id":18658,"name":"Jas Singh","email":"singhj@us.ibm.com","username":"singhj"},"change_message_id":"91e8e9c03532335aa5c3c74ba3053fd331bbc5fe","unresolved":false,"context_lines":[{"line_number":251,"context_line":"        obj \u003d client.create_subnet(**attrs)"},{"line_number":252,"context_line":"        columns \u003d _get_columns(obj)"},{"line_number":253,"context_line":"        data \u003d utils.get_item_properties(obj, columns, formatters\u003d_formatters)"},{"line_number":254,"context_line":"        return (tuple(columns), data)"},{"line_number":255,"context_line":""},{"line_number":256,"context_line":""},{"line_number":257,"context_line":"class DeleteSubnet(command.Command):"}],"source_content_type":"text/x-python","patch_set":7,"id":"7af24918_fd628aac","line":254,"range":{"start_line":254,"start_character":15,"end_line":254,"end_character":30},"updated":"2016-03-01 17:32:00.000000000","message":"columns should already be a tuple from _get_columns","commit_id":"71468d8e1afbd576a7c201aa9316a0ea1c1822ac"},{"author":{"_account_id":14957,"name":"Brad Behle","email":"behle@us.ibm.com","username":"behle"},"change_message_id":"58d0d68ae9167e79d34c0b31d19d9629868d87fe","unresolved":false,"context_lines":[{"line_number":251,"context_line":"        obj \u003d client.create_subnet(**attrs)"},{"line_number":252,"context_line":"        columns \u003d _get_columns(obj)"},{"line_number":253,"context_line":"        data \u003d utils.get_item_properties(obj, columns, formatters\u003d_formatters)"},{"line_number":254,"context_line":"        return (tuple(columns), data)"},{"line_number":255,"context_line":""},{"line_number":256,"context_line":""},{"line_number":257,"context_line":"class DeleteSubnet(command.Command):"}],"source_content_type":"text/x-python","patch_set":7,"id":"7af24918_2f4e1c96","line":254,"range":{"start_line":254,"start_character":15,"end_line":254,"end_character":30},"in_reply_to":"7af24918_fd628aac","updated":"2016-03-02 19:37:10.000000000","message":"Done","commit_id":"71468d8e1afbd576a7c201aa9316a0ea1c1822ac"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"c5e6982c533000824e4b7e5d747a353e1073dfaf","unresolved":false,"context_lines":[{"line_number":141,"context_line":"                 \u0027(Name or ID)\u0027"},{"line_number":142,"context_line":"        )"},{"line_number":143,"context_line":"        subnet_pool_group.add_argument("},{"line_number":144,"context_line":"            \u0027--use-default-subnet-pool\u0027,"},{"line_number":145,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":146,"context_line":"            help\u003d\u0027Use default subnet pool for --ip-version\u0027"},{"line_number":147,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":10,"id":"7af24918_6e487088","line":144,"updated":"2016-03-07 03:35:32.000000000","message":"If you do not pass this argument, then it will send False ( which is why the Jenkins failed)\nYou can add \n\n  default\u003dNone","commit_id":"a05df13c42c84575f0f3989624d1d6d5b90a8b3b"},{"author":{"_account_id":14957,"name":"Brad Behle","email":"behle@us.ibm.com","username":"behle"},"change_message_id":"b0644ada127a7f730817f5828d51ef5ce51dbbae","unresolved":false,"context_lines":[{"line_number":141,"context_line":"                 \u0027(Name or ID)\u0027"},{"line_number":142,"context_line":"        )"},{"line_number":143,"context_line":"        subnet_pool_group.add_argument("},{"line_number":144,"context_line":"            \u0027--use-default-subnet-pool\u0027,"},{"line_number":145,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":146,"context_line":"            help\u003d\u0027Use default subnet pool for --ip-version\u0027"},{"line_number":147,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":10,"id":"5aef4532_77ca1da3","line":144,"in_reply_to":"7af24918_6e487088","updated":"2016-03-07 15:13:47.000000000","message":"Instead, I updated _get_attrs to only pass the argument if it is set to True.  I think Jenkins actually failed because I didn\u0027t update my unit tests and they still expected the use_default_subnetpool \u003d false even though it wasn\u0027t getting passed with my latest _get_attrs() change.  I updated the unit tests and now they pass","commit_id":"a05df13c42c84575f0f3989624d1d6d5b90a8b3b"},{"author":{"_account_id":8276,"name":"kiwik","email":"chenrui.momo@gmail.com","username":"kiwik"},"change_message_id":"6493c3dda3cf6d7f65f70fabaadfe99b7d93d989","unresolved":false,"context_lines":[{"line_number":233,"context_line":"            help\u003d\u0027IPv6 address mode, \u0027"},{"line_number":234,"context_line":"                 \u0027valid modes: [dhcpv6-stateful, dhcpv6-stateless, slaac]\u0027"},{"line_number":235,"context_line":"        )"},{"line_number":236,"context_line":"        parser.add_argument("},{"line_number":237,"context_line":"            \u0027--network\u0027,"},{"line_number":238,"context_line":"            required\u003dTrue,"},{"line_number":239,"context_line":"            metavar\u003d\u0027\u003cnetwork\u003e\u0027,"},{"line_number":240,"context_line":"            help\u003d\u0027Network this subnet belongs to (name or ID)\u0027"},{"line_number":241,"context_line":"        )"},{"line_number":242,"context_line":"        parser.add_argument("},{"line_number":243,"context_line":"            \u0027--project\u0027,"},{"line_number":244,"context_line":"            metavar\u003d\u0027\u003cproject\u003e\u0027,"}],"source_content_type":"text/x-python","patch_set":10,"id":"5aef4532_c630b80a","line":241,"range":{"start_line":236,"start_character":8,"end_line":241,"end_character":9},"updated":"2016-03-07 08:43:40.000000000","message":"I prefer the required argument is the last one, that make the user more easy to find out which argument must be pass when they print the command help.\n\nAnd that will be consistent with your current rst document.","commit_id":"a05df13c42c84575f0f3989624d1d6d5b90a8b3b"},{"author":{"_account_id":14957,"name":"Brad Behle","email":"behle@us.ibm.com","username":"behle"},"change_message_id":"b0644ada127a7f730817f5828d51ef5ce51dbbae","unresolved":false,"context_lines":[{"line_number":233,"context_line":"            help\u003d\u0027IPv6 address mode, \u0027"},{"line_number":234,"context_line":"                 \u0027valid modes: [dhcpv6-stateful, dhcpv6-stateless, slaac]\u0027"},{"line_number":235,"context_line":"        )"},{"line_number":236,"context_line":"        parser.add_argument("},{"line_number":237,"context_line":"            \u0027--network\u0027,"},{"line_number":238,"context_line":"            required\u003dTrue,"},{"line_number":239,"context_line":"            metavar\u003d\u0027\u003cnetwork\u003e\u0027,"},{"line_number":240,"context_line":"            help\u003d\u0027Network this subnet belongs to (name or ID)\u0027"},{"line_number":241,"context_line":"        )"},{"line_number":242,"context_line":"        parser.add_argument("},{"line_number":243,"context_line":"            \u0027--project\u0027,"},{"line_number":244,"context_line":"            metavar\u003d\u0027\u003cproject\u003e\u0027,"}],"source_content_type":"text/x-python","patch_set":10,"id":"5aef4532_f7be2dfe","line":241,"range":{"start_line":236,"start_character":8,"end_line":241,"end_character":9},"in_reply_to":"5aef4532_c630b80a","updated":"2016-03-07 15:13:47.000000000","message":"Done","commit_id":"a05df13c42c84575f0f3989624d1d6d5b90a8b3b"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"89f8dbfe9264137bfc96b1b9947cdf25911eee25","unresolved":false,"context_lines":[{"line_number":14,"context_line":"\"\"\"Subnet action implementations\"\"\""},{"line_number":15,"context_line":"import copy"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from oslo_serialization import jsonutils"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from openstackclient.common import command"},{"line_number":20,"context_line":"from openstackclient.common import parseractions"}],"source_content_type":"text/x-python","patch_set":12,"id":"5aef4532_f86e03c8","line":17,"updated":"2016-03-08 12:22:55.000000000","message":"Do not import new oslo dependencies","commit_id":"1b430292bbade2e6f90ba97d9f8219ff5fe1141b"},{"author":{"_account_id":14957,"name":"Brad Behle","email":"behle@us.ibm.com","username":"behle"},"change_message_id":"a5d1056683ed55dab85dcff3a74b4745b5e7b1ed","unresolved":false,"context_lines":[{"line_number":14,"context_line":"\"\"\"Subnet action implementations\"\"\""},{"line_number":15,"context_line":"import copy"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from oslo_serialization import jsonutils"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from openstackclient.common import command"},{"line_number":20,"context_line":"from openstackclient.common import parseractions"}],"source_content_type":"text/x-python","patch_set":12,"id":"5aef4532_f70c3296","line":17,"in_reply_to":"5aef4532_f86e03c8","updated":"2016-03-08 14:55:12.000000000","message":"Okay, I can take this out and find another way to do _format_host_routes.  For my education can you explain why?  I don\u0027t remember for sure but I think when I wrote this I copied this code from somewhere else in OSC.","commit_id":"1b430292bbade2e6f90ba97d9f8219ff5fe1141b"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"b18a171e6c869a653851b7f1179607437713dd8b","unresolved":false,"context_lines":[{"line_number":93,"context_line":"                                              ignore_missing\u003dFalse)"},{"line_number":94,"context_line":"        attrs[\u0027subnetpool_id\u0027] \u003d subnet_pool.id"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"    if parsed_args.use_default_subnet_pool is not None and \\"},{"line_number":97,"context_line":"       parsed_args.use_default_subnet_pool is True:"},{"line_number":98,"context_line":"        attrs[\u0027use_default_subnetpool\u0027] \u003d parsed_args.use_default_subnet_pool"},{"line_number":99,"context_line":"    if parsed_args.no_gateway is not None and parsed_args.no_gateway is True:"}],"source_content_type":"text/x-python","patch_set":12,"id":"5aef4532_1e95aee3","line":96,"updated":"2016-03-07 16:43:54.000000000","message":"I think you can simplify to be...\n\n\nif parsed_args.use_default_subnet_pool:\n    attrs[\u0027use_default_subnetpool\u0027] \u003d True","commit_id":"1b430292bbade2e6f90ba97d9f8219ff5fe1141b"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"89f8dbfe9264137bfc96b1b9947cdf25911eee25","unresolved":false,"context_lines":[{"line_number":93,"context_line":"                                              ignore_missing\u003dFalse)"},{"line_number":94,"context_line":"        attrs[\u0027subnetpool_id\u0027] \u003d subnet_pool.id"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"    if parsed_args.use_default_subnet_pool is not None and \\"},{"line_number":97,"context_line":"       parsed_args.use_default_subnet_pool is True:"},{"line_number":98,"context_line":"        attrs[\u0027use_default_subnetpool\u0027] \u003d parsed_args.use_default_subnet_pool"},{"line_number":99,"context_line":"    if parsed_args.no_gateway is not None and parsed_args.no_gateway is True:"}],"source_content_type":"text/x-python","patch_set":12,"id":"5aef4532_8d47a41c","line":96,"in_reply_to":"5aef4532_1e95aee3","updated":"2016-03-08 12:22:55.000000000","message":"These can all be simplified.  Do you expect to call this from more than one command?","commit_id":"1b430292bbade2e6f90ba97d9f8219ff5fe1141b"},{"author":{"_account_id":14957,"name":"Brad Behle","email":"behle@us.ibm.com","username":"behle"},"change_message_id":"a5d1056683ed55dab85dcff3a74b4745b5e7b1ed","unresolved":false,"context_lines":[{"line_number":93,"context_line":"                                              ignore_missing\u003dFalse)"},{"line_number":94,"context_line":"        attrs[\u0027subnetpool_id\u0027] \u003d subnet_pool.id"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"    if parsed_args.use_default_subnet_pool is not None and \\"},{"line_number":97,"context_line":"       parsed_args.use_default_subnet_pool is True:"},{"line_number":98,"context_line":"        attrs[\u0027use_default_subnetpool\u0027] \u003d parsed_args.use_default_subnet_pool"},{"line_number":99,"context_line":"    if parsed_args.no_gateway is not None and parsed_args.no_gateway is True:"}],"source_content_type":"text/x-python","patch_set":12,"id":"5aef4532_37a4daa4","line":96,"in_reply_to":"5aef4532_8d47a41c","updated":"2016-03-08 14:55:12.000000000","message":"I just tested using subnet create, and it does appear that at least the boolean ones with defaults can be simplified to not check None since they will be either true or false.\n\nI don\u0027t see where ones like ipv6_ra_mode or dns_nameservers can be simplified since they can be None, I don\u0027t think we want to pass in attributes set to None if we can help it.\n\nAs far as this being called by other commands, I think it is possible that \"subnet set\" might call this.  Reedip has a review out for that, https://review.openstack.org/#/c/281129/  but is waiting for this patch to merge before continuing work on that one.\n\nLet me know if you think more than just the boolean options with defaults should be simpilified to not check None, or if any of the option checks could/should be simplified in other ways.","commit_id":"1b430292bbade2e6f90ba97d9f8219ff5fe1141b"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"89f8dbfe9264137bfc96b1b9947cdf25911eee25","unresolved":false,"context_lines":[{"line_number":135,"context_line":"            help\u003d\"Owner\u0027s project (name or ID)\""},{"line_number":136,"context_line":"        )"},{"line_number":137,"context_line":"        identity_common.add_project_domain_option_to_parser(parser)"},{"line_number":138,"context_line":"        parser.add_argument("},{"line_number":139,"context_line":"            \u0027name\u0027,"},{"line_number":140,"context_line":"            help\u003d\u0027New subnet name\u0027"},{"line_number":141,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":12,"id":"5aef4532_2d5f70e6","line":138,"updated":"2016-03-08 12:22:55.000000000","message":"Positional args should be definied first.","commit_id":"1b430292bbade2e6f90ba97d9f8219ff5fe1141b"},{"author":{"_account_id":14957,"name":"Brad Behle","email":"behle@us.ibm.com","username":"behle"},"change_message_id":"4d8726cd09e2ad87fcc6e5762690599152a13a38","unresolved":false,"context_lines":[{"line_number":135,"context_line":"            help\u003d\"Owner\u0027s project (name or ID)\""},{"line_number":136,"context_line":"        )"},{"line_number":137,"context_line":"        identity_common.add_project_domain_option_to_parser(parser)"},{"line_number":138,"context_line":"        parser.add_argument("},{"line_number":139,"context_line":"            \u0027name\u0027,"},{"line_number":140,"context_line":"            help\u003d\u0027New subnet name\u0027"},{"line_number":141,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":12,"id":"5aef4532_081d2b0f","line":138,"in_reply_to":"5aef4532_2d5f70e6","updated":"2016-03-08 20:00:35.000000000","message":"Done","commit_id":"1b430292bbade2e6f90ba97d9f8219ff5fe1141b"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"7031514518e1b4ce3ed9c59b58cb40e359d17f8a","unresolved":false,"context_lines":[{"line_number":210,"context_line":"        )"},{"line_number":211,"context_line":"        parser.add_argument("},{"line_number":212,"context_line":"            \u0027--host-route\u0027,"},{"line_number":213,"context_line":"            metavar\u003d\u0027destination\u003dsubnet,gateway\u003dip-address\u0027,"},{"line_number":214,"context_line":"            dest\u003d\u0027host_routes\u0027,"},{"line_number":215,"context_line":"            action\u003dparseractions.MultiKeyValueAction,"},{"line_number":216,"context_line":"            required_keys\u003d[\u0027destination\u0027, \u0027gateway\u0027],"}],"source_content_type":"text/x-python","patch_set":14,"id":"5aef4532_f437c24a","line":213,"updated":"2016-03-09 17:03:53.000000000","message":"destination\u003d\u003csubnet\u003e,gateway\u003d\u003cip-address\u003e","commit_id":"9e796a32c32cffdadfa29f38e65e58318838b3af"},{"author":{"_account_id":14957,"name":"Brad Behle","email":"behle@us.ibm.com","username":"behle"},"change_message_id":"8b35ec2eaf2525dbf009cb790d41ff47b5cf9d28","unresolved":false,"context_lines":[{"line_number":210,"context_line":"        )"},{"line_number":211,"context_line":"        parser.add_argument("},{"line_number":212,"context_line":"            \u0027--host-route\u0027,"},{"line_number":213,"context_line":"            metavar\u003d\u0027destination\u003dsubnet,gateway\u003dip-address\u0027,"},{"line_number":214,"context_line":"            dest\u003d\u0027host_routes\u0027,"},{"line_number":215,"context_line":"            action\u003dparseractions.MultiKeyValueAction,"},{"line_number":216,"context_line":"            required_keys\u003d[\u0027destination\u0027, \u0027gateway\u0027],"}],"source_content_type":"text/x-python","patch_set":14,"id":"5aef4532_8e8bb5c2","line":213,"in_reply_to":"5aef4532_f437c24a","updated":"2016-03-10 03:50:29.000000000","message":"Done","commit_id":"9e796a32c32cffdadfa29f38e65e58318838b3af"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"340feb9d7db34c1465216d396ca172d1e0b3774d","unresolved":false,"context_lines":[{"line_number":264,"context_line":"        parser.add_argument("},{"line_number":265,"context_line":"            \u0027subnet\u0027,"},{"line_number":266,"context_line":"            metavar\u003d\"\u003csubnet\u003e\","},{"line_number":267,"context_line":"            help\u003d\"Subnet to delete (name or ID)\","},{"line_number":268,"context_line":"        )"},{"line_number":269,"context_line":"        return parser"},{"line_number":270,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"5aef4532_7c48e387","line":267,"range":{"start_line":267,"start_character":48,"end_line":267,"end_character":49},"updated":"2016-03-09 06:08:06.000000000","message":"I don\u0027t think a \u0027,\u0027 should be added in the end of a function parameter list. We add one in the end of a dict or a list is that it is convenience to copy. We don\u0027t often copy a function parameter list because function\u0027s parameters are often consistent, not changeable.","commit_id":"9e796a32c32cffdadfa29f38e65e58318838b3af"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"7031514518e1b4ce3ed9c59b58cb40e359d17f8a","unresolved":false,"context_lines":[{"line_number":264,"context_line":"        parser.add_argument("},{"line_number":265,"context_line":"            \u0027subnet\u0027,"},{"line_number":266,"context_line":"            metavar\u003d\"\u003csubnet\u003e\","},{"line_number":267,"context_line":"            help\u003d\"Subnet to delete (name or ID)\","},{"line_number":268,"context_line":"        )"},{"line_number":269,"context_line":"        return parser"},{"line_number":270,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"5aef4532_94bc7e07","line":267,"in_reply_to":"5aef4532_7c48e387","updated":"2016-03-09 17:03:53.000000000","message":"Adding them in places not otherwise modified may not be the best form (unless the entire review is formatting-related) but is OK with me.\n\nFWIW, the argument calls do get copied around a good bit.  that said, I try really hard to keep the help\u003d arg last in these lists and this is one reason why.","commit_id":"9e796a32c32cffdadfa29f38e65e58318838b3af"},{"author":{"_account_id":14957,"name":"Brad Behle","email":"behle@us.ibm.com","username":"behle"},"change_message_id":"8b35ec2eaf2525dbf009cb790d41ff47b5cf9d28","unresolved":false,"context_lines":[{"line_number":264,"context_line":"        parser.add_argument("},{"line_number":265,"context_line":"            \u0027subnet\u0027,"},{"line_number":266,"context_line":"            metavar\u003d\"\u003csubnet\u003e\","},{"line_number":267,"context_line":"            help\u003d\"Subnet to delete (name or ID)\","},{"line_number":268,"context_line":"        )"},{"line_number":269,"context_line":"        return parser"},{"line_number":270,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"5aef4532_ce7f7da9","line":267,"in_reply_to":"5aef4532_94bc7e07","updated":"2016-03-10 03:50:29.000000000","message":"Since there are differing opinions, and since the network.py includes commas after the last parameter in calls to parser.add_argument(...), I am going to leave them in here.","commit_id":"9e796a32c32cffdadfa29f38e65e58318838b3af"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"1973ae4a73707667ec1349e6a63f418fd4fab69e","unresolved":false,"context_lines":[{"line_number":201,"context_line":"            default\u003d\u0027default\u0027,"},{"line_number":202,"context_line":"            help\u003d\"Specify a gateway for the subnet.  The three options are: \""},{"line_number":203,"context_line":"                 \"  \u003cip-address\u003e: Specific IP address to use as the gateway, \""},{"line_number":204,"context_line":"                 \"  \u0027default\u0027:    Gateway address should automatically be \""},{"line_number":205,"context_line":"                 \"                chosen from within the subnet itself, \""},{"line_number":206,"context_line":"                 \"  \u0027none\u0027:       This subnet will not use a gateway. \""},{"line_number":207,"context_line":"                 \"     e.g.: --gateway 192.168.9.1, --gateway default, \""}],"source_content_type":"text/x-python","patch_set":15,"id":"5aef4532_380ef98b","line":204,"updated":"2016-03-10 16:41:26.000000000","message":"Should the help note this is the default?","commit_id":"a3be27dc1acb9352eba2e923fb2e7a53d5eb06ef"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"dba767300b8d21bdc38420468206c920b5f5026c","unresolved":false,"context_lines":[{"line_number":201,"context_line":"            default\u003d\u0027default\u0027,"},{"line_number":202,"context_line":"            help\u003d\"Specify a gateway for the subnet.  The three options are: \""},{"line_number":203,"context_line":"                 \"  \u003cip-address\u003e: Specific IP address to use as the gateway, \""},{"line_number":204,"context_line":"                 \"  \u0027default\u0027:    Gateway address should automatically be \""},{"line_number":205,"context_line":"                 \"                chosen from within the subnet itself, \""},{"line_number":206,"context_line":"                 \"  \u0027none\u0027:       This subnet will not use a gateway. \""},{"line_number":207,"context_line":"                 \"     e.g.: --gateway 192.168.9.1, --gateway default, \""}],"source_content_type":"text/x-python","patch_set":15,"id":"5aef4532_7516c74c","line":204,"in_reply_to":"5aef4532_380ef98b","updated":"2016-03-10 17:44:30.000000000","message":"Yes it should.\n\nAlso, the other instance I can think of where we either supply a value or let the server do that (flavor create) we used \u0027auto\u0027.  That should also simply the awkward \u0027default is the default\u0027 that would appear in the help here.","commit_id":"a3be27dc1acb9352eba2e923fb2e7a53d5eb06ef"},{"author":{"_account_id":14957,"name":"Brad Behle","email":"behle@us.ibm.com","username":"behle"},"change_message_id":"25f29a55831287a808de83dc60619b6ba3c9ec4e","unresolved":false,"context_lines":[{"line_number":201,"context_line":"            default\u003d\u0027default\u0027,"},{"line_number":202,"context_line":"            help\u003d\"Specify a gateway for the subnet.  The three options are: \""},{"line_number":203,"context_line":"                 \"  \u003cip-address\u003e: Specific IP address to use as the gateway, \""},{"line_number":204,"context_line":"                 \"  \u0027default\u0027:    Gateway address should automatically be \""},{"line_number":205,"context_line":"                 \"                chosen from within the subnet itself, \""},{"line_number":206,"context_line":"                 \"  \u0027none\u0027:       This subnet will not use a gateway. \""},{"line_number":207,"context_line":"                 \"     e.g.: --gateway 192.168.9.1, --gateway default, \""}],"source_content_type":"text/x-python","patch_set":15,"id":"5aef4532_f1101e02","line":204,"in_reply_to":"5aef4532_7516c74c","updated":"2016-03-10 22:23:40.000000000","message":"Done.  I changed the string to \u0027auto\u0027 and added a line stating \u0027auto\u0027 is the default.","commit_id":"a3be27dc1acb9352eba2e923fb2e7a53d5eb06ef"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"dba767300b8d21bdc38420468206c920b5f5026c","unresolved":false,"context_lines":[{"line_number":205,"context_line":"                 \"                chosen from within the subnet itself, \""},{"line_number":206,"context_line":"                 \"  \u0027none\u0027:       This subnet will not use a gateway. \""},{"line_number":207,"context_line":"                 \"     e.g.: --gateway 192.168.9.1, --gateway default, \""},{"line_number":208,"context_line":"                 \"           --gateway none.\","},{"line_number":209,"context_line":"        )"},{"line_number":210,"context_line":"        parser.add_argument("},{"line_number":211,"context_line":"            \u0027--host-route\u0027,"}],"source_content_type":"text/x-python","patch_set":15,"id":"5aef4532_753d27c3","line":208,"updated":"2016-03-10 17:44:30.000000000","message":"no period here unless the argument requires it\n\nit looks like you also have commas separating the choices, I don\u0027t think any punctuation is required in this case...","commit_id":"a3be27dc1acb9352eba2e923fb2e7a53d5eb06ef"},{"author":{"_account_id":14957,"name":"Brad Behle","email":"behle@us.ibm.com","username":"behle"},"change_message_id":"25f29a55831287a808de83dc60619b6ba3c9ec4e","unresolved":false,"context_lines":[{"line_number":205,"context_line":"                 \"                chosen from within the subnet itself, \""},{"line_number":206,"context_line":"                 \"  \u0027none\u0027:       This subnet will not use a gateway. \""},{"line_number":207,"context_line":"                 \"     e.g.: --gateway 192.168.9.1, --gateway default, \""},{"line_number":208,"context_line":"                 \"           --gateway none.\","},{"line_number":209,"context_line":"        )"},{"line_number":210,"context_line":"        parser.add_argument("},{"line_number":211,"context_line":"            \u0027--host-route\u0027,"}],"source_content_type":"text/x-python","patch_set":15,"id":"5aef4532_1125ca5a","line":208,"in_reply_to":"5aef4532_753d27c3","updated":"2016-03-10 22:23:40.000000000","message":"Done","commit_id":"a3be27dc1acb9352eba2e923fb2e7a53d5eb06ef"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"dba767300b8d21bdc38420468206c920b5f5026c","unresolved":false,"context_lines":[{"line_number":221,"context_line":"        )"},{"line_number":222,"context_line":"        parser.add_argument("},{"line_number":223,"context_line":"            \u0027--ip-version\u0027,"},{"line_number":224,"context_line":"            type\u003dint,"},{"line_number":225,"context_line":"            default\u003d4, choices\u003d[4, 6],"},{"line_number":226,"context_line":"            help\u003d\u0027IP version (default is 4).  Note that when subnet pool is \u0027"},{"line_number":227,"context_line":"                 \u0027specified, IP version is determined from the subnet pool \u0027"}],"source_content_type":"text/x-python","patch_set":15,"id":"5aef4532_7599a7c3","line":224,"updated":"2016-03-10 17:44:30.000000000","message":"Since doing my review here yesterday I saw a place where we changed IP version from an int to a string.  I don\u0027t know why but we should probably sort that one out.","commit_id":"a3be27dc1acb9352eba2e923fb2e7a53d5eb06ef"},{"author":{"_account_id":14957,"name":"Brad Behle","email":"behle@us.ibm.com","username":"behle"},"change_message_id":"25f29a55831287a808de83dc60619b6ba3c9ec4e","unresolved":false,"context_lines":[{"line_number":221,"context_line":"        )"},{"line_number":222,"context_line":"        parser.add_argument("},{"line_number":223,"context_line":"            \u0027--ip-version\u0027,"},{"line_number":224,"context_line":"            type\u003dint,"},{"line_number":225,"context_line":"            default\u003d4, choices\u003d[4, 6],"},{"line_number":226,"context_line":"            help\u003d\u0027IP version (default is 4).  Note that when subnet pool is \u0027"},{"line_number":227,"context_line":"                 \u0027specified, IP version is determined from the subnet pool \u0027"}],"source_content_type":"text/x-python","patch_set":15,"id":"5aef4532_f19ade60","line":224,"in_reply_to":"5aef4532_7599a7c3","updated":"2016-03-10 22:23:40.000000000","message":"The only place I do that is in the test_subnet.py.  It is better for comparisons to store the ip_version as an int in the FakeSubnet, however when calling check_parser it expects the parameters to be strings (otherwise it throws an exception deep in the parsing code when it attempts to look at the first char in the parm value).  So when passing it in as a parameter I convert it to a string.  I did verify that other tests do the same (pass in string values but then compare the expected value with int values), and I don\u0027t see a better way to do it short of rewriting the parsing code.","commit_id":"a3be27dc1acb9352eba2e923fb2e7a53d5eb06ef"}],"openstackclient/tests/network/v2/fakes.py":[{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"3751e581a3d2c22ed44fe1b25effbaadf2517cb5","unresolved":false,"context_lines":[{"line_number":585,"context_line":"            \u0027keys\u0027: [\u0027id\u0027, \u0027name\u0027, \u0027network_id\u0027, \u0027cidr\u0027, \u0027enable_dhcp\u0027,"},{"line_number":586,"context_line":"                     \u0027allocation_pools\u0027, \u0027dns_nameservers\u0027, \u0027gateway_ip\u0027,"},{"line_number":587,"context_line":"                     \u0027host_routes\u0027, \u0027ip_version\u0027, \u0027tenant_id\u0027,"},{"line_number":588,"context_line":"                     \u0027ipv6_address_mode\u0027, \u0027ipv6_ra_mode\u0027, \u0027subnetpool_id\u0027]"},{"line_number":589,"context_line":"        }"},{"line_number":590,"context_line":""},{"line_number":591,"context_line":"        # Overwrite default methods."}],"source_content_type":"text/x-python","patch_set":7,"id":"7af24918_b8c13031","line":588,"updated":"2016-03-01 18:00:17.000000000","message":"Add use_default_subnetpool here.","commit_id":"71468d8e1afbd576a7c201aa9316a0ea1c1822ac"},{"author":{"_account_id":14957,"name":"Brad Behle","email":"behle@us.ibm.com","username":"behle"},"change_message_id":"58d0d68ae9167e79d34c0b31d19d9629868d87fe","unresolved":false,"context_lines":[{"line_number":585,"context_line":"            \u0027keys\u0027: [\u0027id\u0027, \u0027name\u0027, \u0027network_id\u0027, \u0027cidr\u0027, \u0027enable_dhcp\u0027,"},{"line_number":586,"context_line":"                     \u0027allocation_pools\u0027, \u0027dns_nameservers\u0027, \u0027gateway_ip\u0027,"},{"line_number":587,"context_line":"                     \u0027host_routes\u0027, \u0027ip_version\u0027, \u0027tenant_id\u0027,"},{"line_number":588,"context_line":"                     \u0027ipv6_address_mode\u0027, \u0027ipv6_ra_mode\u0027, \u0027subnetpool_id\u0027]"},{"line_number":589,"context_line":"        }"},{"line_number":590,"context_line":""},{"line_number":591,"context_line":"        # Overwrite default methods."}],"source_content_type":"text/x-python","patch_set":7,"id":"7af24918_72248bae","line":588,"in_reply_to":"7af24918_b8c13031","updated":"2016-03-02 19:37:10.000000000","message":"As I looked more at this, I decided to remove use_default_subnetpool from the Fake object.  The Fake object is designed more for attributes that will be returned from the \"show\" commands.  The use_default_subnetpool and prefixlen options for create are just used to describe the subnetpool and prefixlen of the range to get out of the subnet pool, so I don\u0027t include them in the fake object.","commit_id":"71468d8e1afbd576a7c201aa9316a0ea1c1822ac"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"89f8dbfe9264137bfc96b1b9947cdf25911eee25","unresolved":false,"context_lines":[{"line_number":577,"context_line":"            \u0027gateway_ip\u0027: \u002710.10.10.1\u0027,"},{"line_number":578,"context_line":"            \u0027ipv6_address_mode\u0027: \u0027None\u0027,"},{"line_number":579,"context_line":"            \u0027ipv6_ra_mode\u0027: \u0027None\u0027,"},{"line_number":580,"context_line":"            \u0027subnetpool_id\u0027: \u0027None\u0027,"},{"line_number":581,"context_line":"        }"},{"line_number":582,"context_line":""},{"line_number":583,"context_line":"        # Overwrite default attributes."}],"source_content_type":"text/x-python","patch_set":12,"id":"5aef4532_0dd71424","side":"PARENT","line":580,"updated":"2016-03-08 12:22:55.000000000","message":"Leaving these commas is fine.  I prefer them actually for when a line is added below","commit_id":"fc24f37ae28e1b7f6b9587a8062a314d660a0136"},{"author":{"_account_id":14957,"name":"Brad Behle","email":"behle@us.ibm.com","username":"behle"},"change_message_id":"4d8726cd09e2ad87fcc6e5762690599152a13a38","unresolved":false,"context_lines":[{"line_number":577,"context_line":"            \u0027gateway_ip\u0027: \u002710.10.10.1\u0027,"},{"line_number":578,"context_line":"            \u0027ipv6_address_mode\u0027: \u0027None\u0027,"},{"line_number":579,"context_line":"            \u0027ipv6_ra_mode\u0027: \u0027None\u0027,"},{"line_number":580,"context_line":"            \u0027subnetpool_id\u0027: \u0027None\u0027,"},{"line_number":581,"context_line":"        }"},{"line_number":582,"context_line":""},{"line_number":583,"context_line":"        # Overwrite default attributes."}],"source_content_type":"text/x-python","patch_set":12,"id":"5aef4532_e8e8bfb6","side":"PARENT","line":580,"in_reply_to":"5aef4532_0dd71424","updated":"2016-03-08 20:00:35.000000000","message":"Done, and I added them in to some places in the code I\u0027ve modified, since I hadn\u0027t been consistent with either using them or not.","commit_id":"fc24f37ae28e1b7f6b9587a8062a314d660a0136"}],"openstackclient/tests/network/v2/test_subnet.py":[{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"e24466b51153badf600698fb495e995fea956a99","unresolved":false,"context_lines":[{"line_number":176,"context_line":"            (\u0027name\u0027, self._subnet.name),"},{"line_number":177,"context_line":"            (\u0027subnet_range\u0027, self._subnet.cidr),"},{"line_number":178,"context_line":"            (\u0027network\u0027, self._subnet.network_id),"},{"line_number":179,"context_line":"            (\u0027ip_version\u0027, int(self._subnet.ip_version)),"},{"line_number":180,"context_line":"        ]"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"        parsed_args \u003d self.check_parser(self.cmd, arglist, verifylist)"}],"source_content_type":"text/x-python","patch_set":4,"id":"bae84128_a79a8c6c","line":179,"updated":"2016-02-25 16:47:56.000000000","message":"I suggest changing the fake resource to use an int.","commit_id":"153da3864ae4ee613ec3de8d5560038e4315a246"},{"author":{"_account_id":14957,"name":"Brad Behle","email":"behle@us.ibm.com","username":"behle"},"change_message_id":"ff6716d948430bf26a3cbf6ad20c7c26869c5696","unresolved":false,"context_lines":[{"line_number":176,"context_line":"            (\u0027name\u0027, self._subnet.name),"},{"line_number":177,"context_line":"            (\u0027subnet_range\u0027, self._subnet.cidr),"},{"line_number":178,"context_line":"            (\u0027network\u0027, self._subnet.network_id),"},{"line_number":179,"context_line":"            (\u0027ip_version\u0027, int(self._subnet.ip_version)),"},{"line_number":180,"context_line":"        ]"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"        parsed_args \u003d self.check_parser(self.cmd, arglist, verifylist)"}],"source_content_type":"text/x-python","patch_set":4,"id":"9aed3d3a_e666d3eb","line":179,"in_reply_to":"bae84128_a79a8c6c","updated":"2016-03-01 05:28:02.000000000","message":"Done","commit_id":"153da3864ae4ee613ec3de8d5560038e4315a246"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"effbec83c4567f75f0b764b51c3ec21f9eb97482","unresolved":false,"context_lines":[{"line_number":49,"context_line":"            \u0027dns_nameservers\u0027: [\u0027fe80:27ff:a00a:f00f::ffff\u0027,"},{"line_number":50,"context_line":"                                \u0027fe80:37ff:a00a:f00f::ffff\u0027],"},{"line_number":51,"context_line":"            \u0027allocation_pools\u0027: [{\u0027start\u0027: \u0027fe80::a00a:0:c0de:0:100\u0027,"},{"line_number":52,"context_line":"                                  \u0027end\u0027:   \u0027fe80::a00a:0:c0de:0:f000\u0027},"},{"line_number":53,"context_line":"                                 {\u0027start\u0027: \u0027fe80::a00a:0:c0de:1:100\u0027,"},{"line_number":54,"context_line":"                                  \u0027end\u0027:   \u0027fe80::a00a:0:c0de:1:f000\u0027}],"},{"line_number":55,"context_line":"            \u0027host_routes\u0027: [{\u0027destination\u0027: \u0027fe80:27ff:a00a:f00f::/64\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"9aed3d3a_bc117d5f","line":52,"updated":"2016-03-01 04:02:11.000000000","message":"Can you change the spacing? ( only one space is required after \u0027:\u0027)\nToo much spaces make pep8 complaint a lot!","commit_id":"30fbf22aab95469dc18be608d03f0b5c89fd1843"},{"author":{"_account_id":14957,"name":"Brad Behle","email":"behle@us.ibm.com","username":"behle"},"change_message_id":"0a4957bde915fa8ec23af8c07ea8d5e35fc0d32b","unresolved":false,"context_lines":[{"line_number":49,"context_line":"            \u0027dns_nameservers\u0027: [\u0027fe80:27ff:a00a:f00f::ffff\u0027,"},{"line_number":50,"context_line":"                                \u0027fe80:37ff:a00a:f00f::ffff\u0027],"},{"line_number":51,"context_line":"            \u0027allocation_pools\u0027: [{\u0027start\u0027: \u0027fe80::a00a:0:c0de:0:100\u0027,"},{"line_number":52,"context_line":"                                  \u0027end\u0027:   \u0027fe80::a00a:0:c0de:0:f000\u0027},"},{"line_number":53,"context_line":"                                 {\u0027start\u0027: \u0027fe80::a00a:0:c0de:1:100\u0027,"},{"line_number":54,"context_line":"                                  \u0027end\u0027:   \u0027fe80::a00a:0:c0de:1:f000\u0027}],"},{"line_number":55,"context_line":"            \u0027host_routes\u0027: [{\u0027destination\u0027: \u0027fe80:27ff:a00a:f00f::/64\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"9aed3d3a_e694138c","line":52,"in_reply_to":"9aed3d3a_bc117d5f","updated":"2016-03-01 05:27:43.000000000","message":"Done","commit_id":"30fbf22aab95469dc18be608d03f0b5c89fd1843"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"3751e581a3d2c22ed44fe1b25effbaadf2517cb5","unresolved":false,"context_lines":[{"line_number":165,"context_line":"        # Mock create_subnet and find_network sdk calls to return the"},{"line_number":166,"context_line":"        # values we want for this test"},{"line_number":167,"context_line":"        self.network.create_subnet \u003d mock.Mock(return_value\u003dself._subnet)"},{"line_number":168,"context_line":"        self._network.id \u003d self._subnet.network_id"},{"line_number":169,"context_line":"        self.network.find_network \u003d mock.Mock(return_value\u003dself._network)"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"        arglist \u003d ["}],"source_content_type":"text/x-python","patch_set":7,"id":"7af24918_d8fcfc40","line":168,"updated":"2016-03-01 18:00:17.000000000","message":"This doesn\u0027t appear to be used.","commit_id":"71468d8e1afbd576a7c201aa9316a0ea1c1822ac"},{"author":{"_account_id":14957,"name":"Brad Behle","email":"behle@us.ibm.com","username":"behle"},"change_message_id":"58d0d68ae9167e79d34c0b31d19d9629868d87fe","unresolved":false,"context_lines":[{"line_number":165,"context_line":"        # Mock create_subnet and find_network sdk calls to return the"},{"line_number":166,"context_line":"        # values we want for this test"},{"line_number":167,"context_line":"        self.network.create_subnet \u003d mock.Mock(return_value\u003dself._subnet)"},{"line_number":168,"context_line":"        self._network.id \u003d self._subnet.network_id"},{"line_number":169,"context_line":"        self.network.find_network \u003d mock.Mock(return_value\u003dself._network)"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"        arglist \u003d ["}],"source_content_type":"text/x-python","patch_set":7,"id":"7af24918_72b48bd0","line":168,"in_reply_to":"7af24918_d8fcfc40","updated":"2016-03-02 19:37:10.000000000","message":"It is used.  I tried commenting it out and then the tests fail because the network returned by the find_network mock doesn\u0027t match the expected network id","commit_id":"71468d8e1afbd576a7c201aa9316a0ea1c1822ac"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"3751e581a3d2c22ed44fe1b25effbaadf2517cb5","unresolved":false,"context_lines":[{"line_number":194,"context_line":"        self.assertEqual(self.columns, columns)"},{"line_number":195,"context_line":"        self.assertEqual(self.data, data)"},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"    def test_create_all_options(self):"},{"line_number":198,"context_line":"        # Mock create_subnet and find_network sdk calls to return the"},{"line_number":199,"context_line":"        # values we want for this test"},{"line_number":200,"context_line":"        self.network.create_subnet \u003d mock.Mock(return_value\u003dself._subnet_ipv6)"}],"source_content_type":"text/x-python","patch_set":7,"id":"7af24918_c2108651","line":197,"updated":"2016-03-01 18:00:17.000000000","message":"This doesn\u0027t test all options.  Consider adding one or more tests for the remaining options.","commit_id":"71468d8e1afbd576a7c201aa9316a0ea1c1822ac"},{"author":{"_account_id":14957,"name":"Brad Behle","email":"behle@us.ibm.com","username":"behle"},"change_message_id":"58d0d68ae9167e79d34c0b31d19d9629868d87fe","unresolved":false,"context_lines":[{"line_number":194,"context_line":"        self.assertEqual(self.columns, columns)"},{"line_number":195,"context_line":"        self.assertEqual(self.data, data)"},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"    def test_create_all_options(self):"},{"line_number":198,"context_line":"        # Mock create_subnet and find_network sdk calls to return the"},{"line_number":199,"context_line":"        # values we want for this test"},{"line_number":200,"context_line":"        self.network.create_subnet \u003d mock.Mock(return_value\u003dself._subnet_ipv6)"}],"source_content_type":"text/x-python","patch_set":7,"id":"7af24918_927dd770","line":197,"in_reply_to":"7af24918_c2108651","updated":"2016-03-02 19:37:10.000000000","message":"Split this into two tests, one where a subnetpool is specified, and one where an IPv6 subnet range (CIDR) is specified.  Both tests include lots of the parameters, giving good test coverage","commit_id":"71468d8e1afbd576a7c201aa9316a0ea1c1822ac"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"3751e581a3d2c22ed44fe1b25effbaadf2517cb5","unresolved":false,"context_lines":[{"line_number":198,"context_line":"        # Mock create_subnet and find_network sdk calls to return the"},{"line_number":199,"context_line":"        # values we want for this test"},{"line_number":200,"context_line":"        self.network.create_subnet \u003d mock.Mock(return_value\u003dself._subnet_ipv6)"},{"line_number":201,"context_line":"        self._network.id \u003d self._subnet_ipv6.network_id"},{"line_number":202,"context_line":"        self.network.find_network \u003d mock.Mock(return_value\u003dself._network)"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"        arglist \u003d ["}],"source_content_type":"text/x-python","patch_set":7,"id":"7af24918_9889d4cd","line":201,"updated":"2016-03-01 18:00:17.000000000","message":"This doesn\u0027t appear to be used.","commit_id":"71468d8e1afbd576a7c201aa9316a0ea1c1822ac"},{"author":{"_account_id":14957,"name":"Brad Behle","email":"behle@us.ibm.com","username":"behle"},"change_message_id":"58d0d68ae9167e79d34c0b31d19d9629868d87fe","unresolved":false,"context_lines":[{"line_number":198,"context_line":"        # Mock create_subnet and find_network sdk calls to return the"},{"line_number":199,"context_line":"        # values we want for this test"},{"line_number":200,"context_line":"        self.network.create_subnet \u003d mock.Mock(return_value\u003dself._subnet_ipv6)"},{"line_number":201,"context_line":"        self._network.id \u003d self._subnet_ipv6.network_id"},{"line_number":202,"context_line":"        self.network.find_network \u003d mock.Mock(return_value\u003dself._network)"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"        arglist \u003d ["}],"source_content_type":"text/x-python","patch_set":7,"id":"7af24918_d2cbdf51","line":201,"in_reply_to":"7af24918_9889d4cd","updated":"2016-03-02 19:37:10.000000000","message":"It is used.  See above comment","commit_id":"71468d8e1afbd576a7c201aa9316a0ea1c1822ac"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"89f8dbfe9264137bfc96b1b9947cdf25911eee25","unresolved":false,"context_lines":[{"line_number":31,"context_line":"        self.network \u003d self.app.client_manager.network"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"class TestCreateSubnetIdentityV3(TestSubnet):"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    # An IPv4 subnet to be created with mostly default values"},{"line_number":37,"context_line":"    _subnet \u003d network_fakes.FakeSubnet.create_one_subnet("}],"source_content_type":"text/x-python","patch_set":12,"id":"5aef4532_edc5883c","line":34,"updated":"2016-03-08 12:22:55.000000000","message":"What does Identity v3 have to do with this?  If there is something specific to the Identity version, we need to handle v2 also, it will be with us for some time yet.","commit_id":"1b430292bbade2e6f90ba97d9f8219ff5fe1141b"},{"author":{"_account_id":14957,"name":"Brad Behle","email":"behle@us.ibm.com","username":"behle"},"change_message_id":"4d8726cd09e2ad87fcc6e5762690599152a13a38","unresolved":false,"context_lines":[{"line_number":31,"context_line":"        self.network \u003d self.app.client_manager.network"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"class TestCreateSubnetIdentityV3(TestSubnet):"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    # An IPv4 subnet to be created with mostly default values"},{"line_number":37,"context_line":"    _subnet \u003d network_fakes.FakeSubnet.create_one_subnet("}],"source_content_type":"text/x-python","patch_set":12,"id":"5aef4532_560d1f3d","line":34,"in_reply_to":"5aef4532_edc5883c","updated":"2016-03-08 20:00:35.000000000","message":"I took this test class from the test_network.py file, where they test both with Identity v3 and Identity v2.  Their Identity v2 unit tests just test that the network can be created with just the --project parameter, but will fail if the --project-domain parameter is specified.\n\nWhile I did test those manually, they didn\u0027t seem important enough to add to unit tests so instead I focused on different combinations of parameters for create subnet since I thought those scenarios were more likely to break when changes are made in the future.  I\u0027ll change this class name to TestCreateSubnet.","commit_id":"1b430292bbade2e6f90ba97d9f8219ff5fe1141b"}],"setup.cfg":[{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"8466203dbaaeed4cbb27292e903ed1871afea27a","unresolved":false,"context_lines":[{"line_number":342,"context_line":"    security_group_rule_delete \u003d openstackclient.network.v2.security_group_rule:DeleteSecurityGroupRule"},{"line_number":343,"context_line":"    subnet_create \u003d openstackclient.network.v2.subnet:CreateSubnet"},{"line_number":344,"context_line":"    subnet_list \u003d openstackclient.network.v2.subnet:ListSubnet"},{"line_number":345,"context_line":"    subnet_pool_delete \u003d openstackclient.network.v2.subnet_pool:DeleteSubnetPool"},{"line_number":346,"context_line":"    subnet_show \u003d openstackclient.network.v2.subnet:ShowSubnet"},{"line_number":347,"context_line":""},{"line_number":348,"context_line":"openstack.object_store.v1 \u003d"}],"source_content_type":"text/x-ttcn-cfg","patch_set":2,"id":"bae84128_a03bda9b","line":345,"range":{"start_line":345,"start_character":4,"end_line":345,"end_character":22},"updated":"2016-02-19 08:54:32.000000000","message":"Please fix this in any patch in this serie.","commit_id":"52982e29377b02932bf34755dfea03e232a85ea4"},{"author":{"_account_id":14957,"name":"Brad Behle","email":"behle@us.ibm.com","username":"behle"},"change_message_id":"f8eee9b5c26c8637343ac7627e34dc3963c0f4c0","unresolved":false,"context_lines":[{"line_number":342,"context_line":"    security_group_rule_delete \u003d openstackclient.network.v2.security_group_rule:DeleteSecurityGroupRule"},{"line_number":343,"context_line":"    subnet_create \u003d openstackclient.network.v2.subnet:CreateSubnet"},{"line_number":344,"context_line":"    subnet_list \u003d openstackclient.network.v2.subnet:ListSubnet"},{"line_number":345,"context_line":"    subnet_pool_delete \u003d openstackclient.network.v2.subnet_pool:DeleteSubnetPool"},{"line_number":346,"context_line":"    subnet_show \u003d openstackclient.network.v2.subnet:ShowSubnet"},{"line_number":347,"context_line":""},{"line_number":348,"context_line":"openstack.object_store.v1 \u003d"}],"source_content_type":"text/x-ttcn-cfg","patch_set":2,"id":"bae84128_3c3451dc","line":345,"range":{"start_line":345,"start_character":4,"end_line":345,"end_character":22},"in_reply_to":"bae84128_a03bda9b","updated":"2016-02-23 21:48:42.000000000","message":"Done","commit_id":"52982e29377b02932bf34755dfea03e232a85ea4"}]}
