)]}'
{"octaviaclient/api/octavia.py":[{"author":{"_account_id":6469,"name":"Carlos Gonçalves","display_name":"Carlos Goncalves","email":"cgoncalves@redhat.com","username":"cgoncalves"},"change_message_id":"67f07a0b656d7f40bff5632daa2e5e3a52c6dbee","unresolved":false,"context_lines":[{"line_number":40,"context_line":"    return wrapper"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"class OctaviaAPI(api.BaseAPI):"},{"line_number":44,"context_line":"    \"\"\"Octavia API\"\"\""},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    _endpoint_suffix \u003d \u0027/v2.0\u0027"}],"source_content_type":"text/x-python","patch_set":4,"id":"ff82abbf_b7bdfa03","line":43,"updated":"2017-11-30 15:02:28.000000000","message":"s/OctaviaAPI/OctaviaAPIv2","commit_id":"3627e23b9065b3595123ed2eed8725c552f0af0f"},{"author":{"_account_id":6469,"name":"Carlos Gonçalves","display_name":"Carlos Goncalves","email":"cgoncalves@redhat.com","username":"cgoncalves"},"change_message_id":"67f07a0b656d7f40bff5632daa2e5e3a52c6dbee","unresolved":false,"context_lines":[{"line_number":132,"context_line":"        :param string lb_id:"},{"line_number":133,"context_line":"            ID of the load balancer to failover"},{"line_number":134,"context_line":"        :return:"},{"line_number":135,"context_line":"            Response Code from the API"},{"line_number":136,"context_line":"        \"\"\""},{"line_number":137,"context_line":"        url \u003d const.BASE_LOADBALANCER_FAILOVER_URL.format(uuid\u003dlb_id)"},{"line_number":138,"context_line":"        response \u003d self.create(url, method\u003d\u0027PUT\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"ff82abbf_57126e0b","line":135,"updated":"2017-11-30 15:02:28.000000000","message":"It returns ``None`` if call\u0027s successful. :raises otherwise.","commit_id":"3627e23b9065b3595123ed2eed8725c552f0af0f"},{"author":{"_account_id":6469,"name":"Carlos Gonçalves","display_name":"Carlos Goncalves","email":"cgoncalves@redhat.com","username":"cgoncalves"},"change_message_id":"67f07a0b656d7f40bff5632daa2e5e3a52c6dbee","unresolved":false,"context_lines":[{"line_number":588,"context_line":"        :param string amphora_id:"},{"line_number":589,"context_line":"            ID of the amphora to show"},{"line_number":590,"context_line":"        :return:"},{"line_number":591,"context_line":"            Dict of the specified amphora\u0027s attributes"},{"line_number":592,"context_line":"        \"\"\""},{"line_number":593,"context_line":"        url \u003d const.BASE_AMPHORA_URL"},{"line_number":594,"context_line":"        response \u003d self.find(path\u003durl, value\u003damphora_id)"}],"source_content_type":"text/x-python","patch_set":4,"id":"ff82abbf_97bf96cf","line":591,"updated":"2017-11-30 15:02:28.000000000","message":"``dict``","commit_id":"3627e23b9065b3595123ed2eed8725c552f0af0f"},{"author":{"_account_id":6469,"name":"Carlos Gonçalves","display_name":"Carlos Goncalves","email":"cgoncalves@redhat.com","username":"cgoncalves"},"change_message_id":"67f07a0b656d7f40bff5632daa2e5e3a52c6dbee","unresolved":false,"context_lines":[{"line_number":601,"context_line":"        :param kwargs:"},{"line_number":602,"context_line":"            Parameters to filter on"},{"line_number":603,"context_line":"        :return:"},{"line_number":604,"context_line":"            Dict containing a list of amphorae"},{"line_number":605,"context_line":"        \"\"\""},{"line_number":606,"context_line":"        url \u003d const.BASE_AMPHORA_URL"},{"line_number":607,"context_line":"        response \u003d self.list(path\u003durl, **kwargs)"}],"source_content_type":"text/x-python","patch_set":4,"id":"ff82abbf_978d5633","line":604,"range":{"start_line":604,"start_character":12,"end_line":604,"end_character":16},"updated":"2017-11-30 15:02:28.000000000","message":"``dict``","commit_id":"3627e23b9065b3595123ed2eed8725c552f0af0f"}],"octaviaclient/osc/plugin.py":[{"author":{"_account_id":6469,"name":"Carlos Gonçalves","display_name":"Carlos Goncalves","email":"cgoncalves@redhat.com","username":"cgoncalves"},"change_message_id":"67f07a0b656d7f40bff5632daa2e5e3a52c6dbee","unresolved":false,"context_lines":[{"line_number":24,"context_line":"API_NAME \u003d \u0027load_balancer\u0027"},{"line_number":25,"context_line":"LOAD_BALANCER_API_TYPE \u003d \u0027loadbalancer\u0027"},{"line_number":26,"context_line":"LOAD_BALANCER_API_VERSIONS \u003d {"},{"line_number":27,"context_line":"    \u00272.0\u0027: \u0027octaviaclient.api.octavia.OctaviaAPI\u0027,"},{"line_number":28,"context_line":"}"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"ff82abbf_77b692df","line":27,"range":{"start_line":27,"start_character":38,"end_line":27,"end_character":48},"updated":"2017-11-30 15:02:28.000000000","message":"OctaviaAPIv2","commit_id":"3627e23b9065b3595123ed2eed8725c552f0af0f"},{"author":{"_account_id":6469,"name":"Carlos Gonçalves","display_name":"Carlos Goncalves","email":"cgoncalves@redhat.com","username":"cgoncalves"},"change_message_id":"67f07a0b656d7f40bff5632daa2e5e3a52c6dbee","unresolved":false,"context_lines":[{"line_number":35,"context_line":"        region_name\u003dinstance.region_name,"},{"line_number":36,"context_line":"        interface\u003dinstance.interface,"},{"line_number":37,"context_line":"    )"},{"line_number":38,"context_line":"    client \u003d octavia.OctaviaAPI("},{"line_number":39,"context_line":"        session\u003dinstance.session,"},{"line_number":40,"context_line":"        service_type\u003d\u0027load-balancer\u0027,"},{"line_number":41,"context_line":"        endpoint\u003dendpoint,"}],"source_content_type":"text/x-python","patch_set":4,"id":"ff82abbf_57b58ecc","line":38,"range":{"start_line":38,"start_character":21,"end_line":38,"end_character":31},"updated":"2017-11-30 15:02:28.000000000","message":"OctaviaAPIv2","commit_id":"3627e23b9065b3595123ed2eed8725c552f0af0f"}],"octaviaclient/osc/v2/amphora.py":[{"author":{"_account_id":6469,"name":"Carlos Gonçalves","display_name":"Carlos Goncalves","email":"cgoncalves@redhat.com","username":"cgoncalves"},"change_message_id":"67f07a0b656d7f40bff5632daa2e5e3a52c6dbee","unresolved":false,"context_lines":[{"line_number":29,"context_line":"        parser \u003d super(ListAmphora, self).get_parser(prog_name)"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"        parser.add_argument("},{"line_number":32,"context_line":"            \u0027--loadbalancer-id\u0027,"},{"line_number":33,"context_line":"            metavar\u003d\u0027\u003cload_balancer\u003e\u0027,"},{"line_number":34,"context_line":"            dest\u003d\u0027loadbalancer\u0027,"},{"line_number":35,"context_line":"            help\u003d\"Filter by load balancer (name or ID).\","}],"source_content_type":"text/x-python","patch_set":4,"id":"ff82abbf_b7e2da9f","line":32,"updated":"2017-11-30 15:02:28.000000000","message":"As per OSC guidelines, --loadbalancer because it accepts both name and ID","commit_id":"3627e23b9065b3595123ed2eed8725c552f0af0f"},{"author":{"_account_id":25239,"name":"Bar Elharar","email":"bar@redhat.com","username":"belharar"},"change_message_id":"b4faf5e88aff1e92c088491c45bb0d030fcb590f","unresolved":false,"context_lines":[{"line_number":29,"context_line":"        parser \u003d super(ListAmphora, self).get_parser(prog_name)"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"        parser.add_argument("},{"line_number":32,"context_line":"            \u0027--loadbalancer-id\u0027,"},{"line_number":33,"context_line":"            metavar\u003d\u0027\u003cload_balancer\u003e\u0027,"},{"line_number":34,"context_line":"            dest\u003d\u0027loadbalancer\u0027,"},{"line_number":35,"context_line":"            help\u003d\"Filter by load balancer (name or ID).\","}],"source_content_type":"text/x-python","patch_set":4,"id":"ff82abbf_5d584cf9","line":32,"in_reply_to":"ff82abbf_b7e2da9f","updated":"2017-11-30 19:19:34.000000000","message":"Done","commit_id":"3627e23b9065b3595123ed2eed8725c552f0af0f"},{"author":{"_account_id":6469,"name":"Carlos Gonçalves","display_name":"Carlos Goncalves","email":"cgoncalves@redhat.com","username":"cgoncalves"},"change_message_id":"67f07a0b656d7f40bff5632daa2e5e3a52c6dbee","unresolved":false,"context_lines":[{"line_number":31,"context_line":"        parser.add_argument("},{"line_number":32,"context_line":"            \u0027--loadbalancer-id\u0027,"},{"line_number":33,"context_line":"            metavar\u003d\u0027\u003cload_balancer\u003e\u0027,"},{"line_number":34,"context_line":"            dest\u003d\u0027loadbalancer\u0027,"},{"line_number":35,"context_line":"            help\u003d\"Filter by load balancer (name or ID).\","},{"line_number":36,"context_line":"        )"},{"line_number":37,"context_line":"        parser.add_argument("}],"source_content_type":"text/x-python","patch_set":4,"id":"ff82abbf_97c1d6e7","line":34,"updated":"2017-11-30 15:02:28.000000000","message":"dest would then not be needed","commit_id":"3627e23b9065b3595123ed2eed8725c552f0af0f"},{"author":{"_account_id":25239,"name":"Bar Elharar","email":"bar@redhat.com","username":"belharar"},"change_message_id":"b4faf5e88aff1e92c088491c45bb0d030fcb590f","unresolved":false,"context_lines":[{"line_number":31,"context_line":"        parser.add_argument("},{"line_number":32,"context_line":"            \u0027--loadbalancer-id\u0027,"},{"line_number":33,"context_line":"            metavar\u003d\u0027\u003cload_balancer\u003e\u0027,"},{"line_number":34,"context_line":"            dest\u003d\u0027loadbalancer\u0027,"},{"line_number":35,"context_line":"            help\u003d\"Filter by load balancer (name or ID).\","},{"line_number":36,"context_line":"        )"},{"line_number":37,"context_line":"        parser.add_argument("}],"source_content_type":"text/x-python","patch_set":4,"id":"ff82abbf_1d72c47d","line":34,"in_reply_to":"ff82abbf_97c1d6e7","updated":"2017-11-30 19:19:34.000000000","message":"Done","commit_id":"3627e23b9065b3595123ed2eed8725c552f0af0f"},{"author":{"_account_id":6469,"name":"Carlos Gonçalves","display_name":"Carlos Goncalves","email":"cgoncalves@redhat.com","username":"cgoncalves"},"change_message_id":"67f07a0b656d7f40bff5632daa2e5e3a52c6dbee","unresolved":false,"context_lines":[{"line_number":35,"context_line":"            help\u003d\"Filter by load balancer (name or ID).\","},{"line_number":36,"context_line":"        )"},{"line_number":37,"context_line":"        parser.add_argument("},{"line_number":38,"context_line":"            \u0027--compute-id\u0027,"},{"line_number":39,"context_line":"            metavar\u003d\u0027\u003ccompute\u003e\u0027,"},{"line_number":40,"context_line":"            help\u003d\"Filter by compute ID.\","},{"line_number":41,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":4,"id":"ff82abbf_57ed8e89","line":38,"updated":"2017-11-30 15:02:28.000000000","message":"ditto, --compute","commit_id":"3627e23b9065b3595123ed2eed8725c552f0af0f"},{"author":{"_account_id":25239,"name":"Bar Elharar","email":"bar@redhat.com","username":"belharar"},"change_message_id":"b4faf5e88aff1e92c088491c45bb0d030fcb590f","unresolved":false,"context_lines":[{"line_number":35,"context_line":"            help\u003d\"Filter by load balancer (name or ID).\","},{"line_number":36,"context_line":"        )"},{"line_number":37,"context_line":"        parser.add_argument("},{"line_number":38,"context_line":"            \u0027--compute-id\u0027,"},{"line_number":39,"context_line":"            metavar\u003d\u0027\u003ccompute\u003e\u0027,"},{"line_number":40,"context_line":"            help\u003d\"Filter by compute ID.\","},{"line_number":41,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":4,"id":"ff82abbf_9d9fb464","line":38,"in_reply_to":"ff82abbf_57ed8e89","updated":"2017-11-30 19:19:34.000000000","message":"I don\u0027t allow name.","commit_id":"3627e23b9065b3595123ed2eed8725c552f0af0f"},{"author":{"_account_id":6469,"name":"Carlos Gonçalves","display_name":"Carlos Goncalves","email":"cgoncalves@redhat.com","username":"cgoncalves"},"change_message_id":"67f07a0b656d7f40bff5632daa2e5e3a52c6dbee","unresolved":false,"context_lines":[{"line_number":37,"context_line":"        parser.add_argument("},{"line_number":38,"context_line":"            \u0027--compute-id\u0027,"},{"line_number":39,"context_line":"            metavar\u003d\u0027\u003ccompute\u003e\u0027,"},{"line_number":40,"context_line":"            help\u003d\"Filter by compute ID.\","},{"line_number":41,"context_line":"        )"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"        return parser"}],"source_content_type":"text/x-python","patch_set":4,"id":"ff82abbf_f7af0229","line":40,"updated":"2017-11-30 15:02:28.000000000","message":"Filter by compute (name or ID).","commit_id":"3627e23b9065b3595123ed2eed8725c552f0af0f"},{"author":{"_account_id":6469,"name":"Carlos Gonçalves","display_name":"Carlos Goncalves","email":"cgoncalves@redhat.com","username":"cgoncalves"},"change_message_id":"67f07a0b656d7f40bff5632daa2e5e3a52c6dbee","unresolved":false,"context_lines":[{"line_number":40,"context_line":"            help\u003d\"Filter by compute ID.\","},{"line_number":41,"context_line":"        )"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"        return parser"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    def take_action(self, parsed_args):"},{"line_number":46,"context_line":"        columns \u003d const.AMPHORA_COLUMNS"}],"source_content_type":"text/x-python","patch_set":4,"id":"ff82abbf_172066b0","line":43,"updated":"2017-11-30 15:02:28.000000000","message":"Why not adding other arguments for filtering too? e.g. lb_network_ip, vrrp_ip, ha_ip.","commit_id":"3627e23b9065b3595123ed2eed8725c552f0af0f"},{"author":{"_account_id":25239,"name":"Bar Elharar","email":"bar@redhat.com","username":"belharar"},"change_message_id":"b4faf5e88aff1e92c088491c45bb0d030fcb590f","unresolved":false,"context_lines":[{"line_number":40,"context_line":"            help\u003d\"Filter by compute ID.\","},{"line_number":41,"context_line":"        )"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"        return parser"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    def take_action(self, parsed_args):"},{"line_number":46,"context_line":"        columns \u003d const.AMPHORA_COLUMNS"}],"source_content_type":"text/x-python","patch_set":4,"id":"ff82abbf_dd90dcf0","line":43,"in_reply_to":"ff82abbf_172066b0","updated":"2017-11-30 19:19:34.000000000","message":"There are many arguments that you could query by (e.g. status, role), I believe that amphora_id, loadbalancer_id, and compute_id, are the 3 most commonly used keys.\nNote that the API documentation does not reveal by which argument you could/should filter by.","commit_id":"3627e23b9065b3595123ed2eed8725c552f0af0f"},{"author":{"_account_id":25239,"name":"Bar Elharar","email":"bar@redhat.com","username":"belharar"},"change_message_id":"eda5bf95d8f3aa25eaa562044abf209748761692","unresolved":false,"context_lines":[{"line_number":40,"context_line":"            help\u003d\"Filter by compute ID.\","},{"line_number":41,"context_line":"        )"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"        return parser"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    def take_action(self, parsed_args):"},{"line_number":46,"context_line":"        columns \u003d const.AMPHORA_COLUMNS"}],"source_content_type":"text/x-python","patch_set":4,"id":"ff82abbf_1aef1cea","line":43,"in_reply_to":"ff82abbf_453706e5","updated":"2017-12-01 02:08:06.000000000","message":"I think I\u0027ve really captured the essence of this call with those 5 different possible filters (amphora, loadbalancer, compute, role, and status).","commit_id":"3627e23b9065b3595123ed2eed8725c552f0af0f"},{"author":{"_account_id":6469,"name":"Carlos Gonçalves","display_name":"Carlos Goncalves","email":"cgoncalves@redhat.com","username":"cgoncalves"},"change_message_id":"c7db3585352019835577816a70c0255dcf9bb939","unresolved":false,"context_lines":[{"line_number":40,"context_line":"            help\u003d\"Filter by compute ID.\","},{"line_number":41,"context_line":"        )"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"        return parser"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    def take_action(self, parsed_args):"},{"line_number":46,"context_line":"        columns \u003d const.AMPHORA_COLUMNS"}],"source_content_type":"text/x-python","patch_set":4,"id":"ff82abbf_453706e5","line":43,"in_reply_to":"ff82abbf_dd90dcf0","updated":"2017-11-30 23:48:39.000000000","message":"I\u0027d be in favor of adding as many as possible but not a blocker from my side if you don\u0027t.","commit_id":"3627e23b9065b3595123ed2eed8725c552f0af0f"},{"author":{"_account_id":6469,"name":"Carlos Gonçalves","display_name":"Carlos Goncalves","email":"cgoncalves@redhat.com","username":"cgoncalves"},"change_message_id":"c7db3585352019835577816a70c0255dcf9bb939","unresolved":false,"context_lines":[{"line_number":48,"context_line":"            help\u003d\"Filter by role.\""},{"line_number":49,"context_line":"        )"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"        status_choices \u003d set(["},{"line_number":52,"context_line":"            \u0027active\u0027, \u0027allocated\u0027, \u0027booting\u0027, \u0027deleted\u0027, \u0027error\u0027,"},{"line_number":53,"context_line":"            \u0027pending_create\u0027, \u0027pending_delete\u0027, \u0027pending_update\u0027,"},{"line_number":54,"context_line":"            \u0027ready\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"ff82abbf_a5e7f246","line":51,"updated":"2017-11-30 23:48:39.000000000","message":"Hmmm... the API documentation says: \"One of: BOOTING, ALLOCATED, READY, PENDING_DELETE, DELETED, ERROR.\".","commit_id":"f48fb47de8424ffae7b5992473f81a7725021c7a"},{"author":{"_account_id":25239,"name":"Bar Elharar","email":"bar@redhat.com","username":"belharar"},"change_message_id":"eda5bf95d8f3aa25eaa562044abf209748761692","unresolved":false,"context_lines":[{"line_number":48,"context_line":"            help\u003d\"Filter by role.\""},{"line_number":49,"context_line":"        )"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"        status_choices \u003d set(["},{"line_number":52,"context_line":"            \u0027active\u0027, \u0027allocated\u0027, \u0027booting\u0027, \u0027deleted\u0027, \u0027error\u0027,"},{"line_number":53,"context_line":"            \u0027pending_create\u0027, \u0027pending_delete\u0027, \u0027pending_update\u0027,"},{"line_number":54,"context_line":"            \u0027ready\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"ff82abbf_3afea0ae","line":51,"in_reply_to":"ff82abbf_a5e7f246","updated":"2017-12-01 02:08:06.000000000","message":"Thank you for pointing that out, I missed this.\nPerhaps i should do a follow up for the API documentation. I\u0027m not really sure why it \"supports\" only a subset of the possible states. Note that technically, the documentation refers only to the response parameters, while these filters are meant for the request.","commit_id":"f48fb47de8424ffae7b5992473f81a7725021c7a"},{"author":{"_account_id":6469,"name":"Carlos Gonçalves","display_name":"Carlos Goncalves","email":"cgoncalves@redhat.com","username":"cgoncalves"},"change_message_id":"c7db3585352019835577816a70c0255dcf9bb939","unresolved":false,"context_lines":[{"line_number":93,"context_line":"        parser.add_argument("},{"line_number":94,"context_line":"            \u0027amphora_id\u0027,"},{"line_number":95,"context_line":"            metavar\u003d\u0027\u003camphora-id\u003e\u0027,"},{"line_number":96,"context_line":"            help\u003d\u0027UUID of the amphora\u0027,"},{"line_number":97,"context_line":"        )"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"        return parser"}],"source_content_type":"text/x-python","patch_set":5,"id":"ff82abbf_ca4fa590","line":96,"updated":"2017-11-30 23:48:39.000000000","message":"Super nitty: end with period.","commit_id":"f48fb47de8424ffae7b5992473f81a7725021c7a"},{"author":{"_account_id":25239,"name":"Bar Elharar","email":"bar@redhat.com","username":"belharar"},"change_message_id":"eda5bf95d8f3aa25eaa562044abf209748761692","unresolved":false,"context_lines":[{"line_number":93,"context_line":"        parser.add_argument("},{"line_number":94,"context_line":"            \u0027amphora_id\u0027,"},{"line_number":95,"context_line":"            metavar\u003d\u0027\u003camphora-id\u003e\u0027,"},{"line_number":96,"context_line":"            help\u003d\u0027UUID of the amphora\u0027,"},{"line_number":97,"context_line":"        )"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"        return parser"}],"source_content_type":"text/x-python","patch_set":5,"id":"ff82abbf_3a5f800f","line":96,"in_reply_to":"ff82abbf_ca4fa590","updated":"2017-12-01 02:08:06.000000000","message":"Done","commit_id":"f48fb47de8424ffae7b5992473f81a7725021c7a"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"04478117e704a2cb679fae03bada1d0d2d89a960","unresolved":false,"context_lines":[{"line_number":49,"context_line":"        )"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"        status_choices \u003d set(["},{"line_number":52,"context_line":"            \u0027allocated\u0027, \u0027booting\u0027, \u0027deleted\u0027, \u0027error\u0027,"},{"line_number":53,"context_line":"            \u0027pending_create\u0027, \u0027pending_delete\u0027, \u0027ready\u0027,"},{"line_number":54,"context_line":"        ])"},{"line_number":55,"context_line":"        parser.add_argument("},{"line_number":56,"context_line":"            \u0027--status\u0027, \u0027--provisioning-status\u0027,"}],"source_content_type":"text/x-python","patch_set":11,"id":"df87a7cf_033a3335","line":53,"range":{"start_line":52,"start_character":12,"end_line":53,"end_character":56},"updated":"2017-12-04 23:55:42.000000000","message":"I think these should be capitalized like they are everywhere else.","commit_id":"1d33f60acabc96a0e746e5a1bc0d12dfa3e24e2e"},{"author":{"_account_id":25239,"name":"Bar Elharar","email":"bar@redhat.com","username":"belharar"},"change_message_id":"e0ca3a8ae861f4aa107c696d2d1ac32164914896","unresolved":false,"context_lines":[{"line_number":49,"context_line":"        )"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"        status_choices \u003d set(["},{"line_number":52,"context_line":"            \u0027allocated\u0027, \u0027booting\u0027, \u0027deleted\u0027, \u0027error\u0027,"},{"line_number":53,"context_line":"            \u0027pending_create\u0027, \u0027pending_delete\u0027, \u0027ready\u0027,"},{"line_number":54,"context_line":"        ])"},{"line_number":55,"context_line":"        parser.add_argument("},{"line_number":56,"context_line":"            \u0027--status\u0027, \u0027--provisioning-status\u0027,"}],"source_content_type":"text/x-python","patch_set":11,"id":"df87a7cf_ad80ff8c","line":53,"range":{"start_line":52,"start_character":12,"end_line":53,"end_character":56},"in_reply_to":"df87a7cf_033a3335","updated":"2017-12-05 15:23:36.000000000","message":"All will be capitalized.\nThis will be case insensitive.","commit_id":"1d33f60acabc96a0e746e5a1bc0d12dfa3e24e2e"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"04478117e704a2cb679fae03bada1d0d2d89a960","unresolved":false,"context_lines":[{"line_number":63,"context_line":"        return parser"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"    def take_action(self, parsed_args):"},{"line_number":66,"context_line":"        columns \u003d const.AMPHORA_COLUMNS"},{"line_number":67,"context_line":"        attrs \u003d v2_utils.get_amphora_attrs(self.app.client_manager,"},{"line_number":68,"context_line":"                                           parsed_args)"},{"line_number":69,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"df87a7cf_63da1f18","line":66,"updated":"2017-12-04 23:55:42.000000000","message":"This is way too much detail for a list call.\nWe should create an AMPHORA_ROWS and pare this down to:\nid, loadbalancer_id, status, role, lb_network_ip, and ha_ip\nOrder does matter.","commit_id":"1d33f60acabc96a0e746e5a1bc0d12dfa3e24e2e"},{"author":{"_account_id":25239,"name":"Bar Elharar","email":"bar@redhat.com","username":"belharar"},"change_message_id":"e0ca3a8ae861f4aa107c696d2d1ac32164914896","unresolved":false,"context_lines":[{"line_number":63,"context_line":"        return parser"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"    def take_action(self, parsed_args):"},{"line_number":66,"context_line":"        columns \u003d const.AMPHORA_COLUMNS"},{"line_number":67,"context_line":"        attrs \u003d v2_utils.get_amphora_attrs(self.app.client_manager,"},{"line_number":68,"context_line":"                                           parsed_args)"},{"line_number":69,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"df87a7cf_8d4f3b91","line":66,"in_reply_to":"df87a7cf_63da1f18","updated":"2017-12-05 15:23:36.000000000","message":"Done","commit_id":"1d33f60acabc96a0e746e5a1bc0d12dfa3e24e2e"}],"octaviaclient/osc/v2/listener.py":[{"author":{"_account_id":6469,"name":"Carlos Gonçalves","display_name":"Carlos Goncalves","email":"cgoncalves@redhat.com","username":"cgoncalves"},"change_message_id":"67f07a0b656d7f40bff5632daa2e5e3a52c6dbee","unresolved":false,"context_lines":[{"line_number":161,"context_line":"            help\u003d\"List listeners by listener name.\""},{"line_number":162,"context_line":"        )"},{"line_number":163,"context_line":"        parser.add_argument("},{"line_number":164,"context_line":"            \u0027--loadbalancer-id\u0027,"},{"line_number":165,"context_line":"            metavar\u003d\u0027\u003cload_balancer\u003e\u0027,"},{"line_number":166,"context_line":"            help\u003d\"Filter by load balancer (name or ID).\","},{"line_number":167,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":4,"id":"ff82abbf_695a362b","line":164,"updated":"2017-11-30 15:02:28.000000000","message":"--loadbalancer","commit_id":"3627e23b9065b3595123ed2eed8725c552f0af0f"},{"author":{"_account_id":25239,"name":"Bar Elharar","email":"bar@redhat.com","username":"belharar"},"change_message_id":"b4faf5e88aff1e92c088491c45bb0d030fcb590f","unresolved":false,"context_lines":[{"line_number":161,"context_line":"            help\u003d\"List listeners by listener name.\""},{"line_number":162,"context_line":"        )"},{"line_number":163,"context_line":"        parser.add_argument("},{"line_number":164,"context_line":"            \u0027--loadbalancer-id\u0027,"},{"line_number":165,"context_line":"            metavar\u003d\u0027\u003cload_balancer\u003e\u0027,"},{"line_number":166,"context_line":"            help\u003d\"Filter by load balancer (name or ID).\","},{"line_number":167,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":4,"id":"ff82abbf_9d181485","line":164,"in_reply_to":"ff82abbf_695a362b","updated":"2017-11-30 19:19:34.000000000","message":"Done","commit_id":"3627e23b9065b3595123ed2eed8725c552f0af0f"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"04478117e704a2cb679fae03bada1d0d2d89a960","unresolved":false,"context_lines":[{"line_number":161,"context_line":"            help\u003d\"List listeners by listener name.\""},{"line_number":162,"context_line":"        )"},{"line_number":163,"context_line":"        parser.add_argument("},{"line_number":164,"context_line":"            \u0027--loadbalancer\u0027,"},{"line_number":165,"context_line":"            metavar\u003d\u0027\u003cloadbalancer\u003e\u0027,"},{"line_number":166,"context_line":"            help\u003d\"Filter by load balancer (name or ID).\","},{"line_number":167,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":11,"id":"df87a7cf_03a47356","line":164,"updated":"2017-12-04 23:55:42.000000000","message":"Same failure as pool.","commit_id":"1d33f60acabc96a0e746e5a1bc0d12dfa3e24e2e"},{"author":{"_account_id":25239,"name":"Bar Elharar","email":"bar@redhat.com","username":"belharar"},"change_message_id":"e0ca3a8ae861f4aa107c696d2d1ac32164914896","unresolved":false,"context_lines":[{"line_number":161,"context_line":"            help\u003d\"List listeners by listener name.\""},{"line_number":162,"context_line":"        )"},{"line_number":163,"context_line":"        parser.add_argument("},{"line_number":164,"context_line":"            \u0027--loadbalancer\u0027,"},{"line_number":165,"context_line":"            metavar\u003d\u0027\u003cloadbalancer\u003e\u0027,"},{"line_number":166,"context_line":"            help\u003d\"Filter by load balancer (name or ID).\","},{"line_number":167,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":11,"id":"df87a7cf_4dbb7371","line":164,"in_reply_to":"df87a7cf_03a47356","updated":"2017-12-05 15:23:36.000000000","message":"fixed in the dependency.","commit_id":"1d33f60acabc96a0e746e5a1bc0d12dfa3e24e2e"}],"octaviaclient/osc/v2/load_balancer.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"8fc9f630b19e6b9e0f3e71aa90c7b00b26759fc8","unresolved":false,"context_lines":[{"line_number":149,"context_line":"            lb_id\u003dlb_id, **attrs)"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"class FailoverLoadBalancer(command.ShowOne):"},{"line_number":153,"context_line":"    \"\"\"Trigger load balancer failover\"\"\""},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"    def get_parser(self, prog_name):"}],"source_content_type":"text/x-python","patch_set":10,"id":"df87a7cf_0af808e3","line":152,"updated":"2017-12-04 20:58:30.000000000","message":"This should not be ShowOne, it should be Command.","commit_id":"88745b22d228396d91ead58893134919b145fa5f"}],"octaviaclient/osc/v2/pool.py":[{"author":{"_account_id":6469,"name":"Carlos Gonçalves","display_name":"Carlos Goncalves","email":"cgoncalves@redhat.com","username":"cgoncalves"},"change_message_id":"67f07a0b656d7f40bff5632daa2e5e3a52c6dbee","unresolved":false,"context_lines":[{"line_number":128,"context_line":"        parser \u003d super(ListPool, self).get_parser(prog_name)"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"        parser.add_argument("},{"line_number":131,"context_line":"            \u0027--loadbalancer-id\u0027,"},{"line_number":132,"context_line":"            metavar\u003d\u0027\u003cload_balancer\u003e\u0027,"},{"line_number":133,"context_line":"            help\u003d\"Filter by load balancer (name or ID).\","},{"line_number":134,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":4,"id":"ff82abbf_c96102d6","line":131,"updated":"2017-11-30 15:02:28.000000000","message":"--loadbalancer","commit_id":"3627e23b9065b3595123ed2eed8725c552f0af0f"},{"author":{"_account_id":25239,"name":"Bar Elharar","email":"bar@redhat.com","username":"belharar"},"change_message_id":"b4faf5e88aff1e92c088491c45bb0d030fcb590f","unresolved":false,"context_lines":[{"line_number":128,"context_line":"        parser \u003d super(ListPool, self).get_parser(prog_name)"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"        parser.add_argument("},{"line_number":131,"context_line":"            \u0027--loadbalancer-id\u0027,"},{"line_number":132,"context_line":"            metavar\u003d\u0027\u003cload_balancer\u003e\u0027,"},{"line_number":133,"context_line":"            help\u003d\"Filter by load balancer (name or ID).\","},{"line_number":134,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":4,"id":"ff82abbf_b8d64627","line":131,"in_reply_to":"ff82abbf_c96102d6","updated":"2017-11-30 19:19:34.000000000","message":"Done","commit_id":"3627e23b9065b3595123ed2eed8725c552f0af0f"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"04478117e704a2cb679fae03bada1d0d2d89a960","unresolved":false,"context_lines":[{"line_number":128,"context_line":"        parser \u003d super(ListPool, self).get_parser(prog_name)"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"        parser.add_argument("},{"line_number":131,"context_line":"            \u0027--loadbalancer\u0027,"},{"line_number":132,"context_line":"            metavar\u003d\u0027\u003cloadbalancer\u003e\u0027,"},{"line_number":133,"context_line":"            help\u003d\"Filter by load balancer (name or ID).\","},{"line_number":134,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":11,"id":"df87a7cf_83fac33f","line":131,"updated":"2017-12-04 23:55:42.000000000","message":"This fails for me with a 400 error.\nstack@devstackpy27-2:~/devstack$ openstack loadbalancer pool list --loadbalancer lb1\nBad Request (HTTP 400) (Request-ID: req-d164f262-74bc-479a-a46f-06f6d90b1e3d)\nWith octavia commit: 639711d41e29ade5e0b18ea54aaf1e1239d88f17\nRESP BODY: {\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"One of more arguments are either duplicate or invalid\"}\n\nDebug output:\nREQ: curl -g -i -X GET \"http://172.21.21.140/load-balancer/v2.0/lbaas/pools?load balancer_id\u003dd7b9f7bc-63b3-4b02-933e-1fb2fac0e3db\" -H \"User-Agent: osc-lib/1.7.0  keystoneauth1/3.2.0 python-requests/2.18.4 CPython/2.7.12\" -H \"X-Auth-Token: {SH A1}924e74d257f969561151e62be4cf9b7b3e59d968\"\nResetting dropped connection: 172.21.21.140\nhttp://172.21.21.140:80 \"GET /load-balancer/v2.0/lbaas/pools?loadbalancer_id\u003dd7b 9f7bc-63b3-4b02-933e-1fb2fac0e3db HTTP/1.1\" 400 114\nRESP: [400] Date: Mon, 04 Dec 2017 23:47:38 GMT Server: Apache/2.4.18 (Ubuntu) C ontent-Length: 114 Content-Type: application/json x-openstack-request-id: req-c6 cfda79-0e2e-468b-bb92-a78a5f2a74cc Connection: close\nRESP BODY: {\"debuginfo\": null, \"faultcode\": \"Client\", \"faultstring\": \"One of mor e arguments are either duplicate or invalid\"}\n\nGET call to None for http://172.21.21.140/load-balancer/v2.0/lbaas/pools?loadbal ancer_id\u003dd7b9f7bc-63b3-4b02-933e-1fb2fac0e3db used request id req-c6cfda79-0e2e- 468b-bb92-a78a5f2a74cc\nRequest returned failure status: 400\nBad Request (HTTP 400) (Request-ID: req-c6cfda79-0e2e-468b-bb92-a78a5f2a74cc)\nTraceback (most recent call last):\n  File \"/usr/local/lib/python2.7/dist-packages/cliff/app.py\", line 400, in run_s ubcommand\n    result \u003d cmd.run(parsed_args)\n  File \"/usr/local/lib/python2.7/dist-packages/cliff/display.py\", line 115, in r un\n    column_names, data \u003d self.take_action(parsed_args)\n  File \"/usr/local/lib/python2.7/dist-packages/octaviaclient/osc/v2/pool.py\", li ne 141, in take_action\n    data \u003d self.app.client_manager.load_balancer.pool_list(**attrs)\n  File \"/usr/local/lib/python2.7/dist-packages/octaviaclient/api/v2/octavia.py\",  line 220, in pool_list\n    response \u003d self.list(url, **kwargs)\n  File \"/usr/local/lib/python2.7/dist-packages/osc_lib/api/api.py\", line 234, in  list\n    headers\u003dheaders,\n  File \"/usr/local/lib/python2.7/dist-packages/osc_lib/api/api.py\", line 141, in  _request\n    return session.request(url, method, **kwargs)\n  File \"/usr/local/lib/python2.7/dist-packages/osc_lib/session.py\", line 40, in  request\n    resp \u003d super(TimingSession, self).request(url, method, **kwargs)\n  File \"/usr/local/lib/python2.7/dist-packages/keystoneauth1/session.py\", line 7 37, in request\n    raise exceptions.from_response(resp, method, url)\nBadRequest: Bad Request (HTTP 400) (Request-ID: req-c6cfda79-0e2e-468b-bb92-a78a 5f2a74cc)\nclean_up ListPool: Bad Request (HTTP 400) (Request-ID: req-c6cfda79-0e2e-468b-bb 92-a78a5f2a74cc)\nTraceback (most recent call last):\n  File \"/usr/local/lib/python2.7/dist-packages/osc_lib/shell.py\", line 134, in r un\n    ret_val \u003d super(OpenStackShell, self).run(argv)\n  File \"/usr/local/lib/python2.7/dist-packages/cliff/app.py\", line 279, in run\n    result \u003d self.run_subcommand(remainder)\n  File \"/usr/local/lib/python2.7/dist-packages/osc_lib/shell.py\", line 169, in r un_subcommand\n    ret_value \u003d super(OpenStackShell, self).run_subcommand(argv)\n  File \"/usr/local/lib/python2.7/dist-packages/cliff/app.py\", line 400, in run_s ubcommand\n    result \u003d cmd.run(parsed_args)\n  File \"/usr/local/lib/python2.7/dist-packages/cliff/display.py\", line 115, in r un\n    column_names, data \u003d self.take_action(parsed_args)\n  File \"/usr/local/lib/python2.7/dist-packages/octaviaclient/osc/v2/pool.py\", li ne 141, in take_action\n    data \u003d self.app.client_manager.load_balancer.pool_list(**attrs)\n  File \"/usr/local/lib/python2.7/dist-packages/octaviaclient/api/v2/octavia.py\",  line 220, in pool_list\n    response \u003d self.list(url, **kwargs)\n  File \"/usr/local/lib/python2.7/dist-packages/osc_lib/api/api.py\", line 234, in  list\n    headers\u003dheaders,\n  File \"/usr/local/lib/python2.7/dist-packages/osc_lib/api/api.py\", line 141, in  _request\n    return session.request(url, method, **kwargs)\n  File \"/usr/local/lib/python2.7/dist-packages/osc_lib/session.py\", line 40, in  request\n    resp \u003d super(TimingSession, self).request(url, method, **kwargs)\n  File \"/usr/local/lib/python2.7/dist-packages/keystoneauth1/session.py\", line 7 37, in request\n    raise exceptions.from_response(resp, method, url)\nBadRequest: Bad Request (HTTP 400) (Request-ID: req-c6cfda79-0e2e-468b-bb92-a78a 5f2a74cc)\n\nEND return value: 1","commit_id":"1d33f60acabc96a0e746e5a1bc0d12dfa3e24e2e"},{"author":{"_account_id":25239,"name":"Bar Elharar","email":"bar@redhat.com","username":"belharar"},"change_message_id":"e0ca3a8ae861f4aa107c696d2d1ac32164914896","unresolved":false,"context_lines":[{"line_number":128,"context_line":"        parser \u003d super(ListPool, self).get_parser(prog_name)"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"        parser.add_argument("},{"line_number":131,"context_line":"            \u0027--loadbalancer\u0027,"},{"line_number":132,"context_line":"            metavar\u003d\u0027\u003cloadbalancer\u003e\u0027,"},{"line_number":133,"context_line":"            help\u003d\"Filter by load balancer (name or ID).\","},{"line_number":134,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":11,"id":"df87a7cf_cd8d43d4","line":131,"in_reply_to":"df87a7cf_83fac33f","updated":"2017-12-05 15:23:36.000000000","message":"fixed in the dependency.","commit_id":"1d33f60acabc96a0e746e5a1bc0d12dfa3e24e2e"}],"octaviaclient/osc/v2/utils.py":[{"author":{"_account_id":15309,"name":"zhaobo","email":"bzhaojyathousandy@gmail.com","username":"ZhaoBo"},"change_message_id":"84a371c692b2f2620cff916373630e6f58ee2078","unresolved":false,"context_lines":[{"line_number":42,"context_line":"                ) for x in v]"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"        # Attributes with 4 values map to a resource with a parent"},{"line_number":45,"context_line":"        elif len(source_val) \u003d\u003d 4:"},{"line_number":46,"context_line":"            parent \u003d source_attr_map[source_val[2]]"},{"line_number":47,"context_line":"            parent_id \u003d get_resource_id("},{"line_number":48,"context_line":"                parent[2],"}],"source_content_type":"text/x-python","patch_set":4,"id":"ff82abbf_20034d75","line":45,"range":{"start_line":45,"start_character":0,"end_line":45,"end_character":34},"updated":"2017-11-27 01:56:41.000000000","message":"why not else? Should we want to restrict the counts of values?","commit_id":"3627e23b9065b3595123ed2eed8725c552f0af0f"},{"author":{"_account_id":25239,"name":"Bar Elharar","email":"bar@redhat.com","username":"belharar"},"change_message_id":"002e62a4165a9b56d20631f2e8bb6cb6bda34ade","unresolved":false,"context_lines":[{"line_number":42,"context_line":"                ) for x in v]"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"        # Attributes with 4 values map to a resource with a parent"},{"line_number":45,"context_line":"        elif len(source_val) \u003d\u003d 4:"},{"line_number":46,"context_line":"            parent \u003d source_attr_map[source_val[2]]"},{"line_number":47,"context_line":"            parent_id \u003d get_resource_id("},{"line_number":48,"context_line":"                parent[2],"}],"source_content_type":"text/x-python","patch_set":4,"id":"ff82abbf_34386cec","line":45,"range":{"start_line":45,"start_character":0,"end_line":45,"end_character":34},"in_reply_to":"ff82abbf_20034d75","updated":"2017-11-27 09:46:33.000000000","message":"Values that do not confirm with the 2\u003c\u003dlen(val)\u003c\u003d4 structure are invalid, and ignored.","commit_id":"3627e23b9065b3595123ed2eed8725c552f0af0f"},{"author":{"_account_id":6469,"name":"Carlos Gonçalves","display_name":"Carlos Goncalves","email":"cgoncalves@redhat.com","username":"cgoncalves"},"change_message_id":"67f07a0b656d7f40bff5632daa2e5e3a52c6dbee","unresolved":false,"context_lines":[{"line_number":397,"context_line":"            \u0027loadbalancers\u0027,"},{"line_number":398,"context_line":"            client_manager.load_balancer.load_balancer_list,"},{"line_number":399,"context_line":"        ),"},{"line_number":400,"context_line":"        \u0027compute_id\u0027: (\u0027compute_id\u0027, str),"},{"line_number":401,"context_line":"    }"},{"line_number":402,"context_line":""},{"line_number":403,"context_line":"    return _map_attrs(vars(parsed_args), attr_map)"}],"source_content_type":"text/x-python","patch_set":4,"id":"ff82abbf_89e77a47","line":400,"range":{"start_line":400,"start_character":9,"end_line":400,"end_character":19},"updated":"2017-11-30 15:02:28.000000000","message":"s/compute_id/compute/","commit_id":"3627e23b9065b3595123ed2eed8725c552f0af0f"},{"author":{"_account_id":25239,"name":"Bar Elharar","email":"bar@redhat.com","username":"belharar"},"change_message_id":"b4faf5e88aff1e92c088491c45bb0d030fcb590f","unresolved":false,"context_lines":[{"line_number":397,"context_line":"            \u0027loadbalancers\u0027,"},{"line_number":398,"context_line":"            client_manager.load_balancer.load_balancer_list,"},{"line_number":399,"context_line":"        ),"},{"line_number":400,"context_line":"        \u0027compute_id\u0027: (\u0027compute_id\u0027, str),"},{"line_number":401,"context_line":"    }"},{"line_number":402,"context_line":""},{"line_number":403,"context_line":"    return _map_attrs(vars(parsed_args), attr_map)"}],"source_content_type":"text/x-python","patch_set":4,"id":"ff82abbf_5807fa19","line":400,"range":{"start_line":400,"start_character":9,"end_line":400,"end_character":19},"in_reply_to":"ff82abbf_89e77a47","updated":"2017-11-30 19:19:34.000000000","message":"I allow here only IDs.","commit_id":"3627e23b9065b3595123ed2eed8725c552f0af0f"}],"releasenotes/notes/add-new-commands-and-options-d520b36d870cbcb4.yaml":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"04478117e704a2cb679fae03bada1d0d2d89a960","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Several features have been added for the Openstack client plugin:"},{"line_number":5,"context_line":"    - Loadbalancer failover command, which allows to trigger failover protocol."},{"line_number":6,"context_line":"    - Amphora commands, to query amphorae by ID or by loadbalancer ID, etc."}],"source_content_type":"text/x-yaml","patch_set":11,"id":"df87a7cf_e345cf71","line":3,"updated":"2017-12-04 23:55:42.000000000","message":"This is already a list, why not just\n - Loadbalancer failover command, which allows to trigger failover protocol.\n - Amphora commands, to query amphorae by ID or by loadbalancer ID, etc.\n - Filter \u0027list\u0027 calls by loadbalancer ID, for both listeners and pools.","commit_id":"1d33f60acabc96a0e746e5a1bc0d12dfa3e24e2e"},{"author":{"_account_id":25239,"name":"Bar Elharar","email":"bar@redhat.com","username":"belharar"},"change_message_id":"e0ca3a8ae861f4aa107c696d2d1ac32164914896","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Several features have been added for the Openstack client plugin:"},{"line_number":5,"context_line":"    - Loadbalancer failover command, which allows to trigger failover protocol."},{"line_number":6,"context_line":"    - Amphora commands, to query amphorae by ID or by loadbalancer ID, etc."}],"source_content_type":"text/x-yaml","patch_set":11,"id":"df87a7cf_2d5cef7c","line":3,"in_reply_to":"df87a7cf_e345cf71","updated":"2017-12-05 15:23:36.000000000","message":"Done","commit_id":"1d33f60acabc96a0e746e5a1bc0d12dfa3e24e2e"}]}
