)]}'
{"rally_openstack/contexts/oslo_service/eventlet_backdoor.py":[{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"1ce77f14f6b391e4669d9a75652a867fd7101abc","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2014: Mirantis Inc."},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_44792b2d","line":1,"range":{"start_line":1,"start_character":0,"end_line":1,"end_character":31},"updated":"2019-03-08 11:52:34.000000000","message":"Not sure that this is right :) just remove this line or insert your company name","commit_id":"be7ba22fa4ce3ae8be4146f6a78d13fc91a374a0"},{"author":{"_account_id":10267,"name":"venkata anil","email":"anilvenkata@redhat.com","username":"anil"},"change_message_id":"71ded8d9b5538ec55593b5cea64c6c47611aa845","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2014: Mirantis Inc."},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_e7ab791a","line":1,"range":{"start_line":1,"start_character":0,"end_line":1,"end_character":31},"in_reply_to":"5fc1f717_44792b2d","updated":"2019-03-08 13:25:34.000000000","message":"sure, thanks","commit_id":"be7ba22fa4ce3ae8be4146f6a78d13fc91a374a0"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"1ce77f14f6b391e4669d9a75652a867fd7101abc","unresolved":false,"context_lines":[{"line_number":73,"context_line":"                \"Example: \u0027ports\u0027: \u00278770:8774,8999\u0027\","},{"line_number":74,"context_line":"                \"type\": \"string\","},{"line_number":75,"context_line":"            },"},{"line_number":76,"context_line":"            \"profile\": {"},{"line_number":77,"context_line":"                \"description\": \"Dump python function call trace.\","},{"line_number":78,"context_line":"                \"type\": \"boolean\","},{"line_number":79,"context_line":"            },"},{"line_number":80,"context_line":"        },"},{"line_number":81,"context_line":"        \"additionalProperties\": False"},{"line_number":82,"context_line":"    }"}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_44904b4f","line":79,"range":{"start_line":76,"start_character":12,"end_line":79,"end_character":14},"updated":"2019-03-08 11:52:34.000000000","message":"what is the purpose of this flag? I mean if someone does not want to dump this trace, it can just not specify this context.","commit_id":"be7ba22fa4ce3ae8be4146f6a78d13fc91a374a0"},{"author":{"_account_id":10267,"name":"venkata anil","email":"anilvenkata@redhat.com","username":"anil"},"change_message_id":"71ded8d9b5538ec55593b5cea64c6c47611aa845","unresolved":false,"context_lines":[{"line_number":73,"context_line":"                \"Example: \u0027ports\u0027: \u00278770:8774,8999\u0027\","},{"line_number":74,"context_line":"                \"type\": \"string\","},{"line_number":75,"context_line":"            },"},{"line_number":76,"context_line":"            \"profile\": {"},{"line_number":77,"context_line":"                \"description\": \"Dump python function call trace.\","},{"line_number":78,"context_line":"                \"type\": \"boolean\","},{"line_number":79,"context_line":"            },"},{"line_number":80,"context_line":"        },"},{"line_number":81,"context_line":"        \"additionalProperties\": False"},{"line_number":82,"context_line":"    }"}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_67b8e975","line":79,"range":{"start_line":76,"start_character":12,"end_line":79,"end_character":14},"in_reply_to":"5fc1f717_44904b4f","updated":"2019-03-08 13:25:34.000000000","message":"Later I want to add support for capturing python memory objects, greenthreads etc by adding them to context, which are supported by oslo_service https://github.com/openstack/oslo.service/blob/master/oslo_service/eventlet_backdoor.py#L201-L204\n\nConfig will look like below after adding support for other features -\n   CONFIG_SCHEMA \u003d {\n        \"type\": \"object\",\n        \"properties\": {\n            \"hosts\": {\n                \"description\": \"List of controller ips (separated by comma) \"\n                \"running OpenStack services.\",\n                \"type\": \"string\",\n            },\n            \"ports\": {\n                \"description\": \"Services in above hosts will be listening on \"\n                \"the ports specified here to accept commands. Specify as port \"\n                \"range and list separated by comma. \"\n                \"Example: \u0027ports\u0027: \u00278770:8774,8999\u0027\",\n                \"type\": \"string\",\n            },\n            \"profile\": {\n                \"description\": \"Dump python function call trace.\",\n                \"type\": \"boolean\",\n            },\n            \"memory_objects\": {\n                \"description\": \"Dump python function call trace.\",\n                \"type\": \"boolean\",\n            },\n            \"greenthreads\": {\n                \"description\": \"Dump python function call trace.\",\n                \"type\": \"boolean\",\n            },\n\n\nAfter that if the user want to run rally tests and only capture memory_objects, he can only enable that in config and disable others.","commit_id":"be7ba22fa4ce3ae8be4146f6a78d13fc91a374a0"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"5ab1198d482952571108231be20f270b9d4a2836","unresolved":false,"context_lines":[{"line_number":60,"context_line":"    CONFIG_SCHEMA \u003d {"},{"line_number":61,"context_line":"        \"type\": \"object\","},{"line_number":62,"context_line":"        \"properties\": {"},{"line_number":63,"context_line":"            \"hosts\": {"},{"line_number":64,"context_line":"                \"description\": \"List of controller ips (separated by comma) \""},{"line_number":65,"context_line":"                \"running OpenStack services.\","},{"line_number":66,"context_line":"                \"type\": \"string\","},{"line_number":67,"context_line":"            },"},{"line_number":68,"context_line":"            \"ports\": {"},{"line_number":69,"context_line":"                \"description\": \"Services in above hosts will be listening on \""},{"line_number":70,"context_line":"                \"the ports specified here to accept commands. Specify as port \""}],"source_content_type":"text/x-python","patch_set":4,"id":"3fce034c_023781e5","line":67,"range":{"start_line":63,"start_character":12,"end_line":67,"end_character":14},"updated":"2019-04-16 14:46:10.000000000","message":"Do not see any reason to do not use array there.\n\n{\"type\": \"array\", \"minItems\": 1, \"items\": {\"type\": \"string\"}}","commit_id":"6863912b9fb0b074ef20bea5137069362b4c1b7a"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"5ab1198d482952571108231be20f270b9d4a2836","unresolved":false,"context_lines":[{"line_number":65,"context_line":"                \"running OpenStack services.\","},{"line_number":66,"context_line":"                \"type\": \"string\","},{"line_number":67,"context_line":"            },"},{"line_number":68,"context_line":"            \"ports\": {"},{"line_number":69,"context_line":"                \"description\": \"Services in above hosts will be listening on \""},{"line_number":70,"context_line":"                \"the ports specified here to accept commands. Specify as port \""},{"line_number":71,"context_line":"                \"range and list separated by comma. \""},{"line_number":72,"context_line":"                \"Example: \u0027ports\u0027: \u00278770:8774,8999\u0027\","},{"line_number":73,"context_line":"                \"type\": \"string\","},{"line_number":74,"context_line":"            },"},{"line_number":75,"context_line":"            \"profile\": {"},{"line_number":76,"context_line":"                \"description\": \"Dump python function call trace.\","},{"line_number":77,"context_line":"                \"type\": \"boolean\","}],"source_content_type":"text/x-python","patch_set":4,"id":"3fce034c_425a692a","line":74,"range":{"start_line":68,"start_character":12,"end_line":74,"end_character":14},"updated":"2019-04-16 14:46:10.000000000","message":"same here","commit_id":"6863912b9fb0b074ef20bea5137069362b4c1b7a"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"5ab1198d482952571108231be20f270b9d4a2836","unresolved":false,"context_lines":[{"line_number":72,"context_line":"                \"Example: \u0027ports\u0027: \u00278770:8774,8999\u0027\","},{"line_number":73,"context_line":"                \"type\": \"string\","},{"line_number":74,"context_line":"            },"},{"line_number":75,"context_line":"            \"profile\": {"},{"line_number":76,"context_line":"                \"description\": \"Dump python function call trace.\","},{"line_number":77,"context_line":"                \"type\": \"boolean\","},{"line_number":78,"context_line":"            },"},{"line_number":79,"context_line":"        },"},{"line_number":80,"context_line":"        \"additionalProperties\": False"},{"line_number":81,"context_line":"    }"}],"source_content_type":"text/x-python","patch_set":4,"id":"3fce034c_6263e51b","line":78,"range":{"start_line":75,"start_character":12,"end_line":78,"end_character":14},"updated":"2019-04-16 14:46:10.000000000","message":"What do you think about calling it \"action\" and use \"enum\" type? Something like:\n\n\n  actions: {\n    \"type\": \"array\",\n    \"minItems\": 1,\n    \"uniqueItems\": true\n    \"items\": {\"enum\": [\"profile\", \"memory\"]}\n  }\n\nIn case of empty actions, we can use \"profile\" as default.","commit_id":"6863912b9fb0b074ef20bea5137069362b4c1b7a"}]}
