)]}'
{"doc/source/usage/osc/v2/load-balancer.rst":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"8298151c1332f9ee0cf40b2ae7682dc250a3d9c4","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"    openstack loadbalancer list"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"loadbalancer show"},{"line_number":16,"context_line":"-----------------"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":".. program:: loadbalancer show"}],"source_content_type":"text/x-rst","patch_set":23,"id":"df140735_9e876210","line":15,"updated":"2017-06-01 16:53:28.000000000","message":"We need to fill out the rest of these","commit_id":"399e96b46a361f4faa0d9e9d8b474a52b53760d7"},{"author":{"_account_id":25674,"name":"Jude Cross","email":"jucross@blizzard.com","username":"problem_v"},"change_message_id":"56a5e99bc0f90841c1fb2cca7618089a173fe60d","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"    openstack loadbalancer list"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"loadbalancer show"},{"line_number":16,"context_line":"-----------------"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":".. program:: loadbalancer show"}],"source_content_type":"text/x-rst","patch_set":23,"id":"df140735_1e4b52b0","line":15,"in_reply_to":"df140735_9e876210","updated":"2017-06-01 17:01:54.000000000","message":"Will do ASAP","commit_id":"399e96b46a361f4faa0d9e9d8b474a52b53760d7"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"1cccae5f6cfbadc305bda51417bcc9964292b9f0","unresolved":false,"context_lines":[{"line_number":5,"context_line":"loadbalancer list"},{"line_number":6,"context_line":"-----------------"},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"List load balancers"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":".. program:: loadbalancer list"},{"line_number":11,"context_line":".. code:: bash"}],"source_content_type":"text/x-rst","patch_set":25,"id":"df140735_3acef9b3","line":8,"updated":"2017-06-02 17:27:02.000000000","message":"These should probably include the \"standard\" OSC options that apply.  However, since other projects (neutron, glance) have skipped this, I think we can do it later.","commit_id":"74656d32203b98302228f05277f5e1f44dfd03ec"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"670d400219434df9d25bf27cfff550501531fc13","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"    openstack loadbalancer list"},{"line_number":14,"context_line":"        [--name \u003cname\u003e]"},{"line_number":15,"context_line":"        [--enable | --disable]"},{"line_number":16,"context_line":"        [--project \u003cproject-id\u003e]"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":".. option:: --name \u003cname\u003e"}],"source_content_type":"text/x-rst","patch_set":25,"id":"df140735_7c2368be","line":15,"updated":"2017-06-02 19:10:58.000000000","message":"This is really \"enable/disable\" not \"enabled/disabled\"? Weird, but OK :P\nIs this carried forward from something, or are we greenfield for this?","commit_id":"74656d32203b98302228f05277f5e1f44dfd03ec"},{"author":{"_account_id":25674,"name":"Jude Cross","email":"jucross@blizzard.com","username":"problem_v"},"change_message_id":"279eff0b112e61c2247d9b0da24f50b41f7e96e7","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"    openstack loadbalancer list"},{"line_number":14,"context_line":"        [--name \u003cname\u003e]"},{"line_number":15,"context_line":"        [--enable | --disable]"},{"line_number":16,"context_line":"        [--project \u003cproject-id\u003e]"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":".. option:: --name \u003cname\u003e"}],"source_content_type":"text/x-rst","patch_set":25,"id":"df140735_817447d0","line":15,"in_reply_to":"df140735_1d80ca45","updated":"2017-06-06 18:24:17.000000000","message":"Done","commit_id":"74656d32203b98302228f05277f5e1f44dfd03ec"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"6bd81fea17719eb1ac5f7f812cf5dd09af31d954","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"    openstack loadbalancer list"},{"line_number":14,"context_line":"        [--name \u003cname\u003e]"},{"line_number":15,"context_line":"        [--enable | --disable]"},{"line_number":16,"context_line":"        [--project \u003cproject-id\u003e]"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":".. option:: --name \u003cname\u003e"}],"source_content_type":"text/x-rst","patch_set":25,"id":"df140735_1d80ca45","line":15,"in_reply_to":"df140735_7c2368be","updated":"2017-06-02 20:59:10.000000000","message":"I thought the exact same thing, but looked at two other client implementations and saw they both have \"enable\" and not \"enabled\".  It\u0027s annoying, but I would prefer to have the same param as others.","commit_id":"74656d32203b98302228f05277f5e1f44dfd03ec"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"1cccae5f6cfbadc305bda51417bcc9964292b9f0","unresolved":false,"context_lines":[{"line_number":65,"context_line":"        [--project \u003cproject\u003e]"},{"line_number":66,"context_line":"        [--enable | --disable]"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":".. option:: --name \u003cname\u003e"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    New load balancer name."},{"line_number":71,"context_line":""}],"source_content_type":"text/x-rst","patch_set":25,"id":"df140735_5a3e4d8b","line":68,"updated":"2017-06-02 17:27:02.000000000","message":"--description is missing","commit_id":"74656d32203b98302228f05277f5e1f44dfd03ec"},{"author":{"_account_id":25674,"name":"Jude Cross","email":"jucross@blizzard.com","username":"problem_v"},"change_message_id":"1c7bbed17e3eefcb0e8ffbb6809941a651576822","unresolved":false,"context_lines":[{"line_number":65,"context_line":"        [--project \u003cproject\u003e]"},{"line_number":66,"context_line":"        [--enable | --disable]"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":".. option:: --name \u003cname\u003e"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    New load balancer name."},{"line_number":71,"context_line":""}],"source_content_type":"text/x-rst","patch_set":25,"id":"df140735_c24d78c5","line":68,"in_reply_to":"df140735_5a3e4d8b","updated":"2017-06-06 18:25:46.000000000","message":"Done","commit_id":"74656d32203b98302228f05277f5e1f44dfd03ec"}],"octaviaclient/osc/v2/constants.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"3ff4f69034c824c2747bb0eac0ff9935fba2dd88","unresolved":false,"context_lines":[{"line_number":12,"context_line":"#"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"LOAD_BALANCER_ROWS \u003d ("},{"line_number":15,"context_line":"    \u0027Admin State Up\u0027,"},{"line_number":16,"context_line":"    \u0027Created At\u0027,"},{"line_number":17,"context_line":"    \u0027Description\u0027,"},{"line_number":18,"context_line":"    \u0027Flavor\u0027,"}],"source_content_type":"text/x-python","patch_set":25,"id":"df140735_14b30e9a","line":15,"updated":"2017-06-02 16:24:50.000000000","message":"I am wondering if having the \"pretty\" names is going to work.\n\n(octaviaclient) michjohn@devstackpy27:~/.../testclient/python-octaviaclient$ openstack loadbalancer create --name lb1 --subnet private-subnet\n+---------------------+--------------------------------------+\n| Field               | Value                                |\n+---------------------+--------------------------------------+\n| Admin State Up      | True                                 |\n| Created At          | 2017-06-02T16:16:43                  |\n| Description         |                                      |\n| Flavor              |                                      |\n| ID                  | d851a837-d406-4f34-a314-6b65cf5776e0 |\n| Listeners           |                                      |\n| Name                | lb1                                  |\n| Operating Status    | OFFLINE                              |\n| Pools               |                                      |\n| Project ID          | 0abf90fddd82430c8e7b370654f7e222     |\n| Provider            | octavia                              |\n| Provisioning Status | PENDING_CREATE                       |\n| VIP Address         | None                                 |\n| VIP Network ID      | 0f39a434-d4df-4158-a43e-071d3280439f |\n| VIP Port ID         | None                                 |\n| VIP Subnet ID       | 8d80351a-0683-4804-9ed1-db0e619d5fff |\n+---------------------+--------------------------------------+\n(octaviaclient) michjohn@devstackpy27:~/.../testclient/python-octaviaclient$ openstack loadbalancer list -c \"Admin State Up\"\nNo recognized column names in [u\u0027Admin State Up\u0027]\n(octaviaclient) michjohn@devstackpy27:~/.../testclient/python-octaviaclient$ openstack loadbalancer list -c admin_state_up\nNo recognized column names in [u\u0027admin_state_up\u0027]\n\nIs this because I am not running the filtering patch or do we have a column mapping problem?","commit_id":"74656d32203b98302228f05277f5e1f44dfd03ec"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"3c9cb0f1d246f09a8c7a0eb2d158fbb4ae76ebe8","unresolved":false,"context_lines":[{"line_number":12,"context_line":"#"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"LOAD_BALANCER_ROWS \u003d ("},{"line_number":15,"context_line":"    \u0027Admin State Up\u0027,"},{"line_number":16,"context_line":"    \u0027Created At\u0027,"},{"line_number":17,"context_line":"    \u0027Description\u0027,"},{"line_number":18,"context_line":"    \u0027Flavor\u0027,"}],"source_content_type":"text/x-python","patch_set":25,"id":"df140735_7437ea00","line":15,"in_reply_to":"df140735_14b30e9a","updated":"2017-06-02 16:27:12.000000000","message":"From what I see from the neutron and glance clients, both show the api column name i.e. \"name\" and \"admin_state_up\"","commit_id":"74656d32203b98302228f05277f5e1f44dfd03ec"},{"author":{"_account_id":25674,"name":"Jude Cross","email":"jucross@blizzard.com","username":"problem_v"},"change_message_id":"1c7bbed17e3eefcb0e8ffbb6809941a651576822","unresolved":false,"context_lines":[{"line_number":12,"context_line":"#"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"LOAD_BALANCER_ROWS \u003d ("},{"line_number":15,"context_line":"    \u0027Admin State Up\u0027,"},{"line_number":16,"context_line":"    \u0027Created At\u0027,"},{"line_number":17,"context_line":"    \u0027Description\u0027,"},{"line_number":18,"context_line":"    \u0027Flavor\u0027,"}],"source_content_type":"text/x-python","patch_set":25,"id":"df140735_42cf2829","line":15,"in_reply_to":"df140735_7437ea00","updated":"2017-06-06 18:25:46.000000000","message":"Done","commit_id":"74656d32203b98302228f05277f5e1f44dfd03ec"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"56a53199b9698cb1622f09683df31287be8ba730","unresolved":false,"context_lines":[{"line_number":23,"context_line":"    \u0027Pools\u0027,"},{"line_number":24,"context_line":"    \u0027Project ID\u0027,"},{"line_number":25,"context_line":"    \u0027Provider\u0027,"},{"line_number":26,"context_line":"    \u0027Provisioning Status\u0027,"},{"line_number":27,"context_line":"    \u0027VIP Address\u0027,"},{"line_number":28,"context_line":"    \u0027VIP Network ID\u0027,"},{"line_number":29,"context_line":"    \u0027VIP Port ID\u0027,"}],"source_content_type":"text/x-python","patch_set":25,"id":"df140735_5ace4d2d","line":26,"updated":"2017-06-02 17:38:10.000000000","message":"updated_at is missing from the show list.","commit_id":"74656d32203b98302228f05277f5e1f44dfd03ec"},{"author":{"_account_id":25674,"name":"Jude Cross","email":"jucross@blizzard.com","username":"problem_v"},"change_message_id":"1c7bbed17e3eefcb0e8ffbb6809941a651576822","unresolved":false,"context_lines":[{"line_number":23,"context_line":"    \u0027Pools\u0027,"},{"line_number":24,"context_line":"    \u0027Project ID\u0027,"},{"line_number":25,"context_line":"    \u0027Provider\u0027,"},{"line_number":26,"context_line":"    \u0027Provisioning Status\u0027,"},{"line_number":27,"context_line":"    \u0027VIP Address\u0027,"},{"line_number":28,"context_line":"    \u0027VIP Network ID\u0027,"},{"line_number":29,"context_line":"    \u0027VIP Port ID\u0027,"}],"source_content_type":"text/x-python","patch_set":25,"id":"df140735_62ca2c1b","line":26,"in_reply_to":"df140735_5ace4d2d","updated":"2017-06-06 18:25:46.000000000","message":"Done","commit_id":"74656d32203b98302228f05277f5e1f44dfd03ec"}],"octaviaclient/osc/v2/load_balancer.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"31b2d5a7a36cc9b120521c2968802e4c59c6c412","unresolved":false,"context_lines":[{"line_number":49,"context_line":"            help\u003d\"Set Port ID\""},{"line_number":50,"context_line":"        )"},{"line_number":51,"context_line":"        parser.add_argument("},{"line_number":52,"context_line":"            \u0027--subnet-id\u0027,"},{"line_number":53,"context_line":"            metavar\u003d\u0027\u003cvip_subnet_id\u003e\u0027,"},{"line_number":54,"context_line":"            required\u003dTrue,"},{"line_number":55,"context_line":"            help\u003d\"Set subnet for the load balancer\""}],"source_content_type":"text/x-python","patch_set":13,"id":"5ff73747_41907795","line":52,"range":{"start_line":52,"start_character":12,"end_line":52,"end_character":26},"updated":"2017-04-30 21:48:47.000000000","message":"These are not accepting names, only uuids","commit_id":"ffae839fc9c4c23f6a2bb678b431887fb9b62331"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"28a7b198fb55c12073d80aa06a6990613132c519","unresolved":false,"context_lines":[{"line_number":78,"context_line":"            metavar\u003d\u0027\u003cproject\u003e\u0027,"},{"line_number":79,"context_line":"            help\u003d\"Project ID for the load balancer\""},{"line_number":80,"context_line":"        )"},{"line_number":81,"context_line":"        project_group.add_argument("},{"line_number":82,"context_line":"            \u0027--tenant\u0027,"},{"line_number":83,"context_line":"            metavar\u003d\u0027\u003ctenant\u003e\u0027,"},{"line_number":84,"context_line":"            help\u003d\"Tenant ID for the load balancer\""},{"line_number":85,"context_line":"        )"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"        return parser"},{"line_number":88,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"5ff73747_c17c8773","line":85,"range":{"start_line":81,"start_character":8,"end_line":85,"end_character":9},"updated":"2017-04-30 21:45:12.000000000","message":"We should not have tenant here, just the project.  Tenant is deprecated and does not apply to openstack client.","commit_id":"ffae839fc9c4c23f6a2bb678b431887fb9b62331"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"48eef46ab0a4b8108d858ff3009861cd1084b626","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        parser.add_argument("},{"line_number":52,"context_line":"            \u0027--subnet-id\u0027,"},{"line_number":53,"context_line":"            metavar\u003d\u0027\u003cvip_subnet_id\u003e\u0027,"},{"line_number":54,"context_line":"            required\u003dTrue,"},{"line_number":55,"context_line":"            help\u003d\"Set subnet for the load balancer (name or ID)\""},{"line_number":56,"context_line":"        )"},{"line_number":57,"context_line":"        parser.add_argument("}],"source_content_type":"text/x-python","patch_set":18,"id":"3f044301_8704fa18","line":54,"updated":"2017-05-05 09:17:15.000000000","message":"This can\u0027t be required. We need to accept passing ANY ONE OF: subnet_id, network_id, port_id, or also *both* of subnet_id and network_id.","commit_id":"407abaa27dde1f1e1198bc6d1ad3f7bbe3ba52ef"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"1cccae5f6cfbadc305bda51417bcc9964292b9f0","unresolved":false,"context_lines":[{"line_number":44,"context_line":"            help\u003d\"Set IP Address\""},{"line_number":45,"context_line":"        )"},{"line_number":46,"context_line":"        parser.add_argument("},{"line_number":47,"context_line":"            \u0027--port-id\u0027,"},{"line_number":48,"context_line":"            metavar\u003d\u0027\u003cvip_port_id\u003e\u0027,"},{"line_number":49,"context_line":"            help\u003d\"Set Port for the load balancer (name or ID)\""},{"line_number":50,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":25,"id":"df140735_dafffda8","line":47,"range":{"start_line":47,"start_character":12,"end_line":47,"end_character":24},"updated":"2017-06-02 17:27:02.000000000","message":"In the bug I had specified these as \"vip-*\" for example, \"vip-port-id\" to keep it clear these are for the VIP ports (not mgmt for example).\n\nI am interested to hear the other cores opinion on this.","commit_id":"74656d32203b98302228f05277f5e1f44dfd03ec"},{"author":{"_account_id":25674,"name":"Jude Cross","email":"jucross@blizzard.com","username":"problem_v"},"change_message_id":"1c7bbed17e3eefcb0e8ffbb6809941a651576822","unresolved":false,"context_lines":[{"line_number":44,"context_line":"            help\u003d\"Set IP Address\""},{"line_number":45,"context_line":"        )"},{"line_number":46,"context_line":"        parser.add_argument("},{"line_number":47,"context_line":"            \u0027--port-id\u0027,"},{"line_number":48,"context_line":"            metavar\u003d\u0027\u003cvip_port_id\u003e\u0027,"},{"line_number":49,"context_line":"            help\u003d\"Set Port for the load balancer (name or ID)\""},{"line_number":50,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":25,"id":"df140735_c2e218a1","line":47,"range":{"start_line":47,"start_character":12,"end_line":47,"end_character":24},"in_reply_to":"df140735_243edb8a","updated":"2017-06-06 18:25:46.000000000","message":"Done","commit_id":"74656d32203b98302228f05277f5e1f44dfd03ec"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"670d400219434df9d25bf27cfff550501531fc13","unresolved":false,"context_lines":[{"line_number":44,"context_line":"            help\u003d\"Set IP Address\""},{"line_number":45,"context_line":"        )"},{"line_number":46,"context_line":"        parser.add_argument("},{"line_number":47,"context_line":"            \u0027--port-id\u0027,"},{"line_number":48,"context_line":"            metavar\u003d\u0027\u003cvip_port_id\u003e\u0027,"},{"line_number":49,"context_line":"            help\u003d\"Set Port for the load balancer (name or ID)\""},{"line_number":50,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":25,"id":"df140735_243edb8a","line":47,"range":{"start_line":47,"start_character":12,"end_line":47,"end_character":24},"in_reply_to":"df140735_dafffda8","updated":"2017-06-02 19:10:58.000000000","message":"I think probably that should be the case.","commit_id":"74656d32203b98302228f05277f5e1f44dfd03ec"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"3ff4f69034c824c2747bb0eac0ff9935fba2dd88","unresolved":false,"context_lines":[{"line_number":43,"context_line":"            metavar\u003d\u0027\u003cvip_address\u003e\u0027,"},{"line_number":44,"context_line":"            help\u003d\"Set IP Address\""},{"line_number":45,"context_line":"        )"},{"line_number":46,"context_line":"        parser.add_argument("},{"line_number":47,"context_line":"            \u0027--port-id\u0027,"},{"line_number":48,"context_line":"            metavar\u003d\u0027\u003cvip_port_id\u003e\u0027,"},{"line_number":49,"context_line":"            help\u003d\"Set Port for the load balancer (name or ID)\""},{"line_number":50,"context_line":"        )"},{"line_number":51,"context_line":"        parser.add_argument("},{"line_number":52,"context_line":"            \u0027--subnet-id\u0027,"},{"line_number":53,"context_line":"            metavar\u003d\u0027\u003cvip_subnet_id\u003e\u0027,"},{"line_number":54,"context_line":"            help\u003d\"Set subnet for the load balancer (name or ID)\""},{"line_number":55,"context_line":"        )"},{"line_number":56,"context_line":"        parser.add_argument("},{"line_number":57,"context_line":"            \u0027--network-id\u0027,"},{"line_number":58,"context_line":"            metavar\u003d\u0027\u003cvip_network_id\u003e\u0027,"},{"line_number":59,"context_line":"            help\u003d\"Set network for the load balancer (name or ID)\""},{"line_number":60,"context_line":"        )"},{"line_number":61,"context_line":"        parser.add_argument("},{"line_number":62,"context_line":"            \u0027--project\u0027,"},{"line_number":63,"context_line":"            metavar\u003d\u0027\u003cproject\u003e\u0027,"}],"source_content_type":"text/x-python","patch_set":25,"id":"df140735_abf76159","line":60,"range":{"start_line":46,"start_character":0,"end_line":60,"end_character":9},"updated":"2017-06-02 16:24:50.000000000","message":"These should be in a mutually exclusive group as well.","commit_id":"74656d32203b98302228f05277f5e1f44dfd03ec"},{"author":{"_account_id":25674,"name":"Jude Cross","email":"jucross@blizzard.com","username":"problem_v"},"change_message_id":"91cb1e8c723c6851cd3d1ab45d88ce0d0361a2dd","unresolved":false,"context_lines":[{"line_number":43,"context_line":"            metavar\u003d\u0027\u003cvip_address\u003e\u0027,"},{"line_number":44,"context_line":"            help\u003d\"Set IP Address\""},{"line_number":45,"context_line":"        )"},{"line_number":46,"context_line":"        parser.add_argument("},{"line_number":47,"context_line":"            \u0027--port-id\u0027,"},{"line_number":48,"context_line":"            metavar\u003d\u0027\u003cvip_port_id\u003e\u0027,"},{"line_number":49,"context_line":"            help\u003d\"Set Port for the load balancer (name or ID)\""},{"line_number":50,"context_line":"        )"},{"line_number":51,"context_line":"        parser.add_argument("},{"line_number":52,"context_line":"            \u0027--subnet-id\u0027,"},{"line_number":53,"context_line":"            metavar\u003d\u0027\u003cvip_subnet_id\u003e\u0027,"},{"line_number":54,"context_line":"            help\u003d\"Set subnet for the load balancer (name or ID)\""},{"line_number":55,"context_line":"        )"},{"line_number":56,"context_line":"        parser.add_argument("},{"line_number":57,"context_line":"            \u0027--network-id\u0027,"},{"line_number":58,"context_line":"            metavar\u003d\u0027\u003cvip_network_id\u003e\u0027,"},{"line_number":59,"context_line":"            help\u003d\"Set network for the load balancer (name or ID)\""},{"line_number":60,"context_line":"        )"},{"line_number":61,"context_line":"        parser.add_argument("},{"line_number":62,"context_line":"            \u0027--project\u0027,"},{"line_number":63,"context_line":"            metavar\u003d\u0027\u003cproject\u003e\u0027,"}],"source_content_type":"text/x-python","patch_set":25,"id":"df140735_180b3824","line":60,"range":{"start_line":46,"start_character":0,"end_line":60,"end_character":9},"in_reply_to":"df140735_1df56aed","updated":"2017-06-02 23:28:27.000000000","message":"I believe the API supports the subnet and network being configured together but port cannot be with the other two. \nI have a method:\ncheck_loadbalancer_attrs()\nThat makes sure that only subnet and network are used together and port-id is always used alone.","commit_id":"74656d32203b98302228f05277f5e1f44dfd03ec"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"670d400219434df9d25bf27cfff550501531fc13","unresolved":false,"context_lines":[{"line_number":43,"context_line":"            metavar\u003d\u0027\u003cvip_address\u003e\u0027,"},{"line_number":44,"context_line":"            help\u003d\"Set IP Address\""},{"line_number":45,"context_line":"        )"},{"line_number":46,"context_line":"        parser.add_argument("},{"line_number":47,"context_line":"            \u0027--port-id\u0027,"},{"line_number":48,"context_line":"            metavar\u003d\u0027\u003cvip_port_id\u003e\u0027,"},{"line_number":49,"context_line":"            help\u003d\"Set Port for the load balancer (name or ID)\""},{"line_number":50,"context_line":"        )"},{"line_number":51,"context_line":"        parser.add_argument("},{"line_number":52,"context_line":"            \u0027--subnet-id\u0027,"},{"line_number":53,"context_line":"            metavar\u003d\u0027\u003cvip_subnet_id\u003e\u0027,"},{"line_number":54,"context_line":"            help\u003d\"Set subnet for the load balancer (name or ID)\""},{"line_number":55,"context_line":"        )"},{"line_number":56,"context_line":"        parser.add_argument("},{"line_number":57,"context_line":"            \u0027--network-id\u0027,"},{"line_number":58,"context_line":"            metavar\u003d\u0027\u003cvip_network_id\u003e\u0027,"},{"line_number":59,"context_line":"            help\u003d\"Set network for the load balancer (name or ID)\""},{"line_number":60,"context_line":"        )"},{"line_number":61,"context_line":"        parser.add_argument("},{"line_number":62,"context_line":"            \u0027--project\u0027,"},{"line_number":63,"context_line":"            metavar\u003d\u0027\u003cproject\u003e\u0027,"}],"source_content_type":"text/x-python","patch_set":25,"id":"df140735_c4483f2e","line":60,"range":{"start_line":46,"start_character":0,"end_line":60,"end_character":9},"in_reply_to":"df140735_abf76159","updated":"2017-06-02 19:10:58.000000000","message":"Is that a thing you can do directly with the parser syntax, or do you have to do your own validation?","commit_id":"74656d32203b98302228f05277f5e1f44dfd03ec"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"6bd81fea17719eb1ac5f7f812cf5dd09af31d954","unresolved":false,"context_lines":[{"line_number":43,"context_line":"            metavar\u003d\u0027\u003cvip_address\u003e\u0027,"},{"line_number":44,"context_line":"            help\u003d\"Set IP Address\""},{"line_number":45,"context_line":"        )"},{"line_number":46,"context_line":"        parser.add_argument("},{"line_number":47,"context_line":"            \u0027--port-id\u0027,"},{"line_number":48,"context_line":"            metavar\u003d\u0027\u003cvip_port_id\u003e\u0027,"},{"line_number":49,"context_line":"            help\u003d\"Set Port for the load balancer (name or ID)\""},{"line_number":50,"context_line":"        )"},{"line_number":51,"context_line":"        parser.add_argument("},{"line_number":52,"context_line":"            \u0027--subnet-id\u0027,"},{"line_number":53,"context_line":"            metavar\u003d\u0027\u003cvip_subnet_id\u003e\u0027,"},{"line_number":54,"context_line":"            help\u003d\"Set subnet for the load balancer (name or ID)\""},{"line_number":55,"context_line":"        )"},{"line_number":56,"context_line":"        parser.add_argument("},{"line_number":57,"context_line":"            \u0027--network-id\u0027,"},{"line_number":58,"context_line":"            metavar\u003d\u0027\u003cvip_network_id\u003e\u0027,"},{"line_number":59,"context_line":"            help\u003d\"Set network for the load balancer (name or ID)\""},{"line_number":60,"context_line":"        )"},{"line_number":61,"context_line":"        parser.add_argument("},{"line_number":62,"context_line":"            \u0027--project\u0027,"},{"line_number":63,"context_line":"            metavar\u003d\u0027\u003cproject\u003e\u0027,"}],"source_content_type":"text/x-python","patch_set":25,"id":"df140735_1df56aed","line":60,"range":{"start_line":46,"start_character":0,"end_line":60,"end_character":9},"in_reply_to":"df140735_c4483f2e","updated":"2017-06-02 20:59:10.000000000","message":"It\u0027s built in.  We do it on line 66 below for enable/disable.","commit_id":"74656d32203b98302228f05277f5e1f44dfd03ec"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"1d7d0b77d32e25e61926249c1e69da0eebd17d7c","unresolved":false,"context_lines":[{"line_number":120,"context_line":""},{"line_number":121,"context_line":"        return parser"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"    def take_action(self, parsed_args):"},{"line_number":124,"context_line":"        attrs \u003d v2_utils.get_loadbalancer_attrs(self.app.client_manager,"},{"line_number":125,"context_line":"                                                parsed_args)"},{"line_number":126,"context_line":"        lb_id \u003d attrs.pop(\u0027loadbalancer_id\u0027)"}],"source_content_type":"text/x-python","patch_set":25,"id":"df140735_7f7c6382","line":123,"updated":"2017-06-02 16:34:08.000000000","message":"When I do a delete call, I get back:\n(octaviaclient) michjohn@devstackpy27:~/.../testclient/python-octaviaclient$ openstack loadbalancer delete lb1\n\u003cResponse [204]\u003e\n\nWhere the other clients don\u0027t return anything (no \"\u003cResponse [204]\u003e\")","commit_id":"74656d32203b98302228f05277f5e1f44dfd03ec"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"54182718cb03a67c8bda1f16d7e402d14e428e03","unresolved":false,"context_lines":[{"line_number":250,"context_line":""},{"line_number":251,"context_line":"        return parser"},{"line_number":252,"context_line":""},{"line_number":253,"context_line":"    def take_action(self, parsed_args):"},{"line_number":254,"context_line":"        attrs \u003d v2_utils.get_loadbalancer_attrs(self.app.client_manager,"},{"line_number":255,"context_line":"                                                parsed_args)"},{"line_number":256,"context_line":"        lb_id \u003d attrs.pop(\u0027loadbalancer_id\u0027)"}],"source_content_type":"text/x-python","patch_set":25,"id":"df140735_1a3d75c3","line":253,"updated":"2017-06-02 17:13:06.000000000","message":"Set is returning a json dump, but it should not return anything.\n\n(octaviaclient) michjohn@devstackpy27:~/.../testclient/python-octaviaclient$ openstack loadbalancer set --name foobar 59c3b307-fe38-4e26-aa0e-76966169982a\n{u\u0027loadbalancer\u0027: {u\u0027description\u0027: u\u0027My description\u0027, u\u0027admin_state_up\u0027: True, u\u0027created_at\u0027: u\u00272017-06-02T17:09:51\u0027, u\u0027provisioning_status\u0027: u\u0027PENDING_UPDATE\u0027, u\u0027updated_at\u0027: u\u00272017-06-02T17:11:26\u0027, u\u0027vip_network_id\u0027: u\u00270f39a434-d4df-4158-a43e-071d3280439f\u0027, u\u0027listeners\u0027: [], u\u0027vip_address\u0027: u\u002710.0.0.7\u0027, u\u0027vip_port_id\u0027: u\u0027a73b5605-e4ec-4ef5-a4f8-1be92d007d07\u0027, u\u0027operating_status\u0027: u\u0027ONLINE\u0027, u\u0027provider\u0027: u\u0027octavia\u0027, u\u0027pools\u0027: [], u\u0027flavor\u0027: u\u0027\u0027, u\u0027project_id\u0027: u\u00270abf90fddd82430c8e7b370654f7e222\u0027, u\u0027id\u0027: u\u002759c3b307-fe38-4e26-aa0e-76966169982a\u0027, u\u0027vip_subnet_id\u0027: u\u00278d80351a-0683-4804-9ed1-db0e619d5fff\u0027, u\u0027name\u0027: u\u0027lb1\u0027}}","commit_id":"74656d32203b98302228f05277f5e1f44dfd03ec"},{"author":{"_account_id":25674,"name":"Jude Cross","email":"jucross@blizzard.com","username":"problem_v"},"change_message_id":"1c7bbed17e3eefcb0e8ffbb6809941a651576822","unresolved":false,"context_lines":[{"line_number":250,"context_line":""},{"line_number":251,"context_line":"        return parser"},{"line_number":252,"context_line":""},{"line_number":253,"context_line":"    def take_action(self, parsed_args):"},{"line_number":254,"context_line":"        attrs \u003d v2_utils.get_loadbalancer_attrs(self.app.client_manager,"},{"line_number":255,"context_line":"                                                parsed_args)"},{"line_number":256,"context_line":"        lb_id \u003d attrs.pop(\u0027loadbalancer_id\u0027)"}],"source_content_type":"text/x-python","patch_set":25,"id":"df140735_a2df24d5","line":253,"in_reply_to":"df140735_1a3d75c3","updated":"2017-06-06 18:25:46.000000000","message":"Done","commit_id":"74656d32203b98302228f05277f5e1f44dfd03ec"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"197ba0be6d714bb8c8ea487b53a876bf8dec55a0","unresolved":false,"context_lines":[{"line_number":125,"context_line":"                                                parsed_args)"},{"line_number":126,"context_line":"        lb_id \u003d attrs.pop(\u0027loadbalancer_id\u0027)"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"        self.app.client_manager.load_balancer.\\"},{"line_number":129,"context_line":"            load_balancer_delete(lb_id\u003dlb_id, **attrs)"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":""}],"source_content_type":"text/x-python","patch_set":27,"id":"df140735_137f68ab","line":128,"updated":"2017-06-05 23:11:17.000000000","message":"I don\u0027t think backslash newlines are valid in our hacking rules... Which means, are we not checking the right pep8 stuff in this repo? This shouldn\u0027t pass the pep8 gate.","commit_id":"69badd81afc99169f1ccc55f7ecd298a8344f9e1"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"2e1f65f475af46b58904f06d1150be3b5abde15e","unresolved":false,"context_lines":[{"line_number":248,"context_line":""},{"line_number":249,"context_line":"        return parser"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"    def take_action(self, parsed_args):"},{"line_number":252,"context_line":"        attrs \u003d v2_utils.get_loadbalancer_attrs(self.app.client_manager,"},{"line_number":253,"context_line":"                                                parsed_args)"},{"line_number":254,"context_line":"        lb_id \u003d attrs.pop(\u0027loadbalancer_id\u0027)"}],"source_content_type":"text/x-python","patch_set":30,"id":"df140735_e28f5773","line":251,"range":{"start_line":251,"start_character":8,"end_line":251,"end_character":21},"updated":"2017-06-06 21:04:44.000000000","message":"This is still returning a json document to the user:\n\n(octaviaclient) michjohn@devstackpy27:~/.../testclient/python-octaviaclient$ openstack loadbalancer set --name pass2 ab8969d3-9e16-460f-9907-6d61b9b803bc\n{u\u0027loadbalancer\u0027: {u\u0027description\u0027: u\u0027\u0027, u\u0027admin_state_up\u0027: True, u\u0027created_at\u0027: u\u00272017-06-06T21:02:45\u0027, u\u0027provisioning_status\u0027: u\u0027PENDING_UPDATE\u0027, u\u0027updated_at\u0027: u\u00272017-06-06T21:03:13\u0027, u\u0027vip_network_id\u0027: u\u00270f39a434-d4df-4158-a43e-071d3280439f\u0027, u\u0027listeners\u0027: [], u\u0027vip_address\u0027: u\u002710.0.0.9\u0027, u\u0027vip_port_id\u0027: u\u00275bf84efb-6da4-4e34-af63-1dd1c98f8d33\u0027, u\u0027operating_status\u0027: u\u0027ONLINE\u0027, u\u0027provider\u0027: u\u0027octavia\u0027, u\u0027pools\u0027: [], u\u0027flavor\u0027: u\u0027\u0027, u\u0027project_id\u0027: u\u00270abf90fddd82430c8e7b370654f7e222\u0027, u\u0027id\u0027: u\u0027ab8969d3-9e16-460f-9907-6d61b9b803bc\u0027, u\u0027vip_subnet_id\u0027: u\u00278d80351a-0683-4804-9ed1-db0e619d5fff\u0027, u\u0027name\u0027: u\u0027\u0027}}","commit_id":"1940793da1caf2ef74b2b74161f33bc1331cb9b5"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"8d1ef00860de66a45bc9df7585938dcc35be8a7a","unresolved":false,"context_lines":[{"line_number":248,"context_line":""},{"line_number":249,"context_line":"        return parser"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"    def take_action(self, parsed_args):"},{"line_number":252,"context_line":"        attrs \u003d v2_utils.get_loadbalancer_attrs(self.app.client_manager,"},{"line_number":253,"context_line":"                                                parsed_args)"},{"line_number":254,"context_line":"        lb_id \u003d attrs.pop(\u0027loadbalancer_id\u0027)"}],"source_content_type":"text/x-python","patch_set":30,"id":"df140735_22f78fd7","line":251,"range":{"start_line":251,"start_character":8,"end_line":251,"end_character":21},"in_reply_to":"df140735_e28f5773","updated":"2017-06-06 21:11:32.000000000","message":"Done","commit_id":"1940793da1caf2ef74b2b74161f33bc1331cb9b5"}],"octaviaclient/osc/v2/utils.py":[{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"197ba0be6d714bb8c8ea487b53a876bf8dec55a0","unresolved":false,"context_lines":[{"line_number":101,"context_line":"def check_loadbalancer_attrs(attrs):"},{"line_number":102,"context_line":"    verify_args \u003d [\u0027vip_subnet_id\u0027, \u0027vip_network_id\u0027, \u0027vip_port_id\u0027]"},{"line_number":103,"context_line":"    if not any(i in attrs.keys() for i in verify_args):"},{"line_number":104,"context_line":"        msg \u003d \"Missing required argument: Requires one of \" \\"},{"line_number":105,"context_line":"              \"--vip-subnet-id, --vip-network-id or --vip-port-id\""},{"line_number":106,"context_line":"        raise exceptions.CommandError(msg)"},{"line_number":107,"context_line":"    elif \u0027vip_port_id\u0027 in attrs:"}],"source_content_type":"text/x-python","patch_set":27,"id":"df140735_7347c478","line":104,"updated":"2017-06-05 23:11:17.000000000","message":"Here also, I\u0027m not sure what\u0027s going on -- we must not be doing hacking checks right. This should be in parens, not using \\","commit_id":"69badd81afc99169f1ccc55f7ecd298a8344f9e1"}],"octaviaclient/tests/unit/osc/v2/fakes.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"eccd882ba165fef741c8a6dac4f48ebc76460dff","unresolved":false,"context_lines":[{"line_number":67,"context_line":"            \u0027id\u0027: str(uuid.uuid4()),"},{"line_number":68,"context_line":"            \u0027name\u0027: \u0027lb-name-\u0027 + uuid.uuid4().hex,"},{"line_number":69,"context_line":"            \u0027project_id\u0027: uuid.uuid4().hex,"},{"line_number":70,"context_line":"            \u0027vip_address\u0027: \u0027192.168.0.1\u0027,"},{"line_number":71,"context_line":"            \u0027vip_network_id\u0027: uuid.uuid4().hex,"},{"line_number":72,"context_line":"            \u0027provisioning_status\u0027: \u0027ONLINE\u0027,"},{"line_number":73,"context_line":"            \u0027provider\u0027: \u0027octavia\u0027"}],"source_content_type":"text/x-python","patch_set":25,"id":"df140735_93572acb","line":70,"range":{"start_line":70,"start_character":28,"end_line":70,"end_character":39},"updated":"2017-06-02 22:38:26.000000000","message":"Please use one of the documentation/TEST-NET ip address ranges for tests and documentation.\n192.0.2.0/24, 198.51.100.0/24, or 203.0.113.0/24","commit_id":"74656d32203b98302228f05277f5e1f44dfd03ec"},{"author":{"_account_id":25674,"name":"Jude Cross","email":"jucross@blizzard.com","username":"problem_v"},"change_message_id":"1c7bbed17e3eefcb0e8ffbb6809941a651576822","unresolved":false,"context_lines":[{"line_number":67,"context_line":"            \u0027id\u0027: str(uuid.uuid4()),"},{"line_number":68,"context_line":"            \u0027name\u0027: \u0027lb-name-\u0027 + uuid.uuid4().hex,"},{"line_number":69,"context_line":"            \u0027project_id\u0027: uuid.uuid4().hex,"},{"line_number":70,"context_line":"            \u0027vip_address\u0027: \u0027192.168.0.1\u0027,"},{"line_number":71,"context_line":"            \u0027vip_network_id\u0027: uuid.uuid4().hex,"},{"line_number":72,"context_line":"            \u0027provisioning_status\u0027: \u0027ONLINE\u0027,"},{"line_number":73,"context_line":"            \u0027provider\u0027: \u0027octavia\u0027"}],"source_content_type":"text/x-python","patch_set":25,"id":"df140735_0202503f","line":70,"range":{"start_line":70,"start_character":28,"end_line":70,"end_character":39},"in_reply_to":"df140735_93572acb","updated":"2017-06-06 18:25:46.000000000","message":"Done","commit_id":"74656d32203b98302228f05277f5e1f44dfd03ec"}],"requirements.txt":[{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"c3832c2b2a4c10875b418001a2d420e980986239","unresolved":false,"context_lines":[{"line_number":9,"context_line":"debtcollector\u003e\u003d1.2.0  # Apache-2.0"},{"line_number":10,"context_line":"funcsigs\u003e\u003d0.4;python_version\u003d\u003d\u00272.7\u0027 or python_version\u003d\u003d\u00272.6\u0027  # Apache-2.0"},{"line_number":11,"context_line":"iso8601\u003e\u003d0.1.11  # MIT"},{"line_number":12,"context_line":"keystoneauth1\u003e\u003d2.18.0  # Apache-2.0"},{"line_number":13,"context_line":"monotonic\u003e\u003d0.6 # Apache-2.0"},{"line_number":14,"context_line":"netaddr\u003e\u003d0.7.13,!\u003d0.7.16  # BSD"},{"line_number":15,"context_line":"netifaces\u003e\u003d0.10.4  # MIT"}],"source_content_type":"text/plain","patch_set":19,"id":"3f044301_110373ba","line":12,"updated":"2017-05-05 21:30:47.000000000","message":"Needs to be \"keystoneauth1\u003e\u003d2.20.0\" now","commit_id":"b477fad378df3061079c8b427bafd2c688522732"}]}
