)]}'
{"doc/source/specs/index.rst":[{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"d00331a784bae0567fba4bbac596dc4bfeb70579","unresolved":false,"context_lines":[{"line_number":15,"context_line":"   support-linux-bridge-on-neutron.rst"},{"line_number":16,"context_line":"   fluentbit-fluentd-architecture.rst"},{"line_number":17,"context_line":"   osh-1.0-requirements.rst"},{"line_number":18,"context_line":"   liveness-rediness-probes.rst"}],"source_content_type":"text/x-rst","patch_set":6,"id":"5f7c97a3_34944036","line":18,"range":{"start_line":18,"start_character":12,"end_line":18,"end_character":20},"updated":"2018-07-13 18:57:13.000000000","message":"readiness","commit_id":"45cf93c904d5412692f6a5885b09dfa0b6cdb58d"},{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"6f4e68a2e28ae6d3fd5e31a1c0d5b70f19549fab","unresolved":false,"context_lines":[{"line_number":15,"context_line":"   support-linux-bridge-on-neutron.rst"},{"line_number":16,"context_line":"   fluentbit-fluentd-architecture.rst"},{"line_number":17,"context_line":"   osh-1.0-requirements.rst"},{"line_number":18,"context_line":"   liveness-rediness-probes.rst"}],"source_content_type":"text/x-rst","patch_set":13,"id":"5f7c97a3_975d1156","line":18,"range":{"start_line":18,"start_character":12,"end_line":18,"end_character":20},"updated":"2018-07-25 20:12:09.000000000","message":"readiness","commit_id":"6212a3f8b4e906dbfff9c10c5d06739c625eb8a1"}],"doc/source/specs/liveness-readiness-probes.rst":[{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"25af35860daf688998a91de51bc644b2858666f3","unresolved":false,"context_lines":[{"line_number":25,"context_line":"Proposed Change"},{"line_number":26,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"This specification proposes a consistent way of implementing readiness and readiness probes across"},{"line_number":29,"context_line":"all Helm charts. A probe should be evaluated and selected based on its suitability at effectively"},{"line_number":30,"context_line":"checking the state of a specific container. Hence, every container must be individually analysed"},{"line_number":31,"context_line":"to determine what constitutes appropriate parameters for configuring its readiness/liveness probe."}],"source_content_type":"text/x-rst","patch_set":25,"id":"5f7c97a3_b2cf49b1","line":28,"range":{"start_line":28,"start_character":75,"end_line":28,"end_character":84},"updated":"2018-08-02 20:24:07.000000000","message":"liveness","commit_id":"6a1edd7f0fea9ff0bb83df8e1c523ea8a80e638d"},{"author":{"_account_id":28620,"name":"Matthias Omisore","email":"momisore@broadtekniks.com","username":"momisore"},"change_message_id":"914cdda1828d056e4b304e999694316ad5e8afce","unresolved":false,"context_lines":[{"line_number":25,"context_line":"Proposed Change"},{"line_number":26,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"This specification proposes a consistent way of implementing readiness and readiness probes across"},{"line_number":29,"context_line":"all Helm charts. A probe should be evaluated and selected based on its suitability at effectively"},{"line_number":30,"context_line":"checking the state of a specific container. Hence, every container must be individually analysed"},{"line_number":31,"context_line":"to determine what constitutes appropriate parameters for configuring its readiness/liveness probe."}],"source_content_type":"text/x-rst","patch_set":25,"id":"5f7c97a3_9181d9fd","line":28,"range":{"start_line":28,"start_character":75,"end_line":28,"end_character":84},"in_reply_to":"5f7c97a3_b2cf49b1","updated":"2018-08-10 20:48:13.000000000","message":"Done","commit_id":"6a1edd7f0fea9ff0bb83df8e1c523ea8a80e638d"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"ceef40f3a56c8c9f0bed207485f1bd081b55b335","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Probe Types:"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"  Kubernetes currently allows any of the below probe types:"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    1. tcpSocket:  Probe a specific port on a container."},{"line_number":38,"context_line":"    2. httpGet:  Probe a url on a container."}],"source_content_type":"text/x-rst","patch_set":25,"id":"5f7c97a3_f2fce10e","line":35,"range":{"start_line":35,"start_character":0,"end_line":35,"end_character":59},"updated":"2018-08-02 20:38:13.000000000","message":"Are we implementing this via helm toolkit function?  If so can we call that out and outline how we can tackle each of these type of probes.","commit_id":"6a1edd7f0fea9ff0bb83df8e1c523ea8a80e638d"},{"author":{"_account_id":28620,"name":"Matthias Omisore","email":"momisore@broadtekniks.com","username":"momisore"},"change_message_id":"914cdda1828d056e4b304e999694316ad5e8afce","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Probe Types:"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"  Kubernetes currently allows any of the below probe types:"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    1. tcpSocket:  Probe a specific port on a container."},{"line_number":38,"context_line":"    2. httpGet:  Probe a url on a container."}],"source_content_type":"text/x-rst","patch_set":25,"id":"5f7c97a3_71919d45","line":35,"range":{"start_line":35,"start_character":0,"end_line":35,"end_character":59},"in_reply_to":"5f7c97a3_f2fce10e","updated":"2018-08-10 20:48:13.000000000","message":"that is provided below.","commit_id":"6a1edd7f0fea9ff0bb83df8e1c523ea8a80e638d"},{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"25af35860daf688998a91de51bc644b2858666f3","unresolved":false,"context_lines":[{"line_number":41,"context_line":"    `tcpSocket` is ideal for checking containers that allow socket connection on a specified port."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    For containers running charts with published APIs such as keystone, `httpGet` is ideal."},{"line_number":44,"context_line":"    It can be used to ensure that the keystone auth-url is available before marking the"},{"line_number":45,"context_line":"    container ready."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    `Command` check is more suited for creating complex checks that are executed on a container."},{"line_number":48,"context_line":"    It is also ideal for checking the status of services that run in a container such as mysql,"}],"source_content_type":"text/x-rst","patch_set":25,"id":"5f7c97a3_f249412f","line":45,"range":{"start_line":44,"start_character":0,"end_line":45,"end_character":20},"updated":"2018-08-02 20:24:07.000000000","message":"This should be more generic. It\u0027s okay to give an example, but this should read more like \"This probe can be used to ensure that an arbitrary http endpoint is available\"","commit_id":"6a1edd7f0fea9ff0bb83df8e1c523ea8a80e638d"},{"author":{"_account_id":28620,"name":"Matthias Omisore","email":"momisore@broadtekniks.com","username":"momisore"},"change_message_id":"914cdda1828d056e4b304e999694316ad5e8afce","unresolved":false,"context_lines":[{"line_number":41,"context_line":"    `tcpSocket` is ideal for checking containers that allow socket connection on a specified port."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    For containers running charts with published APIs such as keystone, `httpGet` is ideal."},{"line_number":44,"context_line":"    It can be used to ensure that the keystone auth-url is available before marking the"},{"line_number":45,"context_line":"    container ready."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    `Command` check is more suited for creating complex checks that are executed on a container."},{"line_number":48,"context_line":"    It is also ideal for checking the status of services that run in a container such as mysql,"}],"source_content_type":"text/x-rst","patch_set":25,"id":"3f79a3b5_f4d85880","line":45,"range":{"start_line":44,"start_character":0,"end_line":45,"end_character":20},"in_reply_to":"5f7c97a3_f249412f","updated":"2018-08-10 20:48:13.000000000","message":"Done","commit_id":"6a1edd7f0fea9ff0bb83df8e1c523ea8a80e638d"},{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"25af35860daf688998a91de51bc644b2858666f3","unresolved":false,"context_lines":[{"line_number":45,"context_line":"    container ready."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    `Command` check is more suited for creating complex checks that are executed on a container."},{"line_number":48,"context_line":"    It is also ideal for checking the status of services that run in a container such as mysql,"},{"line_number":49,"context_line":"    rabbitmq etc."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"The probes fields (periodSeconds, initialDelaySeconds, timeoutSeconds, successThreshold and"},{"line_number":52,"context_line":"failureThreshold) must also be configured, taking into consideration the container\u0027s boot-up time"}],"source_content_type":"text/x-rst","patch_set":25,"id":"5f7c97a3_126cfd9c","line":49,"range":{"start_line":48,"start_character":0,"end_line":49,"end_character":17},"updated":"2018-08-02 20:24:07.000000000","message":"This example could use some explaining. All services running in charts are running in containers. How exactly is this ideal?","commit_id":"6a1edd7f0fea9ff0bb83df8e1c523ea8a80e638d"},{"author":{"_account_id":28620,"name":"Matthias Omisore","email":"momisore@broadtekniks.com","username":"momisore"},"change_message_id":"914cdda1828d056e4b304e999694316ad5e8afce","unresolved":false,"context_lines":[{"line_number":45,"context_line":"    container ready."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    `Command` check is more suited for creating complex checks that are executed on a container."},{"line_number":48,"context_line":"    It is also ideal for checking the status of services that run in a container such as mysql,"},{"line_number":49,"context_line":"    rabbitmq etc."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"The probes fields (periodSeconds, initialDelaySeconds, timeoutSeconds, successThreshold and"},{"line_number":52,"context_line":"failureThreshold) must also be configured, taking into consideration the container\u0027s boot-up time"}],"source_content_type":"text/x-rst","patch_set":25,"id":"3f79a3b5_34181080","line":49,"range":{"start_line":48,"start_character":0,"end_line":49,"end_character":17},"in_reply_to":"5f7c97a3_126cfd9c","updated":"2018-08-10 20:48:13.000000000","message":"Done","commit_id":"6a1edd7f0fea9ff0bb83df8e1c523ea8a80e638d"},{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"25af35860daf688998a91de51bc644b2858666f3","unresolved":false,"context_lines":[{"line_number":72,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"*Enabling and Disabling probes*"},{"line_number":76,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"Two new boolean fields are introduced to values.yaml; liveness and readiness. These are used to"}],"source_content_type":"text/x-rst","patch_set":25,"id":"5f7c97a3_b202e9b8","line":75,"range":{"start_line":75,"start_character":24,"end_line":75,"end_character":30},"updated":"2018-08-02 20:24:07.000000000","message":"Probes to match case","commit_id":"6a1edd7f0fea9ff0bb83df8e1c523ea8a80e638d"},{"author":{"_account_id":28620,"name":"Matthias Omisore","email":"momisore@broadtekniks.com","username":"momisore"},"change_message_id":"914cdda1828d056e4b304e999694316ad5e8afce","unresolved":false,"context_lines":[{"line_number":72,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"*Enabling and Disabling probes*"},{"line_number":76,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"Two new boolean fields are introduced to values.yaml; liveness and readiness. These are used to"}],"source_content_type":"text/x-rst","patch_set":25,"id":"5f7c97a3_51982166","line":75,"range":{"start_line":75,"start_character":24,"end_line":75,"end_character":30},"in_reply_to":"5f7c97a3_b202e9b8","updated":"2018-08-10 20:48:13.000000000","message":"Done","commit_id":"6a1edd7f0fea9ff0bb83df8e1c523ea8a80e638d"},{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"25af35860daf688998a91de51bc644b2858666f3","unresolved":false,"context_lines":[{"line_number":75,"context_line":"*Enabling and Disabling probes*"},{"line_number":76,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"Two new boolean fields are introduced to values.yaml; liveness and readiness. These are used to"},{"line_number":79,"context_line":"enable or disable the probes:"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"  .. code-block:: yaml"}],"source_content_type":"text/x-rst","patch_set":25,"id":"5f7c97a3_32eed9fe","line":78,"range":{"start_line":78,"start_character":41,"end_line":78,"end_character":52},"updated":"2018-08-02 20:24:07.000000000","message":"we should mention exactly where these live in values.yaml, as we don\u0027t want to give the impression we\u0027re creating a new, arbitrary top level key","commit_id":"6a1edd7f0fea9ff0bb83df8e1c523ea8a80e638d"},{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"25af35860daf688998a91de51bc644b2858666f3","unresolved":false,"context_lines":[{"line_number":83,"context_line":""},{"line_number":84,"context_line":"        pod:"},{"line_number":85,"context_line":"          liveness:"},{"line_number":86,"context_line":"            enabled:"},{"line_number":87,"context_line":"              \u003ccontainer name\u003e: \u003c True | False \u003e # enable or disable the liveness probe for the container"},{"line_number":88,"context_line":"          readiness:"},{"line_number":89,"context_line":"            enabled:"},{"line_number":90,"context_line":"              \u003ccontainer name\u003e: \u003c True | False \u003e # enable or disable the readiness probe for the container"}],"source_content_type":"text/x-rst","patch_set":25,"id":"5f7c97a3_b2d0a92c","line":87,"range":{"start_line":86,"start_character":0,"end_line":87,"end_character":105},"updated":"2018-08-02 20:24:07.000000000","message":"Could we get rid of the enabled key and just do .Values.pod.liveness.\u003ccontainer_name\u003e ?","commit_id":"6a1edd7f0fea9ff0bb83df8e1c523ea8a80e638d"},{"author":{"_account_id":28620,"name":"Matthias Omisore","email":"momisore@broadtekniks.com","username":"momisore"},"change_message_id":"914cdda1828d056e4b304e999694316ad5e8afce","unresolved":false,"context_lines":[{"line_number":83,"context_line":""},{"line_number":84,"context_line":"        pod:"},{"line_number":85,"context_line":"          liveness:"},{"line_number":86,"context_line":"            enabled:"},{"line_number":87,"context_line":"              \u003ccontainer name\u003e: \u003c True | False \u003e # enable or disable the liveness probe for the container"},{"line_number":88,"context_line":"          readiness:"},{"line_number":89,"context_line":"            enabled:"},{"line_number":90,"context_line":"              \u003ccontainer name\u003e: \u003c True | False \u003e # enable or disable the readiness probe for the container"}],"source_content_type":"text/x-rst","patch_set":25,"id":"3f79a3b5_b403c00f","line":87,"range":{"start_line":86,"start_character":0,"end_line":87,"end_character":105},"in_reply_to":"5f7c97a3_b2d0a92c","updated":"2018-08-10 20:48:13.000000000","message":"Done","commit_id":"6a1edd7f0fea9ff0bb83df8e1c523ea8a80e638d"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"ceef40f3a56c8c9f0bed207485f1bd081b55b335","unresolved":false,"context_lines":[{"line_number":109,"context_line":"*HTTP request Checks*"},{"line_number":110,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"`httpGet` checks are ideal for applications that return HTTP status codes."},{"line_number":113,"context_line":"The kubelet checks a path on the container and the probe is deemed successful if response code is a"},{"line_number":114,"context_line":"value between 200 and 399. Use below format to configure httpGet probe:"},{"line_number":115,"context_line":""}],"source_content_type":"text/x-rst","patch_set":25,"id":"5f7c97a3_72b5317d","line":112,"range":{"start_line":112,"start_character":0,"end_line":112,"end_character":10},"updated":"2018-08-02 20:38:13.000000000","message":"double ``","commit_id":"6a1edd7f0fea9ff0bb83df8e1c523ea8a80e638d"},{"author":{"_account_id":28620,"name":"Matthias Omisore","email":"momisore@broadtekniks.com","username":"momisore"},"change_message_id":"914cdda1828d056e4b304e999694316ad5e8afce","unresolved":false,"context_lines":[{"line_number":109,"context_line":"*HTTP request Checks*"},{"line_number":110,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"`httpGet` checks are ideal for applications that return HTTP status codes."},{"line_number":113,"context_line":"The kubelet checks a path on the container and the probe is deemed successful if response code is a"},{"line_number":114,"context_line":"value between 200 and 399. Use below format to configure httpGet probe:"},{"line_number":115,"context_line":""}],"source_content_type":"text/x-rst","patch_set":25,"id":"3f79a3b5_9406c420","line":112,"range":{"start_line":112,"start_character":0,"end_line":112,"end_character":10},"in_reply_to":"5f7c97a3_72b5317d","updated":"2018-08-10 20:48:13.000000000","message":"Done","commit_id":"6a1edd7f0fea9ff0bb83df8e1c523ea8a80e638d"},{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"25af35860daf688998a91de51bc644b2858666f3","unresolved":false,"context_lines":[{"line_number":118,"context_line":"        spec:"},{"line_number":119,"context_line":"          containers:"},{"line_number":120,"context_line":"          # liveness probe"},{"line_number":121,"context_line":"            {{ if .Values.pod.liveness.\u003ccontainer name\u003e.enabled }} # include only if liveness is enabled"},{"line_number":122,"context_line":"               livenessProbe:"},{"line_number":123,"context_line":"                 httpGet:"},{"line_number":124,"context_line":"                   path: \u003cpath\u003e # URL path to check"}],"source_content_type":"text/x-rst","patch_set":25,"id":"5f7c97a3_32c5795e","line":121,"range":{"start_line":121,"start_character":18,"end_line":121,"end_character":63},"updated":"2018-08-02 20:24:07.000000000","message":"With the examples above, this is incorrect. it would need to be .Values.pod.liveness.enabled.\u003ccontainer_name\u003e.  If we could get rid of the enabled key, we could do:\n{{ if .Values.pod.liveness.\u003ccontainer_name\u003e }} instead","commit_id":"6a1edd7f0fea9ff0bb83df8e1c523ea8a80e638d"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"ceef40f3a56c8c9f0bed207485f1bd081b55b335","unresolved":false,"context_lines":[{"line_number":123,"context_line":"                 httpGet:"},{"line_number":124,"context_line":"                   path: \u003cpath\u003e # URL path to check"},{"line_number":125,"context_line":"                   port: \u003cport\u003e # Optional port. Defaults to Port 80 if no port is specified."},{"line_number":126,"context_line":"                 initialDelaySeconds: 15"},{"line_number":127,"context_line":"                 timeoutSeconds: 1"},{"line_number":128,"context_line":"            {{- end}}"},{"line_number":129,"context_line":""}],"source_content_type":"text/x-rst","patch_set":25,"id":"5f7c97a3_d28a05bc","line":126,"range":{"start_line":126,"start_character":38,"end_line":126,"end_character":40},"updated":"2018-08-02 20:38:13.000000000","message":"should these be also configurable?","commit_id":"6a1edd7f0fea9ff0bb83df8e1c523ea8a80e638d"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"ceef40f3a56c8c9f0bed207485f1bd081b55b335","unresolved":false,"context_lines":[{"line_number":124,"context_line":"                   path: \u003cpath\u003e # URL path to check"},{"line_number":125,"context_line":"                   port: \u003cport\u003e # Optional port. Defaults to Port 80 if no port is specified."},{"line_number":126,"context_line":"                 initialDelaySeconds: 15"},{"line_number":127,"context_line":"                 timeoutSeconds: 1"},{"line_number":128,"context_line":"            {{- end}}"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"          # readiness probe"}],"source_content_type":"text/x-rst","patch_set":25,"id":"5f7c97a3_f28701b3","line":127,"range":{"start_line":127,"start_character":33,"end_line":127,"end_character":34},"updated":"2018-08-02 20:38:13.000000000","message":"ditto","commit_id":"6a1edd7f0fea9ff0bb83df8e1c523ea8a80e638d"},{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"25af35860daf688998a91de51bc644b2858666f3","unresolved":false,"context_lines":[{"line_number":128,"context_line":"            {{- end}}"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"          # readiness probe"},{"line_number":131,"context_line":"             {{ if .Values.pod.readiness.\u003ccontainer name\u003e.enabled }}"},{"line_number":132,"context_line":"               readinessProbe:"},{"line_number":133,"context_line":"                 httpGet:"},{"line_number":134,"context_line":"                   path: \u003cpath\u003e # URL path to check"}],"source_content_type":"text/x-rst","patch_set":25,"id":"5f7c97a3_d2c1a551","line":131,"range":{"start_line":131,"start_character":19,"end_line":131,"end_character":65},"updated":"2018-08-02 20:24:07.000000000","message":"same","commit_id":"6a1edd7f0fea9ff0bb83df8e1c523ea8a80e638d"},{"author":{"_account_id":28620,"name":"Matthias Omisore","email":"momisore@broadtekniks.com","username":"momisore"},"change_message_id":"914cdda1828d056e4b304e999694316ad5e8afce","unresolved":false,"context_lines":[{"line_number":128,"context_line":"            {{- end}}"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"          # readiness probe"},{"line_number":131,"context_line":"             {{ if .Values.pod.readiness.\u003ccontainer name\u003e.enabled }}"},{"line_number":132,"context_line":"               readinessProbe:"},{"line_number":133,"context_line":"                 httpGet:"},{"line_number":134,"context_line":"                   path: \u003cpath\u003e # URL path to check"}],"source_content_type":"text/x-rst","patch_set":25,"id":"3f79a3b5_d4967c95","line":131,"range":{"start_line":131,"start_character":19,"end_line":131,"end_character":65},"in_reply_to":"5f7c97a3_d2c1a551","updated":"2018-08-10 20:48:13.000000000","message":"Done","commit_id":"6a1edd7f0fea9ff0bb83df8e1c523ea8a80e638d"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"ceef40f3a56c8c9f0bed207485f1bd081b55b335","unresolved":false,"context_lines":[{"line_number":133,"context_line":"                 httpGet:"},{"line_number":134,"context_line":"                   path: \u003cpath\u003e # URL path to check"},{"line_number":135,"context_line":"                   port: \u003cport\u003e # Optional port. Defaults to Port 80 if no port is specified."},{"line_number":136,"context_line":"                 initialDelaySeconds: 15"},{"line_number":137,"context_line":"                 timeoutSeconds: 1"},{"line_number":138,"context_line":"             {{- end}}}"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":""}],"source_content_type":"text/x-rst","patch_set":25,"id":"5f7c97a3_92b6cd8c","line":137,"range":{"start_line":136,"start_character":0,"end_line":137,"end_character":34},"updated":"2018-08-02 20:38:13.000000000","message":"configurable?","commit_id":"6a1edd7f0fea9ff0bb83df8e1c523ea8a80e638d"},{"author":{"_account_id":28620,"name":"Matthias Omisore","email":"momisore@broadtekniks.com","username":"momisore"},"change_message_id":"914cdda1828d056e4b304e999694316ad5e8afce","unresolved":false,"context_lines":[{"line_number":133,"context_line":"                 httpGet:"},{"line_number":134,"context_line":"                   path: \u003cpath\u003e # URL path to check"},{"line_number":135,"context_line":"                   port: \u003cport\u003e # Optional port. Defaults to Port 80 if no port is specified."},{"line_number":136,"context_line":"                 initialDelaySeconds: 15"},{"line_number":137,"context_line":"                 timeoutSeconds: 1"},{"line_number":138,"context_line":"             {{- end}}}"},{"line_number":139,"context_line":""},{"line_number":140,"context_line":""}],"source_content_type":"text/x-rst","patch_set":25,"id":"3f79a3b5_147dd46d","line":137,"range":{"start_line":136,"start_character":0,"end_line":137,"end_character":34},"in_reply_to":"5f7c97a3_92b6cd8c","updated":"2018-08-10 20:48:13.000000000","message":"Done","commit_id":"6a1edd7f0fea9ff0bb83df8e1c523ea8a80e638d"},{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"25af35860daf688998a91de51bc644b2858666f3","unresolved":false,"context_lines":[{"line_number":142,"context_line":"*TCP Socket Checks*"},{"line_number":143,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":144,"context_line":"Configuring the probes to use `tcpSocket` is as shown below. The kubelet attempts to open a socket"},{"line_number":145,"context_line":"to the container at the specified port, the checks are deemed successful only if the check can"},{"line_number":146,"context_line":"successfully establish a connection:"},{"line_number":147,"context_line":""},{"line_number":148,"context_line":""}],"source_content_type":"text/x-rst","patch_set":25,"id":"5f7c97a3_128ddd35","line":145,"range":{"start_line":145,"start_character":38,"end_line":145,"end_character":39},"updated":"2018-08-02 20:24:07.000000000","message":"Can end the sentence here","commit_id":"6a1edd7f0fea9ff0bb83df8e1c523ea8a80e638d"},{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"25af35860daf688998a91de51bc644b2858666f3","unresolved":false,"context_lines":[{"line_number":142,"context_line":"*TCP Socket Checks*"},{"line_number":143,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":144,"context_line":"Configuring the probes to use `tcpSocket` is as shown below. The kubelet attempts to open a socket"},{"line_number":145,"context_line":"to the container at the specified port, the checks are deemed successful only if the check can"},{"line_number":146,"context_line":"successfully establish a connection:"},{"line_number":147,"context_line":""},{"line_number":148,"context_line":""}],"source_content_type":"text/x-rst","patch_set":25,"id":"5f7c97a3_f2938158","line":145,"range":{"start_line":145,"start_character":40,"end_line":145,"end_character":43},"updated":"2018-08-02 20:24:07.000000000","message":"The","commit_id":"6a1edd7f0fea9ff0bb83df8e1c523ea8a80e638d"},{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"25af35860daf688998a91de51bc644b2858666f3","unresolved":false,"context_lines":[{"line_number":152,"context_line":"        spec:"},{"line_number":153,"context_line":"          containers:"},{"line_number":154,"context_line":"          # liveness probe"},{"line_number":155,"context_line":"            {{ if .Values.pod.liveness.\u003ccontainer name\u003e.enabled }}"},{"line_number":156,"context_line":"               livenessProbe:"},{"line_number":157,"context_line":"                 tcpSocket:"},{"line_number":158,"context_line":"                   port: \u003cport\u003e # container port to probe"}],"source_content_type":"text/x-rst","patch_set":25,"id":"5f7c97a3_92824d02","line":155,"range":{"start_line":155,"start_character":18,"end_line":155,"end_character":63},"updated":"2018-08-02 20:24:07.000000000","message":"See above","commit_id":"6a1edd7f0fea9ff0bb83df8e1c523ea8a80e638d"},{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"25af35860daf688998a91de51bc644b2858666f3","unresolved":false,"context_lines":[{"line_number":161,"context_line":"            {{- end}}"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"          # readiness probe"},{"line_number":164,"context_line":"            {{ if .Values.pod.readiness.\u003ccontainer name\u003e.enabled }}"},{"line_number":165,"context_line":"               readinessProbe:"},{"line_number":166,"context_line":"                 tcpSocket:"},{"line_number":167,"context_line":"                   port: \u003cport\u003e # container port to probe"}],"source_content_type":"text/x-rst","patch_set":25,"id":"5f7c97a3_b2874912","line":164,"range":{"start_line":164,"start_character":18,"end_line":164,"end_character":64},"updated":"2018-08-02 20:24:07.000000000","message":"See above","commit_id":"6a1edd7f0fea9ff0bb83df8e1c523ea8a80e638d"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"ceef40f3a56c8c9f0bed207485f1bd081b55b335","unresolved":false,"context_lines":[{"line_number":184,"context_line":""},{"line_number":185,"context_line":"This specification proposes introducing two files per chart:"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"   * templates/bin/_readiness-probe.sh.tpl"},{"line_number":188,"context_line":"   * templates/bin/_liveness-probe.sh.tpl"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"Include them in ConfigMap so they are copied over to the pod:"},{"line_number":191,"context_line":""}],"source_content_type":"text/x-rst","patch_set":25,"id":"5f7c97a3_ad25a8af","line":188,"range":{"start_line":187,"start_character":0,"end_line":188,"end_character":41},"updated":"2018-08-02 20:38:13.000000000","message":"do we want to add these scripts or place them into existing start script as a function?","commit_id":"6a1edd7f0fea9ff0bb83df8e1c523ea8a80e638d"},{"author":{"_account_id":28620,"name":"Matthias Omisore","email":"momisore@broadtekniks.com","username":"momisore"},"change_message_id":"914cdda1828d056e4b304e999694316ad5e8afce","unresolved":false,"context_lines":[{"line_number":184,"context_line":""},{"line_number":185,"context_line":"This specification proposes introducing two files per chart:"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"   * templates/bin/_readiness-probe.sh.tpl"},{"line_number":188,"context_line":"   * templates/bin/_liveness-probe.sh.tpl"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"Include them in ConfigMap so they are copied over to the pod:"},{"line_number":191,"context_line":""}],"source_content_type":"text/x-rst","patch_set":25,"id":"3f79a3b5_7488c870","line":188,"range":{"start_line":187,"start_character":0,"end_line":188,"end_character":41},"in_reply_to":"5f7c97a3_ad25a8af","updated":"2018-08-10 20:48:13.000000000","message":"As we dont know how big the files could grow, keeping them separate would help with maintainability and easy access.","commit_id":"6a1edd7f0fea9ff0bb83df8e1c523ea8a80e638d"},{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"25af35860daf688998a91de51bc644b2858666f3","unresolved":false,"context_lines":[{"line_number":204,"context_line":"  .. code-block:: yaml"},{"line_number":205,"context_line":"     :caption: _readiness-probe.sh.tpl"},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"       function chart_name() {"},{"line_number":208,"context_line":"           \u003c probe logics \u003e"},{"line_number":209,"context_line":"       }"},{"line_number":210,"context_line":""}],"source_content_type":"text/x-rst","patch_set":25,"id":"5f7c97a3_f26ce16c","line":207,"range":{"start_line":207,"start_character":16,"end_line":207,"end_character":26},"updated":"2018-08-02 20:24:07.000000000","message":"should be container_name","commit_id":"6a1edd7f0fea9ff0bb83df8e1c523ea8a80e638d"},{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"25af35860daf688998a91de51bc644b2858666f3","unresolved":false,"context_lines":[{"line_number":266,"context_line":"Alternatives:"},{"line_number":267,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":268,"context_line":"An alternate method is to include all the configurations in values.yaml and then inject the values"},{"line_number":269,"context_line":"to the deployment file, but this introduces unnecessary complexities in the values.yaml especially"},{"line_number":270,"context_line":"when dealing with multi-container charts."},{"line_number":271,"context_line":""},{"line_number":272,"context_line":""},{"line_number":273,"context_line":"Security Impact"}],"source_content_type":"text/x-rst","patch_set":25,"id":"5f7c97a3_32efb9b3","line":270,"range":{"start_line":269,"start_character":24,"end_line":270,"end_character":41},"updated":"2018-08-02 20:24:07.000000000","message":"We currently do resources per container via values, and readiness/liveness probes could be handled the same via a helm-toolkit function that consumes those definitions the same way (it\u0027s all yaml, anyway). Handling them that way would make it simple to switch between probe types via values overrides instead of declaring them directly in the chart templates.","commit_id":"6a1edd7f0fea9ff0bb83df8e1c523ea8a80e638d"},{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"25af35860daf688998a91de51bc644b2858666f3","unresolved":false,"context_lines":[{"line_number":277,"context_line":""},{"line_number":278,"context_line":"Performance Impact"},{"line_number":279,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":280,"context_line":"Inefficient readines probes can result in unintentional consequences like cascading failures and"},{"line_number":281,"context_line":"total loss of service. To minimize performance impact, a proper analysis must be performed to"},{"line_number":282,"context_line":"determine what constitutes efficient configuration parameters for each container, including:"},{"line_number":283,"context_line":""}],"source_content_type":"text/x-rst","patch_set":25,"id":"5f7c97a3_12371d4f","line":280,"range":{"start_line":280,"start_character":12,"end_line":280,"end_character":20},"updated":"2018-08-02 20:24:07.000000000","message":"readiness","commit_id":"6a1edd7f0fea9ff0bb83df8e1c523ea8a80e638d"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"2f7991c36449fa10c680a32202f9c53150f6964b","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Blueprint: https://blueprints.launchpad.net/openstack-helm/+spec/liveness-readiness-probes"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"*Problem Description*"},{"line_number":16,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"The Kubernetes kubelet uses liveness and readiness probes to determine when to mark a container"}],"source_content_type":"text/x-rst","patch_set":27,"id":"3f79a3b5_f609d12b","line":15,"range":{"start_line":15,"start_character":0,"end_line":15,"end_character":1},"updated":"2018-08-09 13:58:15.000000000","message":"should be bolding these sections?","commit_id":"70fb1c70d5f9613c3ac664b850c8c19272d35376"},{"author":{"_account_id":28620,"name":"Matthias Omisore","email":"momisore@broadtekniks.com","username":"momisore"},"change_message_id":"914cdda1828d056e4b304e999694316ad5e8afce","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Blueprint: https://blueprints.launchpad.net/openstack-helm/+spec/liveness-readiness-probes"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"*Problem Description*"},{"line_number":16,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"The Kubernetes kubelet uses liveness and readiness probes to determine when to mark a container"}],"source_content_type":"text/x-rst","patch_set":27,"id":"3f79a3b5_dd260a16","line":15,"range":{"start_line":15,"start_character":0,"end_line":15,"end_character":1},"in_reply_to":"3f79a3b5_f609d12b","updated":"2018-08-10 20:48:13.000000000","message":"Done","commit_id":"70fb1c70d5f9613c3ac664b850c8c19272d35376"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"2f7991c36449fa10c680a32202f9c53150f6964b","unresolved":false,"context_lines":[{"line_number":34,"context_line":""},{"line_number":35,"context_line":"  Kubernetes currently allows any of the below probe types:"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    1. `tcpSocket Check`:  For Probing  a specific port on a container. It is ideal for checking"},{"line_number":38,"context_line":"        containers that allow socket connection on a specified port."},{"line_number":39,"context_line":"    2. `httpGet Check`:  For Probing a URL path on a container. It can be used to ensure that an API"},{"line_number":40,"context_line":"       endpoint is accessible before marking the container ready."}],"source_content_type":"text/x-rst","patch_set":27,"id":"3f79a3b5_160d6d36","line":37,"range":{"start_line":37,"start_character":7,"end_line":37,"end_character":8},"updated":"2018-08-09 13:58:15.000000000","message":"``","commit_id":"70fb1c70d5f9613c3ac664b850c8c19272d35376"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"2f7991c36449fa10c680a32202f9c53150f6964b","unresolved":false,"context_lines":[{"line_number":34,"context_line":""},{"line_number":35,"context_line":"  Kubernetes currently allows any of the below probe types:"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    1. `tcpSocket Check`:  For Probing  a specific port on a container. It is ideal for checking"},{"line_number":38,"context_line":"        containers that allow socket connection on a specified port."},{"line_number":39,"context_line":"    2. `httpGet Check`:  For Probing a URL path on a container. It can be used to ensure that an API"},{"line_number":40,"context_line":"       endpoint is accessible before marking the container ready."}],"source_content_type":"text/x-rst","patch_set":27,"id":"3f79a3b5_b613595c","line":37,"range":{"start_line":37,"start_character":31,"end_line":37,"end_character":32},"updated":"2018-08-09 13:58:15.000000000","message":"s/P/p/","commit_id":"70fb1c70d5f9613c3ac664b850c8c19272d35376"},{"author":{"_account_id":28620,"name":"Matthias Omisore","email":"momisore@broadtekniks.com","username":"momisore"},"change_message_id":"914cdda1828d056e4b304e999694316ad5e8afce","unresolved":false,"context_lines":[{"line_number":34,"context_line":""},{"line_number":35,"context_line":"  Kubernetes currently allows any of the below probe types:"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    1. `tcpSocket Check`:  For Probing  a specific port on a container. It is ideal for checking"},{"line_number":38,"context_line":"        containers that allow socket connection on a specified port."},{"line_number":39,"context_line":"    2. `httpGet Check`:  For Probing a URL path on a container. It can be used to ensure that an API"},{"line_number":40,"context_line":"       endpoint is accessible before marking the container ready."}],"source_content_type":"text/x-rst","patch_set":27,"id":"3f79a3b5_bd29cee6","line":37,"range":{"start_line":37,"start_character":31,"end_line":37,"end_character":32},"in_reply_to":"3f79a3b5_b613595c","updated":"2018-08-10 20:48:13.000000000","message":"Done","commit_id":"70fb1c70d5f9613c3ac664b850c8c19272d35376"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"2f7991c36449fa10c680a32202f9c53150f6964b","unresolved":false,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    1. `tcpSocket Check`:  For Probing  a specific port on a container. It is ideal for checking"},{"line_number":38,"context_line":"        containers that allow socket connection on a specified port."},{"line_number":39,"context_line":"    2. `httpGet Check`:  For Probing a URL path on a container. It can be used to ensure that an API"},{"line_number":40,"context_line":"       endpoint is accessible before marking the container ready."},{"line_number":41,"context_line":"    3. `Command Check`: This is more suited for creating checks that are executed on a container"},{"line_number":42,"context_line":"       such as explicitly checking the status of services running in a container. For example a"}],"source_content_type":"text/x-rst","patch_set":27,"id":"3f79a3b5_96189d75","line":39,"range":{"start_line":39,"start_character":7,"end_line":39,"end_character":30},"updated":"2018-08-09 13:58:15.000000000","message":"ditto","commit_id":"70fb1c70d5f9613c3ac664b850c8c19272d35376"},{"author":{"_account_id":28620,"name":"Matthias Omisore","email":"momisore@broadtekniks.com","username":"momisore"},"change_message_id":"914cdda1828d056e4b304e999694316ad5e8afce","unresolved":false,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    1. `tcpSocket Check`:  For Probing  a specific port on a container. It is ideal for checking"},{"line_number":38,"context_line":"        containers that allow socket connection on a specified port."},{"line_number":39,"context_line":"    2. `httpGet Check`:  For Probing a URL path on a container. It can be used to ensure that an API"},{"line_number":40,"context_line":"       endpoint is accessible before marking the container ready."},{"line_number":41,"context_line":"    3. `Command Check`: This is more suited for creating checks that are executed on a container"},{"line_number":42,"context_line":"       such as explicitly checking the status of services running in a container. For example a"}],"source_content_type":"text/x-rst","patch_set":27,"id":"3f79a3b5_7d46d6c2","line":39,"range":{"start_line":39,"start_character":7,"end_line":39,"end_character":30},"in_reply_to":"3f79a3b5_96189d75","updated":"2018-08-10 20:48:13.000000000","message":"Done","commit_id":"70fb1c70d5f9613c3ac664b850c8c19272d35376"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"2f7991c36449fa10c680a32202f9c53150f6964b","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        containers that allow socket connection on a specified port."},{"line_number":39,"context_line":"    2. `httpGet Check`:  For Probing a URL path on a container. It can be used to ensure that an API"},{"line_number":40,"context_line":"       endpoint is accessible before marking the container ready."},{"line_number":41,"context_line":"    3. `Command Check`: This is more suited for creating checks that are executed on a container"},{"line_number":42,"context_line":"       such as explicitly checking the status of services running in a container. For example a"},{"line_number":43,"context_line":"       command `/etc/init.d/mysql status` could be run as part of readiness check for a"},{"line_number":44,"context_line":"       maridb-server container."}],"source_content_type":"text/x-rst","patch_set":27,"id":"3f79a3b5_562c4598","line":41,"range":{"start_line":41,"start_character":7,"end_line":41,"end_character":8},"updated":"2018-08-09 13:58:15.000000000","message":"ditto","commit_id":"70fb1c70d5f9613c3ac664b850c8c19272d35376"},{"author":{"_account_id":28620,"name":"Matthias Omisore","email":"momisore@broadtekniks.com","username":"momisore"},"change_message_id":"914cdda1828d056e4b304e999694316ad5e8afce","unresolved":false,"context_lines":[{"line_number":38,"context_line":"        containers that allow socket connection on a specified port."},{"line_number":39,"context_line":"    2. `httpGet Check`:  For Probing a URL path on a container. It can be used to ensure that an API"},{"line_number":40,"context_line":"       endpoint is accessible before marking the container ready."},{"line_number":41,"context_line":"    3. `Command Check`: This is more suited for creating checks that are executed on a container"},{"line_number":42,"context_line":"       such as explicitly checking the status of services running in a container. For example a"},{"line_number":43,"context_line":"       command `/etc/init.d/mysql status` could be run as part of readiness check for a"},{"line_number":44,"context_line":"       maridb-server container."}],"source_content_type":"text/x-rst","patch_set":27,"id":"3f79a3b5_9d43b2af","line":41,"range":{"start_line":41,"start_character":7,"end_line":41,"end_character":8},"in_reply_to":"3f79a3b5_562c4598","updated":"2018-08-10 20:48:13.000000000","message":"Done","commit_id":"70fb1c70d5f9613c3ac664b850c8c19272d35376"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"2f7991c36449fa10c680a32202f9c53150f6964b","unresolved":false,"context_lines":[{"line_number":68,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"This specification proposes leveraging the values.yaml for supplying Probes configuration data to charts"},{"line_number":71,"context_line":"deployment manifest. A new top level object, named \u0027probe\u0027, is introduced in values.yaml. The object is"},{"line_number":72,"context_line":"used to hold probes configuration data per container. To provide a means of enabling or disabling a probe,"},{"line_number":73,"context_line":"two boolean objects are included in the configuration:"},{"line_number":74,"context_line":""}],"source_content_type":"text/x-rst","patch_set":27,"id":"3f79a3b5_db3ac032","line":71,"range":{"start_line":71,"start_character":21,"end_line":71,"end_character":58},"updated":"2018-08-09 13:58:15.000000000","message":"should we put this under the pods: object instead of creating a new top level object?","commit_id":"70fb1c70d5f9613c3ac664b850c8c19272d35376"},{"author":{"_account_id":28620,"name":"Matthias Omisore","email":"momisore@broadtekniks.com","username":"momisore"},"change_message_id":"914cdda1828d056e4b304e999694316ad5e8afce","unresolved":false,"context_lines":[{"line_number":68,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"This specification proposes leveraging the values.yaml for supplying Probes configuration data to charts"},{"line_number":71,"context_line":"deployment manifest. A new top level object, named \u0027probe\u0027, is introduced in values.yaml. The object is"},{"line_number":72,"context_line":"used to hold probes configuration data per container. To provide a means of enabling or disabling a probe,"},{"line_number":73,"context_line":"two boolean objects are included in the configuration:"},{"line_number":74,"context_line":""}],"source_content_type":"text/x-rst","patch_set":27,"id":"3f79a3b5_9d541223","line":71,"range":{"start_line":71,"start_character":21,"end_line":71,"end_character":58},"in_reply_to":"3f79a3b5_db3ac032","updated":"2018-08-10 20:48:13.000000000","message":"Done","commit_id":"70fb1c70d5f9613c3ac664b850c8c19272d35376"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"2f7991c36449fa10c680a32202f9c53150f6964b","unresolved":false,"context_lines":[{"line_number":122,"context_line":"         \u003ccontainer_name\u003e:"},{"line_number":123,"context_line":"           readiness: \u003cTrue | False\u003e"},{"line_number":124,"context_line":"           liveness: \u003cTrue | False\u003e"},{"line_number":125,"context_line":"           readinessProbe: |-"},{"line_number":126,"context_line":"             httpGet:"},{"line_number":127,"context_line":"               path: \u003chttp path\u003e"},{"line_number":128,"context_line":"               port: \u003cport\u003e"}],"source_content_type":"text/x-rst","patch_set":27,"id":"3f79a3b5_364e696f","line":125,"range":{"start_line":125,"start_character":27,"end_line":125,"end_character":29},"updated":"2018-08-09 13:58:15.000000000","message":"should not be needed","commit_id":"70fb1c70d5f9613c3ac664b850c8c19272d35376"},{"author":{"_account_id":28620,"name":"Matthias Omisore","email":"momisore@broadtekniks.com","username":"momisore"},"change_message_id":"914cdda1828d056e4b304e999694316ad5e8afce","unresolved":false,"context_lines":[{"line_number":122,"context_line":"         \u003ccontainer_name\u003e:"},{"line_number":123,"context_line":"           readiness: \u003cTrue | False\u003e"},{"line_number":124,"context_line":"           liveness: \u003cTrue | False\u003e"},{"line_number":125,"context_line":"           readinessProbe: |-"},{"line_number":126,"context_line":"             httpGet:"},{"line_number":127,"context_line":"               path: \u003chttp path\u003e"},{"line_number":128,"context_line":"               port: \u003cport\u003e"}],"source_content_type":"text/x-rst","patch_set":27,"id":"3f79a3b5_8b0fef35","line":125,"range":{"start_line":125,"start_character":27,"end_line":125,"end_character":29},"in_reply_to":"3f79a3b5_364e696f","updated":"2018-08-10 20:48:13.000000000","message":"it\u0027s used to ensure that the alignments and indentations of values being injected are maintained. Without it, the fields are not properly indented.","commit_id":"70fb1c70d5f9613c3ac664b850c8c19272d35376"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"f4ffd9ed15baf559fe12bdcd7a866c8bee3839e3","unresolved":false,"context_lines":[{"line_number":122,"context_line":"         \u003ccontainer_name\u003e:"},{"line_number":123,"context_line":"           readiness: \u003cTrue | False\u003e"},{"line_number":124,"context_line":"           liveness: \u003cTrue | False\u003e"},{"line_number":125,"context_line":"           readinessProbe: |-"},{"line_number":126,"context_line":"             httpGet:"},{"line_number":127,"context_line":"               path: \u003chttp path\u003e"},{"line_number":128,"context_line":"               port: \u003cport\u003e"}],"source_content_type":"text/x-rst","patch_set":27,"id":"3f79a3b5_11e0e9f9","line":125,"range":{"start_line":125,"start_character":27,"end_line":125,"end_character":29},"in_reply_to":"3f79a3b5_8b0fef35","updated":"2018-08-11 02:49:00.000000000","message":"See https://review.openstack.org/#/c/590046/ for example how to maintain the indent without the |-","commit_id":"70fb1c70d5f9613c3ac664b850c8c19272d35376"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"2f7991c36449fa10c680a32202f9c53150f6964b","unresolved":false,"context_lines":[{"line_number":131,"context_line":"             timeoutSeconds: \u003csecond\u003e"},{"line_number":132,"context_line":"             successThreshold: \u003cnumber\u003e"},{"line_number":133,"context_line":"             failureThreshold: \u003cnumber\u003e"},{"line_number":134,"context_line":"           livenessProbe: |-"},{"line_number":135,"context_line":"             httpGet:"},{"line_number":136,"context_line":"               path: \u003chttp path\u003e"},{"line_number":137,"context_line":"               port: \u003cport\u003e"}],"source_content_type":"text/x-rst","patch_set":27,"id":"3f79a3b5_b63cb9c8","line":134,"range":{"start_line":134,"start_character":26,"end_line":134,"end_character":28},"updated":"2018-08-09 13:58:15.000000000","message":"should not be needed","commit_id":"70fb1c70d5f9613c3ac664b850c8c19272d35376"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"f4ffd9ed15baf559fe12bdcd7a866c8bee3839e3","unresolved":false,"context_lines":[{"line_number":131,"context_line":"             timeoutSeconds: \u003csecond\u003e"},{"line_number":132,"context_line":"             successThreshold: \u003cnumber\u003e"},{"line_number":133,"context_line":"             failureThreshold: \u003cnumber\u003e"},{"line_number":134,"context_line":"           livenessProbe: |-"},{"line_number":135,"context_line":"             httpGet:"},{"line_number":136,"context_line":"               path: \u003chttp path\u003e"},{"line_number":137,"context_line":"               port: \u003cport\u003e"}],"source_content_type":"text/x-rst","patch_set":27,"id":"3f79a3b5_b1e815e2","line":134,"range":{"start_line":134,"start_character":26,"end_line":134,"end_character":28},"in_reply_to":"3f79a3b5_ab0c2b41","updated":"2018-08-11 02:49:00.000000000","message":"ditto","commit_id":"70fb1c70d5f9613c3ac664b850c8c19272d35376"},{"author":{"_account_id":28620,"name":"Matthias Omisore","email":"momisore@broadtekniks.com","username":"momisore"},"change_message_id":"914cdda1828d056e4b304e999694316ad5e8afce","unresolved":false,"context_lines":[{"line_number":131,"context_line":"             timeoutSeconds: \u003csecond\u003e"},{"line_number":132,"context_line":"             successThreshold: \u003cnumber\u003e"},{"line_number":133,"context_line":"             failureThreshold: \u003cnumber\u003e"},{"line_number":134,"context_line":"           livenessProbe: |-"},{"line_number":135,"context_line":"             httpGet:"},{"line_number":136,"context_line":"               path: \u003chttp path\u003e"},{"line_number":137,"context_line":"               port: \u003cport\u003e"}],"source_content_type":"text/x-rst","patch_set":27,"id":"3f79a3b5_ab0c2b41","line":134,"range":{"start_line":134,"start_character":26,"end_line":134,"end_character":28},"in_reply_to":"3f79a3b5_b63cb9c8","updated":"2018-08-10 20:48:13.000000000","message":"it\u0027s used to ensure that the alignments and indentations of values being injected are maintained. Without it, the fields are not properly indented.","commit_id":"70fb1c70d5f9613c3ac664b850c8c19272d35376"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"2f7991c36449fa10c680a32202f9c53150f6964b","unresolved":false,"context_lines":[{"line_number":155,"context_line":"         \u003ccontainer_name\u003e:"},{"line_number":156,"context_line":"           readiness: \u003cTrue | False\u003e"},{"line_number":157,"context_line":"           liveness: \u003cTrue | False\u003e"},{"line_number":158,"context_line":"           readinessProbe: |-"},{"line_number":159,"context_line":"            tcpSocket:"},{"line_number":160,"context_line":"               port: \u003cport\u003e"},{"line_number":161,"context_line":"             initialDelaySeconds: \u003csecond\u003e"}],"source_content_type":"text/x-rst","patch_set":27,"id":"3f79a3b5_7bfe0c38","line":158,"range":{"start_line":158,"start_character":27,"end_line":158,"end_character":29},"updated":"2018-08-09 13:58:15.000000000","message":"this should not be here","commit_id":"70fb1c70d5f9613c3ac664b850c8c19272d35376"},{"author":{"_account_id":28620,"name":"Matthias Omisore","email":"momisore@broadtekniks.com","username":"momisore"},"change_message_id":"914cdda1828d056e4b304e999694316ad5e8afce","unresolved":false,"context_lines":[{"line_number":155,"context_line":"         \u003ccontainer_name\u003e:"},{"line_number":156,"context_line":"           readiness: \u003cTrue | False\u003e"},{"line_number":157,"context_line":"           liveness: \u003cTrue | False\u003e"},{"line_number":158,"context_line":"           readinessProbe: |-"},{"line_number":159,"context_line":"            tcpSocket:"},{"line_number":160,"context_line":"               port: \u003cport\u003e"},{"line_number":161,"context_line":"             initialDelaySeconds: \u003csecond\u003e"}],"source_content_type":"text/x-rst","patch_set":27,"id":"3f79a3b5_4b055713","line":158,"range":{"start_line":158,"start_character":27,"end_line":158,"end_character":29},"in_reply_to":"3f79a3b5_7bfe0c38","updated":"2018-08-10 20:48:13.000000000","message":"it\u0027s used to ensure that the alignments and indentations of values being injected are maintained. Without it, the fields are not properly indented.","commit_id":"70fb1c70d5f9613c3ac664b850c8c19272d35376"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"2f7991c36449fa10c680a32202f9c53150f6964b","unresolved":false,"context_lines":[{"line_number":157,"context_line":"           liveness: \u003cTrue | False\u003e"},{"line_number":158,"context_line":"           readinessProbe: |-"},{"line_number":159,"context_line":"            tcpSocket:"},{"line_number":160,"context_line":"               port: \u003cport\u003e"},{"line_number":161,"context_line":"             initialDelaySeconds: \u003csecond\u003e"},{"line_number":162,"context_line":"             periodSeconds: \u003csecond\u003e"},{"line_number":163,"context_line":"             timeoutSeconds: \u003csecond\u003e"}],"source_content_type":"text/x-rst","patch_set":27,"id":"3f79a3b5_3bc89420","line":160,"range":{"start_line":160,"start_character":21,"end_line":160,"end_character":27},"updated":"2018-08-09 13:58:15.000000000","message":"Currently this port number is pulled via a helm-toolkit function, e.g. [0]. Do we want to retain that capability or should the user now have to repeat the port here - same holds for scheme? \n\n[0] https://github.com/openstack/openstack-helm/blob/fbfcb51c31e21331ceb20b6108b739c5e2ad48f5/keystone/templates/deployment-api.yaml#L70","commit_id":"70fb1c70d5f9613c3ac664b850c8c19272d35376"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"2f7991c36449fa10c680a32202f9c53150f6964b","unresolved":false,"context_lines":[{"line_number":163,"context_line":"             timeoutSeconds: \u003csecond\u003e"},{"line_number":164,"context_line":"             successThreshold: \u003cnumber\u003e"},{"line_number":165,"context_line":"             failureThreshold: \u003cnumber\u003e"},{"line_number":166,"context_line":"           livenessProbe: |-"},{"line_number":167,"context_line":"             tcpSocket:"},{"line_number":168,"context_line":"               port: \u003cport\u003e"},{"line_number":169,"context_line":"             initialDelaySeconds: \u003csecond\u003e"}],"source_content_type":"text/x-rst","patch_set":27,"id":"3f79a3b5_1ba35851","line":166,"range":{"start_line":166,"start_character":26,"end_line":166,"end_character":28},"updated":"2018-08-09 13:58:15.000000000","message":"ditto","commit_id":"70fb1c70d5f9613c3ac664b850c8c19272d35376"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"2f7991c36449fa10c680a32202f9c53150f6964b","unresolved":false,"context_lines":[{"line_number":165,"context_line":"             failureThreshold: \u003cnumber\u003e"},{"line_number":166,"context_line":"           livenessProbe: |-"},{"line_number":167,"context_line":"             tcpSocket:"},{"line_number":168,"context_line":"               port: \u003cport\u003e"},{"line_number":169,"context_line":"             initialDelaySeconds: \u003csecond\u003e"},{"line_number":170,"context_line":"             timeoutSeconds: \u003csecond\u003e"},{"line_number":171,"context_line":"             successThreshold: 1 # must be 1 for liveness probe"}],"source_content_type":"text/x-rst","patch_set":27,"id":"3f79a3b5_db8400b4","line":168,"range":{"start_line":168,"start_character":20,"end_line":168,"end_character":27},"updated":"2018-08-09 13:58:15.000000000","message":"ditto","commit_id":"70fb1c70d5f9613c3ac664b850c8c19272d35376"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"2f7991c36449fa10c680a32202f9c53150f6964b","unresolved":false,"context_lines":[{"line_number":199,"context_line":"        {{ tuple \"bin/_readiness-probe.sh.tpl\" . | include  \"helm-toolkit.utils.template\" | indent 4 }}"},{"line_number":200,"context_line":""},{"line_number":201,"context_line":""},{"line_number":202,"context_line":"Then create a function in `_readiness-probe.sh.tpl` and `_liveness-probe.sh.tpl` per container."},{"line_number":203,"context_line":"The Functions are named using the corresponding container name so they are easily identified:"},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"  .. code-block:: yaml"}],"source_content_type":"text/x-rst","patch_set":27,"id":"3f79a3b5_5b50f032","line":202,"range":{"start_line":202,"start_character":26,"end_line":202,"end_character":27},"updated":"2018-08-09 13:58:15.000000000","message":"For rst, these should be double ticks: e.g. ``some text`` for preformatted text. There are other spots in the doc that needs this update.","commit_id":"70fb1c70d5f9613c3ac664b850c8c19272d35376"},{"author":{"_account_id":28620,"name":"Matthias Omisore","email":"momisore@broadtekniks.com","username":"momisore"},"change_message_id":"914cdda1828d056e4b304e999694316ad5e8afce","unresolved":false,"context_lines":[{"line_number":199,"context_line":"        {{ tuple \"bin/_readiness-probe.sh.tpl\" . | include  \"helm-toolkit.utils.template\" | indent 4 }}"},{"line_number":200,"context_line":""},{"line_number":201,"context_line":""},{"line_number":202,"context_line":"Then create a function in `_readiness-probe.sh.tpl` and `_liveness-probe.sh.tpl` per container."},{"line_number":203,"context_line":"The Functions are named using the corresponding container name so they are easily identified:"},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"  .. code-block:: yaml"}],"source_content_type":"text/x-rst","patch_set":27,"id":"3f79a3b5_7d48165b","line":202,"range":{"start_line":202,"start_character":26,"end_line":202,"end_character":27},"in_reply_to":"3f79a3b5_5b50f032","updated":"2018-08-10 20:48:13.000000000","message":"Done","commit_id":"70fb1c70d5f9613c3ac664b850c8c19272d35376"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"2f7991c36449fa10c680a32202f9c53150f6964b","unresolved":false,"context_lines":[{"line_number":241,"context_line":"          \u003ccontainer_name\u003e:"},{"line_number":242,"context_line":"            readiness: \u003cTrue | False\u003e"},{"line_number":243,"context_line":"            liveness: \u003cTrue | False\u003e"},{"line_number":244,"context_line":"            readinessProbe: |-"},{"line_number":245,"context_line":"              exec:"},{"line_number":246,"context_line":"                command:"},{"line_number":247,"context_line":"                  - /tmp/liveness-probe.sh"}],"source_content_type":"text/x-rst","patch_set":27,"id":"3f79a3b5_bb602403","line":244,"range":{"start_line":244,"start_character":28,"end_line":244,"end_character":30},"updated":"2018-08-09 13:58:15.000000000","message":"ditto","commit_id":"70fb1c70d5f9613c3ac664b850c8c19272d35376"},{"author":{"_account_id":28620,"name":"Matthias Omisore","email":"momisore@broadtekniks.com","username":"momisore"},"change_message_id":"914cdda1828d056e4b304e999694316ad5e8afce","unresolved":false,"context_lines":[{"line_number":241,"context_line":"          \u003ccontainer_name\u003e:"},{"line_number":242,"context_line":"            readiness: \u003cTrue | False\u003e"},{"line_number":243,"context_line":"            liveness: \u003cTrue | False\u003e"},{"line_number":244,"context_line":"            readinessProbe: |-"},{"line_number":245,"context_line":"              exec:"},{"line_number":246,"context_line":"                command:"},{"line_number":247,"context_line":"                  - /tmp/liveness-probe.sh"}],"source_content_type":"text/x-rst","patch_set":27,"id":"3f79a3b5_fd32e65d","line":244,"range":{"start_line":244,"start_character":28,"end_line":244,"end_character":30},"in_reply_to":"3f79a3b5_bb602403","updated":"2018-08-10 20:48:13.000000000","message":"Done","commit_id":"70fb1c70d5f9613c3ac664b850c8c19272d35376"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"2f7991c36449fa10c680a32202f9c53150f6964b","unresolved":false,"context_lines":[{"line_number":249,"context_line":"              initialDelaySeconds: \u003csecond\u003e"},{"line_number":250,"context_line":"              periodSeconds: \u003csecond\u003e"},{"line_number":251,"context_line":"              timeoutSeconds: \u003csecond\u003e"},{"line_number":252,"context_line":"              successThreshold:  1 # must be 1 for liveness probe"},{"line_number":253,"context_line":"              failureThreshold: \u003cnumber\u003e"},{"line_number":254,"context_line":"            livenessProbe: |-"},{"line_number":255,"context_line":"              exec:"}],"source_content_type":"text/x-rst","patch_set":27,"id":"3f79a3b5_9b552820","line":252,"range":{"start_line":252,"start_character":35,"end_line":252,"end_character":65},"updated":"2018-08-09 13:58:15.000000000","message":"this is in the readinessProbe section","commit_id":"70fb1c70d5f9613c3ac664b850c8c19272d35376"},{"author":{"_account_id":28620,"name":"Matthias Omisore","email":"momisore@broadtekniks.com","username":"momisore"},"change_message_id":"914cdda1828d056e4b304e999694316ad5e8afce","unresolved":false,"context_lines":[{"line_number":249,"context_line":"              initialDelaySeconds: \u003csecond\u003e"},{"line_number":250,"context_line":"              periodSeconds: \u003csecond\u003e"},{"line_number":251,"context_line":"              timeoutSeconds: \u003csecond\u003e"},{"line_number":252,"context_line":"              successThreshold:  1 # must be 1 for liveness probe"},{"line_number":253,"context_line":"              failureThreshold: \u003cnumber\u003e"},{"line_number":254,"context_line":"            livenessProbe: |-"},{"line_number":255,"context_line":"              exec:"}],"source_content_type":"text/x-rst","patch_set":27,"id":"3f79a3b5_1d38023b","line":252,"range":{"start_line":252,"start_character":35,"end_line":252,"end_character":65},"in_reply_to":"3f79a3b5_9b552820","updated":"2018-08-10 20:48:13.000000000","message":"Done","commit_id":"70fb1c70d5f9613c3ac664b850c8c19272d35376"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"2f7991c36449fa10c680a32202f9c53150f6964b","unresolved":false,"context_lines":[{"line_number":251,"context_line":"              timeoutSeconds: \u003csecond\u003e"},{"line_number":252,"context_line":"              successThreshold:  1 # must be 1 for liveness probe"},{"line_number":253,"context_line":"              failureThreshold: \u003cnumber\u003e"},{"line_number":254,"context_line":"            livenessProbe: |-"},{"line_number":255,"context_line":"              exec:"},{"line_number":256,"context_line":"                command:"},{"line_number":257,"context_line":"                  - /tmp/liveness-probe.sh"}],"source_content_type":"text/x-rst","patch_set":27,"id":"3f79a3b5_7b5a8c4f","line":254,"range":{"start_line":254,"start_character":28,"end_line":254,"end_character":29},"updated":"2018-08-09 13:58:15.000000000","message":"ditto","commit_id":"70fb1c70d5f9613c3ac664b850c8c19272d35376"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"2f7991c36449fa10c680a32202f9c53150f6964b","unresolved":false,"context_lines":[{"line_number":277,"context_line":""},{"line_number":278,"context_line":"Performance Impact"},{"line_number":279,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":280,"context_line":"Inefficient readiness probes can result in unintentional consequences like cascading failures and"},{"line_number":281,"context_line":"total loss of service. To minimize performance impact, a proper analysis must be performed to"},{"line_number":282,"context_line":"determine what constitutes efficient configuration parameters for each container, including:"},{"line_number":283,"context_line":""}],"source_content_type":"text/x-rst","patch_set":27,"id":"3f79a3b5_5b1eb070","line":280,"range":{"start_line":280,"start_character":0,"end_line":280,"end_character":29},"updated":"2018-08-09 13:58:15.000000000","message":"Does this mean incorrect liveness probes?  Inefficient readiness probes shouldn\u0027t cause cascading failures?","commit_id":"70fb1c70d5f9613c3ac664b850c8c19272d35376"},{"author":{"_account_id":28620,"name":"Matthias Omisore","email":"momisore@broadtekniks.com","username":"momisore"},"change_message_id":"914cdda1828d056e4b304e999694316ad5e8afce","unresolved":false,"context_lines":[{"line_number":277,"context_line":""},{"line_number":278,"context_line":"Performance Impact"},{"line_number":279,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":280,"context_line":"Inefficient readiness probes can result in unintentional consequences like cascading failures and"},{"line_number":281,"context_line":"total loss of service. To minimize performance impact, a proper analysis must be performed to"},{"line_number":282,"context_line":"determine what constitutes efficient configuration parameters for each container, including:"},{"line_number":283,"context_line":""}],"source_content_type":"text/x-rst","patch_set":27,"id":"3f79a3b5_3d2dbefd","line":280,"range":{"start_line":280,"start_character":0,"end_line":280,"end_character":29},"in_reply_to":"3f79a3b5_5b1eb070","updated":"2018-08-10 20:48:13.000000000","message":"Done","commit_id":"70fb1c70d5f9613c3ac664b850c8c19272d35376"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"2f7991c36449fa10c680a32202f9c53150f6964b","unresolved":false,"context_lines":[{"line_number":283,"context_line":""},{"line_number":284,"context_line":"  1. The probe frequency should be properly spaced out by setting ‘periodSeconds’"},{"line_number":285,"context_line":"     to a reliable value that does not cause unnecessary network flood."},{"line_number":286,"context_line":"  2. `timeoutSeconds` should be set to a value sufficient for the probe to reliably"},{"line_number":287,"context_line":"     complete without timing out midway."},{"line_number":288,"context_line":""},{"line_number":289,"context_line":""}],"source_content_type":"text/x-rst","patch_set":27,"id":"3f79a3b5_db096031","line":286,"range":{"start_line":286,"start_character":3,"end_line":286,"end_character":6},"updated":"2018-08-09 13:58:15.000000000","message":"``","commit_id":"70fb1c70d5f9613c3ac664b850c8c19272d35376"},{"author":{"_account_id":28620,"name":"Matthias Omisore","email":"momisore@broadtekniks.com","username":"momisore"},"change_message_id":"914cdda1828d056e4b304e999694316ad5e8afce","unresolved":false,"context_lines":[{"line_number":283,"context_line":""},{"line_number":284,"context_line":"  1. The probe frequency should be properly spaced out by setting ‘periodSeconds’"},{"line_number":285,"context_line":"     to a reliable value that does not cause unnecessary network flood."},{"line_number":286,"context_line":"  2. `timeoutSeconds` should be set to a value sufficient for the probe to reliably"},{"line_number":287,"context_line":"     complete without timing out midway."},{"line_number":288,"context_line":""},{"line_number":289,"context_line":""}],"source_content_type":"text/x-rst","patch_set":27,"id":"3f79a3b5_7df1f694","line":286,"range":{"start_line":286,"start_character":3,"end_line":286,"end_character":6},"in_reply_to":"3f79a3b5_db096031","updated":"2018-08-10 20:48:13.000000000","message":"Done","commit_id":"70fb1c70d5f9613c3ac664b850c8c19272d35376"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"9fd351df14f8dc20c68be8e57b278f960ff1d95d","unresolved":false,"context_lines":[{"line_number":42,"context_line":"    3. ``Command Check``: This is more suited for creating checks that are executed on a container"},{"line_number":43,"context_line":"       such as explicitly checking the status of services running in a container. For example a"},{"line_number":44,"context_line":"       command ``/etc/init.d/mysql status`` could be run as part of readiness check for a"},{"line_number":45,"context_line":"       maridb-server container."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"The probes fields (periodSeconds, initialDelaySeconds, timeoutSeconds, successThreshold and"}],"source_content_type":"text/x-rst","patch_set":28,"id":"3f79a3b5_910b92d4","line":45,"range":{"start_line":45,"start_character":7,"end_line":45,"end_character":13},"updated":"2018-08-12 16:11:03.000000000","message":"mariadb","commit_id":"11797a4feab13989e804c8bfd98aa2350143b015"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"ea5dc76c1033491423fcd2d69f9e214d74d68739","unresolved":false,"context_lines":[{"line_number":139,"context_line":"             initialDelaySeconds: \u003csecond\u003e"},{"line_number":140,"context_line":"             timeoutSeconds: \u003csecond\u003e"},{"line_number":141,"context_line":"             successThreshold: 1 # must be 1 for liveness probe"},{"line_number":142,"context_line":"             failureThreshold: \u003cnumber\u003e"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":""},{"line_number":145,"context_line":""}],"source_content_type":"text/x-rst","patch_set":28,"id":"3f79a3b5_055419fd","line":142,"range":{"start_line":142,"start_character":30,"end_line":142,"end_character":39},"updated":"2018-08-13 07:40:39.000000000","message":"Instead of being generic with these parameters wrapped in brackets \u003c\u003e\u0027s, perhaps we should just use specific example and call that out.  These brackets seem to be causing the sphinx builder to error out.","commit_id":"11797a4feab13989e804c8bfd98aa2350143b015"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"9fd351df14f8dc20c68be8e57b278f960ff1d95d","unresolved":false,"context_lines":[{"line_number":251,"context_line":"             readinessProbe: |-"},{"line_number":252,"context_line":"               exec:"},{"line_number":253,"context_line":"                 command:"},{"line_number":254,"context_line":"                   - /tmp/liveness-probe.sh"},{"line_number":255,"context_line":"                   - \u003ccontainer_name\u003e"},{"line_number":256,"context_line":"               initialDelaySeconds: \u003csecond\u003e"},{"line_number":257,"context_line":"               periodSeconds: \u003csecond\u003e"}],"source_content_type":"text/x-rst","patch_set":28,"id":"3f79a3b5_11f782d5","line":254,"range":{"start_line":254,"start_character":26,"end_line":254,"end_character":34},"updated":"2018-08-12 16:11:03.000000000","message":"readiness","commit_id":"11797a4feab13989e804c8bfd98aa2350143b015"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"9fd351df14f8dc20c68be8e57b278f960ff1d95d","unresolved":false,"context_lines":[{"line_number":299,"context_line":"Assignee(s)"},{"line_number":300,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":301,"context_line":"Matthias Omisore (mo127n@att.com)"},{"line_number":302,"context_line":""},{"line_number":303,"context_line":"Work Items"},{"line_number":304,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":305,"context_line":""}],"source_content_type":"text/x-rst","patch_set":28,"id":"3f79a3b5_d1fcaab6","line":302,"updated":"2018-08-12 16:11:03.000000000","message":"Add additional assignees like Tin Lam who\u0027s already started?","commit_id":"11797a4feab13989e804c8bfd98aa2350143b015"}],"doc/source/specs/liveness-rediness-probes.rst":[{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"c254892a690d436d01a852f2838396114d3928da","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"5f7c97a3_ab8230fe","updated":"2018-07-13 15:32:09.000000000","message":"You will need to reference this file somewhere in the docs.  Sphinx will likely fail if you don\u0027t.","commit_id":"b8d470ea7ec4f735b8e06ee2b23d61934c1222f9"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"c254892a690d436d01a852f2838396114d3928da","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"https://blueprints.launchpad.net/openstack-helm/+spec/liveness-readiness-probes"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Problem Descriptiona"},{"line_number":16,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"The Kubernetes kubelet uses liveness and readiness probes to determine"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5f7c97a3_8ba654c0","line":15,"range":{"start_line":15,"start_character":19,"end_line":15,"end_character":20},"updated":"2018-07-13 15:32:09.000000000","message":"extra","commit_id":"b8d470ea7ec4f735b8e06ee2b23d61934c1222f9"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"c254892a690d436d01a852f2838396114d3928da","unresolved":false,"context_lines":[{"line_number":37,"context_line":"Performance Impact"},{"line_number":38,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":39,"context_line":"To minimize performance impact, the following should be taking into consideration:"},{"line_number":40,"context_line":"1.\tThe probe frequency should be properly spaced out by setting ‘periodSeconds’"},{"line_number":41,"context_line":"    to a reliable value that does cause unnecessary network flood."},{"line_number":42,"context_line":"2.\t‘timeoutSeconds’ should be set to a value sufficient for the probe to reliably"},{"line_number":43,"context_line":"    complete without timing out midway."}],"source_content_type":"text/x-rst","patch_set":1,"id":"5f7c97a3_6bc6586c","line":40,"range":{"start_line":40,"start_character":2,"end_line":40,"end_character":3},"updated":"2018-07-13 15:32:09.000000000","message":"tab","commit_id":"b8d470ea7ec4f735b8e06ee2b23d61934c1222f9"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"c254892a690d436d01a852f2838396114d3928da","unresolved":false,"context_lines":[{"line_number":38,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":39,"context_line":"To minimize performance impact, the following should be taking into consideration:"},{"line_number":40,"context_line":"1.\tThe probe frequency should be properly spaced out by setting ‘periodSeconds’"},{"line_number":41,"context_line":"    to a reliable value that does cause unnecessary network flood."},{"line_number":42,"context_line":"2.\t‘timeoutSeconds’ should be set to a value sufficient for the probe to reliably"},{"line_number":43,"context_line":"    complete without timing out midway."},{"line_number":44,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5f7c97a3_4bcb5c72","line":41,"range":{"start_line":41,"start_character":7,"end_line":41,"end_character":66},"updated":"2018-07-13 15:32:09.000000000","message":"We should state these values be customizable via value override.","commit_id":"b8d470ea7ec4f735b8e06ee2b23d61934c1222f9"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"c254892a690d436d01a852f2838396114d3928da","unresolved":false,"context_lines":[{"line_number":39,"context_line":"To minimize performance impact, the following should be taking into consideration:"},{"line_number":40,"context_line":"1.\tThe probe frequency should be properly spaced out by setting ‘periodSeconds’"},{"line_number":41,"context_line":"    to a reliable value that does cause unnecessary network flood."},{"line_number":42,"context_line":"2.\t‘timeoutSeconds’ should be set to a value sufficient for the probe to reliably"},{"line_number":43,"context_line":"    complete without timing out midway."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5f7c97a3_2bc0604a","line":42,"range":{"start_line":42,"start_character":3,"end_line":42,"end_character":4},"updated":"2018-07-13 15:32:09.000000000","message":"`` we should use backticks","commit_id":"b8d470ea7ec4f735b8e06ee2b23d61934c1222f9"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"c254892a690d436d01a852f2838396114d3928da","unresolved":false,"context_lines":[{"line_number":39,"context_line":"To minimize performance impact, the following should be taking into consideration:"},{"line_number":40,"context_line":"1.\tThe probe frequency should be properly spaced out by setting ‘periodSeconds’"},{"line_number":41,"context_line":"    to a reliable value that does cause unnecessary network flood."},{"line_number":42,"context_line":"2.\t‘timeoutSeconds’ should be set to a value sufficient for the probe to reliably"},{"line_number":43,"context_line":"    complete without timing out midway."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5f7c97a3_cb9c4c72","line":42,"range":{"start_line":42,"start_character":2,"end_line":42,"end_character":3},"updated":"2018-07-13 15:32:09.000000000","message":"tab","commit_id":"b8d470ea7ec4f735b8e06ee2b23d61934c1222f9"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"d00331a784bae0567fba4bbac596dc4bfeb70579","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"5f7c97a3_948d142b","updated":"2018-07-13 18:57:13.000000000","message":"readiness-probes","commit_id":"45cf93c904d5412692f6a5885b09dfa0b6cdb58d"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"d00331a784bae0567fba4bbac596dc4bfeb70579","unresolved":false,"context_lines":[{"line_number":61,"context_line":".. code-block:: yaml"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"   pod:"},{"line_number":64,"context_line":"    liveness:"},{"line_number":65,"context_line":"      initial_delay_seconds: 20"},{"line_number":66,"context_line":"      period_seconds: 15"},{"line_number":67,"context_line":"      time_seconds: 10"}],"source_content_type":"text/x-rst","patch_set":6,"id":"5f7c97a3_74b398ed","line":64,"range":{"start_line":64,"start_character":0,"end_line":64,"end_character":13},"updated":"2018-07-13 18:57:13.000000000","message":"we should have the ability to toggle (en/disable) this, perhaps a subkey of\n\n   enabled: True|False","commit_id":"45cf93c904d5412692f6a5885b09dfa0b6cdb58d"},{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"d00331a784bae0567fba4bbac596dc4bfeb70579","unresolved":false,"context_lines":[{"line_number":62,"context_line":""},{"line_number":63,"context_line":"   pod:"},{"line_number":64,"context_line":"    liveness:"},{"line_number":65,"context_line":"      initial_delay_seconds: 20"},{"line_number":66,"context_line":"      period_seconds: 15"},{"line_number":67,"context_line":"      time_seconds: 10"},{"line_number":68,"context_line":"      timeout_seconds: 10"},{"line_number":69,"context_line":"      success_threshold: 1"},{"line_number":70,"context_line":"      failure_threshold: 3"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    readiness:"},{"line_number":73,"context_line":"      initial_delay_seconds: 20"}],"source_content_type":"text/x-rst","patch_set":6,"id":"5f7c97a3_d46dcc67","line":70,"range":{"start_line":65,"start_character":0,"end_line":70,"end_character":26},"updated":"2018-07-13 18:57:13.000000000","message":"do we want all the containers in the chart have the same setting?","commit_id":"45cf93c904d5412692f6a5885b09dfa0b6cdb58d"},{"author":{"_account_id":28620,"name":"Matthias Omisore","email":"momisore@broadtekniks.com","username":"momisore"},"change_message_id":"73ef3bd9592c3cba3b7264a94e8708d74b67870d","unresolved":false,"context_lines":[{"line_number":62,"context_line":""},{"line_number":63,"context_line":"   pod:"},{"line_number":64,"context_line":"    liveness:"},{"line_number":65,"context_line":"      initial_delay_seconds: 20"},{"line_number":66,"context_line":"      period_seconds: 15"},{"line_number":67,"context_line":"      time_seconds: 10"},{"line_number":68,"context_line":"      timeout_seconds: 10"},{"line_number":69,"context_line":"      success_threshold: 1"},{"line_number":70,"context_line":"      failure_threshold: 3"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    readiness:"},{"line_number":73,"context_line":"      initial_delay_seconds: 20"}],"source_content_type":"text/x-rst","patch_set":6,"id":"5f7c97a3_3a97473c","line":70,"range":{"start_line":65,"start_character":0,"end_line":70,"end_character":26},"in_reply_to":"5f7c97a3_d46dcc67","updated":"2018-07-25 20:58:33.000000000","message":"this is just an example.","commit_id":"45cf93c904d5412692f6a5885b09dfa0b6cdb58d"},{"author":{"_account_id":28620,"name":"Matthias Omisore","email":"momisore@broadtekniks.com","username":"momisore"},"change_message_id":"73ef3bd9592c3cba3b7264a94e8708d74b67870d","unresolved":false,"context_lines":[{"line_number":62,"context_line":""},{"line_number":63,"context_line":"   pod:"},{"line_number":64,"context_line":"    liveness:"},{"line_number":65,"context_line":"      initial_delay_seconds: 20"},{"line_number":66,"context_line":"      period_seconds: 15"},{"line_number":67,"context_line":"      time_seconds: 10"},{"line_number":68,"context_line":"      timeout_seconds: 10"},{"line_number":69,"context_line":"      success_threshold: 1"},{"line_number":70,"context_line":"      failure_threshold: 3"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    readiness:"},{"line_number":73,"context_line":"      initial_delay_seconds: 20"}],"source_content_type":"text/x-rst","patch_set":6,"id":"5f7c97a3_9aa77ba9","line":70,"range":{"start_line":65,"start_character":0,"end_line":70,"end_character":26},"in_reply_to":"5f7c97a3_d46dcc67","updated":"2018-07-25 20:58:33.000000000","message":"this is just an example.","commit_id":"45cf93c904d5412692f6a5885b09dfa0b6cdb58d"},{"author":{"_account_id":22604,"name":"Samuel Pilla","email":"sp516w@att.com","username":"samuel.pilla"},"change_message_id":"897e20dcafc63dbd5fc235a83b1cb2000dc59524","unresolved":false,"context_lines":[{"line_number":58,"context_line":""},{"line_number":59,"context_line":"The probes logics are then configured in the template files using below or similar format:"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"**  _\u003c chart name \u003e-readiness.tpl"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":".. code-block:: yaml"},{"line_number":64,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"5f7c97a3_20dbd1ea","line":61,"range":{"start_line":61,"start_character":0,"end_line":61,"end_character":33},"updated":"2018-07-24 17:40:19.000000000","message":"I think \u0027**_\u003c chart name \u003e-readiness.tpl**\u0027 might be what you are going for","commit_id":"4edb23fbd0c34b577eaca9ea3dabe8f2bc65bae6"},{"author":{"_account_id":22604,"name":"Samuel Pilla","email":"sp516w@att.com","username":"samuel.pilla"},"change_message_id":"897e20dcafc63dbd5fc235a83b1cb2000dc59524","unresolved":false,"context_lines":[{"line_number":74,"context_line":"    {{- end}}"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"**  _\u003c chart name \u003e-liveness.tpl"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":".. code-block:: yaml"},{"line_number":80,"context_line":"    {{ - define \"\u003cchart name\u003e.liveness\" }}"}],"source_content_type":"text/x-rst","patch_set":10,"id":"5f7c97a3_c0e9bd82","line":77,"range":{"start_line":77,"start_character":0,"end_line":77,"end_character":32},"updated":"2018-07-24 17:40:19.000000000","message":"same as L61","commit_id":"4edb23fbd0c34b577eaca9ea3dabe8f2bc65bae6"},{"author":{"_account_id":22604,"name":"Samuel Pilla","email":"sp516w@att.com","username":"samuel.pilla"},"change_message_id":"897e20dcafc63dbd5fc235a83b1cb2000dc59524","unresolved":false,"context_lines":[{"line_number":92,"context_line":"Two new boolean fields are introduced to values.yaml; liveness and readiness. These are used to enable or disable"},{"line_number":93,"context_line":"the probes:"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"** values.yaml"},{"line_number":96,"context_line":".. code-block:: yaml"},{"line_number":97,"context_line":"     pod:"},{"line_number":98,"context_line":"       liveness:"}],"source_content_type":"text/x-rst","patch_set":10,"id":"5f7c97a3_40fdad3a","line":95,"range":{"start_line":95,"start_character":0,"end_line":95,"end_character":14},"updated":"2018-07-24 17:40:19.000000000","message":"same as L61","commit_id":"4edb23fbd0c34b577eaca9ea3dabe8f2bc65bae6"},{"author":{"_account_id":22604,"name":"Samuel Pilla","email":"sp516w@att.com","username":"samuel.pilla"},"change_message_id":"897e20dcafc63dbd5fc235a83b1cb2000dc59524","unresolved":false,"context_lines":[{"line_number":93,"context_line":"the probes:"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"** values.yaml"},{"line_number":96,"context_line":".. code-block:: yaml"},{"line_number":97,"context_line":"     pod:"},{"line_number":98,"context_line":"       liveness:"},{"line_number":99,"context_line":"         enabled: \u003c True | False \u003e # enable or disable the probe"}],"source_content_type":"text/x-rst","patch_set":10,"id":"5f7c97a3_c08e9dd6","line":96,"range":{"start_line":96,"start_character":0,"end_line":96,"end_character":20},"updated":"2018-07-24 17:40:19.000000000","message":"needs to be newline above and below this line","commit_id":"4edb23fbd0c34b577eaca9ea3dabe8f2bc65bae6"},{"author":{"_account_id":22604,"name":"Samuel Pilla","email":"sp516w@att.com","username":"samuel.pilla"},"change_message_id":"897e20dcafc63dbd5fc235a83b1cb2000dc59524","unresolved":false,"context_lines":[{"line_number":104,"context_line":""},{"line_number":105,"context_line":"The templates are then injected into the charts deployment:"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"** deployment.yaml"},{"line_number":108,"context_line":".. code-block:: yaml"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"     spec:"}],"source_content_type":"text/x-rst","patch_set":10,"id":"5f7c97a3_e09399fe","line":107,"range":{"start_line":107,"start_character":0,"end_line":107,"end_character":18},"updated":"2018-07-24 17:40:19.000000000","message":"same as L61","commit_id":"4edb23fbd0c34b577eaca9ea3dabe8f2bc65bae6"},{"author":{"_account_id":22604,"name":"Samuel Pilla","email":"sp516w@att.com","username":"samuel.pilla"},"change_message_id":"897e20dcafc63dbd5fc235a83b1cb2000dc59524","unresolved":false,"context_lines":[{"line_number":105,"context_line":"The templates are then injected into the charts deployment:"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"** deployment.yaml"},{"line_number":108,"context_line":".. code-block:: yaml"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"     spec:"},{"line_number":111,"context_line":"       containers:"}],"source_content_type":"text/x-rst","patch_set":10,"id":"5f7c97a3_40828da8","line":108,"range":{"start_line":108,"start_character":0,"end_line":108,"end_character":20},"updated":"2018-07-24 17:40:19.000000000","message":"same as L96","commit_id":"4edb23fbd0c34b577eaca9ea3dabe8f2bc65bae6"},{"author":{"_account_id":22604,"name":"Samuel Pilla","email":"sp516w@att.com","username":"samuel.pilla"},"change_message_id":"897e20dcafc63dbd5fc235a83b1cb2000dc59524","unresolved":false,"context_lines":[{"line_number":111,"context_line":"       containers:"},{"line_number":112,"context_line":"       # liveness probe"},{"line_number":113,"context_line":"         {{ if (.Values.pod.liveness.enabled) }} # check if probe is enabled"},{"line_number":114,"context_line":"           {{- template \"\u003cchart name\u003e.liveness\" . }} # inject the template"},{"line_number":115,"context_line":"         {{- end}}"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"       # readiness probe"}],"source_content_type":"text/x-rst","patch_set":10,"id":"5f7c97a3_bbf87418","line":114,"range":{"start_line":114,"start_character":11,"end_line":114,"end_character":52},"updated":"2018-07-24 17:40:19.000000000","message":"- template: \"\u003cchart name\u003e.liveness\" .","commit_id":"4edb23fbd0c34b577eaca9ea3dabe8f2bc65bae6"},{"author":{"_account_id":22604,"name":"Samuel Pilla","email":"sp516w@att.com","username":"samuel.pilla"},"change_message_id":"897e20dcafc63dbd5fc235a83b1cb2000dc59524","unresolved":false,"context_lines":[{"line_number":116,"context_line":""},{"line_number":117,"context_line":"       # readiness probe"},{"line_number":118,"context_line":"         {{ if (.Values.pod.readiness.enabled) }}"},{"line_number":119,"context_line":"           {{- template \"\u003cchart name\u003e.readiness\" . }}"},{"line_number":120,"context_line":"         {{- end}}"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"5f7c97a3_3b0c6439","line":119,"range":{"start_line":119,"start_character":11,"end_line":119,"end_character":53},"updated":"2018-07-24 17:40:19.000000000","message":"- template: \"\u003cchart name\u003e.readiness\" .","commit_id":"4edb23fbd0c34b577eaca9ea3dabe8f2bc65bae6"},{"author":{"_account_id":22604,"name":"Samuel Pilla","email":"sp516w@att.com","username":"samuel.pilla"},"change_message_id":"897e20dcafc63dbd5fc235a83b1cb2000dc59524","unresolved":false,"context_lines":[{"line_number":134,"context_line":""},{"line_number":135,"context_line":"Performance Impact"},{"line_number":136,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":137,"context_line":"To minimize performance impact, the following should be taken into consideration:"},{"line_number":138,"context_line":"1. The probe frequency should be properly spaced out by setting ‘periodSeconds’"},{"line_number":139,"context_line":"   to a reliable value that does not cause unnecessary network flood."},{"line_number":140,"context_line":"2. `timeoutSeconds` should be set to a value sufficient for the probe to reliably"}],"source_content_type":"text/x-rst","patch_set":10,"id":"5f7c97a3_9b3fb885","line":137,"range":{"start_line":137,"start_character":0,"end_line":137,"end_character":81},"updated":"2018-07-24 17:40:19.000000000","message":"newline between this and the number list","commit_id":"4edb23fbd0c34b577eaca9ea3dabe8f2bc65bae6"},{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"927a30a52803d821c02b96282e61d7628512efc8","unresolved":false,"context_lines":[{"line_number":101,"context_line":"the probes:"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":".. code-block:: yaml"},{"line_number":104,"context_line":"   caption: values.yaml"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"     pod:"},{"line_number":107,"context_line":"       liveness:"}],"source_content_type":"text/x-rst","patch_set":11,"id":"5f7c97a3_81717048","line":104,"range":{"start_line":104,"start_character":3,"end_line":104,"end_character":10},"updated":"2018-07-24 15:25:40.000000000","message":"Need a \u0027:\u0027 before `caption`","commit_id":"95fcdfadff166cfea1cf6976b2060b593ef06f9b"},{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"927a30a52803d821c02b96282e61d7628512efc8","unresolved":false,"context_lines":[{"line_number":113,"context_line":".The templates are then injected into the charts deployment:"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":".. code-block:: yaml"},{"line_number":116,"context_line":"   caption: deployment.yaml"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"     spec:"},{"line_number":119,"context_line":"       containers:"}],"source_content_type":"text/x-rst","patch_set":11,"id":"5f7c97a3_4189181c","line":116,"range":{"start_line":116,"start_character":3,"end_line":116,"end_character":10},"updated":"2018-07-24 15:25:40.000000000","message":"see above","commit_id":"95fcdfadff166cfea1cf6976b2060b593ef06f9b"},{"author":{"_account_id":22604,"name":"Samuel Pilla","email":"sp516w@att.com","username":"samuel.pilla"},"change_message_id":"897e20dcafc63dbd5fc235a83b1cb2000dc59524","unresolved":false,"context_lines":[{"line_number":143,"context_line":"Performance Impact"},{"line_number":144,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":145,"context_line":"To minimize performance impact, the following should be taken into consideration:"},{"line_number":146,"context_line":"1. The probe frequency should be properly spaced out by setting ‘periodSeconds’"},{"line_number":147,"context_line":"   to a reliable value that does not cause unnecessary network flood."},{"line_number":148,"context_line":"2. `timeoutSeconds` should be set to a value sufficient for the probe to reliably"},{"line_number":149,"context_line":"    complete without timing out midway."}],"source_content_type":"text/x-rst","patch_set":12,"id":"5f7c97a3_93a2253f","line":146,"range":{"start_line":146,"start_character":0,"end_line":146,"end_character":79},"updated":"2018-07-24 17:40:19.000000000","message":"add a newline above this","commit_id":"3718e36546b611c5508f187c718b8eb7c4c55400"},{"author":{"_account_id":8898,"name":"Chris Wedgwood","email":"cw@f00f.org","username":"anticw"},"change_message_id":"0b0d6d76d52b0a2beec6cf9690eef96d67639a64","unresolved":false,"context_lines":[{"line_number":15,"context_line":"Problem Description"},{"line_number":16,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"The Kubernetes kubelet uses liveness and readiness probes to determine when to mark a container ‘ready’, or restart"},{"line_number":19,"context_line":"a failed or deadlock container."},{"line_number":20,"context_line":"These provide reliable mechanisms for ensuring that containers are fully available and responsive before attempting to"},{"line_number":21,"context_line":"route traffic to them. OpenStack helm currently has no coherent way of implementing these probes across all charts."}],"source_content_type":"text/x-rst","patch_set":13,"id":"5f7c97a3_b717ed53","line":18,"range":{"start_line":18,"start_character":95,"end_line":18,"end_character":103},"updated":"2018-07-25 19:53:47.000000000","message":"wrap lines if possible (same as below)","commit_id":"6212a3f8b4e906dbfff9c10c5d06739c625eb8a1"},{"author":{"_account_id":28620,"name":"Matthias Omisore","email":"momisore@broadtekniks.com","username":"momisore"},"change_message_id":"73ef3bd9592c3cba3b7264a94e8708d74b67870d","unresolved":false,"context_lines":[{"line_number":15,"context_line":"Problem Description"},{"line_number":16,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"The Kubernetes kubelet uses liveness and readiness probes to determine when to mark a container ‘ready’, or restart"},{"line_number":19,"context_line":"a failed or deadlock container."},{"line_number":20,"context_line":"These provide reliable mechanisms for ensuring that containers are fully available and responsive before attempting to"},{"line_number":21,"context_line":"route traffic to them. OpenStack helm currently has no coherent way of implementing these probes across all charts."}],"source_content_type":"text/x-rst","patch_set":13,"id":"5f7c97a3_cdd456ed","line":18,"range":{"start_line":18,"start_character":95,"end_line":18,"end_character":103},"in_reply_to":"5f7c97a3_b717ed53","updated":"2018-07-25 20:58:33.000000000","message":"sure","commit_id":"6212a3f8b4e906dbfff9c10c5d06739c625eb8a1"},{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"6f4e68a2e28ae6d3fd5e31a1c0d5b70f19549fab","unresolved":false,"context_lines":[{"line_number":16,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"The Kubernetes kubelet uses liveness and readiness probes to determine when to mark a container ‘ready’, or restart"},{"line_number":19,"context_line":"a failed or deadlock container."},{"line_number":20,"context_line":"These provide reliable mechanisms for ensuring that containers are fully available and responsive before attempting to"},{"line_number":21,"context_line":"route traffic to them. OpenStack helm currently has no coherent way of implementing these probes across all charts."},{"line_number":22,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"5f7c97a3_776ab5ec","line":19,"range":{"start_line":19,"start_character":12,"end_line":19,"end_character":20},"updated":"2018-07-25 20:12:09.000000000","message":"deadlocked","commit_id":"6212a3f8b4e906dbfff9c10c5d06739c625eb8a1"},{"author":{"_account_id":28620,"name":"Matthias Omisore","email":"momisore@broadtekniks.com","username":"momisore"},"change_message_id":"73ef3bd9592c3cba3b7264a94e8708d74b67870d","unresolved":false,"context_lines":[{"line_number":16,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"The Kubernetes kubelet uses liveness and readiness probes to determine when to mark a container ‘ready’, or restart"},{"line_number":19,"context_line":"a failed or deadlock container."},{"line_number":20,"context_line":"These provide reliable mechanisms for ensuring that containers are fully available and responsive before attempting to"},{"line_number":21,"context_line":"route traffic to them. OpenStack helm currently has no coherent way of implementing these probes across all charts."},{"line_number":22,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"5f7c97a3_edcfd251","line":19,"range":{"start_line":19,"start_character":12,"end_line":19,"end_character":20},"in_reply_to":"5f7c97a3_776ab5ec","updated":"2018-07-25 20:58:33.000000000","message":"sure","commit_id":"6212a3f8b4e906dbfff9c10c5d06739c625eb8a1"},{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"6f4e68a2e28ae6d3fd5e31a1c0d5b70f19549fab","unresolved":false,"context_lines":[{"line_number":18,"context_line":"The Kubernetes kubelet uses liveness and readiness probes to determine when to mark a container ‘ready’, or restart"},{"line_number":19,"context_line":"a failed or deadlock container."},{"line_number":20,"context_line":"These provide reliable mechanisms for ensuring that containers are fully available and responsive before attempting to"},{"line_number":21,"context_line":"route traffic to them. OpenStack helm currently has no coherent way of implementing these probes across all charts."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Proposed Change"}],"source_content_type":"text/x-rst","patch_set":13,"id":"5f7c97a3_9746717e","line":21,"range":{"start_line":21,"start_character":23,"end_line":21,"end_character":37},"updated":"2018-07-25 20:12:09.000000000","message":"OpenStack-Helm","commit_id":"6212a3f8b4e906dbfff9c10c5d06739c625eb8a1"},{"author":{"_account_id":28620,"name":"Matthias Omisore","email":"momisore@broadtekniks.com","username":"momisore"},"change_message_id":"73ef3bd9592c3cba3b7264a94e8708d74b67870d","unresolved":false,"context_lines":[{"line_number":18,"context_line":"The Kubernetes kubelet uses liveness and readiness probes to determine when to mark a container ‘ready’, or restart"},{"line_number":19,"context_line":"a failed or deadlock container."},{"line_number":20,"context_line":"These provide reliable mechanisms for ensuring that containers are fully available and responsive before attempting to"},{"line_number":21,"context_line":"route traffic to them. OpenStack helm currently has no coherent way of implementing these probes across all charts."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Proposed Change"}],"source_content_type":"text/x-rst","patch_set":13,"id":"5f7c97a3_4dfa8677","line":21,"range":{"start_line":21,"start_character":23,"end_line":21,"end_character":37},"in_reply_to":"5f7c97a3_9746717e","updated":"2018-07-25 20:58:33.000000000","message":"ok","commit_id":"6212a3f8b4e906dbfff9c10c5d06739c625eb8a1"},{"author":{"_account_id":22604,"name":"Samuel Pilla","email":"sp516w@att.com","username":"samuel.pilla"},"change_message_id":"cc1bf31f8f2cd78c3d962fc9ffafedd30827a0ec","unresolved":false,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":"This specification proposes a consistent way of determining the kind of probe (tcpSocket, httpGet or command) to"},{"line_number":28,"context_line":"implement based on the service/container being probed, whether it’s a local Service, API or Port."},{"line_number":29,"context_line":"The probes fields (periodSeconds, InitialDelaySeconds, timeoutSeconds, successThreshold and failureThreshold) should"},{"line_number":30,"context_line":"also be configured taking into consideration container\u0027s boot-up time and general availability."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Kubernettes currently allow any of below probe types to be implemented on containers:"}],"source_content_type":"text/x-rst","patch_set":13,"id":"5f7c97a3_773e358b","line":29,"range":{"start_line":29,"start_character":34,"end_line":29,"end_character":53},"updated":"2018-07-26 18:07:40.000000000","message":"should probably be \u0027initialDelaySeconds\u0027 for formatting consistency","commit_id":"6212a3f8b4e906dbfff9c10c5d06739c625eb8a1"},{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"6f4e68a2e28ae6d3fd5e31a1c0d5b70f19549fab","unresolved":false,"context_lines":[{"line_number":27,"context_line":"This specification proposes a consistent way of determining the kind of probe (tcpSocket, httpGet or command) to"},{"line_number":28,"context_line":"implement based on the service/container being probed, whether it’s a local Service, API or Port."},{"line_number":29,"context_line":"The probes fields (periodSeconds, InitialDelaySeconds, timeoutSeconds, successThreshold and failureThreshold) should"},{"line_number":30,"context_line":"also be configured taking into consideration container\u0027s boot-up time and general availability."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Kubernettes currently allow any of below probe types to be implemented on containers:"},{"line_number":33,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"5f7c97a3_773875ec","line":30,"range":{"start_line":30,"start_character":45,"end_line":30,"end_character":56},"updated":"2018-07-25 20:12:09.000000000","message":"the containers","commit_id":"6212a3f8b4e906dbfff9c10c5d06739c625eb8a1"},{"author":{"_account_id":28620,"name":"Matthias Omisore","email":"momisore@broadtekniks.com","username":"momisore"},"change_message_id":"73ef3bd9592c3cba3b7264a94e8708d74b67870d","unresolved":false,"context_lines":[{"line_number":27,"context_line":"This specification proposes a consistent way of determining the kind of probe (tcpSocket, httpGet or command) to"},{"line_number":28,"context_line":"implement based on the service/container being probed, whether it’s a local Service, API or Port."},{"line_number":29,"context_line":"The probes fields (periodSeconds, InitialDelaySeconds, timeoutSeconds, successThreshold and failureThreshold) should"},{"line_number":30,"context_line":"also be configured taking into consideration container\u0027s boot-up time and general availability."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Kubernettes currently allow any of below probe types to be implemented on containers:"},{"line_number":33,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"5f7c97a3_0df48e87","line":30,"range":{"start_line":30,"start_character":45,"end_line":30,"end_character":56},"in_reply_to":"5f7c97a3_773875ec","updated":"2018-07-25 20:58:33.000000000","message":"ok","commit_id":"6212a3f8b4e906dbfff9c10c5d06739c625eb8a1"},{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"6f4e68a2e28ae6d3fd5e31a1c0d5b70f19549fab","unresolved":false,"context_lines":[{"line_number":29,"context_line":"The probes fields (periodSeconds, InitialDelaySeconds, timeoutSeconds, successThreshold and failureThreshold) should"},{"line_number":30,"context_line":"also be configured taking into consideration container\u0027s boot-up time and general availability."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Kubernettes currently allow any of below probe types to be implemented on containers:"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"1. Command: Run a command on container"},{"line_number":35,"context_line":"2. tcpSocket:  Probe a port on a container."}],"source_content_type":"text/x-rst","patch_set":13,"id":"5f7c97a3_570e993d","line":32,"range":{"start_line":32,"start_character":0,"end_line":32,"end_character":11},"updated":"2018-07-25 20:12:09.000000000","message":"Kubernetes","commit_id":"6212a3f8b4e906dbfff9c10c5d06739c625eb8a1"},{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"6f4e68a2e28ae6d3fd5e31a1c0d5b70f19549fab","unresolved":false,"context_lines":[{"line_number":29,"context_line":"The probes fields (periodSeconds, InitialDelaySeconds, timeoutSeconds, successThreshold and failureThreshold) should"},{"line_number":30,"context_line":"also be configured taking into consideration container\u0027s boot-up time and general availability."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Kubernettes currently allow any of below probe types to be implemented on containers:"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"1. Command: Run a command on container"},{"line_number":35,"context_line":"2. tcpSocket:  Probe a port on a container."}],"source_content_type":"text/x-rst","patch_set":13,"id":"5f7c97a3_3703dd13","line":32,"range":{"start_line":32,"start_character":22,"end_line":32,"end_character":27},"updated":"2018-07-25 20:12:09.000000000","message":"allows","commit_id":"6212a3f8b4e906dbfff9c10c5d06739c625eb8a1"},{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"6f4e68a2e28ae6d3fd5e31a1c0d5b70f19549fab","unresolved":false,"context_lines":[{"line_number":29,"context_line":"The probes fields (periodSeconds, InitialDelaySeconds, timeoutSeconds, successThreshold and failureThreshold) should"},{"line_number":30,"context_line":"also be configured taking into consideration container\u0027s boot-up time and general availability."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Kubernettes currently allow any of below probe types to be implemented on containers:"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"1. Command: Run a command on container"},{"line_number":35,"context_line":"2. tcpSocket:  Probe a port on a container."}],"source_content_type":"text/x-rst","patch_set":13,"id":"5f7c97a3_f7fc850e","line":32,"range":{"start_line":32,"start_character":35,"end_line":32,"end_character":40},"updated":"2018-07-25 20:12:09.000000000","message":"the below","commit_id":"6212a3f8b4e906dbfff9c10c5d06739c625eb8a1"},{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"6f4e68a2e28ae6d3fd5e31a1c0d5b70f19549fab","unresolved":false,"context_lines":[{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    {{ - define \"\u003cchart name\u003e.readiness\" }}"},{"line_number":71,"context_line":"      readinessProbe:"},{"line_number":72,"context_line":"        tcpSocket: # modify to match probe type -  httpGet, command or tcpSocket"},{"line_number":73,"context_line":"          port: \u003cport\u003e"},{"line_number":74,"context_line":"        InitialDelaySeconds: \u003cnumber\u003e"},{"line_number":75,"context_line":"        periodSeconds: \u003cnumber\u003e"},{"line_number":76,"context_line":"        timeoutSeconds: \u003cnumber\u003e"}],"source_content_type":"text/x-rst","patch_set":13,"id":"5f7c97a3_ea11f851","line":73,"range":{"start_line":72,"start_character":0,"end_line":73,"end_character":22},"updated":"2018-07-25 20:12:09.000000000","message":"If we\u0027re defining these in templates, how can we change the tcpSocket probe to another type of probe without having to change the template directly? Also curious what the approach would be for pods with more than one container running in them?  Would this involve a separate template for each container?","commit_id":"6212a3f8b4e906dbfff9c10c5d06739c625eb8a1"},{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"b61d90a0e9ace310ddf46956133b4736b5fe3c0f","unresolved":false,"context_lines":[{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    {{ - define \"\u003cchart name\u003e.readiness\" }}"},{"line_number":71,"context_line":"      readinessProbe:"},{"line_number":72,"context_line":"        tcpSocket: # modify to match probe type -  httpGet, command or tcpSocket"},{"line_number":73,"context_line":"          port: \u003cport\u003e"},{"line_number":74,"context_line":"        InitialDelaySeconds: \u003cnumber\u003e"},{"line_number":75,"context_line":"        periodSeconds: \u003cnumber\u003e"},{"line_number":76,"context_line":"        timeoutSeconds: \u003cnumber\u003e"}],"source_content_type":"text/x-rst","patch_set":13,"id":"5f7c97a3_c86764b8","line":73,"range":{"start_line":72,"start_character":0,"end_line":73,"end_character":22},"in_reply_to":"5f7c97a3_6d966240","updated":"2018-07-25 21:28:10.000000000","message":"The point I was getting at was that by defining them this way, it means that whatever we put into the template is then the defacto standard probe for that container. By defining them in templates, we lose the ability to change from a tcp probe to a http probe, or whatever alternative is desired. If we do want to define a standard on a per container basis, we should call that out here instead of just making it seem as we\u0027re defaulting to the port probe. I\u0027m also leery of having a separate template per container.  Take Elasticsearch for example - that would result in eight new templates for the Elasticsearch chart (a readiness and liveliness probe template for the apache proxy, client, data, and master containers, as they all require separate checks for validating whether they\u0027re ready or not).","commit_id":"6212a3f8b4e906dbfff9c10c5d06739c625eb8a1"},{"author":{"_account_id":28620,"name":"Matthias Omisore","email":"momisore@broadtekniks.com","username":"momisore"},"change_message_id":"73ef3bd9592c3cba3b7264a94e8708d74b67870d","unresolved":false,"context_lines":[{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    {{ - define \"\u003cchart name\u003e.readiness\" }}"},{"line_number":71,"context_line":"      readinessProbe:"},{"line_number":72,"context_line":"        tcpSocket: # modify to match probe type -  httpGet, command or tcpSocket"},{"line_number":73,"context_line":"          port: \u003cport\u003e"},{"line_number":74,"context_line":"        InitialDelaySeconds: \u003cnumber\u003e"},{"line_number":75,"context_line":"        periodSeconds: \u003cnumber\u003e"},{"line_number":76,"context_line":"        timeoutSeconds: \u003cnumber\u003e"}],"source_content_type":"text/x-rst","patch_set":13,"id":"5f7c97a3_6d966240","line":73,"range":{"start_line":72,"start_character":0,"end_line":73,"end_character":22},"in_reply_to":"5f7c97a3_ea11f851","updated":"2018-07-25 20:58:33.000000000","message":"1. The whole idea behind this is to use the probe templates for all configurations. \n2. For pods with multiple container, probes can be defined on a per container basis.\n3. Yes","commit_id":"6212a3f8b4e906dbfff9c10c5d06739c625eb8a1"},{"author":{"_account_id":22604,"name":"Samuel Pilla","email":"sp516w@att.com","username":"samuel.pilla"},"change_message_id":"cc1bf31f8f2cd78c3d962fc9ffafedd30827a0ec","unresolved":false,"context_lines":[{"line_number":71,"context_line":"      readinessProbe:"},{"line_number":72,"context_line":"        tcpSocket: # modify to match probe type -  httpGet, command or tcpSocket"},{"line_number":73,"context_line":"          port: \u003cport\u003e"},{"line_number":74,"context_line":"        InitialDelaySeconds: \u003cnumber\u003e"},{"line_number":75,"context_line":"        periodSeconds: \u003cnumber\u003e"},{"line_number":76,"context_line":"        timeoutSeconds: \u003cnumber\u003e"},{"line_number":77,"context_line":"        successThreshold: \u003cnumber\u003e"}],"source_content_type":"text/x-rst","patch_set":13,"id":"5f7c97a3_5e7697d7","line":74,"range":{"start_line":74,"start_character":8,"end_line":74,"end_character":27},"updated":"2018-07-26 18:07:40.000000000","message":"ditto","commit_id":"6212a3f8b4e906dbfff9c10c5d06739c625eb8a1"},{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"6f4e68a2e28ae6d3fd5e31a1c0d5b70f19549fab","unresolved":false,"context_lines":[{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    {{ - define \"\u003cchart name\u003e.liveness\" }}"},{"line_number":89,"context_line":"      livenessProbe:"},{"line_number":90,"context_line":"        tcpSocket:  # modify to match probe type -  httpGet, command or tcpSocket"},{"line_number":91,"context_line":"          port: \u003cport\u003e"},{"line_number":92,"context_line":"        InitialDelaySeconds: \u003cnumber\u003e"},{"line_number":93,"context_line":"        periodSeconds: \u003cnumber\u003e"},{"line_number":94,"context_line":"        timeoutSeconds: \u003cnumber\u003e"}],"source_content_type":"text/x-rst","patch_set":13,"id":"5f7c97a3_8a22c4a5","line":91,"range":{"start_line":90,"start_character":0,"end_line":91,"end_character":22},"updated":"2018-07-25 20:12:09.000000000","message":"Ditto","commit_id":"6212a3f8b4e906dbfff9c10c5d06739c625eb8a1"},{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"b61d90a0e9ace310ddf46956133b4736b5fe3c0f","unresolved":false,"context_lines":[{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    {{ - define \"\u003cchart name\u003e.liveness\" }}"},{"line_number":89,"context_line":"      livenessProbe:"},{"line_number":90,"context_line":"        tcpSocket:  # modify to match probe type -  httpGet, command or tcpSocket"},{"line_number":91,"context_line":"          port: \u003cport\u003e"},{"line_number":92,"context_line":"        InitialDelaySeconds: \u003cnumber\u003e"},{"line_number":93,"context_line":"        periodSeconds: \u003cnumber\u003e"},{"line_number":94,"context_line":"        timeoutSeconds: \u003cnumber\u003e"}],"source_content_type":"text/x-rst","patch_set":13,"id":"5f7c97a3_88cdec93","line":91,"range":{"start_line":90,"start_character":0,"end_line":91,"end_character":22},"in_reply_to":"5f7c97a3_6de422e0","updated":"2018-07-25 21:28:10.000000000","message":"This was less about performing lookups for the ports and more about the same concerns as above.","commit_id":"6212a3f8b4e906dbfff9c10c5d06739c625eb8a1"},{"author":{"_account_id":28620,"name":"Matthias Omisore","email":"momisore@broadtekniks.com","username":"momisore"},"change_message_id":"73ef3bd9592c3cba3b7264a94e8708d74b67870d","unresolved":false,"context_lines":[{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    {{ - define \"\u003cchart name\u003e.liveness\" }}"},{"line_number":89,"context_line":"      livenessProbe:"},{"line_number":90,"context_line":"        tcpSocket:  # modify to match probe type -  httpGet, command or tcpSocket"},{"line_number":91,"context_line":"          port: \u003cport\u003e"},{"line_number":92,"context_line":"        InitialDelaySeconds: \u003cnumber\u003e"},{"line_number":93,"context_line":"        periodSeconds: \u003cnumber\u003e"},{"line_number":94,"context_line":"        timeoutSeconds: \u003cnumber\u003e"}],"source_content_type":"text/x-rst","patch_set":13,"id":"5f7c97a3_6de422e0","line":91,"range":{"start_line":90,"start_character":0,"end_line":91,"end_character":22},"in_reply_to":"5f7c97a3_8a22c4a5","updated":"2018-07-25 20:58:33.000000000","message":"the port is injected (if needed) using helm-toolkit. something like:\n\n{{ tuple \"identity\" \"internal\" \"api\" . | include \"helm-toolkit.endpoints.endpoint_port_lookup\" }}","commit_id":"6212a3f8b4e906dbfff9c10c5d06739c625eb8a1"},{"author":{"_account_id":22604,"name":"Samuel Pilla","email":"sp516w@att.com","username":"samuel.pilla"},"change_message_id":"cc1bf31f8f2cd78c3d962fc9ffafedd30827a0ec","unresolved":false,"context_lines":[{"line_number":89,"context_line":"      livenessProbe:"},{"line_number":90,"context_line":"        tcpSocket:  # modify to match probe type -  httpGet, command or tcpSocket"},{"line_number":91,"context_line":"          port: \u003cport\u003e"},{"line_number":92,"context_line":"        InitialDelaySeconds: \u003cnumber\u003e"},{"line_number":93,"context_line":"        periodSeconds: \u003cnumber\u003e"},{"line_number":94,"context_line":"        timeoutSeconds: \u003cnumber\u003e"},{"line_number":95,"context_line":"        successThreshold: \u003cnumber\u003e"}],"source_content_type":"text/x-rst","patch_set":13,"id":"5f7c97a3_1e4a5f81","line":92,"range":{"start_line":92,"start_character":8,"end_line":92,"end_character":27},"updated":"2018-07-26 18:07:40.000000000","message":"ditto","commit_id":"6212a3f8b4e906dbfff9c10c5d06739c625eb8a1"},{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"6f4e68a2e28ae6d3fd5e31a1c0d5b70f19549fab","unresolved":false,"context_lines":[{"line_number":118,"context_line":"     spec:"},{"line_number":119,"context_line":"       containers:"},{"line_number":120,"context_line":"       # liveness probe"},{"line_number":121,"context_line":"         {{ if (.Values.pod.liveness.enabled) }} # check if probe is enabled"},{"line_number":122,"context_line":"           {{- template \"\u003cchart name\u003e.liveness\" . }} # inject the template"},{"line_number":123,"context_line":"         {{- end}}"},{"line_number":124,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"5f7c97a3_ea2a5876","line":121,"range":{"start_line":121,"start_character":15,"end_line":121,"end_character":45},"updated":"2018-07-25 20:12:09.000000000","message":"doesn\u0027t need the parens","commit_id":"6212a3f8b4e906dbfff9c10c5d06739c625eb8a1"},{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"6f4e68a2e28ae6d3fd5e31a1c0d5b70f19549fab","unresolved":false,"context_lines":[{"line_number":123,"context_line":"         {{- end}}"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"       # readiness probe"},{"line_number":126,"context_line":"         {{ if (.Values.pod.readiness.enabled) }}"},{"line_number":127,"context_line":"           {{- template \"\u003cchart name\u003e.readiness\" . }}"},{"line_number":128,"context_line":"         {{- end}}"},{"line_number":129,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"5f7c97a3_6a5408fe","line":126,"range":{"start_line":126,"start_character":14,"end_line":126,"end_character":46},"updated":"2018-07-25 20:12:09.000000000","message":"ditto","commit_id":"6212a3f8b4e906dbfff9c10c5d06739c625eb8a1"},{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"6f4e68a2e28ae6d3fd5e31a1c0d5b70f19549fab","unresolved":false,"context_lines":[{"line_number":140,"context_line":"None"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"Performance Impact"},{"line_number":144,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":145,"context_line":"To minimize performance impact, the following should be taken into consideration:"},{"line_number":146,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"5f7c97a3_8acc04bf","line":143,"range":{"start_line":143,"start_character":0,"end_line":143,"end_character":18},"updated":"2018-07-25 20:12:09.000000000","message":"This needs to highlight the potential for inefficient liveliness probes to result in unintentional consequences, like cascading failures.","commit_id":"6212a3f8b4e906dbfff9c10c5d06739c625eb8a1"},{"author":{"_account_id":28620,"name":"Matthias Omisore","email":"momisore@broadtekniks.com","username":"momisore"},"change_message_id":"73ef3bd9592c3cba3b7264a94e8708d74b67870d","unresolved":false,"context_lines":[{"line_number":140,"context_line":"None"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"Performance Impact"},{"line_number":144,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":145,"context_line":"To minimize performance impact, the following should be taken into consideration:"},{"line_number":146,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"5f7c97a3_ede832a8","line":143,"range":{"start_line":143,"start_character":0,"end_line":143,"end_character":18},"in_reply_to":"5f7c97a3_8acc04bf","updated":"2018-07-25 20:58:33.000000000","message":"ok","commit_id":"6212a3f8b4e906dbfff9c10c5d06739c625eb8a1"}]}
