)]}'
{"octaviaclient/api/v2/octavia.py":[{"author":{"_account_id":4257,"name":"Zane Bitter","email":"zbitter@redhat.com","username":"zaneb"},"change_message_id":"a9c6bf342aad143851bba494ebadb980252672ba","unresolved":false,"context_lines":[{"line_number":936,"context_line":"        return response"},{"line_number":937,"context_line":""},{"line_number":938,"context_line":""},{"line_number":939,"context_line":"class OctaviaClientException(Exception):"},{"line_number":940,"context_line":"    \"\"\"The base exception class for all exceptions this library raises.\"\"\""},{"line_number":941,"context_line":""},{"line_number":942,"context_line":"    def __init__(self, code, message\u003dNone, request_id\u003dNone):"}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa7e38b_dd9404ea","side":"PARENT","line":939,"updated":"2019-12-02 19:26:00.000000000","message":"Umm, moving the client exception breaks 100% of clients using the API.","commit_id":"cd6482966ad9cbeaad52512acbcd19e1f0f7a751"},{"author":{"_account_id":27329,"name":"Federico Ressi","email":"fressi@redhat.com","username":"fressi_redhat"},"change_message_id":"c51caa427b429c4fc1ddc5c8de8d567792ee4076","unresolved":false,"context_lines":[{"line_number":936,"context_line":"        return response"},{"line_number":937,"context_line":""},{"line_number":938,"context_line":""},{"line_number":939,"context_line":"class OctaviaClientException(Exception):"},{"line_number":940,"context_line":"    \"\"\"The base exception class for all exceptions this library raises.\"\"\""},{"line_number":941,"context_line":""},{"line_number":942,"context_line":"    def __init__(self, code, message\u003dNone, request_id\u003dNone):"}],"source_content_type":"text/x-python","patch_set":4,"id":"3fa7e38b_581fc2b7","side":"PARENT","line":939,"in_reply_to":"3fa7e38b_dd9404ea","updated":"2019-12-02 20:09:55.000000000","message":"We should leave here a reference of this class.\n\n OctaviaClientException \u003d exceptions.OctaviaClientException","commit_id":"cd6482966ad9cbeaad52512acbcd19e1f0f7a751"}],"octaviaclient/osc/v2/listener.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"a30f2da11e9119da891d06f1a48ada15823ff3b1","unresolved":false,"context_lines":[{"line_number":186,"context_line":"            v2_utils.wait_for_active("},{"line_number":187,"context_line":"                status_f\u003d(self.app.client_manager.load_balancer."},{"line_number":188,"context_line":"                          load_balancer_show),"},{"line_number":189,"context_line":"                res_id\u003ddata[\u0027listener\u0027][\u0027loadbalancers\u0027][0][\u0027id\u0027]"},{"line_number":190,"context_line":"            )"},{"line_number":191,"context_line":"            data \u003d {"},{"line_number":192,"context_line":"                \u0027listener\u0027: ("}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_10177ef0","line":189,"updated":"2019-10-29 21:44:01.000000000","message":"It *might* be easier to just use the attrs load balancer ID here.","commit_id":"7613faaec35a4829dca93f5ce72103cddab8b04b"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"e681427d6678a416335fcabd12f1507d01b61a63","unresolved":false,"context_lines":[{"line_number":186,"context_line":"            v2_utils.wait_for_active("},{"line_number":187,"context_line":"                status_f\u003d(self.app.client_manager.load_balancer."},{"line_number":188,"context_line":"                          load_balancer_show),"},{"line_number":189,"context_line":"                res_id\u003ddata[\u0027listener\u0027][\u0027loadbalancers\u0027][0][\u0027id\u0027]"},{"line_number":190,"context_line":"            )"},{"line_number":191,"context_line":"            data \u003d {"},{"line_number":192,"context_line":"                \u0027listener\u0027: ("}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_90e5aea6","line":189,"in_reply_to":"3fa7e38b_10177ef0","updated":"2019-10-29 22:01:21.000000000","message":"Yeah, but this is consistent with all the other objects that don\u0027t have that passed in, so I think it\u0027s fine.","commit_id":"7613faaec35a4829dca93f5ce72103cddab8b04b"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"a30f2da11e9119da891d06f1a48ada15823ff3b1","unresolved":false,"context_lines":[{"line_number":188,"context_line":"                          load_balancer_show),"},{"line_number":189,"context_line":"                res_id\u003ddata[\u0027listener\u0027][\u0027loadbalancers\u0027][0][\u0027id\u0027]"},{"line_number":190,"context_line":"            )"},{"line_number":191,"context_line":"            data \u003d {"},{"line_number":192,"context_line":"                \u0027listener\u0027: ("},{"line_number":193,"context_line":"                    self.app.client_manager.load_balancer.listener_show("},{"line_number":194,"context_line":"                        data[\u0027listener\u0027][\u0027id\u0027]))"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_f0d74222","line":191,"updated":"2019-10-29 21:44:01.000000000","message":"What is this for?","commit_id":"7613faaec35a4829dca93f5ce72103cddab8b04b"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"e681427d6678a416335fcabd12f1507d01b61a63","unresolved":false,"context_lines":[{"line_number":188,"context_line":"                          load_balancer_show),"},{"line_number":189,"context_line":"                res_id\u003ddata[\u0027listener\u0027][\u0027loadbalancers\u0027][0][\u0027id\u0027]"},{"line_number":190,"context_line":"            )"},{"line_number":191,"context_line":"            data \u003d {"},{"line_number":192,"context_line":"                \u0027listener\u0027: ("},{"line_number":193,"context_line":"                    self.app.client_manager.load_balancer.listener_show("},{"line_number":194,"context_line":"                        data[\u0027listener\u0027][\u0027id\u0027]))"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_f099821e","line":191,"in_reply_to":"3fa7e38b_f0d74222","updated":"2019-10-29 22:01:21.000000000","message":"`create` output has the object nested in a type tag on return, while `show` does not. I have to make it look like the result of the `create` call so it can be parsed below (L204).\n\nOr, do you mean why re-fetch? So the object has ACTIVE status like it\u0027s supposed to, without trying to mangle the original result (and ensuring anything else that updated is reflected).","commit_id":"7613faaec35a4829dca93f5ce72103cddab8b04b"}],"octaviaclient/osc/v2/member.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"a30f2da11e9119da891d06f1a48ada15823ff3b1","unresolved":false,"context_lines":[{"line_number":299,"context_line":""},{"line_number":300,"context_line":"        if parsed_args.wait:"},{"line_number":301,"context_line":"            member_show \u003d functools.partial("},{"line_number":302,"context_line":"                self.app.client_manager.load_balancer.member_show,"},{"line_number":303,"context_line":"                pool_id"},{"line_number":304,"context_line":"            )"},{"line_number":305,"context_line":"            v2_utils.wait_for_active("}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_9094ce37","line":302,"updated":"2019-10-29 21:44:01.000000000","message":"Technically the member provisioning_status is not a gate for mutability of the LB. This will return successfully prior to the LB actually being unlocked.","commit_id":"7613faaec35a4829dca93f5ce72103cddab8b04b"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"e681427d6678a416335fcabd12f1507d01b61a63","unresolved":false,"context_lines":[{"line_number":299,"context_line":""},{"line_number":300,"context_line":"        if parsed_args.wait:"},{"line_number":301,"context_line":"            member_show \u003d functools.partial("},{"line_number":302,"context_line":"                self.app.client_manager.load_balancer.member_show,"},{"line_number":303,"context_line":"                pool_id"},{"line_number":304,"context_line":"            )"},{"line_number":305,"context_line":"            v2_utils.wait_for_active("}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_b0b8ea74","line":302,"in_reply_to":"3fa7e38b_9094ce37","updated":"2019-10-29 22:01:21.000000000","message":"Yes, this is true for a number of objects -- I do the same thing in most of them (just checking the sub-object status). I THINK it\u0027s fine because they\u0027re generally going to have wrapped up within a fraction of a second after this (probably before the client is even finished parsing the returned result). I CAN fix this if folks would prefer (it even irks me a little bit, and I wrote it) but it\u0027s some extra calls.","commit_id":"7613faaec35a4829dca93f5ce72103cddab8b04b"}],"octaviaclient/osc/v2/utils.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"a30f2da11e9119da891d06f1a48ada15823ff3b1","unresolved":false,"context_lines":[{"line_number":555,"context_line":""},{"line_number":556,"context_line":""},{"line_number":557,"context_line":"def wait_for_active(status_f, res_id):"},{"line_number":558,"context_line":"    print(\"Waiting for active: %s\" % res_id)"},{"line_number":559,"context_line":"    success \u003d utils.wait_for_status("},{"line_number":560,"context_line":"        status_f\u003dlambda x: munch.Munch(status_f(x)),"},{"line_number":561,"context_line":"        res_id\u003dres_id,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_d0bb26e2","line":558,"updated":"2019-10-29 21:44:01.000000000","message":"This is temporary right?","commit_id":"7613faaec35a4829dca93f5ce72103cddab8b04b"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"e681427d6678a416335fcabd12f1507d01b61a63","unresolved":false,"context_lines":[{"line_number":555,"context_line":""},{"line_number":556,"context_line":""},{"line_number":557,"context_line":"def wait_for_active(status_f, res_id):"},{"line_number":558,"context_line":"    print(\"Waiting for active: %s\" % res_id)"},{"line_number":559,"context_line":"    success \u003d utils.wait_for_status("},{"line_number":560,"context_line":"        status_f\u003dlambda x: munch.Munch(status_f(x)),"},{"line_number":561,"context_line":"        res_id\u003dres_id,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3fa7e38b_50dad6e8","line":558,"in_reply_to":"3fa7e38b_d0bb26e2","updated":"2019-10-29 22:01:21.000000000","message":"Yes, all these prints are just there while I\u0027m debugging, there will be no output besides the typical object response when I\u0027m finished.","commit_id":"7613faaec35a4829dca93f5ce72103cddab8b04b"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"43708b587ac957c950e826d3140f71c2b25ae39a","unresolved":false,"context_lines":[{"line_number":554,"context_line":"            value is True and arg !\u003d \u0027wait\u0027}"},{"line_number":555,"context_line":""},{"line_number":556,"context_line":""},{"line_number":557,"context_line":"def wait_for_active(status_f, res_id):"},{"line_number":558,"context_line":"    success \u003d utils.wait_for_status("},{"line_number":559,"context_line":"        status_f\u003dlambda x: munch.Munch(status_f(x)),"},{"line_number":560,"context_line":"        res_id\u003dres_id,"}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa7e38b_a14ffe8f","line":557,"updated":"2019-11-04 19:55:42.000000000","message":"Missing test coverage.","commit_id":"2d19898c87dfca24e87c41bc04cc2ae788b12339"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"43708b587ac957c950e826d3140f71c2b25ae39a","unresolved":false,"context_lines":[{"line_number":567,"context_line":"            message\u003d\"The resource did not successfully reach ACTIVE status.\")"},{"line_number":568,"context_line":""},{"line_number":569,"context_line":""},{"line_number":570,"context_line":"def wait_for_delete(status_f, res_id):"},{"line_number":571,"context_line":"    class Getter(object):"},{"line_number":572,"context_line":"        @staticmethod"},{"line_number":573,"context_line":"        def get(id):"}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa7e38b_4142ca69","line":570,"updated":"2019-11-04 19:55:42.000000000","message":"Missing test coverage.","commit_id":"2d19898c87dfca24e87c41bc04cc2ae788b12339"}]}
