)]}'
{"docs/Plugins.md":[{"author":{"_account_id":20033,"name":"Artur Basiak","email":"artur.basiak@ts.fujitsu.com","username":"abasiak"},"change_message_id":"34708e8b2bf18cdaf106dc8d0bdb526e77f789e3","unresolved":false,"context_lines":[{"line_number":1526,"context_line":"## Kubernetes Container Create"},{"line_number":1527,"context_line":"This plugin monitors the health of the container manager used in Kubernetes by creating a pod on each node in the cluster. It uses a Kuberntes Job created by the DaemonSet running the Monasca Agent to ensure that a container is created on each node. Each agent creates a job on its own node and checks the jobs success."},{"line_number":1528,"context_line":""},{"line_number":1529,"context_line":"When setting the Kubernetes configuration there is a parameter, \"namespace\", which specifies the namespace the test should take place in. It should be equal to the namespace that the rest of the monitoring pods are in and it defaults to \"monitoring\". There is also a parameter , \"wait_time\". This correspods the the amount of time in seconds the plug-in should wait between creating or deleting a resource before it is certian there has been a success or failure. The parmaeter \"collect_period\" should also be configured in this plugin to lower the work load on the cluster. The higher the collect period, the longer the plugin will wait to run. This parameter defaults to 30 seconds, but it is recomended to set it to 300 seconds. "},{"line_number":1530,"context_line":""},{"line_number":1531,"context_line":"There are two ways you can configure the plugin to connect to the Kubernetes api. Either by setting the host and port or by setting the derive_api_url to True. If deriving the plugin sets the Kubernetes api url by looking at the environment variables. (This should be used if the agent is running in a Kubernetes container)"},{"line_number":1532,"context_line":""}],"source_content_type":"text/x-markdown","patch_set":3,"id":"3f044301_fbd42b22","line":1529,"updated":"2017-05-10 10:36:09.000000000","message":"please remove extra white space and if you can please wrap the line because it is hard to read.","commit_id":"d26baffbeab737785df15d78039201e255727646"},{"author":{"_account_id":22157,"name":"Andrea Adams","email":"aadams@hpe.com","username":"andrea.adams"},"change_message_id":"cdf344cb833eb795b23439961b2c8cbfc18d3698","unresolved":false,"context_lines":[{"line_number":1526,"context_line":"## Kubernetes Container Create"},{"line_number":1527,"context_line":"This plugin monitors the health of the container manager used in Kubernetes by creating a pod on each node in the cluster. It uses a Kuberntes Job created by the DaemonSet running the Monasca Agent to ensure that a container is created on each node. Each agent creates a job on its own node and checks the jobs success."},{"line_number":1528,"context_line":""},{"line_number":1529,"context_line":"When setting the Kubernetes configuration there is a parameter, \"namespace\", which specifies the namespace the test should take place in. It should be equal to the namespace that the rest of the monitoring pods are in and it defaults to \"monitoring\". There is also a parameter , \"wait_time\". This correspods the the amount of time in seconds the plug-in should wait between creating or deleting a resource before it is certian there has been a success or failure. The parmaeter \"collect_period\" should also be configured in this plugin to lower the work load on the cluster. The higher the collect period, the longer the plugin will wait to run. This parameter defaults to 30 seconds, but it is recomended to set it to 300 seconds. "},{"line_number":1530,"context_line":""},{"line_number":1531,"context_line":"There are two ways you can configure the plugin to connect to the Kubernetes api. Either by setting the host and port or by setting the derive_api_url to True. If deriving the plugin sets the Kubernetes api url by looking at the environment variables. (This should be used if the agent is running in a Kubernetes container)"},{"line_number":1532,"context_line":""}],"source_content_type":"text/x-markdown","patch_set":3,"id":"3f044301_24cee82d","line":1529,"in_reply_to":"3f044301_fbd42b22","updated":"2017-05-10 18:58:03.000000000","message":"Done","commit_id":"d26baffbeab737785df15d78039201e255727646"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"b02a3c6988205fd37e5db89d4cbe325a1af32e3f","unresolved":false,"context_lines":[{"line_number":1525,"context_line":""},{"line_number":1526,"context_line":"## Kubernetes Container Create"},{"line_number":1527,"context_line":"This plugin monitors the health of the container manager used in Kubernetes by creating a pod on each node in the cluster."},{"line_number":1528,"context_line":"It uses a Kuberntes Job created by the DaemonSet running the Monasca Agent to ensure that a container is created on each node."},{"line_number":1529,"context_line":"Each agent creates a job on its own node and checks the jobs success."},{"line_number":1530,"context_line":""},{"line_number":1531,"context_line":"When setting the Kubernetes configuration there is a parameter, \"namespace\", which specifies the namespace the test should take"}],"source_content_type":"text/x-markdown","patch_set":4,"id":"1f013ff3_65144ca1","line":1528,"updated":"2017-05-16 05:05:09.000000000","message":"Kuberntes \u003d\u003e Kubernetes","commit_id":"e0cc91ee4b90f158be06268d6b03086ef9ba2112"},{"author":{"_account_id":22157,"name":"Andrea Adams","email":"aadams@hpe.com","username":"andrea.adams"},"change_message_id":"96eed40905e78ca86caa32806fd272599641735a","unresolved":false,"context_lines":[{"line_number":1525,"context_line":""},{"line_number":1526,"context_line":"## Kubernetes Container Create"},{"line_number":1527,"context_line":"This plugin monitors the health of the container manager used in Kubernetes by creating a pod on each node in the cluster."},{"line_number":1528,"context_line":"It uses a Kuberntes Job created by the DaemonSet running the Monasca Agent to ensure that a container is created on each node."},{"line_number":1529,"context_line":"Each agent creates a job on its own node and checks the jobs success."},{"line_number":1530,"context_line":""},{"line_number":1531,"context_line":"When setting the Kubernetes configuration there is a parameter, \"namespace\", which specifies the namespace the test should take"}],"source_content_type":"text/x-markdown","patch_set":4,"id":"1f013ff3_7cedf089","line":1528,"in_reply_to":"1f013ff3_65144ca1","updated":"2017-05-16 16:32:12.000000000","message":"Done","commit_id":"e0cc91ee4b90f158be06268d6b03086ef9ba2112"}],"monasca_agent/collector/checks/utils.py":[{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"6d3d4494e74d721c2f0833845a1968b8b805fb7b","unresolved":false,"context_lines":[{"line_number":178,"context_line":"                         \" first time. Rereading in cert and token.\")"},{"line_number":179,"context_line":"                self._set_kubernetes_service_account_info()"},{"line_number":180,"context_line":"                return self.create_request(request_endpoint, body, as_json\u003das_json,"},{"line_number":181,"context_line":"                                           retried\u003dTrue)"},{"line_number":182,"context_line":"            if result.status_code \u003d\u003d 409:"},{"line_number":183,"context_line":"                exception_message \u003d \"Resource already exists. Could not create \" \\"},{"line_number":184,"context_line":"                                    \"new resource. API at {} returned status code 409 \" \\"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f044301_e12a322a","line":181,"updated":"2017-05-10 16:34:00.000000000","message":"You should also pass in verify","commit_id":"d26baffbeab737785df15d78039201e255727646"},{"author":{"_account_id":22157,"name":"Andrea Adams","email":"aadams@hpe.com","username":"andrea.adams"},"change_message_id":"cdf344cb833eb795b23439961b2c8cbfc18d3698","unresolved":false,"context_lines":[{"line_number":178,"context_line":"                         \" first time. Rereading in cert and token.\")"},{"line_number":179,"context_line":"                self._set_kubernetes_service_account_info()"},{"line_number":180,"context_line":"                return self.create_request(request_endpoint, body, as_json\u003das_json,"},{"line_number":181,"context_line":"                                           retried\u003dTrue)"},{"line_number":182,"context_line":"            if result.status_code \u003d\u003d 409:"},{"line_number":183,"context_line":"                exception_message \u003d \"Resource already exists. Could not create \" \\"},{"line_number":184,"context_line":"                                    \"new resource. API at {} returned status code 409 \" \\"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f044301_21325a60","line":181,"in_reply_to":"3f044301_e12a322a","updated":"2017-05-10 18:58:03.000000000","message":"Done","commit_id":"d26baffbeab737785df15d78039201e255727646"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"6d3d4494e74d721c2f0833845a1968b8b805fb7b","unresolved":false,"context_lines":[{"line_number":185,"context_line":"                                    \"with text {}\".format(request_url, result.text)"},{"line_number":186,"context_line":"                raise exceptions.KubernetesAPIResourceExists(exception_message)"},{"line_number":187,"context_line":"            exception_message \u003d \"Could not obtain data from {} with the \" \\"},{"line_number":188,"context_line":"                                \"given status code {} and return text {}\".\\"},{"line_number":189,"context_line":"                format(request_url, result.status_code, result.text)"},{"line_number":190,"context_line":"            raise exceptions.KubernetesAPIConnectionError(exception_message)"},{"line_number":191,"context_line":"        return result.json() if as_json else result"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f044301_41d5661b","line":188,"range":{"start_line":188,"start_character":33,"end_line":188,"end_character":38},"updated":"2017-05-10 16:34:00.000000000","message":"Wrong word for this message. It is the returned status code","commit_id":"d26baffbeab737785df15d78039201e255727646"},{"author":{"_account_id":22157,"name":"Andrea Adams","email":"aadams@hpe.com","username":"andrea.adams"},"change_message_id":"cdf344cb833eb795b23439961b2c8cbfc18d3698","unresolved":false,"context_lines":[{"line_number":185,"context_line":"                                    \"with text {}\".format(request_url, result.text)"},{"line_number":186,"context_line":"                raise exceptions.KubernetesAPIResourceExists(exception_message)"},{"line_number":187,"context_line":"            exception_message \u003d \"Could not obtain data from {} with the \" \\"},{"line_number":188,"context_line":"                                \"given status code {} and return text {}\".\\"},{"line_number":189,"context_line":"                format(request_url, result.status_code, result.text)"},{"line_number":190,"context_line":"            raise exceptions.KubernetesAPIConnectionError(exception_message)"},{"line_number":191,"context_line":"        return result.json() if as_json else result"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f044301_0133de63","line":188,"range":{"start_line":188,"start_character":33,"end_line":188,"end_character":38},"in_reply_to":"3f044301_41d5661b","updated":"2017-05-10 18:58:03.000000000","message":"Done","commit_id":"d26baffbeab737785df15d78039201e255727646"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"6d3d4494e74d721c2f0833845a1968b8b805fb7b","unresolved":false,"context_lines":[{"line_number":212,"context_line":"                         \" first time. Rereading in cert and token.\")"},{"line_number":213,"context_line":"                self._set_kubernetes_service_account_info()"},{"line_number":214,"context_line":"                return self.delete_request(request_endpoint, as_json\u003das_json,"},{"line_number":215,"context_line":"                                           retried\u003dTrue)"},{"line_number":216,"context_line":"            exception_message \u003d \"Could not obtain data from {} with the \" \\"},{"line_number":217,"context_line":"                                \"given status code {} and return text {}\".\\"},{"line_number":218,"context_line":"                format(request_url, result.status_code, result.text)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f044301_21da5a4b","line":215,"updated":"2017-05-10 16:34:00.000000000","message":"Should send verify","commit_id":"d26baffbeab737785df15d78039201e255727646"},{"author":{"_account_id":22157,"name":"Andrea Adams","email":"aadams@hpe.com","username":"andrea.adams"},"change_message_id":"cdf344cb833eb795b23439961b2c8cbfc18d3698","unresolved":false,"context_lines":[{"line_number":212,"context_line":"                         \" first time. Rereading in cert and token.\")"},{"line_number":213,"context_line":"                self._set_kubernetes_service_account_info()"},{"line_number":214,"context_line":"                return self.delete_request(request_endpoint, as_json\u003das_json,"},{"line_number":215,"context_line":"                                           retried\u003dTrue)"},{"line_number":216,"context_line":"            exception_message \u003d \"Could not obtain data from {} with the \" \\"},{"line_number":217,"context_line":"                                \"given status code {} and return text {}\".\\"},{"line_number":218,"context_line":"                format(request_url, result.status_code, result.text)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f044301_e137d24c","line":215,"in_reply_to":"3f044301_21da5a4b","updated":"2017-05-10 18:58:03.000000000","message":"Done","commit_id":"d26baffbeab737785df15d78039201e255727646"}],"monasca_agent/collector/checks_d/kubernetes_container_create.py":[{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"480d9a8bcc5baba5b34555991bcebc421be99169","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# (C) Copyright 2017 Hewlett Packard Enterprise Development LP"},{"line_number":2,"context_line":"import json"},{"line_number":3,"context_line":"import os"},{"line_number":4,"context_line":"import random"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f044301_272f0a8f","line":1,"updated":"2017-05-10 17:52:14.000000000","message":"shouldn\u0027t this CR include apache license text ?I mean that fragment that\u0027s name I forgot ;P","commit_id":"d26baffbeab737785df15d78039201e255727646"},{"author":{"_account_id":22157,"name":"Andrea Adams","email":"aadams@hpe.com","username":"andrea.adams"},"change_message_id":"cdf344cb833eb795b23439961b2c8cbfc18d3698","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# (C) Copyright 2017 Hewlett Packard Enterprise Development LP"},{"line_number":2,"context_line":"import json"},{"line_number":3,"context_line":"import os"},{"line_number":4,"context_line":"import random"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f044301_27670ac0","line":1,"in_reply_to":"3f044301_272f0a8f","updated":"2017-05-10 18:58:03.000000000","message":"I don\u0027t see any other plugins with an apache license. Also the LICENSE file is BSD instead of apache.","commit_id":"d26baffbeab737785df15d78039201e255727646"},{"author":{"_account_id":20033,"name":"Artur Basiak","email":"artur.basiak@ts.fujitsu.com","username":"abasiak"},"change_message_id":"34708e8b2bf18cdaf106dc8d0bdb526e77f789e3","unresolved":false,"context_lines":[{"line_number":13,"context_line":"DEFAULT_TIMEOUT \u003d 5"},{"line_number":14,"context_line":"DEFAULT_NAMESPACE \u003d \u0027monitoring\u0027"},{"line_number":15,"context_line":"DEFAULT_WAIT_TIME \u003d 30"},{"line_number":16,"context_line":"JOB_ENDOINT \u003d \u0027apis/batch/v1/namespaces/{}/jobs{}\u0027"},{"line_number":17,"context_line":"PODS_ENDPOINT \u003d \u0027api/v1/namespaces/{}/pods{}\u0027"},{"line_number":18,"context_line":"CONTROLLER_UID_STRING \u003d \u0027?labelSelector\u003dcontroller-uid%3D{}\u0027"},{"line_number":19,"context_line":"JOB_CREATE_BODY \u003d {"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f044301_e17fdcdd","line":16,"range":{"start_line":16,"start_character":0,"end_line":16,"end_character":11},"updated":"2017-05-10 10:36:09.000000000","message":"typo?","commit_id":"d26baffbeab737785df15d78039201e255727646"},{"author":{"_account_id":22157,"name":"Andrea Adams","email":"aadams@hpe.com","username":"andrea.adams"},"change_message_id":"cdf344cb833eb795b23439961b2c8cbfc18d3698","unresolved":false,"context_lines":[{"line_number":13,"context_line":"DEFAULT_TIMEOUT \u003d 5"},{"line_number":14,"context_line":"DEFAULT_NAMESPACE \u003d \u0027monitoring\u0027"},{"line_number":15,"context_line":"DEFAULT_WAIT_TIME \u003d 30"},{"line_number":16,"context_line":"JOB_ENDOINT \u003d \u0027apis/batch/v1/namespaces/{}/jobs{}\u0027"},{"line_number":17,"context_line":"PODS_ENDPOINT \u003d \u0027api/v1/namespaces/{}/pods{}\u0027"},{"line_number":18,"context_line":"CONTROLLER_UID_STRING \u003d \u0027?labelSelector\u003dcontroller-uid%3D{}\u0027"},{"line_number":19,"context_line":"JOB_CREATE_BODY \u003d {"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f044301_a1ad4aea","line":16,"range":{"start_line":16,"start_character":0,"end_line":16,"end_character":11},"in_reply_to":"3f044301_e17fdcdd","updated":"2017-05-10 18:58:03.000000000","message":"Done","commit_id":"d26baffbeab737785df15d78039201e255727646"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"6d3d4494e74d721c2f0833845a1968b8b805fb7b","unresolved":false,"context_lines":[{"line_number":34,"context_line":"                \u0027containers\u0027: ["},{"line_number":35,"context_line":"                    {"},{"line_number":36,"context_line":"                        \u0027name\u0027: \u0027cctest-container1\u0027,"},{"line_number":37,"context_line":"                        \u0027image\u0027: \u0027alpine:3.5\u0027,"},{"line_number":38,"context_line":"                        \u0027imagePullPolicy\u0027: \u0027IfNotPresent\u0027,"},{"line_number":39,"context_line":"                        \u0027command\u0027: [\u0027true\u0027]"},{"line_number":40,"context_line":"                    }"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f044301_01b4fef0","line":37,"range":{"start_line":37,"start_character":34,"end_line":37,"end_character":44},"updated":"2017-05-10 16:34:00.000000000","message":"This should be configurable. There will come a time when this container is obsolete","commit_id":"d26baffbeab737785df15d78039201e255727646"},{"author":{"_account_id":22157,"name":"Andrea Adams","email":"aadams@hpe.com","username":"andrea.adams"},"change_message_id":"cdf344cb833eb795b23439961b2c8cbfc18d3698","unresolved":false,"context_lines":[{"line_number":34,"context_line":"                \u0027containers\u0027: ["},{"line_number":35,"context_line":"                    {"},{"line_number":36,"context_line":"                        \u0027name\u0027: \u0027cctest-container1\u0027,"},{"line_number":37,"context_line":"                        \u0027image\u0027: \u0027alpine:3.5\u0027,"},{"line_number":38,"context_line":"                        \u0027imagePullPolicy\u0027: \u0027IfNotPresent\u0027,"},{"line_number":39,"context_line":"                        \u0027command\u0027: [\u0027true\u0027]"},{"line_number":40,"context_line":"                    }"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f044301_41c0c6e1","line":37,"range":{"start_line":37,"start_character":34,"end_line":37,"end_character":44},"in_reply_to":"3f044301_01b4fef0","updated":"2017-05-10 18:58:03.000000000","message":"Done","commit_id":"d26baffbeab737785df15d78039201e255727646"},{"author":{"_account_id":11809,"name":"Craig Bryant","email":"craig.bryant@hpe.com","username":"craig-bryant"},"change_message_id":"6d3d4494e74d721c2f0833845a1968b8b805fb7b","unresolved":false,"context_lines":[{"line_number":119,"context_line":"    def _cleanup(self, endpoint, job_create_body):"},{"line_number":120,"context_line":"        self.log.info(\"Job cleanup started. Delete Job failed in the past,\""},{"line_number":121,"context_line":"                      \" but attempting to cleanup\")"},{"line_number":122,"context_line":"        if not self.delete_job():"},{"line_number":123,"context_line":"            self.log.warn(\"Job cleanup failed. Cannot delete old Job \""},{"line_number":124,"context_line":"                          \"and cannot create new Job because of conflict.\")"},{"line_number":125,"context_line":"            return None"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f044301_418c4635","line":122,"range":{"start_line":122,"start_character":20,"end_line":122,"end_character":30},"updated":"2017-05-10 16:34:00.000000000","message":"Shouldn\u0027t this be _delete_job? What happens if this occurs? Will it forever stop creating containers?","commit_id":"d26baffbeab737785df15d78039201e255727646"},{"author":{"_account_id":22157,"name":"Andrea Adams","email":"aadams@hpe.com","username":"andrea.adams"},"change_message_id":"cdf344cb833eb795b23439961b2c8cbfc18d3698","unresolved":false,"context_lines":[{"line_number":119,"context_line":"    def _cleanup(self, endpoint, job_create_body):"},{"line_number":120,"context_line":"        self.log.info(\"Job cleanup started. Delete Job failed in the past,\""},{"line_number":121,"context_line":"                      \" but attempting to cleanup\")"},{"line_number":122,"context_line":"        if not self.delete_job():"},{"line_number":123,"context_line":"            self.log.warn(\"Job cleanup failed. Cannot delete old Job \""},{"line_number":124,"context_line":"                          \"and cannot create new Job because of conflict.\")"},{"line_number":125,"context_line":"            return None"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f044301_21213ab1","line":122,"range":{"start_line":122,"start_character":20,"end_line":122,"end_character":30},"in_reply_to":"3f044301_418c4635","updated":"2017-05-10 18:58:03.000000000","message":"This indicates a problem with the container manager. If the problem with presumably Docker is never resolved, then yes, it will stop creating containers forever. If the problem is resolved, and the old Job is able to get deleted, it should just resume creating Jobs and containers.","commit_id":"d26baffbeab737785df15d78039201e255727646"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"b02a3c6988205fd37e5db89d4cbe325a1af32e3f","unresolved":false,"context_lines":[{"line_number":56,"context_line":"        self.connection_timeout \u003d int(init_config.get(\u0027connection_timeout\u0027, DEFAULT_TIMEOUT))"},{"line_number":57,"context_line":"        self.namespace \u003d init_config.get(\u0027namespace\u0027, DEFAULT_NAMESPACE)"},{"line_number":58,"context_line":"        self.wait_time \u003d int(init_config.get(\u0027wait_time\u0027, DEFAULT_WAIT_TIME))"},{"line_number":59,"context_line":"        JOB_CREATE_BODY[\u0027spec\u0027][\u0027template\u0027][\u0027spec\u0027][\u0027containers\u0027][0][\u0027image\u0027] \u003d \\"},{"line_number":60,"context_line":"            init_config.get(\u0027image\u0027, DEFAULT_IMAGE)"},{"line_number":61,"context_line":"        self.kubernetes_connector \u003d None"},{"line_number":62,"context_line":"        self.kubernetes_api \u003d None"}],"source_content_type":"text/x-python","patch_set":4,"id":"1f013ff3_65f0cc68","line":59,"updated":"2017-05-16 05:05:09.000000000","message":"you might wan\u0027t to clone this IMHO.\nthat variable acts as an template more or less.","commit_id":"e0cc91ee4b90f158be06268d6b03086ef9ba2112"},{"author":{"_account_id":22157,"name":"Andrea Adams","email":"aadams@hpe.com","username":"andrea.adams"},"change_message_id":"96eed40905e78ca86caa32806fd272599641735a","unresolved":false,"context_lines":[{"line_number":56,"context_line":"        self.connection_timeout \u003d int(init_config.get(\u0027connection_timeout\u0027, DEFAULT_TIMEOUT))"},{"line_number":57,"context_line":"        self.namespace \u003d init_config.get(\u0027namespace\u0027, DEFAULT_NAMESPACE)"},{"line_number":58,"context_line":"        self.wait_time \u003d int(init_config.get(\u0027wait_time\u0027, DEFAULT_WAIT_TIME))"},{"line_number":59,"context_line":"        JOB_CREATE_BODY[\u0027spec\u0027][\u0027template\u0027][\u0027spec\u0027][\u0027containers\u0027][0][\u0027image\u0027] \u003d \\"},{"line_number":60,"context_line":"            init_config.get(\u0027image\u0027, DEFAULT_IMAGE)"},{"line_number":61,"context_line":"        self.kubernetes_connector \u003d None"},{"line_number":62,"context_line":"        self.kubernetes_api \u003d None"}],"source_content_type":"text/x-python","patch_set":4,"id":"1f013ff3_9ceafc72","line":59,"in_reply_to":"1f013ff3_65f0cc68","updated":"2017-05-16 16:32:12.000000000","message":"Done","commit_id":"e0cc91ee4b90f158be06268d6b03086ef9ba2112"}],"monasca_agent/common/exceptions.py":[{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"b02a3c6988205fd37e5db89d4cbe325a1af32e3f","unresolved":false,"context_lines":[{"line_number":29,"context_line":"    pass"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"class KubernetesAPIResourceExists(Exception):"},{"line_number":33,"context_line":"    pass"}],"source_content_type":"text/x-python","patch_set":4,"id":"1f013ff3_a5fdb43b","line":32,"updated":"2017-05-16 05:05:09.000000000","message":"I don\u0027t think this exception will be used anywhere else apart from kubernetes stuff.\nCan we try and move it there somehow ? I From my POV only new code refers to that so make sense to have it there.","commit_id":"e0cc91ee4b90f158be06268d6b03086ef9ba2112"},{"author":{"_account_id":22157,"name":"Andrea Adams","email":"aadams@hpe.com","username":"andrea.adams"},"change_message_id":"96eed40905e78ca86caa32806fd272599641735a","unresolved":false,"context_lines":[{"line_number":29,"context_line":"    pass"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"class KubernetesAPIResourceExists(Exception):"},{"line_number":33,"context_line":"    pass"}],"source_content_type":"text/x-python","patch_set":4,"id":"1f013ff3_fc8d80d3","line":32,"in_reply_to":"1f013ff3_a5fdb43b","updated":"2017-05-16 16:32:12.000000000","message":"Done","commit_id":"e0cc91ee4b90f158be06268d6b03086ef9ba2112"}],"tests/checks_d/test_kubernetes_container_create.py":[{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"b02a3c6988205fd37e5db89d4cbe325a1af32e3f","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# (C) Copyright 2017 Hewlett Packard Enterprise Development LP"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"import mock"},{"line_number":4,"context_line":"import unittest"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"from monasca_agent.collector.checks import utils"},{"line_number":7,"context_line":"from monasca_agent.collector.checks_d.kubernetes_container_create import KubernetesContainerCreate"}],"source_content_type":"text/x-python","patch_set":4,"id":"1f013ff3_c58560af","line":4,"updated":"2017-05-16 05:05:09.000000000","message":"from oslotest import base","commit_id":"e0cc91ee4b90f158be06268d6b03086ef9ba2112"},{"author":{"_account_id":22157,"name":"Andrea Adams","email":"aadams@hpe.com","username":"andrea.adams"},"change_message_id":"96eed40905e78ca86caa32806fd272599641735a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# (C) Copyright 2017 Hewlett Packard Enterprise Development LP"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"import mock"},{"line_number":4,"context_line":"import unittest"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"from monasca_agent.collector.checks import utils"},{"line_number":7,"context_line":"from monasca_agent.collector.checks_d.kubernetes_container_create import KubernetesContainerCreate"}],"source_content_type":"text/x-python","patch_set":4,"id":"1f013ff3_3c72c8e4","line":4,"in_reply_to":"1f013ff3_c58560af","updated":"2017-05-16 16:32:12.000000000","message":"Done","commit_id":"e0cc91ee4b90f158be06268d6b03086ef9ba2112"},{"author":{"_account_id":16168,"name":"Tomasz Trębski","email":"kornicameister@gmail.com","username":"trebskit"},"change_message_id":"b02a3c6988205fd37e5db89d4cbe325a1af32e3f","unresolved":false,"context_lines":[{"line_number":12,"context_line":"KUBERNETES_LABELS \u003d [\u0027app\u0027]"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"class TestKubernetesContainerCreate(unittest.TestCase):"},{"line_number":16,"context_line":"    def setUp(self):"},{"line_number":17,"context_line":"        unittest.TestCase.setUp(self)"},{"line_number":18,"context_line":"        init_config \u003d {\u0027wait_time\u0027: 0}"}],"source_content_type":"text/x-python","patch_set":4,"id":"1f013ff3_65be8c66","line":15,"updated":"2017-05-16 05:05:09.000000000","message":"base.BaseTestCase\n\nBTW: All tests should be converted to use oslotest btw ;/. No idea how was this omitted.","commit_id":"e0cc91ee4b90f158be06268d6b03086ef9ba2112"},{"author":{"_account_id":22157,"name":"Andrea Adams","email":"aadams@hpe.com","username":"andrea.adams"},"change_message_id":"96eed40905e78ca86caa32806fd272599641735a","unresolved":false,"context_lines":[{"line_number":12,"context_line":"KUBERNETES_LABELS \u003d [\u0027app\u0027]"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"class TestKubernetesContainerCreate(unittest.TestCase):"},{"line_number":16,"context_line":"    def setUp(self):"},{"line_number":17,"context_line":"        unittest.TestCase.setUp(self)"},{"line_number":18,"context_line":"        init_config \u003d {\u0027wait_time\u0027: 0}"}],"source_content_type":"text/x-python","patch_set":4,"id":"1f013ff3_5c77d4d5","line":15,"in_reply_to":"1f013ff3_65be8c66","updated":"2017-05-16 16:32:12.000000000","message":"Done","commit_id":"e0cc91ee4b90f158be06268d6b03086ef9ba2112"}]}
