)]}'
{"docker/Dockerfile":[{"author":{"_account_id":21922,"name":"Dobroslaw Zybort","email":"dobroslaw.zybort@ts.fujitsu.com","username":"dobrolaw.zybort"},"change_message_id":"5804c254b8803b2251d34d736ec80d75437ca476","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Example Dockerfile for creating Docker image."},{"line_number":2,"context_line":"ARG DOCKER_IMAGE\u003dmonasca-log-api"},{"line_number":3,"context_line":"ARG APP_REPO\u003dhttps://git.openstack.org/openstack/monasca-log-api"},{"line_number":4,"context_line":""}],"source_content_type":"text/x-dockerfile","patch_set":1,"id":"5f7c97a3_f6302c58","line":1,"updated":"2018-07-03 12:03:08.000000000","message":"Remove this line","commit_id":"b9daadee74eda0727ba5839bb4f203986a689ae7"},{"author":{"_account_id":16253,"name":"Christian Brandstetter","email":"christian.brandstetter@est.fujitsu.com","username":"christianB"},"change_message_id":"7bbf831b93ae08d322672a1e196bc23dfd80c28f","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Example Dockerfile for creating Docker image."},{"line_number":2,"context_line":"ARG DOCKER_IMAGE\u003dmonasca-log-api"},{"line_number":3,"context_line":"ARG APP_REPO\u003dhttps://git.openstack.org/openstack/monasca-log-api"},{"line_number":4,"context_line":""}],"source_content_type":"text/x-dockerfile","patch_set":1,"id":"5f7c97a3_b89b3e15","line":1,"in_reply_to":"5f7c97a3_f6302c58","updated":"2018-07-10 14:03:03.000000000","message":"ok","commit_id":"b9daadee74eda0727ba5839bb4f203986a689ae7"},{"author":{"_account_id":21922,"name":"Dobroslaw Zybort","email":"dobroslaw.zybort@ts.fujitsu.com","username":"dobrolaw.zybort"},"change_message_id":"8ff7c85199963aa645d2101fcebed82dd22cbd0d","unresolved":false,"context_lines":[{"line_number":9,"context_line":"ARG EXTRA_DEPS\u003d\"gunicorn python-memcached gevent\""},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"# Always start from `monasca-base` image and use specific tag of it."},{"line_number":12,"context_line":"ARG BASE_TAG\u003d1.0.0"},{"line_number":13,"context_line":"FROM monasca-base:$BASE_TAG"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"# Environment variables used for our service or wait scripts."}],"source_content_type":"text/x-dockerfile","patch_set":7,"id":"5f7c97a3_53a4364c","line":12,"range":{"start_line":12,"start_character":13,"end_line":12,"end_character":18},"updated":"2018-07-17 12:33:54.000000000","message":"I updated it in my change (https://review.openstack.org/#/c/581705) to have tag from build date and `master`. So no more 1.0.0 as monasca/base is actually independent from monasca-common changes.","commit_id":"bfd3a92eb5e02193920b1a2d75198b6532373ecb"},{"author":{"_account_id":16253,"name":"Christian Brandstetter","email":"christian.brandstetter@est.fujitsu.com","username":"christianB"},"change_message_id":"791445a46424a48e9177385fd3c21a217600cc8c","unresolved":false,"context_lines":[{"line_number":9,"context_line":"ARG EXTRA_DEPS\u003d\"gunicorn python-memcached gevent\""},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"# Always start from `monasca-base` image and use specific tag of it."},{"line_number":12,"context_line":"ARG BASE_TAG\u003d1.0.0"},{"line_number":13,"context_line":"FROM monasca-base:$BASE_TAG"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"# Environment variables used for our service or wait scripts."}],"source_content_type":"text/x-dockerfile","patch_set":7,"id":"5f7c97a3_e23a1495","line":12,"range":{"start_line":12,"start_character":13,"end_line":12,"end_character":18},"in_reply_to":"5f7c97a3_53a4364c","updated":"2018-07-19 09:07:54.000000000","message":"ok","commit_id":"bfd3a92eb5e02193920b1a2d75198b6532373ecb"},{"author":{"_account_id":21922,"name":"Dobroslaw Zybort","email":"dobroslaw.zybort@ts.fujitsu.com","username":"dobrolaw.zybort"},"change_message_id":"8ff7c85199963aa645d2101fcebed82dd22cbd0d","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"# Always start from `monasca-base` image and use specific tag of it."},{"line_number":12,"context_line":"ARG BASE_TAG\u003d1.0.0"},{"line_number":13,"context_line":"FROM monasca-base:$BASE_TAG"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"# Environment variables used for our service or wait scripts."},{"line_number":16,"context_line":"ENV \\"}],"source_content_type":"text/x-dockerfile","patch_set":7,"id":"5f7c97a3_53f67660","line":13,"range":{"start_line":13,"start_character":5,"end_line":13,"end_character":17},"updated":"2018-07-17 12:33:54.000000000","message":"I changed it to `monasca/base` (as a preparation to use `monasca` org on Docker Hub)","commit_id":"bfd3a92eb5e02193920b1a2d75198b6532373ecb"},{"author":{"_account_id":16253,"name":"Christian Brandstetter","email":"christian.brandstetter@est.fujitsu.com","username":"christianB"},"change_message_id":"791445a46424a48e9177385fd3c21a217600cc8c","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"# Always start from `monasca-base` image and use specific tag of it."},{"line_number":12,"context_line":"ARG BASE_TAG\u003d1.0.0"},{"line_number":13,"context_line":"FROM monasca-base:$BASE_TAG"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"# Environment variables used for our service or wait scripts."},{"line_number":16,"context_line":"ENV \\"}],"source_content_type":"text/x-dockerfile","patch_set":7,"id":"5f7c97a3_a2489c2d","line":13,"range":{"start_line":13,"start_character":5,"end_line":13,"end_character":17},"in_reply_to":"5f7c97a3_53f67660","updated":"2018-07-19 09:07:54.000000000","message":"ok","commit_id":"bfd3a92eb5e02193920b1a2d75198b6532373ecb"},{"author":{"_account_id":26141,"name":"Adrian Czarnecki","email":"adrian.czarnecki@ts.fujitsu.com","username":"czarneckia"},"change_message_id":"46b5ababaeb4b67b22c96dc0ce763b1428c0bbc0","unresolved":false,"context_lines":[{"line_number":35,"context_line":"    ADD_ACCESS_LOG\u003dfalse \\"},{"line_number":36,"context_line":"    ACCESS_LOG_FORMAT\u003d\"%(asctime)s [%(process)d] gunicorn.access [%(levelname)s] %(message)s\" \\"},{"line_number":37,"context_line":"    ACCESS_LOG_FIELDS\u003d\u0027%(h)s %(l)s %(u)s %(t)s %(r)s %(s)s %(b)s \"%(f)s\" \"%(a)s\" %(L)s\u0027 \\"},{"line_number":38,"context_line":"    LOG_LEVEL_ROOT\u003dWARN \\"},{"line_number":39,"context_line":"    LOG_LEVEL_CONSOLE\u003dINFO \\"},{"line_number":40,"context_line":"    LOG_LEVEL_ACCESS\u003dINFO \\"},{"line_number":41,"context_line":"    STAY_ALIVE_ON_FAILURE\u003d\"false\""}],"source_content_type":"text/x-dockerfile","patch_set":16,"id":"3f79a3b5_497ad176","line":38,"range":{"start_line":38,"start_character":19,"end_line":38,"end_character":23},"updated":"2018-11-13 12:04:00.000000000","message":"Why this is Warn, LOG_LEVEL_CONSOLE and LOG_LEVEL_ACCESS are set to Info","commit_id":"9e1a7f9a7b4eb94e749645168258de32cf8195b4"},{"author":{"_account_id":21922,"name":"Dobroslaw Zybort","email":"dobroslaw.zybort@ts.fujitsu.com","username":"dobrolaw.zybort"},"change_message_id":"17b250602e36b3fbf130899a101a7503d5b280d4","unresolved":false,"context_lines":[{"line_number":35,"context_line":"    ADD_ACCESS_LOG\u003dfalse \\"},{"line_number":36,"context_line":"    ACCESS_LOG_FORMAT\u003d\"%(asctime)s [%(process)d] gunicorn.access [%(levelname)s] %(message)s\" \\"},{"line_number":37,"context_line":"    ACCESS_LOG_FIELDS\u003d\u0027%(h)s %(l)s %(u)s %(t)s %(r)s %(s)s %(b)s \"%(f)s\" \"%(a)s\" %(L)s\u0027 \\"},{"line_number":38,"context_line":"    LOG_LEVEL_ROOT\u003dWARN \\"},{"line_number":39,"context_line":"    LOG_LEVEL_CONSOLE\u003dINFO \\"},{"line_number":40,"context_line":"    LOG_LEVEL_ACCESS\u003dINFO \\"},{"line_number":41,"context_line":"    STAY_ALIVE_ON_FAILURE\u003d\"false\""}],"source_content_type":"text/x-dockerfile","patch_set":16,"id":"3f79a3b5_e333a7c2","line":38,"range":{"start_line":38,"start_character":19,"end_line":38,"end_character":23},"in_reply_to":"3f79a3b5_497ad176","updated":"2018-11-14 09:20:38.000000000","message":"Done","commit_id":"9e1a7f9a7b4eb94e749645168258de32cf8195b4"}],"docker/README.rst":[{"author":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"change_message_id":"321eaa98571a84207fca27484305e964cc3659dd","unresolved":false,"context_lines":[{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Build arguments (base)"},{"line_number":30,"context_line":"----------------------"},{"line_number":31,"context_line":"ARG CREATION_TIME       --\u003e build_image.sh"},{"line_number":32,"context_line":"ARG DOCKER_IMAGE        --\u003e Dockerfile/build_image.sh"},{"line_number":33,"context_line":"ARG APP_REPO            --\u003e Dockerfile/build_image.sh"},{"line_number":34,"context_line":"ARG GITHUB_REPO         --\u003e build_image.sh"},{"line_number":35,"context_line":"ARG REPO_VERSION        --\u003e Dockerfile/build_image.sh"},{"line_number":36,"context_line":"ARG GIT_COMMIT          --\u003e build_image.sh"},{"line_number":37,"context_line":"ARG CONSTRAINTS_BRANCH  --\u003e Dockerfile/build_image.sh"},{"line_number":38,"context_line":"ARG CONSTRAINTS_FILE    --\u003e Dockerfile-base"},{"line_number":39,"context_line":"ARG EXTRA_DEPS          --\u003e Dockerfile/build_image.sh"},{"line_number":40,"context_line":"ARG COMMON_REPO         --\u003e Dockerfile-base"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"Build arguments (child)"},{"line_number":43,"context_line":"-----------------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5f7c97a3_28bd0603","line":40,"range":{"start_line":31,"start_character":0,"end_line":40,"end_character":43},"updated":"2018-07-11 11:04:49.000000000","message":"This doesn\u0027t render nicely.","commit_id":"da34e785106954b3d0c85419b3ad191cf2ffa4e9"},{"author":{"_account_id":16253,"name":"Christian Brandstetter","email":"christian.brandstetter@est.fujitsu.com","username":"christianB"},"change_message_id":"4a5a5fbbd6d4586f7fc948aa94e7e82f629cb71f","unresolved":false,"context_lines":[{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Build arguments (base)"},{"line_number":30,"context_line":"----------------------"},{"line_number":31,"context_line":"ARG CREATION_TIME       --\u003e build_image.sh"},{"line_number":32,"context_line":"ARG DOCKER_IMAGE        --\u003e Dockerfile/build_image.sh"},{"line_number":33,"context_line":"ARG APP_REPO            --\u003e Dockerfile/build_image.sh"},{"line_number":34,"context_line":"ARG GITHUB_REPO         --\u003e build_image.sh"},{"line_number":35,"context_line":"ARG REPO_VERSION        --\u003e Dockerfile/build_image.sh"},{"line_number":36,"context_line":"ARG GIT_COMMIT          --\u003e build_image.sh"},{"line_number":37,"context_line":"ARG CONSTRAINTS_BRANCH  --\u003e Dockerfile/build_image.sh"},{"line_number":38,"context_line":"ARG CONSTRAINTS_FILE    --\u003e Dockerfile-base"},{"line_number":39,"context_line":"ARG EXTRA_DEPS          --\u003e Dockerfile/build_image.sh"},{"line_number":40,"context_line":"ARG COMMON_REPO         --\u003e Dockerfile-base"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"Build arguments (child)"},{"line_number":43,"context_line":"-----------------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5f7c97a3_e3e595a5","line":40,"range":{"start_line":31,"start_character":0,"end_line":40,"end_character":43},"in_reply_to":"5f7c97a3_28bd0603","updated":"2018-07-16 08:06:07.000000000","message":"ok","commit_id":"da34e785106954b3d0c85419b3ad191cf2ffa4e9"},{"author":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"change_message_id":"321eaa98571a84207fca27484305e964cc3659dd","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"Environment variables (child)"},{"line_number":47,"context_line":"-----------------------------"},{"line_number":48,"context_line":"| Variable                         | Default                 | Description                                         |"},{"line_number":49,"context_line":"|----------------------------------|-------------------------|-----------------------------------------------------|"},{"line_number":50,"context_line":"| `KAFKA_URI`                      | `kafka:9092`            | URI to Apache Kafka (distributed streaming platform)|"},{"line_number":51,"context_line":"| `KAFKA_WAIT_FOR_TOPICS`          | `log`                   | The topic where log-api streams the log messages    |"},{"line_number":52,"context_line":"| `CONFIG_TEMPLATE`                | `true`                  | ?                                                   |"},{"line_number":53,"context_line":"| `MONASCA_CONTAINER_LOG_API_PORT` | `5607`                  | The port from the log pipeline endpoint             |"},{"line_number":54,"context_line":"| `MEMCACHED_URI`                  | `memcached:11211`       | URI to Keystone authentication cache                |"},{"line_number":55,"context_line":"| `KEYSTONE_IDENTITY_URI`          | `http://keystone:35357` | URI to Keystone admin endpoint                      |"},{"line_number":56,"context_line":"| `KEYSTONE_AUTH_URI`              | `http://keystone:5000`  | URI to Keystone public endpoint                     |"},{"line_number":57,"context_line":"| `KEYSTONE_ADMIN_USER`            | `admin`                 | OpenStack administrator user name                   |"},{"line_number":58,"context_line":"| `KEYSTONE_ADMIN_PASSWORD`        | `secretadmin`           | OpenStack administrator user password               |"},{"line_number":59,"context_line":"| `KEYSTONE_ADMIN_TENANT`          | `admin`                 | OpenStack administrator tenant name                 |"},{"line_number":60,"context_line":"| `KEYSTONE_ADMIN_DOMAIN`          | `default`               | OpenStack administrator domain                      |"},{"line_number":61,"context_line":"| `GUNICORN_WORKERS`               | `9`                     | Number of gunicorn (WSGI-HTTP server) workers       |"},{"line_number":62,"context_line":"| `GUNICORN_WORKER_CLASS`          | `gevent`                | Used gunicorn worker class                          |"},{"line_number":63,"context_line":"| `GUNICORN_WORKER_CONNECTIONS`    | `2000`                  | Number of gunicorn worker connections               |"},{"line_number":64,"context_line":"| `GUNICORN_BACKLOG`               | `1000`                  | Number of gunicorn backlogs                         |"},{"line_number":65,"context_line":"| `GUNICORN_TIMEOUT`               | `10`                    | Gunicorn connection timeout                         |"},{"line_number":66,"context_line":"| `PYTHONIOENCODING`               | `utf-8`                 | Python encoding                                     |"},{"line_number":67,"context_line":"| `ADD_ACCESS_LOG`                 | `false`                 | ?                                                   |"},{"line_number":68,"context_line":"| `ACCESS_LOG_FORMAT`              | `\"%(asctime)s           | Format of the access logging                        |"},{"line_number":69,"context_line":"|                                  | [%(process)d]           |                                                     |"},{"line_number":70,"context_line":"|                                  | gunicorn.access         |                                                     |"},{"line_number":71,"context_line":"|                                  | [%(levelname)s]         |                                                     |"},{"line_number":72,"context_line":"|                                  | %(message)s\"`           |                                                     |"},{"line_number":73,"context_line":"| `ACCESS_LOG_FIELDS`              | `\u0027%(h)s %(l)s %(u)s     | ?                                                   |"},{"line_number":74,"context_line":"|                                  | %(t)s %(r)s %(s)s %(b)s |                                                     |"},{"line_number":75,"context_line":"|                                  | \"%(f)s\" \"%(a)s\" %(L)s\u0027` |                                                     |"},{"line_number":76,"context_line":"| `LOG_LEVEL_ROOT`                 | `WARN`                  | Log level for root logging                          |"},{"line_number":77,"context_line":"| `LOG_LEVEL_CONSOLE`              | `INFO`                  | Log level for console logging                       |"},{"line_number":78,"context_line":"| `LOG_LEVEL_ACCESS`               | `INFO`                  | Log level for access logging                        |"},{"line_number":79,"context_line":"| `STAY_ALIVE_ON_FAILURE`          | `false`                 | If true, container runs 2 hours after tests fail    |"},{"line_number":80,"context_line":"See also:"},{"line_number":81,"context_line":"https://docs.openstack.org/monasca-log-api/latest/configuration/"},{"line_number":82,"context_line":"https://github.com/openstack/monasca-log-api/blob/master/README.rst"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5f7c97a3_a836f6b2","line":79,"range":{"start_line":48,"start_character":0,"end_line":79,"end_character":116},"updated":"2018-07-11 11:04:49.000000000","message":"This is markdown, not rst.","commit_id":"da34e785106954b3d0c85419b3ad191cf2ffa4e9"},{"author":{"_account_id":16253,"name":"Christian Brandstetter","email":"christian.brandstetter@est.fujitsu.com","username":"christianB"},"change_message_id":"4a5a5fbbd6d4586f7fc948aa94e7e82f629cb71f","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"Environment variables (child)"},{"line_number":47,"context_line":"-----------------------------"},{"line_number":48,"context_line":"| Variable                         | Default                 | Description                                         |"},{"line_number":49,"context_line":"|----------------------------------|-------------------------|-----------------------------------------------------|"},{"line_number":50,"context_line":"| `KAFKA_URI`                      | `kafka:9092`            | URI to Apache Kafka (distributed streaming platform)|"},{"line_number":51,"context_line":"| `KAFKA_WAIT_FOR_TOPICS`          | `log`                   | The topic where log-api streams the log messages    |"},{"line_number":52,"context_line":"| `CONFIG_TEMPLATE`                | `true`                  | ?                                                   |"},{"line_number":53,"context_line":"| `MONASCA_CONTAINER_LOG_API_PORT` | `5607`                  | The port from the log pipeline endpoint             |"},{"line_number":54,"context_line":"| `MEMCACHED_URI`                  | `memcached:11211`       | URI to Keystone authentication cache                |"},{"line_number":55,"context_line":"| `KEYSTONE_IDENTITY_URI`          | `http://keystone:35357` | URI to Keystone admin endpoint                      |"},{"line_number":56,"context_line":"| `KEYSTONE_AUTH_URI`              | `http://keystone:5000`  | URI to Keystone public endpoint                     |"},{"line_number":57,"context_line":"| `KEYSTONE_ADMIN_USER`            | `admin`                 | OpenStack administrator user name                   |"},{"line_number":58,"context_line":"| `KEYSTONE_ADMIN_PASSWORD`        | `secretadmin`           | OpenStack administrator user password               |"},{"line_number":59,"context_line":"| `KEYSTONE_ADMIN_TENANT`          | `admin`                 | OpenStack administrator tenant name                 |"},{"line_number":60,"context_line":"| `KEYSTONE_ADMIN_DOMAIN`          | `default`               | OpenStack administrator domain                      |"},{"line_number":61,"context_line":"| `GUNICORN_WORKERS`               | `9`                     | Number of gunicorn (WSGI-HTTP server) workers       |"},{"line_number":62,"context_line":"| `GUNICORN_WORKER_CLASS`          | `gevent`                | Used gunicorn worker class                          |"},{"line_number":63,"context_line":"| `GUNICORN_WORKER_CONNECTIONS`    | `2000`                  | Number of gunicorn worker connections               |"},{"line_number":64,"context_line":"| `GUNICORN_BACKLOG`               | `1000`                  | Number of gunicorn backlogs                         |"},{"line_number":65,"context_line":"| `GUNICORN_TIMEOUT`               | `10`                    | Gunicorn connection timeout                         |"},{"line_number":66,"context_line":"| `PYTHONIOENCODING`               | `utf-8`                 | Python encoding                                     |"},{"line_number":67,"context_line":"| `ADD_ACCESS_LOG`                 | `false`                 | ?                                                   |"},{"line_number":68,"context_line":"| `ACCESS_LOG_FORMAT`              | `\"%(asctime)s           | Format of the access logging                        |"},{"line_number":69,"context_line":"|                                  | [%(process)d]           |                                                     |"},{"line_number":70,"context_line":"|                                  | gunicorn.access         |                                                     |"},{"line_number":71,"context_line":"|                                  | [%(levelname)s]         |                                                     |"},{"line_number":72,"context_line":"|                                  | %(message)s\"`           |                                                     |"},{"line_number":73,"context_line":"| `ACCESS_LOG_FIELDS`              | `\u0027%(h)s %(l)s %(u)s     | ?                                                   |"},{"line_number":74,"context_line":"|                                  | %(t)s %(r)s %(s)s %(b)s |                                                     |"},{"line_number":75,"context_line":"|                                  | \"%(f)s\" \"%(a)s\" %(L)s\u0027` |                                                     |"},{"line_number":76,"context_line":"| `LOG_LEVEL_ROOT`                 | `WARN`                  | Log level for root logging                          |"},{"line_number":77,"context_line":"| `LOG_LEVEL_CONSOLE`              | `INFO`                  | Log level for console logging                       |"},{"line_number":78,"context_line":"| `LOG_LEVEL_ACCESS`               | `INFO`                  | Log level for access logging                        |"},{"line_number":79,"context_line":"| `STAY_ALIVE_ON_FAILURE`          | `false`                 | If true, container runs 2 hours after tests fail    |"},{"line_number":80,"context_line":"See also:"},{"line_number":81,"context_line":"https://docs.openstack.org/monasca-log-api/latest/configuration/"},{"line_number":82,"context_line":"https://github.com/openstack/monasca-log-api/blob/master/README.rst"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5f7c97a3_a3ff9d33","line":79,"range":{"start_line":48,"start_character":0,"end_line":79,"end_character":116},"in_reply_to":"5f7c97a3_a836f6b2","updated":"2018-07-16 08:06:07.000000000","message":"ok....in base image it is wrong too...","commit_id":"da34e785106954b3d0c85419b3ad191cf2ffa4e9"},{"author":{"_account_id":21922,"name":"Dobroslaw Zybort","email":"dobroslaw.zybort@ts.fujitsu.com","username":"dobrolaw.zybort"},"change_message_id":"4f045589bb8a5012c02c03dbf79bf66a85569f77","unresolved":false,"context_lines":[{"line_number":12,"context_line":"Building Monasca log API image (child)"},{"line_number":13,"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\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Requirements from monasca-base image"},{"line_number":16,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":17,"context_line":"Every child image need to provide two files (description see monasca-base):"},{"line_number":18,"context_line":" * start.sh"},{"line_number":19,"context_line":" * health_check.py"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Build script"},{"line_number":22,"context_line":"~~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":7,"id":"5f7c97a3_33865a67","line":19,"range":{"start_line":15,"start_character":0,"end_line":19,"end_character":18},"updated":"2018-07-17 12:08:43.000000000","message":"I don\u0027t think we need this info in this form in README. More like service is started with start.sh etc.","commit_id":"bfd3a92eb5e02193920b1a2d75198b6532373ecb"},{"author":{"_account_id":16253,"name":"Christian Brandstetter","email":"christian.brandstetter@est.fujitsu.com","username":"christianB"},"change_message_id":"791445a46424a48e9177385fd3c21a217600cc8c","unresolved":false,"context_lines":[{"line_number":12,"context_line":"Building Monasca log API image (child)"},{"line_number":13,"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\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Requirements from monasca-base image"},{"line_number":16,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":17,"context_line":"Every child image need to provide two files (description see monasca-base):"},{"line_number":18,"context_line":" * start.sh"},{"line_number":19,"context_line":" * health_check.py"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Build script"},{"line_number":22,"context_line":"~~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":7,"id":"5f7c97a3_791111f8","line":19,"range":{"start_line":15,"start_character":0,"end_line":19,"end_character":18},"in_reply_to":"5f7c97a3_33865a67","updated":"2018-07-19 09:07:54.000000000","message":"\"start.sh\"\nwell, the description is in the base readme, BUT the script is used from the Dockerfile of the \"child\", only.\nThat means we should move the description from the base readme  to child readme.\n\n\"health_check.py\"\nthe description is in the base readme and the script is required from the base image, but the implementation has to be done here.\nThat means we should make a reference to the description in the base readme and show that the script is required...","commit_id":"bfd3a92eb5e02193920b1a2d75198b6532373ecb"},{"author":{"_account_id":21922,"name":"Dobroslaw Zybort","email":"dobroslaw.zybort@ts.fujitsu.com","username":"dobrolaw.zybort"},"change_message_id":"4f045589bb8a5012c02c03dbf79bf66a85569f77","unresolved":false,"context_lines":[{"line_number":23,"context_line":"Detailed build description can be found in:"},{"line_number":24,"context_line":" * build_image.sh"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Build arguments (base)"},{"line_number":27,"context_line":"----------------------"},{"line_number":28,"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\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":29,"context_line":"Arguments              Occurrence"},{"line_number":30,"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\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":31,"context_line":"ARG CREATION_TIME      build_image.sh"},{"line_number":32,"context_line":"ARG DOCKER_IMAGE       Dockerfile/build_image.sh"},{"line_number":33,"context_line":"ARG APP_REPO           Dockerfile/build_image.sh"},{"line_number":34,"context_line":"ARG GITHUB_REPO        build_image.sh"},{"line_number":35,"context_line":"ARG REPO_VERSION       Dockerfile/build_image.sh"},{"line_number":36,"context_line":"ARG GIT_COMMIT         build_image.sh"},{"line_number":37,"context_line":"ARG CONSTRAINTS_BRANCH Dockerfile/build_image.sh"},{"line_number":38,"context_line":"ARG CONSTRAINTS_FILE   Dockerfile-base"},{"line_number":39,"context_line":"ARG EXTRA_DEPS         Dockerfile/build_image.sh"},{"line_number":40,"context_line":"ARG COMMON_REPO        Dockerfile-base"},{"line_number":41,"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\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"Build arguments (child)"},{"line_number":44,"context_line":"-----------------------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"5f7c97a3_339dfaba","line":41,"range":{"start_line":26,"start_character":0,"end_line":41,"end_character":48},"updated":"2018-07-17 12:08:43.000000000","message":"Do we need this info in child README? Do we actually need this info anywhere beside in Dockerfile? They are retrieved automatically by build script.","commit_id":"bfd3a92eb5e02193920b1a2d75198b6532373ecb"},{"author":{"_account_id":16253,"name":"Christian Brandstetter","email":"christian.brandstetter@est.fujitsu.com","username":"christianB"},"change_message_id":"791445a46424a48e9177385fd3c21a217600cc8c","unresolved":false,"context_lines":[{"line_number":23,"context_line":"Detailed build description can be found in:"},{"line_number":24,"context_line":" * build_image.sh"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Build arguments (base)"},{"line_number":27,"context_line":"----------------------"},{"line_number":28,"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\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":29,"context_line":"Arguments              Occurrence"},{"line_number":30,"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\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":31,"context_line":"ARG CREATION_TIME      build_image.sh"},{"line_number":32,"context_line":"ARG DOCKER_IMAGE       Dockerfile/build_image.sh"},{"line_number":33,"context_line":"ARG APP_REPO           Dockerfile/build_image.sh"},{"line_number":34,"context_line":"ARG GITHUB_REPO        build_image.sh"},{"line_number":35,"context_line":"ARG REPO_VERSION       Dockerfile/build_image.sh"},{"line_number":36,"context_line":"ARG GIT_COMMIT         build_image.sh"},{"line_number":37,"context_line":"ARG CONSTRAINTS_BRANCH Dockerfile/build_image.sh"},{"line_number":38,"context_line":"ARG CONSTRAINTS_FILE   Dockerfile-base"},{"line_number":39,"context_line":"ARG EXTRA_DEPS         Dockerfile/build_image.sh"},{"line_number":40,"context_line":"ARG COMMON_REPO        Dockerfile-base"},{"line_number":41,"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\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"Build arguments (child)"},{"line_number":44,"context_line":"-----------------------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"5f7c97a3_99918d56","line":41,"range":{"start_line":26,"start_character":0,"end_line":41,"end_character":48},"in_reply_to":"5f7c97a3_339dfaba","updated":"2018-07-19 09:07:54.000000000","message":"well, just showing the options, but better remove them (consistency)...","commit_id":"bfd3a92eb5e02193920b1a2d75198b6532373ecb"},{"author":{"_account_id":21922,"name":"Dobroslaw Zybort","email":"dobroslaw.zybort@ts.fujitsu.com","username":"dobrolaw.zybort"},"change_message_id":"ecdc95ee26e6a745ca715f0147dc43dbdd86d860","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Requirements from monasca-base image"},{"line_number":16,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":17,"context_line":"* health_check.py"},{"line_number":18,"context_line":" This file will be used for checking the status of the Monasca Log API application."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Scripts for child image"}],"source_content_type":"text/x-rst","patch_set":8,"id":"5f7c97a3_700a2d78","line":18,"range":{"start_line":17,"start_character":0,"end_line":18,"end_character":83},"updated":"2018-07-20 12:06:43.000000000","message":"I don\u0027t think this will generate properly. When I\u0027m trying it with online service to print rst http://rst.ninjs.org I see error.\n\nAnd I think definition list will work better here:\nhttp://docutils.sourceforge.net/docs/user/rst/quickref.html#definition-lists","commit_id":"458094acd8c2753330463ec0293f05db7655bd96"},{"author":{"_account_id":16253,"name":"Christian Brandstetter","email":"christian.brandstetter@est.fujitsu.com","username":"christianB"},"change_message_id":"0a1c16036f5adb52b68fa2c300bfaccfbd54c3b9","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Requirements from monasca-base image"},{"line_number":16,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":17,"context_line":"* health_check.py"},{"line_number":18,"context_line":" This file will be used for checking the status of the Monasca Log API application."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Scripts for child image"}],"source_content_type":"text/x-rst","patch_set":8,"id":"5f7c97a3_cdeca4be","line":18,"range":{"start_line":17,"start_character":0,"end_line":18,"end_character":83},"in_reply_to":"5f7c97a3_700a2d78","updated":"2018-07-23 09:20:31.000000000","message":"ok, I\u0027ll change...I used an Atom plugin to check the rst...","commit_id":"458094acd8c2753330463ec0293f05db7655bd96"},{"author":{"_account_id":21922,"name":"Dobroslaw Zybort","email":"dobroslaw.zybort@ts.fujitsu.com","username":"dobrolaw.zybort"},"change_message_id":"ecdc95ee26e6a745ca715f0147dc43dbdd86d860","unresolved":false,"context_lines":[{"line_number":21,"context_line":"Scripts for child image"},{"line_number":22,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":23,"context_line":" * start.sh"},{"line_number":24,"context_line":"  In this starting script provide all steps that lead to the proper service start. Including usage of wait scripts and templating of configuration files. You also could provide the ability to allow running container after service died for easier debugging."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":" * build_image.sh"},{"line_number":27,"context_line":"  Please read detailed build description inside the script."}],"source_content_type":"text/x-rst","patch_set":8,"id":"5f7c97a3_707f8ddd","line":24,"range":{"start_line":24,"start_character":0,"end_line":24,"end_character":256},"updated":"2018-07-20 12:06:43.000000000","message":"Too long line, split after 79 chars.","commit_id":"458094acd8c2753330463ec0293f05db7655bd96"},{"author":{"_account_id":16253,"name":"Christian Brandstetter","email":"christian.brandstetter@est.fujitsu.com","username":"christianB"},"change_message_id":"0a1c16036f5adb52b68fa2c300bfaccfbd54c3b9","unresolved":false,"context_lines":[{"line_number":21,"context_line":"Scripts for child image"},{"line_number":22,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":23,"context_line":" * start.sh"},{"line_number":24,"context_line":"  In this starting script provide all steps that lead to the proper service start. Including usage of wait scripts and templating of configuration files. You also could provide the ability to allow running container after service died for easier debugging."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":" * build_image.sh"},{"line_number":27,"context_line":"  Please read detailed build description inside the script."}],"source_content_type":"text/x-rst","patch_set":8,"id":"5f7c97a3_8d246c1c","line":24,"range":{"start_line":24,"start_character":0,"end_line":24,"end_character":256},"in_reply_to":"5f7c97a3_707f8ddd","updated":"2018-07-23 09:20:31.000000000","message":"ok","commit_id":"458094acd8c2753330463ec0293f05db7655bd96"},{"author":{"_account_id":21922,"name":"Dobroslaw Zybort","email":"dobroslaw.zybort@ts.fujitsu.com","username":"dobrolaw.zybort"},"change_message_id":"ecdc95ee26e6a745ca715f0147dc43dbdd86d860","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Scripts for child image"},{"line_number":22,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":23,"context_line":" * start.sh"},{"line_number":24,"context_line":"  In this starting script provide all steps that lead to the proper service start. Including usage of wait scripts and templating of configuration files. You also could provide the ability to allow running container after service died for easier debugging."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":" * build_image.sh"},{"line_number":27,"context_line":"  Please read detailed build description inside the script."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Build arguments (child)"}],"source_content_type":"text/x-rst","patch_set":8,"id":"5f7c97a3_9076e90b","line":27,"range":{"start_line":23,"start_character":0,"end_line":27,"end_character":59},"updated":"2018-07-20 12:06:43.000000000","message":"same problem with first list (with health_check)","commit_id":"458094acd8c2753330463ec0293f05db7655bd96"},{"author":{"_account_id":16253,"name":"Christian Brandstetter","email":"christian.brandstetter@est.fujitsu.com","username":"christianB"},"change_message_id":"0a1c16036f5adb52b68fa2c300bfaccfbd54c3b9","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Scripts for child image"},{"line_number":22,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":23,"context_line":" * start.sh"},{"line_number":24,"context_line":"  In this starting script provide all steps that lead to the proper service start. Including usage of wait scripts and templating of configuration files. You also could provide the ability to allow running container after service died for easier debugging."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":" * build_image.sh"},{"line_number":27,"context_line":"  Please read detailed build description inside the script."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Build arguments (child)"}],"source_content_type":"text/x-rst","patch_set":8,"id":"5f7c97a3_ad2928f2","line":27,"range":{"start_line":23,"start_character":0,"end_line":27,"end_character":59},"in_reply_to":"5f7c97a3_9076e90b","updated":"2018-07-23 09:20:31.000000000","message":"ok","commit_id":"458094acd8c2753330463ec0293f05db7655bd96"},{"author":{"_account_id":26141,"name":"Adrian Czarnecki","email":"adrian.czarnecki@ts.fujitsu.com","username":"czarneckia"},"change_message_id":"46b5ababaeb4b67b22c96dc0ce763b1428c0bbc0","unresolved":false,"context_lines":[{"line_number":42,"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\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\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\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\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":43,"context_line":"KAFKA_URI                      kafka:9092                                                              URI to Apache Kafka (distributed streaming platform)"},{"line_number":44,"context_line":"KAFKA_WAIT_FOR_TOPICS          log                                                                     The topic where log-api streams the log messages"},{"line_number":45,"context_line":"KAFKA_WAIT_RETRIES \t           24                                                                      Number of kafka connect attempts"},{"line_number":46,"context_line":"KAFKA_WAIT_DELAY               5                                                                       Seconds to wait between attempts"},{"line_number":47,"context_line":"MONASCA_CONTAINER_LOG_API_PORT 5607                                                                    The port from the log pipeline endpoint"},{"line_number":48,"context_line":"MEMCACHED_URI                  memcached:11211                                                         URI to Keystone authentication cache"}],"source_content_type":"text/x-rst","patch_set":16,"id":"3f79a3b5_c9f6e1d6","line":45,"range":{"start_line":45,"start_character":99,"end_line":45,"end_character":103},"updated":"2018-11-13 12:04:00.000000000","message":"Pleas remove this unnecessary spaces","commit_id":"9e1a7f9a7b4eb94e749645168258de32cf8195b4"},{"author":{"_account_id":26141,"name":"Adrian Czarnecki","email":"adrian.czarnecki@ts.fujitsu.com","username":"czarneckia"},"change_message_id":"46b5ababaeb4b67b22c96dc0ce763b1428c0bbc0","unresolved":false,"context_lines":[{"line_number":42,"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\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\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\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\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":43,"context_line":"KAFKA_URI                      kafka:9092                                                              URI to Apache Kafka (distributed streaming platform)"},{"line_number":44,"context_line":"KAFKA_WAIT_FOR_TOPICS          log                                                                     The topic where log-api streams the log messages"},{"line_number":45,"context_line":"KAFKA_WAIT_RETRIES \t           24                                                                      Number of kafka connect attempts"},{"line_number":46,"context_line":"KAFKA_WAIT_DELAY               5                                                                       Seconds to wait between attempts"},{"line_number":47,"context_line":"MONASCA_CONTAINER_LOG_API_PORT 5607                                                                    The port from the log pipeline endpoint"},{"line_number":48,"context_line":"MEMCACHED_URI                  memcached:11211                                                         URI to Keystone authentication cache"}],"source_content_type":"text/x-rst","patch_set":16,"id":"3f79a3b5_e9ef1df9","line":45,"range":{"start_line":45,"start_character":27,"end_line":45,"end_character":31},"updated":"2018-11-13 12:04:00.000000000","message":"Pleas remove this unnecessary spaces","commit_id":"9e1a7f9a7b4eb94e749645168258de32cf8195b4"},{"author":{"_account_id":21922,"name":"Dobroslaw Zybort","email":"dobroslaw.zybort@ts.fujitsu.com","username":"dobrolaw.zybort"},"change_message_id":"17b250602e36b3fbf130899a101a7503d5b280d4","unresolved":false,"context_lines":[{"line_number":42,"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\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\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\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\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":43,"context_line":"KAFKA_URI                      kafka:9092                                                              URI to Apache Kafka (distributed streaming platform)"},{"line_number":44,"context_line":"KAFKA_WAIT_FOR_TOPICS          log                                                                     The topic where log-api streams the log messages"},{"line_number":45,"context_line":"KAFKA_WAIT_RETRIES \t           24                                                                      Number of kafka connect attempts"},{"line_number":46,"context_line":"KAFKA_WAIT_DELAY               5                                                                       Seconds to wait between attempts"},{"line_number":47,"context_line":"MONASCA_CONTAINER_LOG_API_PORT 5607                                                                    The port from the log pipeline endpoint"},{"line_number":48,"context_line":"MEMCACHED_URI                  memcached:11211                                                         URI to Keystone authentication cache"}],"source_content_type":"text/x-rst","patch_set":16,"id":"3f79a3b5_a33daf8e","line":45,"range":{"start_line":45,"start_character":99,"end_line":45,"end_character":103},"in_reply_to":"3f79a3b5_c9f6e1d6","updated":"2018-11-14 09:20:38.000000000","message":"Done","commit_id":"9e1a7f9a7b4eb94e749645168258de32cf8195b4"},{"author":{"_account_id":21922,"name":"Dobroslaw Zybort","email":"dobroslaw.zybort@ts.fujitsu.com","username":"dobrolaw.zybort"},"change_message_id":"17b250602e36b3fbf130899a101a7503d5b280d4","unresolved":false,"context_lines":[{"line_number":42,"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\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\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\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\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":43,"context_line":"KAFKA_URI                      kafka:9092                                                              URI to Apache Kafka (distributed streaming platform)"},{"line_number":44,"context_line":"KAFKA_WAIT_FOR_TOPICS          log                                                                     The topic where log-api streams the log messages"},{"line_number":45,"context_line":"KAFKA_WAIT_RETRIES \t           24                                                                      Number of kafka connect attempts"},{"line_number":46,"context_line":"KAFKA_WAIT_DELAY               5                                                                       Seconds to wait between attempts"},{"line_number":47,"context_line":"MONASCA_CONTAINER_LOG_API_PORT 5607                                                                    The port from the log pipeline endpoint"},{"line_number":48,"context_line":"MEMCACHED_URI                  memcached:11211                                                         URI to Keystone authentication cache"}],"source_content_type":"text/x-rst","patch_set":16,"id":"3f79a3b5_43429b10","line":45,"range":{"start_line":45,"start_character":27,"end_line":45,"end_character":31},"in_reply_to":"3f79a3b5_e9ef1df9","updated":"2018-11-14 09:20:38.000000000","message":"Done","commit_id":"9e1a7f9a7b4eb94e749645168258de32cf8195b4"}],"docker/health_check.py":[{"author":{"_account_id":21922,"name":"Dobroslaw Zybort","email":"dobroslaw.zybort@ts.fujitsu.com","username":"dobrolaw.zybort"},"change_message_id":"5804c254b8803b2251d34d736ec80d75437ca476","unresolved":false,"context_lines":[{"line_number":18,"context_line":"\"\"\"Health check will returns 0 when service is working properly.\"\"\""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"import logging"},{"line_number":21,"context_line":"import http.client"},{"line_number":22,"context_line":"import os"},{"line_number":23,"context_line":"import time"},{"line_number":24,"context_line":"import sys"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_7e7a7325","line":21,"range":{"start_line":21,"start_character":7,"end_line":21,"end_character":18},"updated":"2018-07-03 12:03:08.000000000","message":"documentation itself say this is too low level \nhttps://docs.python.org/3.5/library/http.client.html\nand suggest using urllib.request instead\nhttps://docs.python.org/3.5/library/urllib.request.html","commit_id":"b9daadee74eda0727ba5839bb4f203986a689ae7"},{"author":{"_account_id":16253,"name":"Christian Brandstetter","email":"christian.brandstetter@est.fujitsu.com","username":"christianB"},"change_message_id":"7bbf831b93ae08d322672a1e196bc23dfd80c28f","unresolved":false,"context_lines":[{"line_number":18,"context_line":"\"\"\"Health check will returns 0 when service is working properly.\"\"\""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"import logging"},{"line_number":21,"context_line":"import http.client"},{"line_number":22,"context_line":"import os"},{"line_number":23,"context_line":"import time"},{"line_number":24,"context_line":"import sys"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_78ae0630","line":21,"range":{"start_line":21,"start_character":7,"end_line":21,"end_character":18},"in_reply_to":"5f7c97a3_7e7a7325","updated":"2018-07-10 14:03:03.000000000","message":"well, the link recomments to use the requests package:\n\"The Requests package is recommended for a higher-level HTTP client interface.\"\nThats the package I started with, but it would be an extra package...\nFor me the http package seems to be sufficient. Is there any technical reason to use urllib?","commit_id":"b9daadee74eda0727ba5839bb4f203986a689ae7"},{"author":{"_account_id":21922,"name":"Dobroslaw Zybort","email":"dobroslaw.zybort@ts.fujitsu.com","username":"dobrolaw.zybort"},"change_message_id":"5804c254b8803b2251d34d736ec80d75437ca476","unresolved":false,"context_lines":[{"line_number":35,"context_line":""},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"class HealthCheck:"},{"line_number":38,"context_line":"    \"\"\"health check for Monasca-Log-API\"\"\""},{"line_number":39,"context_line":"    api_url \u003d \"\""},{"line_number":40,"context_line":"    timestamp_req \u003d 0.0"},{"line_number":41,"context_line":"    timestamp_res \u003d 0.0"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_fe33e3c2","line":38,"range":{"start_line":38,"start_character":7,"end_line":38,"end_character":39},"updated":"2018-07-03 12:03:08.000000000","message":"Please, start all doc strings with upper case and end with dot (pep257).","commit_id":"b9daadee74eda0727ba5839bb4f203986a689ae7"},{"author":{"_account_id":16253,"name":"Christian Brandstetter","email":"christian.brandstetter@est.fujitsu.com","username":"christianB"},"change_message_id":"7bbf831b93ae08d322672a1e196bc23dfd80c28f","unresolved":false,"context_lines":[{"line_number":35,"context_line":""},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"class HealthCheck:"},{"line_number":38,"context_line":"    \"\"\"health check for Monasca-Log-API\"\"\""},{"line_number":39,"context_line":"    api_url \u003d \"\""},{"line_number":40,"context_line":"    timestamp_req \u003d 0.0"},{"line_number":41,"context_line":"    timestamp_res \u003d 0.0"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_d86cfa08","line":38,"range":{"start_line":38,"start_character":7,"end_line":38,"end_character":39},"in_reply_to":"5f7c97a3_fe33e3c2","updated":"2018-07-10 14:03:03.000000000","message":"ok","commit_id":"b9daadee74eda0727ba5839bb4f203986a689ae7"},{"author":{"_account_id":21922,"name":"Dobroslaw Zybort","email":"dobroslaw.zybort@ts.fujitsu.com","username":"dobrolaw.zybort"},"change_message_id":"5804c254b8803b2251d34d736ec80d75437ca476","unresolved":false,"context_lines":[{"line_number":43,"context_line":"    response \u003d None"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    def create_api_url(self):"},{"line_number":46,"context_line":"        \"\"\"create URL for the health check API \"\"\""},{"line_number":47,"context_line":"        self.api_url \u003d \"http://localhost:\" + API_PORT + \"/healthcheck\""},{"line_number":48,"context_line":"        logger.debug(\u0027api URL: %s\u0027, self.api_url)"},{"line_number":49,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_de406709","line":46,"range":{"start_line":46,"start_character":46,"end_line":46,"end_character":47},"updated":"2018-07-03 12:03:08.000000000","message":"remove trailing space","commit_id":"b9daadee74eda0727ba5839bb4f203986a689ae7"},{"author":{"_account_id":16253,"name":"Christian Brandstetter","email":"christian.brandstetter@est.fujitsu.com","username":"christianB"},"change_message_id":"7bbf831b93ae08d322672a1e196bc23dfd80c28f","unresolved":false,"context_lines":[{"line_number":43,"context_line":"    response \u003d None"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    def create_api_url(self):"},{"line_number":46,"context_line":"        \"\"\"create URL for the health check API \"\"\""},{"line_number":47,"context_line":"        self.api_url \u003d \"http://localhost:\" + API_PORT + \"/healthcheck\""},{"line_number":48,"context_line":"        logger.debug(\u0027api URL: %s\u0027, self.api_url)"},{"line_number":49,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_5878eabf","line":46,"range":{"start_line":46,"start_character":46,"end_line":46,"end_character":47},"in_reply_to":"5f7c97a3_de406709","updated":"2018-07-10 14:03:03.000000000","message":"ok","commit_id":"b9daadee74eda0727ba5839bb4f203986a689ae7"},{"author":{"_account_id":21922,"name":"Dobroslaw Zybort","email":"dobroslaw.zybort@ts.fujitsu.com","username":"dobrolaw.zybort"},"change_message_id":"5804c254b8803b2251d34d736ec80d75437ca476","unresolved":false,"context_lines":[{"line_number":42,"context_line":"    response_time_ms \u003d 0.0"},{"line_number":43,"context_line":"    response \u003d None"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    def create_api_url(self):"},{"line_number":46,"context_line":"        \"\"\"create URL for the health check API \"\"\""},{"line_number":47,"context_line":"        self.api_url \u003d \"http://localhost:\" + API_PORT + \"/healthcheck\""},{"line_number":48,"context_line":"        logger.debug(\u0027api URL: %s\u0027, self.api_url)"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    def send_request(self):"},{"line_number":51,"context_line":"        \"\"\"send health check request to health check API\"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_3e515bda","line":48,"range":{"start_line":45,"start_character":4,"end_line":48,"end_character":49},"updated":"2018-07-03 12:03:08.000000000","message":"why function for creating one variable?","commit_id":"b9daadee74eda0727ba5839bb4f203986a689ae7"},{"author":{"_account_id":16253,"name":"Christian Brandstetter","email":"christian.brandstetter@est.fujitsu.com","username":"christianB"},"change_message_id":"7bbf831b93ae08d322672a1e196bc23dfd80c28f","unresolved":false,"context_lines":[{"line_number":42,"context_line":"    response_time_ms \u003d 0.0"},{"line_number":43,"context_line":"    response \u003d None"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    def create_api_url(self):"},{"line_number":46,"context_line":"        \"\"\"create URL for the health check API \"\"\""},{"line_number":47,"context_line":"        self.api_url \u003d \"http://localhost:\" + API_PORT + \"/healthcheck\""},{"line_number":48,"context_line":"        logger.debug(\u0027api URL: %s\u0027, self.api_url)"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    def send_request(self):"},{"line_number":51,"context_line":"        \"\"\"send health check request to health check API\"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_4e1812cc","line":48,"range":{"start_line":45,"start_character":4,"end_line":48,"end_character":49},"in_reply_to":"5f7c97a3_3e515bda","updated":"2018-07-10 14:03:03.000000000","message":"See \"clean code\" chapter \"functions\"","commit_id":"b9daadee74eda0727ba5839bb4f203986a689ae7"},{"author":{"_account_id":21922,"name":"Dobroslaw Zybort","email":"dobroslaw.zybort@ts.fujitsu.com","username":"dobrolaw.zybort"},"change_message_id":"5804c254b8803b2251d34d736ec80d75437ca476","unresolved":false,"context_lines":[{"line_number":58,"context_line":"        logger.debug(\u0027got response\u0027)"},{"line_number":59,"context_line":"        self.log_response_details()"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    def log_response_details(self):"},{"line_number":62,"context_line":"        \"\"\"log response reason and content\"\"\""},{"line_number":63,"context_line":"        logger.debug(\u0027reason: %s\u0027, self.response.reason)"},{"line_number":64,"context_line":"        content \u003d self.response.read().decode(\u0027utf-8\u0027)"},{"line_number":65,"context_line":"        logger.debug(\u0027content: %s\u0027, content[:100])"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"    def check_response_code(self):"},{"line_number":68,"context_line":"        \"\"\"check response code to health check request\"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_3e187b1c","line":65,"range":{"start_line":61,"start_character":0,"end_line":65,"end_character":50},"updated":"2018-07-03 12:03:08.000000000","message":"why separate function for this when you are using it in one place?","commit_id":"b9daadee74eda0727ba5839bb4f203986a689ae7"},{"author":{"_account_id":16253,"name":"Christian Brandstetter","email":"christian.brandstetter@est.fujitsu.com","username":"christianB"},"change_message_id":"7bbf831b93ae08d322672a1e196bc23dfd80c28f","unresolved":false,"context_lines":[{"line_number":58,"context_line":"        logger.debug(\u0027got response\u0027)"},{"line_number":59,"context_line":"        self.log_response_details()"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    def log_response_details(self):"},{"line_number":62,"context_line":"        \"\"\"log response reason and content\"\"\""},{"line_number":63,"context_line":"        logger.debug(\u0027reason: %s\u0027, self.response.reason)"},{"line_number":64,"context_line":"        content \u003d self.response.read().decode(\u0027utf-8\u0027)"},{"line_number":65,"context_line":"        logger.debug(\u0027content: %s\u0027, content[:100])"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"    def check_response_code(self):"},{"line_number":68,"context_line":"        \"\"\"check response code to health check request\"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_8e1cea13","line":65,"range":{"start_line":61,"start_character":0,"end_line":65,"end_character":50},"in_reply_to":"5f7c97a3_3e187b1c","updated":"2018-07-10 14:03:03.000000000","message":"See \"clean code\" chapter \"functions\"","commit_id":"b9daadee74eda0727ba5839bb4f203986a689ae7"},{"author":{"_account_id":21922,"name":"Dobroslaw Zybort","email":"dobroslaw.zybort@ts.fujitsu.com","username":"dobrolaw.zybort"},"change_message_id":"5804c254b8803b2251d34d736ec80d75437ca476","unresolved":false,"context_lines":[{"line_number":64,"context_line":"        content \u003d self.response.read().decode(\u0027utf-8\u0027)"},{"line_number":65,"context_line":"        logger.debug(\u0027content: %s\u0027, content[:100])"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"    def check_response_code(self):"},{"line_number":68,"context_line":"        \"\"\"check response code to health check request\"\"\""},{"line_number":69,"context_line":"        logger.debug(\u0027check response code (must be 200)\u0027)"},{"line_number":70,"context_line":"        if self.response.status !\u003d 200:"},{"line_number":71,"context_line":"            logger.error(\u0027health check response code (%s) !\u003d 200\u0027,"},{"line_number":72,"context_line":"                         format(self.response.status))"},{"line_number":73,"context_line":"            sys.exit(1)"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"    def check_response_time(self):"},{"line_number":76,"context_line":"        \"\"\"check response time to health check request\"\"\""},{"line_number":77,"context_line":"        logger.debug(\u0027check response time (threshold is set to %ims)\u0027, MAX_RESPONSE_TIME_MS)"},{"line_number":78,"context_line":"        self.response_time_ms \u003d (self.timestamp_res - self.timestamp_req) * 1000"},{"line_number":79,"context_line":"        if self.response_time_ms \u003e MAX_RESPONSE_TIME_MS:"},{"line_number":80,"context_line":"            logger.error(\u0027health check response time (%ims) \u003e %ims \u0027,"},{"line_number":81,"context_line":"                         self.response_time_ms,"},{"line_number":82,"context_line":"                         MAX_RESPONSE_TIME_MS)"},{"line_number":83,"context_line":"            sys.exit(1)"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    def log_result(self):"},{"line_number":86,"context_line":"        \"\"\"log the result of the health check\"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_1ebc9fd9","line":83,"range":{"start_line":67,"start_character":0,"end_line":83,"end_character":23},"updated":"2018-07-03 12:03:08.000000000","message":"squash into one function (I think `validate_response` would be nicer name)","commit_id":"b9daadee74eda0727ba5839bb4f203986a689ae7"},{"author":{"_account_id":16253,"name":"Christian Brandstetter","email":"christian.brandstetter@est.fujitsu.com","username":"christianB"},"change_message_id":"7bbf831b93ae08d322672a1e196bc23dfd80c28f","unresolved":false,"context_lines":[{"line_number":64,"context_line":"        content \u003d self.response.read().decode(\u0027utf-8\u0027)"},{"line_number":65,"context_line":"        logger.debug(\u0027content: %s\u0027, content[:100])"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"    def check_response_code(self):"},{"line_number":68,"context_line":"        \"\"\"check response code to health check request\"\"\""},{"line_number":69,"context_line":"        logger.debug(\u0027check response code (must be 200)\u0027)"},{"line_number":70,"context_line":"        if self.response.status !\u003d 200:"},{"line_number":71,"context_line":"            logger.error(\u0027health check response code (%s) !\u003d 200\u0027,"},{"line_number":72,"context_line":"                         format(self.response.status))"},{"line_number":73,"context_line":"            sys.exit(1)"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"    def check_response_time(self):"},{"line_number":76,"context_line":"        \"\"\"check response time to health check request\"\"\""},{"line_number":77,"context_line":"        logger.debug(\u0027check response time (threshold is set to %ims)\u0027, MAX_RESPONSE_TIME_MS)"},{"line_number":78,"context_line":"        self.response_time_ms \u003d (self.timestamp_res - self.timestamp_req) * 1000"},{"line_number":79,"context_line":"        if self.response_time_ms \u003e MAX_RESPONSE_TIME_MS:"},{"line_number":80,"context_line":"            logger.error(\u0027health check response time (%ims) \u003e %ims \u0027,"},{"line_number":81,"context_line":"                         self.response_time_ms,"},{"line_number":82,"context_line":"                         MAX_RESPONSE_TIME_MS)"},{"line_number":83,"context_line":"            sys.exit(1)"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    def log_result(self):"},{"line_number":86,"context_line":"        \"\"\"log the result of the health check\"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_11655f45","line":83,"range":{"start_line":67,"start_character":0,"end_line":83,"end_character":23},"in_reply_to":"5f7c97a3_1ebc9fd9","updated":"2018-07-10 14:03:03.000000000","message":"See \"clean code\" chapter \"functions\"","commit_id":"b9daadee74eda0727ba5839bb4f203986a689ae7"},{"author":{"_account_id":21922,"name":"Dobroslaw Zybort","email":"dobroslaw.zybort@ts.fujitsu.com","username":"dobrolaw.zybort"},"change_message_id":"5804c254b8803b2251d34d736ec80d75437ca476","unresolved":false,"context_lines":[{"line_number":98,"context_line":"    check.send_request()"},{"line_number":99,"context_line":"    check.check_response_code()"},{"line_number":100,"context_line":"    check.check_response_time()"},{"line_number":101,"context_line":"    check.log_result()"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"if __name__ \u003d\u003d \u0027__main__\u0027:"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_beaecb7e","line":101,"range":{"start_line":101,"start_character":4,"end_line":101,"end_character":22},"updated":"2018-07-03 12:03:08.000000000","message":"don\u0027t log anything by default, log only on errors and when debug is configured","commit_id":"b9daadee74eda0727ba5839bb4f203986a689ae7"},{"author":{"_account_id":16253,"name":"Christian Brandstetter","email":"christian.brandstetter@est.fujitsu.com","username":"christianB"},"change_message_id":"7bbf831b93ae08d322672a1e196bc23dfd80c28f","unresolved":false,"context_lines":[{"line_number":98,"context_line":"    check.send_request()"},{"line_number":99,"context_line":"    check.check_response_code()"},{"line_number":100,"context_line":"    check.check_response_time()"},{"line_number":101,"context_line":"    check.log_result()"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"if __name__ \u003d\u003d \u0027__main__\u0027:"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_c76e45c7","line":101,"range":{"start_line":101,"start_character":4,"end_line":101,"end_character":22},"in_reply_to":"5f7c97a3_beaecb7e","updated":"2018-07-10 14:03:03.000000000","message":"well, health check is performed all 5 minutes (probably not often enough for e.g. Kubernetes) so not too many logs are created and the response status and time could be monitored.\nFMPOV it is a valuable info...","commit_id":"b9daadee74eda0727ba5839bb4f203986a689ae7"},{"author":{"_account_id":16222,"name":"witek","email":"witold.bedyk@suse.com","username":"witek"},"change_message_id":"321eaa98571a84207fca27484305e964cc3659dd","unresolved":false,"context_lines":[{"line_number":23,"context_line":"import sys"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"LOG_LEVEL \u003d logging.getLevelName(os.environ.get(\u0027LOG_LEVEL\u0027, \u0027DEBUG\u0027))"},{"line_number":27,"context_line":"logging.basicConfig(level\u003dLOG_LEVEL)"},{"line_number":28,"context_line":"logger \u003d logging.getLogger(__name__)"},{"line_number":29,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_a34cd975","line":26,"range":{"start_line":26,"start_character":62,"end_line":26,"end_character":67},"updated":"2018-07-11 11:04:49.000000000","message":"Should probably be \u0027WARNING\u0027 or \u0027INFO\u0027.","commit_id":"da34e785106954b3d0c85419b3ad191cf2ffa4e9"},{"author":{"_account_id":16253,"name":"Christian Brandstetter","email":"christian.brandstetter@est.fujitsu.com","username":"christianB"},"change_message_id":"4a5a5fbbd6d4586f7fc948aa94e7e82f629cb71f","unresolved":false,"context_lines":[{"line_number":23,"context_line":"import sys"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"LOG_LEVEL \u003d logging.getLevelName(os.environ.get(\u0027LOG_LEVEL\u0027, \u0027DEBUG\u0027))"},{"line_number":27,"context_line":"logging.basicConfig(level\u003dLOG_LEVEL)"},{"line_number":28,"context_line":"logger \u003d logging.getLogger(__name__)"},{"line_number":29,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"5f7c97a3_63f9854c","line":26,"range":{"start_line":26,"start_character":62,"end_line":26,"end_character":67},"in_reply_to":"5f7c97a3_a34cd975","updated":"2018-07-16 08:06:07.000000000","message":"ok","commit_id":"da34e785106954b3d0c85419b3ad191cf2ffa4e9"}],"docker/log-api-gunicorn.conf.j2":[{"author":{"_account_id":21922,"name":"Dobroslaw Zybort","email":"dobroslaw.zybort@ts.fujitsu.com","username":"dobrolaw.zybort"},"change_message_id":"5804c254b8803b2251d34d736ec80d75437ca476","unresolved":false,"context_lines":[{"line_number":1,"context_line":"bind \u003d \u00270.0.0.0:{{ MONASCA_CONTAINER_LOG_API_PORT }}\u0027"},{"line_number":2,"context_line":"proc_name \u003d \u0027monasca-log-api\u0027"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"backlog \u003d {{ GUNICORN_BACKLOG|int }}"},{"line_number":5,"context_line":"workers \u003d {{ GUNICORN_WORKERS|int }}"},{"line_number":6,"context_line":"worker_class \u003d \u0027{{ GUNICORN_WORKER_CLASS }}\u0027"},{"line_number":7,"context_line":"timeout \u003d {{ GUNICORN_TIMEOUT|int }}"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"{% if ADD_ACCESS_LOG \u003d\u003d true %}"},{"line_number":10,"context_line":"accesslog \u003d \u0027-\u0027"}],"source_content_type":"text/x-jinja2","patch_set":1,"id":"5f7c97a3_bee32bd8","line":7,"range":{"start_line":4,"start_character":0,"end_line":7,"end_character":36},"updated":"2018-07-03 12:03:08.000000000","message":"please, add spaces around `|`","commit_id":"b9daadee74eda0727ba5839bb4f203986a689ae7"}],"docker/start.sh":[{"author":{"_account_id":21922,"name":"Dobroslaw Zybort","email":"dobroslaw.zybort@ts.fujitsu.com","username":"dobrolaw.zybort"},"change_message_id":"5804c254b8803b2251d34d736ec80d75437ca476","unresolved":false,"context_lines":[{"line_number":2,"context_line":"# Starting script."},{"line_number":3,"context_line":"# All checks you need to do before service could be safely started should"},{"line_number":4,"context_line":"# be added in this file."},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"# Test services we need before starting our service."},{"line_number":7,"context_line":"echo \"Start script: waiting for needed services\""},{"line_number":8,"context_line":"python3 /kafka_wait_for_topics.py || exit 1"}],"source_content_type":"text/x-sh","patch_set":1,"id":"5f7c97a3_be0a4b76","line":5,"updated":"2018-07-03 12:03:08.000000000","message":"Add here: \n`set -e  # Exit the script if any statement returns a non-true return value.`\nThen `|| exit 1` will be not needed any more.\n\nI added this in my change as PS #45.","commit_id":"b9daadee74eda0727ba5839bb4f203986a689ae7"},{"author":{"_account_id":21922,"name":"Dobroslaw Zybort","email":"dobroslaw.zybort@ts.fujitsu.com","username":"dobrolaw.zybort"},"change_message_id":"4f045589bb8a5012c02c03dbf79bf66a85569f77","unresolved":false,"context_lines":[{"line_number":16,"context_line":"# All checks you need to do before service could be safely started should"},{"line_number":17,"context_line":"# be added in this file."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"set -e  # Exit the script if any statement returns a non-true return value."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"# Test services we need before starting our service."},{"line_number":22,"context_line":"echo \"Start script: waiting for needed services\""}],"source_content_type":"text/x-sh","patch_set":7,"id":"5f7c97a3_734a9224","line":19,"updated":"2018-07-17 12:08:43.000000000","message":"Replace with: `set -eo pipefail  # Exit the script if any statement returns error.`\n\nI updated this template in my change.\nAlso I don\u0027t think that set -x is necessary in start script.","commit_id":"bfd3a92eb5e02193920b1a2d75198b6532373ecb"},{"author":{"_account_id":16253,"name":"Christian Brandstetter","email":"christian.brandstetter@est.fujitsu.com","username":"christianB"},"change_message_id":"791445a46424a48e9177385fd3c21a217600cc8c","unresolved":false,"context_lines":[{"line_number":16,"context_line":"# All checks you need to do before service could be safely started should"},{"line_number":17,"context_line":"# be added in this file."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"set -e  # Exit the script if any statement returns a non-true return value."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"# Test services we need before starting our service."},{"line_number":22,"context_line":"echo \"Start script: waiting for needed services\""}],"source_content_type":"text/x-sh","patch_set":7,"id":"5f7c97a3_3633a815","line":19,"in_reply_to":"5f7c97a3_734a9224","updated":"2018-07-19 09:07:54.000000000","message":"\"set -e\" is not updated:\nhttps://github.com/openstack/monasca-common/blob/master/docker/example/start.sh\n\nand I don\u0027t see \"set -x\" in that script!?","commit_id":"bfd3a92eb5e02193920b1a2d75198b6532373ecb"}]}
