)]}'
{"octaviaclient/api/load_balancer_v2.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"4610aae0cc0b28ebbe8eb47d23e5b4df6a4576ad","unresolved":false,"context_lines":[{"line_number":336,"context_line":"            A dict of the created l7policy\u0027s settings"},{"line_number":337,"context_line":"        \"\"\""},{"line_number":338,"context_line":"        url \u003d const.BASE_L7POLICY_URL"},{"line_number":339,"context_line":"        policy \u003d self.create(url, method\u003d\u0027POST\u0027, **kwargs)"},{"line_number":340,"context_line":""},{"line_number":341,"context_line":"        return policy"},{"line_number":342,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"df140735_0dbe25fe","line":339,"range":{"start_line":339,"start_character":34,"end_line":339,"end_character":47},"updated":"2017-06-06 00:52:47.000000000","message":"Post is default and this param is not on the load balancer create.  We should be consistent and either remove this one or add it to load balancer","commit_id":"f88aee0c1ed6411dbff1277619ed9bf6044d08da"},{"author":{"_account_id":25674,"name":"Jude Cross","email":"jucross@blizzard.com","username":"problem_v"},"change_message_id":"91ce2a6c75080482a5ba1d2de518efe8052581cd","unresolved":false,"context_lines":[{"line_number":336,"context_line":"            A dict of the created l7policy\u0027s settings"},{"line_number":337,"context_line":"        \"\"\""},{"line_number":338,"context_line":"        url \u003d const.BASE_L7POLICY_URL"},{"line_number":339,"context_line":"        policy \u003d self.create(url, method\u003d\u0027POST\u0027, **kwargs)"},{"line_number":340,"context_line":""},{"line_number":341,"context_line":"        return policy"},{"line_number":342,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"df140735_99e13b2e","line":339,"range":{"start_line":339,"start_character":34,"end_line":339,"end_character":47},"in_reply_to":"df140735_0dbe25fe","updated":"2017-06-06 18:24:06.000000000","message":"Done","commit_id":"f88aee0c1ed6411dbff1277619ed9bf6044d08da"}],"octaviaclient/osc/v2/constants.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"4610aae0cc0b28ebbe8eb47d23e5b4df6a4576ad","unresolved":false,"context_lines":[{"line_number":120,"context_line":"    \u0027Monitor Address\u0027)"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"L7POLICY_ROWS \u003d ("},{"line_number":123,"context_line":"    \u0027Listener ID\u0027,"},{"line_number":124,"context_line":"    \u0027Description\u0027,"},{"line_number":125,"context_line":"    \u0027Admin State Up\u0027,"},{"line_number":126,"context_line":"    \u0027Rules\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"df140735_ad3cd992","line":123,"range":{"start_line":123,"start_character":4,"end_line":123,"end_character":18},"updated":"2017-06-06 00:52:47.000000000","message":"Same here, these probably need to be the api names.","commit_id":"f88aee0c1ed6411dbff1277619ed9bf6044d08da"},{"author":{"_account_id":25674,"name":"Jude Cross","email":"jucross@blizzard.com","username":"problem_v"},"change_message_id":"91ce2a6c75080482a5ba1d2de518efe8052581cd","unresolved":false,"context_lines":[{"line_number":120,"context_line":"    \u0027Monitor Address\u0027)"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"L7POLICY_ROWS \u003d ("},{"line_number":123,"context_line":"    \u0027Listener ID\u0027,"},{"line_number":124,"context_line":"    \u0027Description\u0027,"},{"line_number":125,"context_line":"    \u0027Admin State Up\u0027,"},{"line_number":126,"context_line":"    \u0027Rules\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"df140735_59f3a374","line":123,"range":{"start_line":123,"start_character":4,"end_line":123,"end_character":18},"in_reply_to":"df140735_ad3cd992","updated":"2017-06-06 18:24:06.000000000","message":"Done","commit_id":"f88aee0c1ed6411dbff1277619ed9bf6044d08da"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"4610aae0cc0b28ebbe8eb47d23e5b4df6a4576ad","unresolved":false,"context_lines":[{"line_number":142,"context_line":"    \u0027Project ID\u0027,"},{"line_number":143,"context_line":"    \u0027Provisioning Status\u0027,"},{"line_number":144,"context_line":"    \u0027Action\u0027,"},{"line_number":145,"context_line":"    \u0027Rules\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"df140735_cd070dca","line":145,"range":{"start_line":145,"start_character":4,"end_line":145,"end_character":12},"updated":"2017-06-06 00:52:47.000000000","message":"This probably isn\u0027t needed here, I think it would get too full.\n\nHowever, we need \"position\" and probably admin-state-up as well.","commit_id":"f88aee0c1ed6411dbff1277619ed9bf6044d08da"},{"author":{"_account_id":25674,"name":"Jude Cross","email":"jucross@blizzard.com","username":"problem_v"},"change_message_id":"91ce2a6c75080482a5ba1d2de518efe8052581cd","unresolved":false,"context_lines":[{"line_number":142,"context_line":"    \u0027Project ID\u0027,"},{"line_number":143,"context_line":"    \u0027Provisioning Status\u0027,"},{"line_number":144,"context_line":"    \u0027Action\u0027,"},{"line_number":145,"context_line":"    \u0027Rules\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"df140735_99681b88","line":145,"range":{"start_line":145,"start_character":4,"end_line":145,"end_character":12},"in_reply_to":"df140735_cd070dca","updated":"2017-06-06 18:24:06.000000000","message":"Done","commit_id":"f88aee0c1ed6411dbff1277619ed9bf6044d08da"}],"octaviaclient/osc/v2/l7policy.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"4610aae0cc0b28ebbe8eb47d23e5b4df6a4576ad","unresolved":false,"context_lines":[{"line_number":51,"context_line":"            \u0027--action\u0027,"},{"line_number":52,"context_line":"            metavar\u003d\u0027\u003caction\u003e\u0027,"},{"line_number":53,"context_line":"            required\u003dTrue,"},{"line_number":54,"context_line":"            choices\u003d[\u0027REDIRECT_TO_URL\u0027, \u0027REDIRECT_TO_POOL\u0027, \u0027REJECT\u0027],"},{"line_number":55,"context_line":"            help\u003d\"Policy action\""},{"line_number":56,"context_line":"        )"},{"line_number":57,"context_line":"        parser.add_argument("}],"source_content_type":"text/x-python","patch_set":5,"id":"df140735_13fc083c","line":54,"range":{"start_line":54,"start_character":21,"end_line":54,"end_character":68},"updated":"2017-06-06 00:52:47.000000000","message":"nit: Since this is used in multiple places, we should probably move it to a constant at the top of the file.","commit_id":"f88aee0c1ed6411dbff1277619ed9bf6044d08da"},{"author":{"_account_id":25674,"name":"Jude Cross","email":"jucross@blizzard.com","username":"problem_v"},"change_message_id":"91ce2a6c75080482a5ba1d2de518efe8052581cd","unresolved":false,"context_lines":[{"line_number":51,"context_line":"            \u0027--action\u0027,"},{"line_number":52,"context_line":"            metavar\u003d\u0027\u003caction\u003e\u0027,"},{"line_number":53,"context_line":"            required\u003dTrue,"},{"line_number":54,"context_line":"            choices\u003d[\u0027REDIRECT_TO_URL\u0027, \u0027REDIRECT_TO_POOL\u0027, \u0027REJECT\u0027],"},{"line_number":55,"context_line":"            help\u003d\"Policy action\""},{"line_number":56,"context_line":"        )"},{"line_number":57,"context_line":"        parser.add_argument("}],"source_content_type":"text/x-python","patch_set":5,"id":"df140735_b97e3fad","line":54,"range":{"start_line":54,"start_character":21,"end_line":54,"end_character":68},"in_reply_to":"df140735_13fc083c","updated":"2017-06-06 18:24:06.000000000","message":"Done","commit_id":"f88aee0c1ed6411dbff1277619ed9bf6044d08da"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"4610aae0cc0b28ebbe8eb47d23e5b4df6a4576ad","unresolved":false,"context_lines":[{"line_number":59,"context_line":"            metavar\u003d\u0027\u003curl\u003e\u0027,"},{"line_number":60,"context_line":"            help\u003d\"Redirect URL\""},{"line_number":61,"context_line":"        )"},{"line_number":62,"context_line":"        parser.add_argument("},{"line_number":63,"context_line":"            \u0027--project\u0027,"},{"line_number":64,"context_line":"            metavar\u003d\u0027\u003cproject\u003e\u0027,"},{"line_number":65,"context_line":"            help\u003d\"Project ID for the l7policy\""},{"line_number":66,"context_line":"        )"},{"line_number":67,"context_line":"        admin_group \u003d parser.add_mutually_exclusive_group()"},{"line_number":68,"context_line":"        admin_group.add_argument("},{"line_number":69,"context_line":"            \u0027--enable\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"df140735_735d8477","line":66,"range":{"start_line":62,"start_character":0,"end_line":66,"end_character":9},"updated":"2017-06-06 00:52:47.000000000","message":"This will inherit from the load balancer, remove","commit_id":"f88aee0c1ed6411dbff1277619ed9bf6044d08da"},{"author":{"_account_id":25674,"name":"Jude Cross","email":"jucross@blizzard.com","username":"problem_v"},"change_message_id":"91ce2a6c75080482a5ba1d2de518efe8052581cd","unresolved":false,"context_lines":[{"line_number":59,"context_line":"            metavar\u003d\u0027\u003curl\u003e\u0027,"},{"line_number":60,"context_line":"            help\u003d\"Redirect URL\""},{"line_number":61,"context_line":"        )"},{"line_number":62,"context_line":"        parser.add_argument("},{"line_number":63,"context_line":"            \u0027--project\u0027,"},{"line_number":64,"context_line":"            metavar\u003d\u0027\u003cproject\u003e\u0027,"},{"line_number":65,"context_line":"            help\u003d\"Project ID for the l7policy\""},{"line_number":66,"context_line":"        )"},{"line_number":67,"context_line":"        admin_group \u003d parser.add_mutually_exclusive_group()"},{"line_number":68,"context_line":"        admin_group.add_argument("},{"line_number":69,"context_line":"            \u0027--enable\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"df140735_794ae783","line":66,"range":{"start_line":62,"start_character":0,"end_line":66,"end_character":9},"in_reply_to":"df140735_735d8477","updated":"2017-06-06 18:24:06.000000000","message":"Done","commit_id":"f88aee0c1ed6411dbff1277619ed9bf6044d08da"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"4610aae0cc0b28ebbe8eb47d23e5b4df6a4576ad","unresolved":false,"context_lines":[{"line_number":76,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":77,"context_line":"            default\u003dNone,"},{"line_number":78,"context_line":"            help\u003d\"Disable l7policy\""},{"line_number":79,"context_line":"        )"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"        return parser"},{"line_number":82,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"df140735_13e3e8a5","line":79,"range":{"start_line":79,"start_character":8,"end_line":79,"end_character":9},"updated":"2017-06-06 00:52:47.000000000","message":"position is missing.\nIt is an int and can be constrained to (1, 2147483647)","commit_id":"f88aee0c1ed6411dbff1277619ed9bf6044d08da"},{"author":{"_account_id":25674,"name":"Jude Cross","email":"jucross@blizzard.com","username":"problem_v"},"change_message_id":"91ce2a6c75080482a5ba1d2de518efe8052581cd","unresolved":false,"context_lines":[{"line_number":76,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":77,"context_line":"            default\u003dNone,"},{"line_number":78,"context_line":"            help\u003d\"Disable l7policy\""},{"line_number":79,"context_line":"        )"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"        return parser"},{"line_number":82,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"df140735_3ca33d03","line":79,"range":{"start_line":79,"start_character":8,"end_line":79,"end_character":9},"in_reply_to":"df140735_13e3e8a5","updated":"2017-06-06 18:24:06.000000000","message":"When I set up that huge range of choices argparse just hangs when I run unit tests for it, so I removed the choices for now...","commit_id":"f88aee0c1ed6411dbff1277619ed9bf6044d08da"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"bb5d0545e16f78dc24e4048fa85fd54b7baf0694","unresolved":false,"context_lines":[{"line_number":119,"context_line":"        response \u003d self.app.client_manager.load_balancer.l7policy_delete("},{"line_number":120,"context_line":"            l7policy_id\u003dl7policy_id)"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"        return response"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"class ListL7Policy(lister.Lister):"}],"source_content_type":"text/x-python","patch_set":5,"id":"df140735_3c3919d6","line":122,"range":{"start_line":122,"start_character":8,"end_line":122,"end_character":23},"updated":"2017-06-06 01:03:23.000000000","message":"This command is returning \"\u003cResponse [204]\u003e\" when it should not return any output.\n\n(octaviaclient) michjohn@devstackpy27:~/.../testclient/python-octaviaclient$ openstack loadbalancer l7policy delete foo\n\u003cResponse [204]\u003e","commit_id":"f88aee0c1ed6411dbff1277619ed9bf6044d08da"},{"author":{"_account_id":25674,"name":"Jude Cross","email":"jucross@blizzard.com","username":"problem_v"},"change_message_id":"91ce2a6c75080482a5ba1d2de518efe8052581cd","unresolved":false,"context_lines":[{"line_number":119,"context_line":"        response \u003d self.app.client_manager.load_balancer.l7policy_delete("},{"line_number":120,"context_line":"            l7policy_id\u003dl7policy_id)"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"        return response"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"class ListL7Policy(lister.Lister):"}],"source_content_type":"text/x-python","patch_set":5,"id":"df140735_dca9e1dd","line":122,"range":{"start_line":122,"start_character":8,"end_line":122,"end_character":23},"in_reply_to":"df140735_3c3919d6","updated":"2017-06-06 18:24:06.000000000","message":"Done","commit_id":"f88aee0c1ed6411dbff1277619ed9bf6044d08da"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"4610aae0cc0b28ebbe8eb47d23e5b4df6a4576ad","unresolved":false,"context_lines":[{"line_number":183,"context_line":"            metavar\u003d\u0027\u003cpolicy\u003e\u0027,"},{"line_number":184,"context_line":"            help\u003d\"L7policy to update (name or ID)\""},{"line_number":185,"context_line":"        )"},{"line_number":186,"context_line":"        parser.add_argument("},{"line_number":187,"context_line":"            \u0027--listener\u0027,"},{"line_number":188,"context_line":"            metavar\u003d\u0027\u003clistener\u003e\u0027,"},{"line_number":189,"context_line":"            help\u003d\"Set listener for l7policy (name or ID)\""},{"line_number":190,"context_line":"        )"},{"line_number":191,"context_line":"        parser.add_argument("},{"line_number":192,"context_line":"            \u0027--name\u0027,"},{"line_number":193,"context_line":"            metavar\u003d\u0027\u003cname\u003e\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"df140735_b3f55c59","line":190,"range":{"start_line":186,"start_character":0,"end_line":190,"end_character":9},"updated":"2017-06-06 00:52:47.000000000","message":"We do not allow this to be updated","commit_id":"f88aee0c1ed6411dbff1277619ed9bf6044d08da"},{"author":{"_account_id":25674,"name":"Jude Cross","email":"jucross@blizzard.com","username":"problem_v"},"change_message_id":"91ce2a6c75080482a5ba1d2de518efe8052581cd","unresolved":false,"context_lines":[{"line_number":183,"context_line":"            metavar\u003d\u0027\u003cpolicy\u003e\u0027,"},{"line_number":184,"context_line":"            help\u003d\"L7policy to update (name or ID)\""},{"line_number":185,"context_line":"        )"},{"line_number":186,"context_line":"        parser.add_argument("},{"line_number":187,"context_line":"            \u0027--listener\u0027,"},{"line_number":188,"context_line":"            metavar\u003d\u0027\u003clistener\u003e\u0027,"},{"line_number":189,"context_line":"            help\u003d\"Set listener for l7policy (name or ID)\""},{"line_number":190,"context_line":"        )"},{"line_number":191,"context_line":"        parser.add_argument("},{"line_number":192,"context_line":"            \u0027--name\u0027,"},{"line_number":193,"context_line":"            metavar\u003d\u0027\u003cname\u003e\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"df140735_dc9201a0","line":190,"range":{"start_line":186,"start_character":0,"end_line":190,"end_character":9},"in_reply_to":"df140735_b3f55c59","updated":"2017-06-06 18:24:06.000000000","message":"Done","commit_id":"f88aee0c1ed6411dbff1277619ed9bf6044d08da"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"4610aae0cc0b28ebbe8eb47d23e5b4df6a4576ad","unresolved":false,"context_lines":[{"line_number":226,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":227,"context_line":"            default\u003dNone,"},{"line_number":228,"context_line":"            help\u003d\"Disable l7policy\""},{"line_number":229,"context_line":"        )"},{"line_number":230,"context_line":""},{"line_number":231,"context_line":"        return parser"},{"line_number":232,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"df140735_73eb4477","line":229,"range":{"start_line":229,"start_character":8,"end_line":229,"end_character":9},"updated":"2017-06-06 00:52:47.000000000","message":"Same as above, position is missing","commit_id":"f88aee0c1ed6411dbff1277619ed9bf6044d08da"},{"author":{"_account_id":25674,"name":"Jude Cross","email":"jucross@blizzard.com","username":"problem_v"},"change_message_id":"91ce2a6c75080482a5ba1d2de518efe8052581cd","unresolved":false,"context_lines":[{"line_number":226,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":227,"context_line":"            default\u003dNone,"},{"line_number":228,"context_line":"            help\u003d\"Disable l7policy\""},{"line_number":229,"context_line":"        )"},{"line_number":230,"context_line":""},{"line_number":231,"context_line":"        return parser"},{"line_number":232,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"df140735_fcc38589","line":229,"range":{"start_line":229,"start_character":8,"end_line":229,"end_character":9},"in_reply_to":"df140735_73eb4477","updated":"2017-06-06 18:24:06.000000000","message":"Done","commit_id":"f88aee0c1ed6411dbff1277619ed9bf6044d08da"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"bb5d0545e16f78dc24e4048fa85fd54b7baf0694","unresolved":false,"context_lines":[{"line_number":241,"context_line":"        response \u003d self.app.client_manager.load_balancer.l7policy_set("},{"line_number":242,"context_line":"            l7policy_id, json\u003dbody)"},{"line_number":243,"context_line":""},{"line_number":244,"context_line":"        return response"}],"source_content_type":"text/x-python","patch_set":5,"id":"df140735_e11c1a79","line":244,"range":{"start_line":244,"start_character":8,"end_line":244,"end_character":23},"updated":"2017-06-06 01:03:23.000000000","message":"This returns raw json output, but it shouldn\u0027t return anything.","commit_id":"f88aee0c1ed6411dbff1277619ed9bf6044d08da"},{"author":{"_account_id":25674,"name":"Jude Cross","email":"jucross@blizzard.com","username":"problem_v"},"change_message_id":"91ce2a6c75080482a5ba1d2de518efe8052581cd","unresolved":false,"context_lines":[{"line_number":241,"context_line":"        response \u003d self.app.client_manager.load_balancer.l7policy_set("},{"line_number":242,"context_line":"            l7policy_id, json\u003dbody)"},{"line_number":243,"context_line":""},{"line_number":244,"context_line":"        return response"}],"source_content_type":"text/x-python","patch_set":5,"id":"df140735_3cca1da1","line":244,"range":{"start_line":244,"start_character":8,"end_line":244,"end_character":23},"in_reply_to":"df140735_e11c1a79","updated":"2017-06-06 18:24:06.000000000","message":"Done","commit_id":"f88aee0c1ed6411dbff1277619ed9bf6044d08da"}],"octaviaclient/osc/v2/utils.py":[{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"a1dc148f1a5e124e6a1f9dff4c9ad19443e5d801","unresolved":false,"context_lines":[{"line_number":39,"context_line":"            else:"},{"line_number":40,"context_line":"                return \u0027non-uuid\u0027"},{"line_number":41,"context_line":"        else:"},{"line_number":42,"context_line":"            names \u003d [re for re in resource() if re.get(\u0027name\u0027) \u003d\u003d name or"},{"line_number":43,"context_line":"                     re.get(\u0027id\u0027) \u003d\u003d name]"},{"line_number":44,"context_line":"            if len(names) \u003e 1:"},{"line_number":45,"context_line":"                msg \u003d (\"{0} {1} found with name or ID of {2}s. Please try \""}],"source_content_type":"text/x-python","patch_set":1,"id":"3f044301_b93ddabc","line":42,"updated":"2017-05-05 09:17:10.000000000","message":"resource() returns a dict, with the resource_name as the key -- so you need to get that. For example, when this is loading networks, it gets {\u0027networks\u0027: [ ... ]} so you need to do something like... \n\nresource()[resource_name]","commit_id":"b35f36eb5338ab1968f35d3f51fd953a326cd209"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"33f68a85ca04d963c75c12df5bdf574e753307a1","unresolved":false,"context_lines":[{"line_number":39,"context_line":"            else:"},{"line_number":40,"context_line":"                return \u0027non-uuid\u0027"},{"line_number":41,"context_line":"        else:"},{"line_number":42,"context_line":"            names \u003d [re for re in resource() if re.get(\u0027name\u0027) \u003d\u003d name or"},{"line_number":43,"context_line":"                     re.get(\u0027id\u0027) \u003d\u003d name]"},{"line_number":44,"context_line":"            if len(names) \u003e 1:"},{"line_number":45,"context_line":"                msg \u003d (\"{0} {1} found with name or ID of {2}s. Please try \""}],"source_content_type":"text/x-python","patch_set":1,"id":"3f044301_f9bc826a","line":42,"in_reply_to":"3f044301_b93ddabc","updated":"2017-05-05 09:43:02.000000000","message":"Ah, I see at least during LB creates that is what happens -- but during LB deletes, it seems to get a list directly (like you were expecting). I think this function is just going to require some further work.","commit_id":"b35f36eb5338ab1968f35d3f51fd953a326cd209"},{"author":{"_account_id":25674,"name":"Jude Cross","email":"jucross@blizzard.com","username":"problem_v"},"change_message_id":"a6ff26fb80a2d274f81228dede20a488d67233cb","unresolved":false,"context_lines":[{"line_number":39,"context_line":"            else:"},{"line_number":40,"context_line":"                return \u0027non-uuid\u0027"},{"line_number":41,"context_line":"        else:"},{"line_number":42,"context_line":"            names \u003d [re for re in resource() if re.get(\u0027name\u0027) \u003d\u003d name or"},{"line_number":43,"context_line":"                     re.get(\u0027id\u0027) \u003d\u003d name]"},{"line_number":44,"context_line":"            if len(names) \u003e 1:"},{"line_number":45,"context_line":"                msg \u003d (\"{0} {1} found with name or ID of {2}s. Please try \""}],"source_content_type":"text/x-python","patch_set":1,"id":"3f044301_ba8f0122","line":42,"in_reply_to":"3f044301_f9bc826a","updated":"2017-05-05 15:49:59.000000000","message":"Yeah you are right, I will rework this.","commit_id":"b35f36eb5338ab1968f35d3f51fd953a326cd209"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"5c0fba1806af65323bf600371b1f8865512d359a","unresolved":false,"context_lines":[{"line_number":65,"context_line":"        \u0027project\u0027: (\u0027project_id\u0027, \u0027project\u0027, client_manager.identity),"},{"line_number":66,"context_line":"        \u0027vip_address\u0027: (\u0027vip_address\u0027, str),"},{"line_number":67,"context_line":"        \u0027port_id\u0027: (\u0027vip_port_id\u0027, str),"},{"line_number":68,"context_line":"        \u0027subnet_id\u0027: (\u0027vip_subnet_id\u0027, \u0027subnet\u0027,"},{"line_number":69,"context_line":"                      client_manager.neutronclient.list_subnets),"},{"line_number":70,"context_line":"        \u0027network_id\u0027: (\u0027vip_network_id\u0027, \u0027network\u0027,"},{"line_number":71,"context_line":"                       client_manager.neutronclient.list_networks),"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f044301_3968aaf3","line":68,"updated":"2017-05-05 09:44:17.000000000","message":"I\u0027m not 100% clear on what the \"subnet\" here is used for besides error message printing, but if you\u0027re going to use it in get_resource_id you\u0027ll need it to be \"subnets\"","commit_id":"b35f36eb5338ab1968f35d3f51fd953a326cd209"},{"author":{"_account_id":25674,"name":"Jude Cross","email":"jucross@blizzard.com","username":"problem_v"},"change_message_id":"fcb3c3ac6cb9ddbaf521171673b11401655525cd","unresolved":false,"context_lines":[{"line_number":65,"context_line":"        \u0027project\u0027: (\u0027project_id\u0027, \u0027project\u0027, client_manager.identity),"},{"line_number":66,"context_line":"        \u0027vip_address\u0027: (\u0027vip_address\u0027, str),"},{"line_number":67,"context_line":"        \u0027port_id\u0027: (\u0027vip_port_id\u0027, str),"},{"line_number":68,"context_line":"        \u0027subnet_id\u0027: (\u0027vip_subnet_id\u0027, \u0027subnet\u0027,"},{"line_number":69,"context_line":"                      client_manager.neutronclient.list_subnets),"},{"line_number":70,"context_line":"        \u0027network_id\u0027: (\u0027vip_network_id\u0027, \u0027network\u0027,"},{"line_number":71,"context_line":"                       client_manager.neutronclient.list_networks),"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f044301_baa141ac","line":68,"in_reply_to":"3f044301_3968aaf3","updated":"2017-05-05 15:46:54.000000000","message":"Yeah, its only used for error formatting, not sure of a better way to do it and keep the get_resource_id function as generic as it is. \n\nEssentially so when it errors out it can say \"Unable to find subnet: fake_subnet.\"","commit_id":"b35f36eb5338ab1968f35d3f51fd953a326cd209"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"5c0fba1806af65323bf600371b1f8865512d359a","unresolved":false,"context_lines":[{"line_number":67,"context_line":"        \u0027port_id\u0027: (\u0027vip_port_id\u0027, str),"},{"line_number":68,"context_line":"        \u0027subnet_id\u0027: (\u0027vip_subnet_id\u0027, \u0027subnet\u0027,"},{"line_number":69,"context_line":"                      client_manager.neutronclient.list_subnets),"},{"line_number":70,"context_line":"        \u0027network_id\u0027: (\u0027vip_network_id\u0027, \u0027network\u0027,"},{"line_number":71,"context_line":"                       client_manager.neutronclient.list_networks),"},{"line_number":72,"context_line":"        \u0027enable\u0027: (\u0027admin_state_up\u0027, lambda x: True),"},{"line_number":73,"context_line":"        \u0027disable\u0027: (\u0027admin_state_up\u0027, lambda x: False),"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f044301_196dee03","line":70,"updated":"2017-05-05 09:44:17.000000000","message":"Same as with subnets, the resource name is \"networks\"","commit_id":"b35f36eb5338ab1968f35d3f51fd953a326cd209"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"4610aae0cc0b28ebbe8eb47d23e5b4df6a4576ad","unresolved":false,"context_lines":[{"line_number":256,"context_line":"            \u0027listeners\u0027,"},{"line_number":257,"context_line":"            client_manager.load_balancer.listener_list"},{"line_number":258,"context_line":"        ),"},{"line_number":259,"context_line":"        \u0027action\u0027: (\u0027action\u0027, str.upper),"},{"line_number":260,"context_line":"        \u0027project\u0027: ("},{"line_number":261,"context_line":"            \u0027project_id\u0027,"},{"line_number":262,"context_line":"            \u0027projects\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"df140735_96b486f3","line":259,"range":{"start_line":259,"start_character":29,"end_line":259,"end_character":38},"updated":"2017-06-06 00:52:47.000000000","message":"This fails:\n\ndescriptor \u0027upper\u0027 requires a \u0027str\u0027 object but received a \u0027unicode\u0027\nTraceback (most recent call last):\n  File \"/home/michjohn/.venvs/octaviaclient/local/lib/python2.7/site-packages/cliff/app.py\", line 400, in run_subcommand\n    result \u003d cmd.run(parsed_args)\n  File \"/home/michjohn/.venvs/octaviaclient/local/lib/python2.7/site-packages/osc_lib/command/command.py\", line 41, in run\n    return super(Command, self).run(parsed_args)\n  File \"/home/michjohn/.venvs/octaviaclient/local/lib/python2.7/site-packages/cliff/display.py\", line 112, in run\n    column_names, data \u003d self.take_action(parsed_args)\n  File \"/home/michjohn/.venvs/octaviaclient/local/lib/python2.7/site-packages/octaviaclient/osc/v2/l7policy.py\", line 87, in take_action\n    parsed_args)\n  File \"/home/michjohn/.venvs/octaviaclient/local/lib/python2.7/site-packages/octaviaclient/osc/v2/utils.py\", line 277, in get_l7policy_attrs\n    attrs \u003d _map_attrs(_attrs, attr_map)\n  File \"/home/michjohn/.venvs/octaviaclient/local/lib/python2.7/site-packages/octaviaclient/osc/v2/utils.py\", line 403, in _map_attrs\n    mapped_attrs[attr_map[k][0]] \u003d attr_map[k][1](v)\nTypeError: descriptor \u0027upper\u0027 requires a \u0027str\u0027 object but received a \u0027unicode\u0027\nclean_up CreateL7Policy: descriptor \u0027upper\u0027 requires a \u0027str\u0027 object but received a \u0027unicode\u0027\nTraceback (most recent call last):\n  File \"/home/michjohn/.venvs/octaviaclient/local/lib/python2.7/site-packages/osc_lib/shell.py\", line 135, in run\n    ret_val \u003d super(OpenStackShell, self).run(argv)\n  File \"/home/michjohn/.venvs/octaviaclient/local/lib/python2.7/site-packages/cliff/app.py\", line 279, in run\n    result \u003d self.run_subcommand(remainder)\n  File \"/home/michjohn/.venvs/octaviaclient/local/lib/python2.7/site-packages/osc_lib/shell.py\", line 180, in run_subcommand\n    ret_value \u003d super(OpenStackShell, self).run_subcommand(argv)\n  File \"/home/michjohn/.venvs/octaviaclient/local/lib/python2.7/site-packages/cliff/app.py\", line 400, in run_subcommand\n    result \u003d cmd.run(parsed_args)\n  File \"/home/michjohn/.venvs/octaviaclient/local/lib/python2.7/site-packages/osc_lib/command/command.py\", line 41, in run\n    return super(Command, self).run(parsed_args)\n  File \"/home/michjohn/.venvs/octaviaclient/local/lib/python2.7/site-packages/cliff/display.py\", line 112, in run\n    column_names, data \u003d self.take_action(parsed_args)\n  File \"/home/michjohn/.venvs/octaviaclient/local/lib/python2.7/site-packages/octaviaclient/osc/v2/l7policy.py\", line 87, in take_action\n    parsed_args)\n  File \"/home/michjohn/.venvs/octaviaclient/local/lib/python2.7/site-packages/octaviaclient/osc/v2/utils.py\", line 277, in get_l7policy_attrs\n    attrs \u003d _map_attrs(_attrs, attr_map)\n  File \"/home/michjohn/.venvs/octaviaclient/local/lib/python2.7/site-packages/octaviaclient/osc/v2/utils.py\", line 403, in _map_attrs\n    mapped_attrs[attr_map[k][0]] \u003d attr_map[k][1](v)\nTypeError: descriptor \u0027upper\u0027 requires a \u0027str\u0027 object but received a \u0027unicode\u0027","commit_id":"f88aee0c1ed6411dbff1277619ed9bf6044d08da"}]}
