)]}'
{"doc/source/data/lbaas.csv":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"bca15d7d379d68e995293a7cba91c4b61278082f","unresolved":false,"context_lines":[{"line_number":1,"context_line":"lbaas-healthmonitor-create,,LBaaS v2 Create a healthmonitor."},{"line_number":2,"context_line":"lbaas-healthmonitor-delete,,LBaaS v2 Delete a given healthmonitor."},{"line_number":3,"context_line":"lbaas-healthmonitor-list,,LBaaS v2 List healthmonitors that belong to a given tenant."},{"line_number":4,"context_line":"lbaas-healthmonitor-show,,LBaaS v2 Show information of a given healthmonitor."},{"line_number":5,"context_line":"lbaas-healthmonitor-update,,LBaaS v2 Update a given healthmonitor."},{"line_number":6,"context_line":"lbaas-l7policy-create,loadbalancer l7policy create,LBaaS v2 Create L7 policy."},{"line_number":7,"context_line":"lbaas-l7policy-delete,loadbalancer l7policy delete,LBaaS v2 Delete a given L7 policy."},{"line_number":8,"context_line":"lbaas-l7policy-list,loadbalancer l7policy list,LBaaS v2 List L7 policies that belong to a given listener."}],"source_content_type":"application/octet-stream","patch_set":5,"id":"df140735_97da6475","line":5,"range":{"start_line":1,"start_character":0,"end_line":5,"end_character":66},"updated":"2017-06-04 23:13:52.000000000","message":"Ha, updated all but the section for this patch.\nThese need updating","commit_id":"ab72d50d4f6d26cc995f51012afceb4fa9a365fe"},{"author":{"_account_id":25674,"name":"Jude Cross","email":"jucross@blizzard.com","username":"problem_v"},"change_message_id":"61cb90b29ce7d88b737803a9f8c7252a347f0953","unresolved":false,"context_lines":[{"line_number":1,"context_line":"lbaas-healthmonitor-create,,LBaaS v2 Create a healthmonitor."},{"line_number":2,"context_line":"lbaas-healthmonitor-delete,,LBaaS v2 Delete a given healthmonitor."},{"line_number":3,"context_line":"lbaas-healthmonitor-list,,LBaaS v2 List healthmonitors that belong to a given tenant."},{"line_number":4,"context_line":"lbaas-healthmonitor-show,,LBaaS v2 Show information of a given healthmonitor."},{"line_number":5,"context_line":"lbaas-healthmonitor-update,,LBaaS v2 Update a given healthmonitor."},{"line_number":6,"context_line":"lbaas-l7policy-create,loadbalancer l7policy create,LBaaS v2 Create L7 policy."},{"line_number":7,"context_line":"lbaas-l7policy-delete,loadbalancer l7policy delete,LBaaS v2 Delete a given L7 policy."},{"line_number":8,"context_line":"lbaas-l7policy-list,loadbalancer l7policy list,LBaaS v2 List L7 policies that belong to a given listener."}],"source_content_type":"application/octet-stream","patch_set":5,"id":"df140735_62cfc729","line":5,"range":{"start_line":1,"start_character":0,"end_line":5,"end_character":66},"in_reply_to":"df140735_97da6475","updated":"2017-06-06 21:44:39.000000000","message":"yeah I am dumb, didnt realize how messed up this file got, will be correcting.","commit_id":"ab72d50d4f6d26cc995f51012afceb4fa9a365fe"}],"octaviaclient/api/load_balancer_v2.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"bca15d7d379d68e995293a7cba91c4b61278082f","unresolved":false,"context_lines":[{"line_number":481,"context_line":"            A dict of the created health monitor\u0027s settings"},{"line_number":482,"context_line":"        \"\"\""},{"line_number":483,"context_line":"        url \u003d const.BASE_HEALTH_MONITOR_URL"},{"line_number":484,"context_line":"        health_monitor \u003d self.create(url, method\u003d\u0027POST\u0027, **kwargs)"},{"line_number":485,"context_line":""},{"line_number":486,"context_line":"        return health_monitor"},{"line_number":487,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"df140735_37d5d844","line":484,"range":{"start_line":484,"start_character":42,"end_line":484,"end_character":55},"updated":"2017-06-04 23:13:52.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":"ab72d50d4f6d26cc995f51012afceb4fa9a365fe"},{"author":{"_account_id":25674,"name":"Jude Cross","email":"jucross@blizzard.com","username":"problem_v"},"change_message_id":"61cb90b29ce7d88b737803a9f8c7252a347f0953","unresolved":false,"context_lines":[{"line_number":481,"context_line":"            A dict of the created health monitor\u0027s settings"},{"line_number":482,"context_line":"        \"\"\""},{"line_number":483,"context_line":"        url \u003d const.BASE_HEALTH_MONITOR_URL"},{"line_number":484,"context_line":"        health_monitor \u003d self.create(url, method\u003d\u0027POST\u0027, **kwargs)"},{"line_number":485,"context_line":""},{"line_number":486,"context_line":"        return health_monitor"},{"line_number":487,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"df140735_a24a7f80","line":484,"range":{"start_line":484,"start_character":42,"end_line":484,"end_character":55},"in_reply_to":"df140735_37d5d844","updated":"2017-06-06 21:44:39.000000000","message":"Done","commit_id":"ab72d50d4f6d26cc995f51012afceb4fa9a365fe"}],"octaviaclient/osc/v2/constants.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"bca15d7d379d68e995293a7cba91c4b61278082f","unresolved":false,"context_lines":[{"line_number":168,"context_line":"    \u0027Value\u0027)"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"MONITOR_ROWS \u003d ("},{"line_number":171,"context_line":"    \u0027Project ID\u0027,"},{"line_number":172,"context_line":"    \u0027Name\u0027,"},{"line_number":173,"context_line":"    \u0027Admin State Up\u0027,"},{"line_number":174,"context_line":"    \u0027Pools\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"df140735_f7cac09e","line":171,"range":{"start_line":171,"start_character":5,"end_line":171,"end_character":17},"updated":"2017-06-04 23:13:52.000000000","message":"Same question here about these being pretty names vs. the API names.","commit_id":"ab72d50d4f6d26cc995f51012afceb4fa9a365fe"},{"author":{"_account_id":25674,"name":"Jude Cross","email":"jucross@blizzard.com","username":"problem_v"},"change_message_id":"61cb90b29ce7d88b737803a9f8c7252a347f0953","unresolved":false,"context_lines":[{"line_number":168,"context_line":"    \u0027Value\u0027)"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"MONITOR_ROWS \u003d ("},{"line_number":171,"context_line":"    \u0027Project ID\u0027,"},{"line_number":172,"context_line":"    \u0027Name\u0027,"},{"line_number":173,"context_line":"    \u0027Admin State Up\u0027,"},{"line_number":174,"context_line":"    \u0027Pools\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"df140735_824f7b91","line":171,"range":{"start_line":171,"start_character":5,"end_line":171,"end_character":17},"in_reply_to":"df140735_f7cac09e","updated":"2017-06-06 21:44:39.000000000","message":"Done","commit_id":"ab72d50d4f6d26cc995f51012afceb4fa9a365fe"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"bca15d7d379d68e995293a7cba91c4b61278082f","unresolved":false,"context_lines":[{"line_number":184,"context_line":"    \u0027URL Path\u0027,"},{"line_number":185,"context_line":"    \u0027Type\u0027,"},{"line_number":186,"context_line":"    \u0027ID\u0027,"},{"line_number":187,"context_line":"    \u0027operating_status\u0027"},{"line_number":188,"context_line":")"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"MONITOR_COLUMNS \u003d ("}],"source_content_type":"text/x-python","patch_set":5,"id":"df140735_57b96c12","line":187,"range":{"start_line":187,"start_character":5,"end_line":187,"end_character":21},"updated":"2017-06-04 23:13:52.000000000","message":"This one is different than the others","commit_id":"ab72d50d4f6d26cc995f51012afceb4fa9a365fe"},{"author":{"_account_id":25674,"name":"Jude Cross","email":"jucross@blizzard.com","username":"problem_v"},"change_message_id":"61cb90b29ce7d88b737803a9f8c7252a347f0953","unresolved":false,"context_lines":[{"line_number":184,"context_line":"    \u0027URL Path\u0027,"},{"line_number":185,"context_line":"    \u0027Type\u0027,"},{"line_number":186,"context_line":"    \u0027ID\u0027,"},{"line_number":187,"context_line":"    \u0027operating_status\u0027"},{"line_number":188,"context_line":")"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"MONITOR_COLUMNS \u003d ("}],"source_content_type":"text/x-python","patch_set":5,"id":"df140735_62446775","line":187,"range":{"start_line":187,"start_character":5,"end_line":187,"end_character":21},"in_reply_to":"df140735_57b96c12","updated":"2017-06-06 21:44:39.000000000","message":"Done","commit_id":"ab72d50d4f6d26cc995f51012afceb4fa9a365fe"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"bca15d7d379d68e995293a7cba91c4b61278082f","unresolved":false,"context_lines":[{"line_number":191,"context_line":"    \u0027ID\u0027,"},{"line_number":192,"context_line":"    \u0027Name\u0027,"},{"line_number":193,"context_line":"    \u0027Pools\u0027,"},{"line_number":194,"context_line":"    \u0027Delay\u0027,"},{"line_number":195,"context_line":"    \u0027Expected Codes\u0027,"},{"line_number":196,"context_line":"    \u0027Max Retries\u0027,"},{"line_number":197,"context_line":"    \u0027HTTP Method\u0027,"},{"line_number":198,"context_line":"    \u0027URL Path\u0027"},{"line_number":199,"context_line":")"}],"source_content_type":"text/x-python","patch_set":5,"id":"df140735_97c38489","line":198,"range":{"start_line":194,"start_character":0,"end_line":198,"end_character":14},"updated":"2017-06-04 23:13:52.000000000","message":"This seems like too much.  Maybe just type and admin state?\n\nThe legacy client has:\n| id | name | tenant_id | type | admin_state_up |","commit_id":"ab72d50d4f6d26cc995f51012afceb4fa9a365fe"},{"author":{"_account_id":25674,"name":"Jude Cross","email":"jucross@blizzard.com","username":"problem_v"},"change_message_id":"61cb90b29ce7d88b737803a9f8c7252a347f0953","unresolved":false,"context_lines":[{"line_number":191,"context_line":"    \u0027ID\u0027,"},{"line_number":192,"context_line":"    \u0027Name\u0027,"},{"line_number":193,"context_line":"    \u0027Pools\u0027,"},{"line_number":194,"context_line":"    \u0027Delay\u0027,"},{"line_number":195,"context_line":"    \u0027Expected Codes\u0027,"},{"line_number":196,"context_line":"    \u0027Max Retries\u0027,"},{"line_number":197,"context_line":"    \u0027HTTP Method\u0027,"},{"line_number":198,"context_line":"    \u0027URL Path\u0027"},{"line_number":199,"context_line":")"}],"source_content_type":"text/x-python","patch_set":5,"id":"df140735_a22f1fa6","line":198,"range":{"start_line":194,"start_character":0,"end_line":198,"end_character":14},"in_reply_to":"df140735_97c38489","updated":"2017-06-06 21:44:39.000000000","message":"I assume you mean project_id.","commit_id":"ab72d50d4f6d26cc995f51012afceb4fa9a365fe"}],"octaviaclient/osc/v2/health_monitor.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"bca15d7d379d68e995293a7cba91c4b61278082f","unresolved":false,"context_lines":[{"line_number":52,"context_line":"        parser.add_argument("},{"line_number":53,"context_line":"            \u0027--http_method\u0027,"},{"line_number":54,"context_line":"            metavar\u003d\u0027\u003cmethod\u003e\u0027,"},{"line_number":55,"context_line":"            choices\u003d[\u0027GET\u0027, \u0027POST\u0027, \u0027DELETE\u0027, \u0027PUT\u0027],"},{"line_number":56,"context_line":"            help\u003d\"HTTP method to use.\""},{"line_number":57,"context_line":"        )"},{"line_number":58,"context_line":"        parser.add_argument("}],"source_content_type":"text/x-python","patch_set":5,"id":"df140735_b74d683f","line":55,"range":{"start_line":55,"start_character":21,"end_line":55,"end_character":52},"updated":"2017-06-04 23:13:52.000000000","message":"We technically allow more than this.  HEAD is a very common option here and must be added.\n\nhttps://github.com/openstack/octavia/blob/master/octavia/common/constants.py#L45","commit_id":"ab72d50d4f6d26cc995f51012afceb4fa9a365fe"},{"author":{"_account_id":25674,"name":"Jude Cross","email":"jucross@blizzard.com","username":"problem_v"},"change_message_id":"61cb90b29ce7d88b737803a9f8c7252a347f0953","unresolved":false,"context_lines":[{"line_number":52,"context_line":"        parser.add_argument("},{"line_number":53,"context_line":"            \u0027--http_method\u0027,"},{"line_number":54,"context_line":"            metavar\u003d\u0027\u003cmethod\u003e\u0027,"},{"line_number":55,"context_line":"            choices\u003d[\u0027GET\u0027, \u0027POST\u0027, \u0027DELETE\u0027, \u0027PUT\u0027],"},{"line_number":56,"context_line":"            help\u003d\"HTTP method to use.\""},{"line_number":57,"context_line":"        )"},{"line_number":58,"context_line":"        parser.add_argument("}],"source_content_type":"text/x-python","patch_set":5,"id":"df140735_e2051716","line":55,"range":{"start_line":55,"start_character":21,"end_line":55,"end_character":52},"in_reply_to":"df140735_b74d683f","updated":"2017-06-06 21:44:39.000000000","message":"Done","commit_id":"ab72d50d4f6d26cc995f51012afceb4fa9a365fe"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"bca15d7d379d68e995293a7cba91c4b61278082f","unresolved":false,"context_lines":[{"line_number":62,"context_line":"            help\u003d\"Timeout for the health monitor\""},{"line_number":63,"context_line":"        )"},{"line_number":64,"context_line":"        parser.add_argument("},{"line_number":65,"context_line":"            \u0027--max-retries\u0027,"},{"line_number":66,"context_line":"            metavar\u003d\u0027\u003cmax_retries\u003e\u0027,"},{"line_number":67,"context_line":"            required\u003dTrue,"},{"line_number":68,"context_line":"            help\u003d\"Maximum number of retires\""}],"source_content_type":"text/x-python","patch_set":5,"id":"df140735_9748242d","line":65,"range":{"start_line":65,"start_character":27,"end_line":65,"end_character":28},"updated":"2017-06-04 23:13:52.000000000","message":"We can add client side validation here:\ntype\u003dint, choices\u003drange(1, 10)\nNot 100% sure if we should or not though.  I hate to have validation in multiple locations (though we did with neutron client).\nOpen to comments from others.","commit_id":"ab72d50d4f6d26cc995f51012afceb4fa9a365fe"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"bca15d7d379d68e995293a7cba91c4b61278082f","unresolved":false,"context_lines":[{"line_number":80,"context_line":"            help\u003d\"Ptotocol tp use for the health monitor\""},{"line_number":81,"context_line":"        )"},{"line_number":82,"context_line":"        parser.add_argument("},{"line_number":83,"context_line":"            \u0027--max-retries-down\u0027,"},{"line_number":84,"context_line":"            metavar\u003d\u0027\u003cmax_retries_down\u003e\u0027,"},{"line_number":85,"context_line":"            help\u003d\"Maximum number of retires until the health monitor reports \""},{"line_number":86,"context_line":"                 \"down.\""}],"source_content_type":"text/x-python","patch_set":5,"id":"df140735_775350e3","line":83,"range":{"start_line":83,"start_character":32,"end_line":83,"end_character":33},"updated":"2017-06-04 23:13:52.000000000","message":"We can add client side validation here:\ntype\u003dint, choices\u003drange(1, 10)\nNot 100% sure if we should or not though.  I hate to have validation in multiple locations (though we did with neutron client).\nOpen to comments from others.","commit_id":"ab72d50d4f6d26cc995f51012afceb4fa9a365fe"},{"author":{"_account_id":25674,"name":"Jude Cross","email":"jucross@blizzard.com","username":"problem_v"},"change_message_id":"61cb90b29ce7d88b737803a9f8c7252a347f0953","unresolved":false,"context_lines":[{"line_number":80,"context_line":"            help\u003d\"Ptotocol tp use for the health monitor\""},{"line_number":81,"context_line":"        )"},{"line_number":82,"context_line":"        parser.add_argument("},{"line_number":83,"context_line":"            \u0027--max-retries-down\u0027,"},{"line_number":84,"context_line":"            metavar\u003d\u0027\u003cmax_retries_down\u003e\u0027,"},{"line_number":85,"context_line":"            help\u003d\"Maximum number of retires until the health monitor reports \""},{"line_number":86,"context_line":"                 \"down.\""}],"source_content_type":"text/x-python","patch_set":5,"id":"df140735_050ed531","line":83,"range":{"start_line":83,"start_character":32,"end_line":83,"end_character":33},"in_reply_to":"df140735_775350e3","updated":"2017-06-06 21:44:39.000000000","message":"Going to add it, it makes more sense to do this here than have the API spit out an error.","commit_id":"ab72d50d4f6d26cc995f51012afceb4fa9a365fe"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"bca15d7d379d68e995293a7cba91c4b61278082f","unresolved":false,"context_lines":[{"line_number":85,"context_line":"            help\u003d\"Maximum number of retires until the health monitor reports \""},{"line_number":86,"context_line":"                 \"down.\""},{"line_number":87,"context_line":"        )"},{"line_number":88,"context_line":"        parser.add_argument("},{"line_number":89,"context_line":"            \u0027--project\u0027,"},{"line_number":90,"context_line":"            metavar\u003d\u0027\u003cproject\u003e\u0027,"},{"line_number":91,"context_line":"            help\u003d\"Project to use for the health monitor (name or ID)\""},{"line_number":92,"context_line":"        )"},{"line_number":93,"context_line":"        admin_group \u003d parser.add_mutually_exclusive_group()"},{"line_number":94,"context_line":"        admin_group.add_argument("},{"line_number":95,"context_line":"            \u0027--enable\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"df140735_d7421c0f","line":92,"range":{"start_line":88,"start_character":1,"end_line":92,"end_character":9},"updated":"2017-06-04 23:13:52.000000000","message":"Not needed, inherited from load balancer.  remove.","commit_id":"ab72d50d4f6d26cc995f51012afceb4fa9a365fe"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"bca15d7d379d68e995293a7cba91c4b61278082f","unresolved":false,"context_lines":[{"line_number":145,"context_line":"        response \u003d self.app.client_manager.load_balancer.health_monitor_delete("},{"line_number":146,"context_line":"            health_monitor_id\u003dhealth_monitor_id)"},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"        return response"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"class ListHealthMonitor(lister.Lister):"}],"source_content_type":"text/x-python","patch_set":5,"id":"df140735_b7d20827","line":148,"range":{"start_line":148,"start_character":8,"end_line":148,"end_character":23},"updated":"2017-06-04 23:13:52.000000000","message":"This command is returning \"\u003cResponse [204]\u003e\" when it should not return any output.\n(octaviaclient) michjohn@devstackpy27:~/.../testclient/python-octaviaclient$ openstack loadbalancer healthmonitor delete 60954fc3-48ae-4e34-af81-9566c1d4ba52\n\u003cResponse [204]\u003e","commit_id":"ab72d50d4f6d26cc995f51012afceb4fa9a365fe"},{"author":{"_account_id":25674,"name":"Jude Cross","email":"jucross@blizzard.com","username":"problem_v"},"change_message_id":"61cb90b29ce7d88b737803a9f8c7252a347f0953","unresolved":false,"context_lines":[{"line_number":145,"context_line":"        response \u003d self.app.client_manager.load_balancer.health_monitor_delete("},{"line_number":146,"context_line":"            health_monitor_id\u003dhealth_monitor_id)"},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"        return response"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"class ListHealthMonitor(lister.Lister):"}],"source_content_type":"text/x-python","patch_set":5,"id":"df140735_6520f19c","line":148,"range":{"start_line":148,"start_character":8,"end_line":148,"end_character":23},"in_reply_to":"df140735_b7d20827","updated":"2017-06-06 21:44:39.000000000","message":"Done","commit_id":"ab72d50d4f6d26cc995f51012afceb4fa9a365fe"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"bca15d7d379d68e995293a7cba91c4b61278082f","unresolved":false,"context_lines":[{"line_number":228,"context_line":"        parser.add_argument("},{"line_number":229,"context_line":"            \u0027--http_method\u0027,"},{"line_number":230,"context_line":"            metavar\u003d\u0027\u003cmethod\u003e\u0027,"},{"line_number":231,"context_line":"            choices\u003d[\u0027GET\u0027, \u0027POST\u0027, \u0027DELETE\u0027, \u0027PUT\u0027],"},{"line_number":232,"context_line":"            help\u003d\"Set HTTP method to use.\""},{"line_number":233,"context_line":"        )"},{"line_number":234,"context_line":"        parser.add_argument("}],"source_content_type":"text/x-python","patch_set":5,"id":"df140735_97714479","line":231,"range":{"start_line":231,"start_character":21,"end_line":231,"end_character":52},"updated":"2017-06-04 23:13:52.000000000","message":"Same comment above, we support more than these.  HEAD is definitely required.","commit_id":"ab72d50d4f6d26cc995f51012afceb4fa9a365fe"},{"author":{"_account_id":25674,"name":"Jude Cross","email":"jucross@blizzard.com","username":"problem_v"},"change_message_id":"61cb90b29ce7d88b737803a9f8c7252a347f0953","unresolved":false,"context_lines":[{"line_number":228,"context_line":"        parser.add_argument("},{"line_number":229,"context_line":"            \u0027--http_method\u0027,"},{"line_number":230,"context_line":"            metavar\u003d\u0027\u003cmethod\u003e\u0027,"},{"line_number":231,"context_line":"            choices\u003d[\u0027GET\u0027, \u0027POST\u0027, \u0027DELETE\u0027, \u0027PUT\u0027],"},{"line_number":232,"context_line":"            help\u003d\"Set HTTP method to use.\""},{"line_number":233,"context_line":"        )"},{"line_number":234,"context_line":"        parser.add_argument("}],"source_content_type":"text/x-python","patch_set":5,"id":"df140735_65a35102","line":231,"range":{"start_line":231,"start_character":21,"end_line":231,"end_character":52},"in_reply_to":"df140735_97714479","updated":"2017-06-06 21:44:39.000000000","message":"Done","commit_id":"ab72d50d4f6d26cc995f51012afceb4fa9a365fe"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"bca15d7d379d68e995293a7cba91c4b61278082f","unresolved":false,"context_lines":[{"line_number":237,"context_line":"            help\u003d\"Set the timeout for the health monitor\""},{"line_number":238,"context_line":"        )"},{"line_number":239,"context_line":"        parser.add_argument("},{"line_number":240,"context_line":"            \u0027--max-retries\u0027,"},{"line_number":241,"context_line":"            metavar\u003d\u0027\u003cmax_retries_down\u003e\u0027,"},{"line_number":242,"context_line":"            help\u003d\"Set the Maximum number of retires until the health monitor \""},{"line_number":243,"context_line":"                 \"reports down.\""}],"source_content_type":"text/x-python","patch_set":5,"id":"df140735_b776886f","line":240,"range":{"start_line":240,"start_character":13,"end_line":240,"end_character":25},"updated":"2017-06-04 23:13:52.000000000","message":"The rest of this call seems to be for max-retries-down.\n\nEither way, they both should be here.","commit_id":"ab72d50d4f6d26cc995f51012afceb4fa9a365fe"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"bca15d7d379d68e995293a7cba91c4b61278082f","unresolved":false,"context_lines":[{"line_number":237,"context_line":"            help\u003d\"Set the timeout for the health monitor\""},{"line_number":238,"context_line":"        )"},{"line_number":239,"context_line":"        parser.add_argument("},{"line_number":240,"context_line":"            \u0027--max-retries\u0027,"},{"line_number":241,"context_line":"            metavar\u003d\u0027\u003cmax_retries_down\u003e\u0027,"},{"line_number":242,"context_line":"            help\u003d\"Set the Maximum number of retires until the health monitor \""},{"line_number":243,"context_line":"                 \"reports down.\""}],"source_content_type":"text/x-python","patch_set":5,"id":"df140735_176654c2","line":240,"range":{"start_line":240,"start_character":27,"end_line":240,"end_character":28},"updated":"2017-06-04 23:13:52.000000000","message":"We can add client side validation here:\ntype\u003dint, choices\u003drange(1, 10)\nNot 100% sure if we should or not though.  I hate to have validation in multiple locations (though we did with neutron client).\nOpen to comments from others.","commit_id":"ab72d50d4f6d26cc995f51012afceb4fa9a365fe"},{"author":{"_account_id":25674,"name":"Jude Cross","email":"jucross@blizzard.com","username":"problem_v"},"change_message_id":"61cb90b29ce7d88b737803a9f8c7252a347f0953","unresolved":false,"context_lines":[{"line_number":237,"context_line":"            help\u003d\"Set the timeout for the health monitor\""},{"line_number":238,"context_line":"        )"},{"line_number":239,"context_line":"        parser.add_argument("},{"line_number":240,"context_line":"            \u0027--max-retries\u0027,"},{"line_number":241,"context_line":"            metavar\u003d\u0027\u003cmax_retries_down\u003e\u0027,"},{"line_number":242,"context_line":"            help\u003d\"Set the Maximum number of retires until the health monitor \""},{"line_number":243,"context_line":"                 \"reports down.\""}],"source_content_type":"text/x-python","patch_set":5,"id":"df140735_0565b5e1","line":240,"range":{"start_line":240,"start_character":13,"end_line":240,"end_character":25},"in_reply_to":"df140735_b776886f","updated":"2017-06-06 21:44:39.000000000","message":"Done","commit_id":"ab72d50d4f6d26cc995f51012afceb4fa9a365fe"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"bca15d7d379d68e995293a7cba91c4b61278082f","unresolved":false,"context_lines":[{"line_number":247,"context_line":"            metavar\u003d\u0027\u003curl_path\u003e\u0027,"},{"line_number":248,"context_line":"            help\u003d\"Set the URL path to endpoint\""},{"line_number":249,"context_line":"        )"},{"line_number":250,"context_line":"        parser.add_argument("},{"line_number":251,"context_line":"            \u0027--type\u0027,"},{"line_number":252,"context_line":"            metavar\u003d\u0027\u003ctype\u003e\u0027,"},{"line_number":253,"context_line":"            help\u003d\"Set the type of health monitor\""},{"line_number":254,"context_line":"        )"},{"line_number":255,"context_line":"        admin_group \u003d parser.add_mutually_exclusive_group()"},{"line_number":256,"context_line":"        admin_group.add_argument("},{"line_number":257,"context_line":"            \u0027--enable\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"df140735_57672cb8","line":254,"range":{"start_line":250,"start_character":0,"end_line":254,"end_character":9},"updated":"2017-06-04 23:13:52.000000000","message":"We don\u0027t allow them to change this.","commit_id":"ab72d50d4f6d26cc995f51012afceb4fa9a365fe"},{"author":{"_account_id":25674,"name":"Jude Cross","email":"jucross@blizzard.com","username":"problem_v"},"change_message_id":"61cb90b29ce7d88b737803a9f8c7252a347f0953","unresolved":false,"context_lines":[{"line_number":247,"context_line":"            metavar\u003d\u0027\u003curl_path\u003e\u0027,"},{"line_number":248,"context_line":"            help\u003d\"Set the URL path to endpoint\""},{"line_number":249,"context_line":"        )"},{"line_number":250,"context_line":"        parser.add_argument("},{"line_number":251,"context_line":"            \u0027--type\u0027,"},{"line_number":252,"context_line":"            metavar\u003d\u0027\u003ctype\u003e\u0027,"},{"line_number":253,"context_line":"            help\u003d\"Set the type of health monitor\""},{"line_number":254,"context_line":"        )"},{"line_number":255,"context_line":"        admin_group \u003d parser.add_mutually_exclusive_group()"},{"line_number":256,"context_line":"        admin_group.add_argument("},{"line_number":257,"context_line":"            \u0027--enable\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"df140735_4573adb2","line":254,"range":{"start_line":250,"start_character":0,"end_line":254,"end_character":9},"in_reply_to":"df140735_57672cb8","updated":"2017-06-06 21:44:39.000000000","message":"Done","commit_id":"ab72d50d4f6d26cc995f51012afceb4fa9a365fe"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"bca15d7d379d68e995293a7cba91c4b61278082f","unresolved":false,"context_lines":[{"line_number":279,"context_line":"        response \u003d self.app.client_manager.load_balancer.health_monitor_set("},{"line_number":280,"context_line":"            listener_id, json\u003dbody)"},{"line_number":281,"context_line":""},{"line_number":282,"context_line":"        return response"}],"source_content_type":"text/x-python","patch_set":5,"id":"df140735_17c2d459","line":282,"range":{"start_line":282,"start_character":8,"end_line":282,"end_character":23},"updated":"2017-06-04 23:13:52.000000000","message":"This returns raw json output, but it shouldn\u0027t return anything.","commit_id":"ab72d50d4f6d26cc995f51012afceb4fa9a365fe"},{"author":{"_account_id":25674,"name":"Jude Cross","email":"jucross@blizzard.com","username":"problem_v"},"change_message_id":"61cb90b29ce7d88b737803a9f8c7252a347f0953","unresolved":false,"context_lines":[{"line_number":279,"context_line":"        response \u003d self.app.client_manager.load_balancer.health_monitor_set("},{"line_number":280,"context_line":"            listener_id, json\u003dbody)"},{"line_number":281,"context_line":""},{"line_number":282,"context_line":"        return response"}],"source_content_type":"text/x-python","patch_set":5,"id":"df140735_25ad59ea","line":282,"range":{"start_line":282,"start_character":8,"end_line":282,"end_character":23},"in_reply_to":"df140735_17c2d459","updated":"2017-06-06 21:44:39.000000000","message":"Done","commit_id":"ab72d50d4f6d26cc995f51012afceb4fa9a365fe"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"1e88153b9ac4f8d4f9d9b296bc73372a43004d0e","unresolved":false,"context_lines":[{"line_number":65,"context_line":"            help\u003d\"Timeout for the health monitor\""},{"line_number":66,"context_line":"        )"},{"line_number":67,"context_line":"        parser.add_argument("},{"line_number":68,"context_line":"            \u0027--max-retries\u0027,"},{"line_number":69,"context_line":"            metavar\u003d\u0027\u003cmax_retries\u003e\u0027,"},{"line_number":70,"context_line":"            required\u003dTrue,"},{"line_number":71,"context_line":"            help\u003d\"Maximum number of retires\""}],"source_content_type":"text/x-python","patch_set":8,"id":"df140735_d79e33b7","line":68,"range":{"start_line":68,"start_character":15,"end_line":68,"end_character":26},"updated":"2017-06-07 16:38:57.000000000","message":"Comment still valid:\nWe can add client side validation here:\ntype\u003dint, choices\u003drange(1, 10)","commit_id":"3e968b1b0d44236c990842525f2f67d428e617a7"},{"author":{"_account_id":25674,"name":"Jude Cross","email":"jucross@blizzard.com","username":"problem_v"},"change_message_id":"241fd0223968e0c9c6245b192470dda0bb4e3414","unresolved":false,"context_lines":[{"line_number":65,"context_line":"            help\u003d\"Timeout for the health monitor\""},{"line_number":66,"context_line":"        )"},{"line_number":67,"context_line":"        parser.add_argument("},{"line_number":68,"context_line":"            \u0027--max-retries\u0027,"},{"line_number":69,"context_line":"            metavar\u003d\u0027\u003cmax_retries\u003e\u0027,"},{"line_number":70,"context_line":"            required\u003dTrue,"},{"line_number":71,"context_line":"            help\u003d\"Maximum number of retires\""}],"source_content_type":"text/x-python","patch_set":8,"id":"df140735_121399ba","line":68,"range":{"start_line":68,"start_character":15,"end_line":68,"end_character":26},"in_reply_to":"df140735_d79e33b7","updated":"2017-06-07 17:38:32.000000000","message":"Done","commit_id":"3e968b1b0d44236c990842525f2f67d428e617a7"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"1e88153b9ac4f8d4f9d9b296bc73372a43004d0e","unresolved":false,"context_lines":[{"line_number":235,"context_line":"            help\u003d\"Set the timeout for the health monitor\""},{"line_number":236,"context_line":"        )"},{"line_number":237,"context_line":"        parser.add_argument("},{"line_number":238,"context_line":"            \u0027--max-retries\u0027,"},{"line_number":239,"context_line":"            metavar\u003d\u0027\u003cmax_retries_down\u003e\u0027,"},{"line_number":240,"context_line":"            type\u003dint,"},{"line_number":241,"context_line":"            choices\u003drange(1, 10),"}],"source_content_type":"text/x-python","patch_set":8,"id":"df140735_773ac7cd","line":238,"range":{"start_line":238,"start_character":13,"end_line":238,"end_character":26},"updated":"2017-06-07 16:38:57.000000000","message":"This is max-retries-down I think.","commit_id":"3e968b1b0d44236c990842525f2f67d428e617a7"},{"author":{"_account_id":25674,"name":"Jude Cross","email":"jucross@blizzard.com","username":"problem_v"},"change_message_id":"241fd0223968e0c9c6245b192470dda0bb4e3414","unresolved":false,"context_lines":[{"line_number":235,"context_line":"            help\u003d\"Set the timeout for the health monitor\""},{"line_number":236,"context_line":"        )"},{"line_number":237,"context_line":"        parser.add_argument("},{"line_number":238,"context_line":"            \u0027--max-retries\u0027,"},{"line_number":239,"context_line":"            metavar\u003d\u0027\u003cmax_retries_down\u003e\u0027,"},{"line_number":240,"context_line":"            type\u003dint,"},{"line_number":241,"context_line":"            choices\u003drange(1, 10),"}],"source_content_type":"text/x-python","patch_set":8,"id":"df140735_321d7dbd","line":238,"range":{"start_line":238,"start_character":13,"end_line":238,"end_character":26},"in_reply_to":"df140735_773ac7cd","updated":"2017-06-07 17:38:32.000000000","message":"ahh messed this up when I fixed a merge conflict I think","commit_id":"3e968b1b0d44236c990842525f2f67d428e617a7"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"1e88153b9ac4f8d4f9d9b296bc73372a43004d0e","unresolved":false,"context_lines":[{"line_number":242,"context_line":"            help\u003d\"Set the Maximum number of retires until the health monitor \""},{"line_number":243,"context_line":"                 \"reports down.\""},{"line_number":244,"context_line":"        )"},{"line_number":245,"context_line":"        parser.add_argument("},{"line_number":246,"context_line":"            \u0027--url-path\u0027,"},{"line_number":247,"context_line":"            metavar\u003d\u0027\u003curl_path\u003e\u0027,"},{"line_number":248,"context_line":"            help\u003d\"Set the URL path to endpoint\""}],"source_content_type":"text/x-python","patch_set":8,"id":"df140735_17314bed","line":245,"range":{"start_line":245,"start_character":8,"end_line":245,"end_character":28},"updated":"2017-06-07 16:38:57.000000000","message":"max-retries is missing","commit_id":"3e968b1b0d44236c990842525f2f67d428e617a7"},{"author":{"_account_id":25674,"name":"Jude Cross","email":"jucross@blizzard.com","username":"problem_v"},"change_message_id":"241fd0223968e0c9c6245b192470dda0bb4e3414","unresolved":false,"context_lines":[{"line_number":242,"context_line":"            help\u003d\"Set the Maximum number of retires until the health monitor \""},{"line_number":243,"context_line":"                 \"reports down.\""},{"line_number":244,"context_line":"        )"},{"line_number":245,"context_line":"        parser.add_argument("},{"line_number":246,"context_line":"            \u0027--url-path\u0027,"},{"line_number":247,"context_line":"            metavar\u003d\u0027\u003curl_path\u003e\u0027,"},{"line_number":248,"context_line":"            help\u003d\"Set the URL path to endpoint\""}],"source_content_type":"text/x-python","patch_set":8,"id":"df140735_cd58e0fb","line":245,"range":{"start_line":245,"start_character":8,"end_line":245,"end_character":28},"in_reply_to":"df140735_17314bed","updated":"2017-06-07 17:38:32.000000000","message":"Done","commit_id":"3e968b1b0d44236c990842525f2f67d428e617a7"}],"octaviaclient/osc/v2/utils.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"bca15d7d379d68e995293a7cba91c4b61278082f","unresolved":false,"context_lines":[{"line_number":357,"context_line":"        \u0027delay\u0027: (\u0027delay\u0027, int),"},{"line_number":358,"context_line":"        \u0027expected_codes\u0027: (\u0027expected_codes\u0027, str),"},{"line_number":359,"context_line":"        \u0027max_retries\u0027: (\u0027max_retries\u0027, int),"},{"line_number":360,"context_line":"        \u0027http_method\u0027: (\u0027http_method\u0027, str.upper),"},{"line_number":361,"context_line":"        \u0027type\u0027: (\u0027type\u0027, str.upper),"},{"line_number":362,"context_line":"        \u0027timeout\u0027: (\u0027timeout\u0027, int),"},{"line_number":363,"context_line":"        \u0027max_retries_down\u0027: (\u0027max_retries_down\u0027, int),"}],"source_content_type":"text/x-python","patch_set":5,"id":"df140735_771a3017","line":360,"range":{"start_line":360,"start_character":39,"end_line":360,"end_character":48},"updated":"2017-06-04 23:13:52.000000000","message":"This fails for me:\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/health_monitor.py\", line 119, in take_action\n    parsed_args)\n  File \"/home/michjohn/.venvs/octaviaclient/local/lib/python2.7/site-packages/octaviaclient/osc/v2/utils.py\", line 371, in get_health_monitor_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 CreateHealthMonitor: 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/health_monitor.py\", line 119, in take_action\n    parsed_args)\n  File \"/home/michjohn/.venvs/octaviaclient/local/lib/python2.7/site-packages/octaviaclient/osc/v2/utils.py\", line 371, in get_health_monitor_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":"ab72d50d4f6d26cc995f51012afceb4fa9a365fe"},{"author":{"_account_id":25674,"name":"Jude Cross","email":"jucross@blizzard.com","username":"problem_v"},"change_message_id":"61cb90b29ce7d88b737803a9f8c7252a347f0953","unresolved":false,"context_lines":[{"line_number":357,"context_line":"        \u0027delay\u0027: (\u0027delay\u0027, int),"},{"line_number":358,"context_line":"        \u0027expected_codes\u0027: (\u0027expected_codes\u0027, str),"},{"line_number":359,"context_line":"        \u0027max_retries\u0027: (\u0027max_retries\u0027, int),"},{"line_number":360,"context_line":"        \u0027http_method\u0027: (\u0027http_method\u0027, str.upper),"},{"line_number":361,"context_line":"        \u0027type\u0027: (\u0027type\u0027, str.upper),"},{"line_number":362,"context_line":"        \u0027timeout\u0027: (\u0027timeout\u0027, int),"},{"line_number":363,"context_line":"        \u0027max_retries_down\u0027: (\u0027max_retries_down\u0027, int),"}],"source_content_type":"text/x-python","patch_set":5,"id":"df140735_657c7172","line":360,"range":{"start_line":360,"start_character":39,"end_line":360,"end_character":48},"in_reply_to":"df140735_771a3017","updated":"2017-06-06 21:44:39.000000000","message":"Done","commit_id":"ab72d50d4f6d26cc995f51012afceb4fa9a365fe"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"bca15d7d379d68e995293a7cba91c4b61278082f","unresolved":false,"context_lines":[{"line_number":358,"context_line":"        \u0027expected_codes\u0027: (\u0027expected_codes\u0027, str),"},{"line_number":359,"context_line":"        \u0027max_retries\u0027: (\u0027max_retries\u0027, int),"},{"line_number":360,"context_line":"        \u0027http_method\u0027: (\u0027http_method\u0027, str.upper),"},{"line_number":361,"context_line":"        \u0027type\u0027: (\u0027type\u0027, str.upper),"},{"line_number":362,"context_line":"        \u0027timeout\u0027: (\u0027timeout\u0027, int),"},{"line_number":363,"context_line":"        \u0027max_retries_down\u0027: (\u0027max_retries_down\u0027, int),"},{"line_number":364,"context_line":"        \u0027url_path\u0027: (\u0027url_path\u0027, str),"}],"source_content_type":"text/x-python","patch_set":5,"id":"df140735_77c8f072","line":361,"range":{"start_line":361,"start_character":25,"end_line":361,"end_character":34},"updated":"2017-06-04 23:13:52.000000000","message":"It could be this one too","commit_id":"ab72d50d4f6d26cc995f51012afceb4fa9a365fe"},{"author":{"_account_id":25674,"name":"Jude Cross","email":"jucross@blizzard.com","username":"problem_v"},"change_message_id":"61cb90b29ce7d88b737803a9f8c7252a347f0953","unresolved":false,"context_lines":[{"line_number":358,"context_line":"        \u0027expected_codes\u0027: (\u0027expected_codes\u0027, str),"},{"line_number":359,"context_line":"        \u0027max_retries\u0027: (\u0027max_retries\u0027, int),"},{"line_number":360,"context_line":"        \u0027http_method\u0027: (\u0027http_method\u0027, str.upper),"},{"line_number":361,"context_line":"        \u0027type\u0027: (\u0027type\u0027, str.upper),"},{"line_number":362,"context_line":"        \u0027timeout\u0027: (\u0027timeout\u0027, int),"},{"line_number":363,"context_line":"        \u0027max_retries_down\u0027: (\u0027max_retries_down\u0027, int),"},{"line_number":364,"context_line":"        \u0027url_path\u0027: (\u0027url_path\u0027, str),"}],"source_content_type":"text/x-python","patch_set":5,"id":"df140735_45816d4a","line":361,"range":{"start_line":361,"start_character":25,"end_line":361,"end_character":34},"in_reply_to":"df140735_77c8f072","updated":"2017-06-06 21:44:39.000000000","message":"Done","commit_id":"ab72d50d4f6d26cc995f51012afceb4fa9a365fe"}]}
