)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":20498,"name":"Spyros Trigazis","email":"spyridon.trigazis@cern.ch","username":"strigazi"},"change_message_id":"e16f355e3d046488f0de50358ad2290ba76d39c9","unresolved":false,"context_lines":[{"line_number":31,"context_line":"TLS to monitoring containers and adding compliance"},{"line_number":32,"context_line":"with Docker v1.12 are improvements in progress, to"},{"line_number":33,"context_line":"be added in future reviews"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"Change-Id: I138a70d3dedad90e8065d92e1c6dbc8cb9b56d81"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3a71b18c_7e2593ac","line":34,"updated":"2016-12-08 10:37:23.000000000","message":"Partially-Implements: blueprint container-monitoring","commit_id":"4bdd8082c61bef29e591e909c4d8624bcd7f20ef"},{"author":{"_account_id":20498,"name":"Spyros Trigazis","email":"spyridon.trigazis@cern.ch","username":"strigazi"},"change_message_id":"d0faa850eed51893fffb3737b2d7be069588670c","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Cristovao Cordeiro \u003ccjdcordeiro@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-12-08 11:31:13 +0100"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"container monitoring in Swarm with Docker v1.10"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Blueprint: https://blueprints.launchpad.net/magnum/+spec/container-monitoring"},{"line_number":10,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3a71b18c_5ee4573a","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":1},"updated":"2016-12-08 10:43:05.000000000","message":"s/container/Container","commit_id":"48e59ffa59108a75a2bcc71088d58044c4d8bbf8"},{"author":{"_account_id":20498,"name":"Spyros Trigazis","email":"spyridon.trigazis@cern.ch","username":"strigazi"},"change_message_id":"d0faa850eed51893fffb3737b2d7be069588670c","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"container monitoring in Swarm with Docker v1.10"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Blueprint: https://blueprints.launchpad.net/magnum/+spec/container-monitoring"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"a few changes on the HEAT templates plus some new"},{"line_number":12,"context_line":"fragments now allow, by default, to have monitoring"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"3a71b18c_1edadf78","line":9,"range":{"start_line":9,"start_character":0,"end_line":9,"end_character":77},"updated":"2016-12-08 10:43:05.000000000","message":"remove this","commit_id":"48e59ffa59108a75a2bcc71088d58044c4d8bbf8"},{"author":{"_account_id":20498,"name":"Spyros Trigazis","email":"spyridon.trigazis@cern.ch","username":"strigazi"},"change_message_id":"e8657a6b077d14e6fecb1d16f28bf6d021400552","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Cristovao Cordeiro \u003ccjdcordeiro@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2017-01-11 14:44:48 +0100"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Container monitoring in Swarm with Docker v1.10"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"a few changes on the HEAT templates plus some new"},{"line_number":10,"context_line":"fragments now allow, by default, to have monitoring"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":14,"id":"9a57fde8_152594c1","line":7,"range":{"start_line":7,"start_character":42,"end_line":7,"end_character":47},"updated":"2017-01-12 09:05:52.000000000","message":"It\u0027s compatible from 1.10 and above right?","commit_id":"08f816a2a1260d1766aafe8b4704a23e220d8c15"},{"author":{"_account_id":20498,"name":"Spyros Trigazis","email":"spyridon.trigazis@cern.ch","username":"strigazi"},"change_message_id":"e8657a6b077d14e6fecb1d16f28bf6d021400552","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Container monitoring in Swarm with Docker v1.10"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"a few changes on the HEAT templates plus some new"},{"line_number":10,"context_line":"fragments now allow, by default, to have monitoring"},{"line_number":11,"context_line":"enabled in Swarm clusters running with Docker v1.10."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":14,"id":"9a57fde8_352298ba","line":9,"updated":"2017-01-12 09:05:52.000000000","message":"Wrap in 70 characters.","commit_id":"08f816a2a1260d1766aafe8b4704a23e220d8c15"}],"magnum/drivers/common/swarm_fedora_template_def.py":[{"author":{"_account_id":20031,"name":"Mathieu Velten","email":"mathieu.velten@cern.ch","username":"MatMaul"},"change_message_id":"d963a0b8506b0ad3eab870f5fb87b788cf44eed1","unresolved":false,"context_lines":[{"line_number":95,"context_line":""},{"line_number":96,"context_line":"        label_list \u003d [\u0027flannel_network_cidr\u0027, \u0027flannel_backend\u0027,"},{"line_number":97,"context_line":"                      \u0027flannel_network_subnetlen\u0027, \u0027rexray_preempt\u0027,"},{"line_number":98,"context_line":"                      \u0027swarm_strategy\u0027, \u0027monitoring_enabled\u0027]"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"        extra_params[\u0027auth_url\u0027] \u003d context.auth_url"},{"line_number":101,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"3a71b18c_f749afb8","line":98,"updated":"2016-12-08 19:22:49.000000000","message":"add grafana_admin_passwd ?","commit_id":"fbb9a6a251aca319a940ab391e180c17de6307d4"}],"magnum/drivers/common/templates/swarm/fragments/prometheus_stack_setup.sh":[{"author":{"_account_id":20498,"name":"Spyros Trigazis","email":"spyridon.trigazis@cern.ch","username":"strigazi"},"change_message_id":"e8657a6b077d14e6fecb1d16f28bf6d021400552","unresolved":false,"context_lines":[{"line_number":44,"context_line":"SD_JOB\u003d$PROMETHEUS_SHARE\"/prometheus-sd-job.sh\""},{"line_number":45,"context_line":"SD_PARSER\u003d$PROMETHEUS_SHARE\"/prometheus-sd-parser.py\""},{"line_number":46,"context_line":"cat \u003e $SD_JOB \u003c\u003cSD_EOF"},{"line_number":47,"context_line":"#!/bin/bash"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"# Keep the job running"},{"line_number":50,"context_line":"while true"}],"source_content_type":"text/x-sh","patch_set":14,"id":"9a57fde8_b535a8f8","line":47,"updated":"2017-01-12 09:05:52.000000000","message":"This can also be another file.","commit_id":"08f816a2a1260d1766aafe8b4704a23e220d8c15"},{"author":{"_account_id":20498,"name":"Spyros Trigazis","email":"spyridon.trigazis@cern.ch","username":"strigazi"},"change_message_id":"e8657a6b077d14e6fecb1d16f28bf6d021400552","unresolved":false,"context_lines":[{"line_number":62,"context_line":"chmod 755 $SD_JOB"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"cat \u003e $SD_PARSER \u003c\u003cSD_PARSER_EOF"},{"line_number":65,"context_line":"import argparse"},{"line_number":66,"context_line":"import json"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"def parser():"}],"source_content_type":"text/x-sh","patch_set":14,"id":"9a57fde8_155e7445","line":65,"updated":"2017-01-12 09:05:52.000000000","message":"We should not cat python code. We need another way to add the parser.","commit_id":"08f816a2a1260d1766aafe8b4704a23e220d8c15"},{"author":{"_account_id":20498,"name":"Spyros Trigazis","email":"spyridon.trigazis@cern.ch","username":"strigazi"},"change_message_id":"e8657a6b077d14e6fecb1d16f28bf6d021400552","unresolved":false,"context_lines":[{"line_number":99,"context_line":"        sdf.write(\"  labels:\\n    job: magnum-prometheus\\n\")"},{"line_number":100,"context_line":"SD_PARSER_EOF"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"# setup a directory for grafana"},{"line_number":103,"context_line":"# mkdir -p /var/lib/grafana"}],"source_content_type":"text/x-sh","patch_set":14,"id":"9a57fde8_5581dc8e","line":103,"range":{"start_line":102,"start_character":0,"end_line":103,"end_character":27},"updated":"2017-01-12 09:05:52.000000000","message":"Do we need this?","commit_id":"08f816a2a1260d1766aafe8b4704a23e220d8c15"},{"author":{"_account_id":20498,"name":"Spyros Trigazis","email":"spyridon.trigazis@cern.ch","username":"strigazi"},"change_message_id":"35a1c296b0a74a9073c2c7347845a8987a41c28a","unresolved":false,"context_lines":[{"line_number":46,"context_line":"cat \u003e $SD_JOB \u003c\u003cSD_EOF"},{"line_number":47,"context_line":"#!/bin/bash"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"# Keep the job running"},{"line_number":50,"context_line":"while true"},{"line_number":51,"context_line":"do"},{"line_number":52,"context_line":"    info\u003d\\`curl --silent --cacert /etc/docker/ca.crt \\\\"}],"source_content_type":"text/x-sh","patch_set":17,"id":"3a461143_1a2c77aa","line":49,"updated":"2017-01-27 14:54:20.000000000","message":"Explain what this job does.","commit_id":"b1310cb7a99f8c9dd38779accc86841997561656"},{"author":{"_account_id":20498,"name":"Spyros Trigazis","email":"spyridon.trigazis@cern.ch","username":"strigazi"},"change_message_id":"35a1c296b0a74a9073c2c7347845a8987a41c28a","unresolved":false,"context_lines":[{"line_number":61,"context_line":""},{"line_number":62,"context_line":"chmod 755 $SD_JOB"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"cat \u003e $SD_PARSER \u003c\u003cSD_PARSER_EOF"},{"line_number":65,"context_line":"import argparse"},{"line_number":66,"context_line":"import json"},{"line_number":67,"context_line":""}],"source_content_type":"text/x-sh","patch_set":17,"id":"3a461143_5a1c3f77","line":64,"updated":"2017-01-27 14:54:20.000000000","message":"Explain where is this parser used.","commit_id":"b1310cb7a99f8c9dd38779accc86841997561656"},{"author":{"_account_id":668,"name":"Adrian Otto","email":"aotto@aotto.com","username":"aotto"},"change_message_id":"31e4f4d6faa4c263695fb959cfc043e53ea3593b","unresolved":false,"context_lines":[{"line_number":99,"context_line":"        sdf.write(\"  labels:\\n    job: magnum-prometheus\\n\")"},{"line_number":100,"context_line":"SD_PARSER_EOF"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"# setup a directory for grafana"},{"line_number":103,"context_line":"# mkdir -p /var/lib/grafana"}],"source_content_type":"text/x-sh","patch_set":17,"id":"3a461143_1383ae05","line":103,"range":{"start_line":102,"start_character":0,"end_line":103,"end_character":27},"updated":"2017-01-26 17:29:00.000000000","message":"Why are these lines commented out? If we don\u0027t need them, drop them from the patch, please.","commit_id":"b1310cb7a99f8c9dd38779accc86841997561656"}],"magnum/drivers/common/templates/swarm/fragments/swarm-launch-prometheus-grafana.sh":[{"author":{"_account_id":24460,"name":"Cristovao Cordeiro","email":"cjdcordeiro@gmail.com","username":"cjdc"},"change_message_id":"4b12f05c3614b8664bb7c2cdbe2ec294220ef848","unresolved":false,"context_lines":[{"line_number":46,"context_line":"                          -config.file\u003d\\$PROM_CONF_DIR_CONTAINER\u0027/prometheus.yml\u0027 \\\\"},{"line_number":47,"context_line":"                          -storage.local.path\u003d/prometheus"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"# Exit if some other concurrent node is already taking care of the deployment"},{"line_number":50,"context_line":"# or if it just fails"},{"line_number":51,"context_line":"if [ \\$? -ne 0 ]; then"},{"line_number":52,"context_line":"  exit 0"},{"line_number":53,"context_line":"fi"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"docker -H \\$API_IP_ADDRESS:2376 --tlsverify --tlscacert \\$CLUSTER_CA \\\\"},{"line_number":56,"context_line":"                          --tlskey \\$SERVER_KEY --tlscert \\$SERVER_CERTIFICATE \\\\"}],"source_content_type":"text/x-sh","patch_set":4,"id":"3a71b18c_7c3af135","line":53,"range":{"start_line":49,"start_character":0,"end_line":53,"end_character":2},"updated":"2016-12-08 15:08:40.000000000","message":"partially prevent racing conditions","commit_id":"fbb9a6a251aca319a940ab391e180c17de6307d4"},{"author":{"_account_id":20498,"name":"Spyros Trigazis","email":"spyridon.trigazis@cern.ch","username":"strigazi"},"change_message_id":"c63c8d23cfaa14bd51250c284d95894785de26f6","unresolved":false,"context_lines":[{"line_number":13,"context_line":"SERVER_CERTIFICATE\u003d\u0027/etc/docker/server.crt\u0027"},{"line_number":14,"context_line":"SERVER_KEY\u003d\u0027/etc/docker/server.key\u0027"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"while [ \\`docker -H \\$API_IP_ADDRESS:2376 --tlsverify --tlscacert \\$CLUSTER_CA \\\\"},{"line_number":17,"context_line":"        --tlskey \\$SERVER_KEY --tlscert \\$SERVER_CERTIFICATE \\\\"},{"line_number":18,"context_line":"        info | grep \u0027Nodes:\u0027 | awk \u0027{print \\$2}\u0027\\` -lt 1 ]"},{"line_number":19,"context_line":"do"}],"source_content_type":"text/x-sh","patch_set":17,"id":"3a461143_84a03ea1","line":16,"updated":"2017-01-26 15:36:11.000000000","message":"What this does? Add some comments.","commit_id":"b1310cb7a99f8c9dd38779accc86841997561656"},{"author":{"_account_id":20498,"name":"Spyros Trigazis","email":"spyridon.trigazis@cern.ch","username":"strigazi"},"change_message_id":"35a1c296b0a74a9073c2c7347845a8987a41c28a","unresolved":false,"context_lines":[{"line_number":21,"context_line":"    sleep 5"},{"line_number":22,"context_line":"done"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"prom_status\u003d\\$(docker -H \\$API_IP_ADDRESS:2376 --tlsverify --tlscacert \\$CLUSTER_CA \\\\"},{"line_number":25,"context_line":"        --tlskey \\$SERVER_KEY --tlscert \\$SERVER_CERTIFICATE \\\\"},{"line_number":26,"context_line":"        inspect --format\u003d\"{{ .State.Running }}\" prometheus)"},{"line_number":27,"context_line":""}],"source_content_type":"text/x-sh","patch_set":17,"id":"3a461143_9d0dc139","line":24,"updated":"2017-01-27 14:54:20.000000000","message":"comment.","commit_id":"b1310cb7a99f8c9dd38779accc86841997561656"},{"author":{"_account_id":20498,"name":"Spyros Trigazis","email":"spyridon.trigazis@cern.ch","username":"strigazi"},"change_message_id":"35a1c296b0a74a9073c2c7347845a8987a41c28a","unresolved":false,"context_lines":[{"line_number":37,"context_line":"    fi"},{"line_number":38,"context_line":"fi"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"# Following will fail if already exists"},{"line_number":41,"context_line":"docker -H \\$API_IP_ADDRESS:2376 --tlsverify --tlscacert \\$CLUSTER_CA \\\\"},{"line_number":42,"context_line":"        --tlskey \\$SERVER_KEY --tlscert \\$SERVER_CERTIFICATE \\\\"},{"line_number":43,"context_line":"        run -t -d -p 9090:9090 \\\\"}],"source_content_type":"text/x-sh","patch_set":17,"id":"3a461143_5ded1924","line":40,"updated":"2017-01-27 14:54:20.000000000","message":"This script will be executed in all nodes. So if Prometheus runs in another node already exit.","commit_id":"b1310cb7a99f8c9dd38779accc86841997561656"},{"author":{"_account_id":20498,"name":"Spyros Trigazis","email":"spyridon.trigazis@cern.ch","username":"strigazi"},"change_message_id":"35a1c296b0a74a9073c2c7347845a8987a41c28a","unresolved":false,"context_lines":[{"line_number":52,"context_line":"    exit 0"},{"line_number":53,"context_line":"fi"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"docker -H \\$API_IP_ADDRESS:2376 --tlsverify --tlscacert \\$CLUSTER_CA \\\\"},{"line_number":56,"context_line":"        --tlskey \\$SERVER_KEY --tlscert \\$SERVER_CERTIFICATE \\\\"},{"line_number":57,"context_line":"        run -t -d -v /etc/docker:/etc/docker \\\\"},{"line_number":58,"context_line":"        -v \\$PROM_CONF_DIR_HOST:\\$PROM_CONF_DIR_CONTAINER:z \\\\"}],"source_content_type":"text/x-sh","patch_set":17,"id":"3a461143_dd3669e6","line":55,"updated":"2017-01-27 14:54:20.000000000","message":"This is the container that parses all the nodes.","commit_id":"b1310cb7a99f8c9dd38779accc86841997561656"}],"magnum/drivers/swarm_fedora_atomic_v1/templates/cluster.yaml":[{"author":{"_account_id":20498,"name":"Spyros Trigazis","email":"spyridon.trigazis@cern.ch","username":"strigazi"},"change_message_id":"7987d8da6c2cc821d6467a766c4e85a47e1038c1","unresolved":false,"context_lines":[{"line_number":43,"context_line":""},{"line_number":44,"context_line":"  monitoring_enabled:"},{"line_number":45,"context_line":"    type: boolean"},{"line_number":46,"context_line":"    default: true"},{"line_number":47,"context_line":"    description: \u003e"},{"line_number":48,"context_line":"      whether or not to have the grafana-prometheus-cadvisor monitoring setup"},{"line_number":49,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":2,"id":"3a71b18c_9e9fcfb3","line":46,"range":{"start_line":46,"start_character":13,"end_line":46,"end_character":17},"updated":"2016-12-08 10:41:30.000000000","message":"I think this must be opt-in false by default.","commit_id":"4bdd8082c61bef29e591e909c4d8624bcd7f20ef"},{"author":{"_account_id":20031,"name":"Mathieu Velten","email":"mathieu.velten@cern.ch","username":"MatMaul"},"change_message_id":"d963a0b8506b0ad3eab870f5fb87b788cf44eed1","unresolved":false,"context_lines":[{"line_number":50,"context_line":"  grafana_admin_passwd:"},{"line_number":51,"context_line":"    type: string"},{"line_number":52,"context_line":"    default: admin"},{"line_number":53,"context_line":"    description: \u003e"},{"line_number":54,"context_line":"      admin user password for the Grafana monitoring interface"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"  master_flavor:"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"3a71b18c_b7abb71d","line":53,"updated":"2016-12-08 19:22:49.000000000","message":"hidden: true, even if we will still see it in clear in the labels :)","commit_id":"fbb9a6a251aca319a940ab391e180c17de6307d4"},{"author":{"_account_id":20498,"name":"Spyros Trigazis","email":"spyridon.trigazis@cern.ch","username":"strigazi"},"change_message_id":"35a1c296b0a74a9073c2c7347845a8987a41c28a","unresolved":false,"context_lines":[{"line_number":483,"context_line":"    description: \u003e"},{"line_number":484,"context_line":"      This the discovery url for Swarm cluster."},{"line_number":485,"context_line":""},{"line_number":486,"context_line":"  monitoring_url:"},{"line_number":487,"context_line":"    value: \"tbd\""},{"line_number":488,"context_line":"    description: \u003e"},{"line_number":489,"context_line":"      This is the url for the Grafana web page"}],"source_content_type":"text/x-yaml","patch_set":17,"id":"3a461143_9a02276e","line":486,"updated":"2017-01-27 14:54:20.000000000","message":"We can remove this now and add it later.","commit_id":"b1310cb7a99f8c9dd38779accc86841997561656"}],"magnum/drivers/swarm_fedora_atomic_v1/templates/swarmnode.yaml":[{"author":{"_account_id":20031,"name":"Mathieu Velten","email":"mathieu.velten@cern.ch","username":"MatMaul"},"change_message_id":"b7ec65a81c70b31c1d51a12bd168619ad46e3327","unresolved":false,"context_lines":[{"line_number":371,"context_line":"      group: ungrouped"},{"line_number":372,"context_line":"      config: {get_file: ../../common/templates/swarm/fragments/volume-service.sh}"},{"line_number":373,"context_line":""},{"line_number":374,"context_line":"  prometheus_stack_setup:"},{"line_number":375,"context_line":"    type: \"OS::Heat::SoftwareConfig\""},{"line_number":376,"context_line":"    properties:"},{"line_number":377,"context_line":"      group: ungrouped"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"3a71b18c_364b37b2","line":374,"range":{"start_line":374,"start_character":0,"end_line":374,"end_character":2},"updated":"2016-12-08 14:50:39.000000000","message":"Can we launch these 2 scripts in master for consistency instead ? scheduling of services running inside the cluster through the API are usually done in the master.","commit_id":"48e59ffa59108a75a2bcc71088d58044c4d8bbf8"}]}
