)]}'
{"docker/kibana/Dockerfile.j2":[{"author":{"_account_id":1390,"name":"Paul Bourke","email":"pauldbourke@proton.me","username":"pauldbourke"},"change_message_id":"7f18a028539ec3a798816fb7fb445e30b1526e0c","unresolved":false,"context_lines":[{"line_number":11,"context_line":"    \u0026\u0026 yum clean all"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"{% elif base_distro in [\u0027ubuntu\u0027, \u0027debian\u0027] %}"},{"line_number":14,"context_line":"{% if base_distro \u003d\u003d \u0027debian\u0027 -%}"},{"line_number":15,"context_line":"COPY sources.list.{{ base_distro }} /etc/apt/sources.list.d/kibana.list"},{"line_number":16,"context_line":"RUN apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 D27D666CD88E42B4 \\"},{"line_number":17,"context_line":"    \u0026\u0026 apt-get update \\"}],"source_content_type":"text/x-jinja2","patch_set":3,"id":"da0c15f0_b8ff7933","line":14,"updated":"2016-03-25 10:47:43.000000000","message":"minor: the minus (-%) isn\u0027t used anywhere else in the templates","commit_id":"87cc7affb7c7db08ecd7ec94efa9030749183256"},{"author":{"_account_id":7888,"name":"Benedikt Trefzer","email":"benedikt.trefzer@cirrax.com","username":"trefzer"},"change_message_id":"af3cf48ba102e620a762df787ccfd345fff8d61e","unresolved":false,"context_lines":[{"line_number":11,"context_line":"    \u0026\u0026 yum clean all"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"{% elif base_distro in [\u0027ubuntu\u0027, \u0027debian\u0027] %}"},{"line_number":14,"context_line":"{% if base_distro \u003d\u003d \u0027debian\u0027 -%}"},{"line_number":15,"context_line":"COPY sources.list.{{ base_distro }} /etc/apt/sources.list.d/kibana.list"},{"line_number":16,"context_line":"RUN apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 D27D666CD88E42B4 \\"},{"line_number":17,"context_line":"    \u0026\u0026 apt-get update \\"}],"source_content_type":"text/x-jinja2","patch_set":3,"id":"da0c15f0_b7265f14","line":14,"in_reply_to":"da0c15f0_b8ff7933","updated":"2016-03-25 14:18:37.000000000","message":"Done","commit_id":"87cc7affb7c7db08ecd7ec94efa9030749183256"},{"author":{"_account_id":13642,"name":"Vikram Hosakote","email":"vikram.ganesh@gmail.com","username":"vhosakot"},"change_message_id":"5753526f22e691dd26b56a1b8078cea9f9aa5787","unresolved":false,"context_lines":[{"line_number":13,"context_line":"{% elif base_distro in [\u0027ubuntu\u0027, \u0027debian\u0027] %}"},{"line_number":14,"context_line":"{% if base_distro \u003d\u003d \u0027debian\u0027 -%}"},{"line_number":15,"context_line":"COPY sources.list.{{ base_distro }} /etc/apt/sources.list.d/kibana.list"},{"line_number":16,"context_line":"RUN apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 D27D666CD88E42B4 \\"},{"line_number":17,"context_line":"    \u0026\u0026 apt-get update \\"},{"line_number":18,"context_line":"    \u0026\u0026 apt-get upgrade -y \\"},{"line_number":19,"context_line":"    \u0026\u0026 apt-get dist-upgrade -y \\"}],"source_content_type":"text/x-jinja2","patch_set":3,"id":"da0c15f0_01ba7ce1","line":16,"range":{"start_line":16,"start_character":70,"end_line":16,"end_character":86},"updated":"2016-03-25 02:59:50.000000000","message":"The Debian key for Kibana is already added in docker/base/Dockerfile.j2.\n\nD27D666CD88E42B4  is the PGP key for Kibana and is a part of the fingerprint 46095ACC8548582C1A2699A9D27D666CD88E42B4  already added in https://github.com/openstack/kolla/blob/master/docker/base/Dockerfile.j2#L165.","commit_id":"87cc7affb7c7db08ecd7ec94efa9030749183256"},{"author":{"_account_id":7888,"name":"Benedikt Trefzer","email":"benedikt.trefzer@cirrax.com","username":"trefzer"},"change_message_id":"ae261f40626ceda04a3b15a8f42f88118b545750","unresolved":false,"context_lines":[{"line_number":13,"context_line":"{% elif base_distro in [\u0027ubuntu\u0027, \u0027debian\u0027] %}"},{"line_number":14,"context_line":"{% if base_distro \u003d\u003d \u0027debian\u0027 -%}"},{"line_number":15,"context_line":"COPY sources.list.{{ base_distro }} /etc/apt/sources.list.d/kibana.list"},{"line_number":16,"context_line":"RUN apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 D27D666CD88E42B4 \\"},{"line_number":17,"context_line":"    \u0026\u0026 apt-get update \\"},{"line_number":18,"context_line":"    \u0026\u0026 apt-get upgrade -y \\"},{"line_number":19,"context_line":"    \u0026\u0026 apt-get dist-upgrade -y \\"}],"source_content_type":"text/x-jinja2","patch_set":3,"id":"da0c15f0_6499c16e","line":16,"range":{"start_line":16,"start_character":70,"end_line":16,"end_character":86},"in_reply_to":"da0c15f0_01ba7ce1","updated":"2016-03-25 08:18:19.000000000","message":"Sorry, youre wrong. You have to look at the file with https://review.openstack.org/#/c/288936/ included (this patch depends on that). \nUbuntu includes the Kibana repository for all images. I\u0027d like to avoid that and include only where necessary (like it\u0027s done in other containers). So for Ubuntu the repo and the kay is not included.","commit_id":"87cc7affb7c7db08ecd7ec94efa9030749183256"},{"author":{"_account_id":13642,"name":"Vikram Hosakote","email":"vikram.ganesh@gmail.com","username":"vhosakot"},"change_message_id":"8069891cac8d78c8abe3f4c168e7b80f37ac305c","unresolved":false,"context_lines":[{"line_number":13,"context_line":"{% elif base_distro in [\u0027ubuntu\u0027, \u0027debian\u0027] %}"},{"line_number":14,"context_line":"{% if base_distro \u003d\u003d \u0027debian\u0027 -%}"},{"line_number":15,"context_line":"COPY sources.list.{{ base_distro }} /etc/apt/sources.list.d/kibana.list"},{"line_number":16,"context_line":"RUN apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 D27D666CD88E42B4 \\"},{"line_number":17,"context_line":"    \u0026\u0026 apt-get update \\"},{"line_number":18,"context_line":"    \u0026\u0026 apt-get upgrade -y \\"},{"line_number":19,"context_line":"    \u0026\u0026 apt-get dist-upgrade -y \\"}],"source_content_type":"text/x-jinja2","patch_set":3,"id":"da0c15f0_1755824f","line":16,"range":{"start_line":16,"start_character":70,"end_line":16,"end_character":86},"in_reply_to":"da0c15f0_6499c16e","updated":"2016-03-25 17:08:54.000000000","message":"Cool, thanks a lot for the explanation!","commit_id":"87cc7affb7c7db08ecd7ec94efa9030749183256"},{"author":{"_account_id":1390,"name":"Paul Bourke","email":"pauldbourke@proton.me","username":"pauldbourke"},"change_message_id":"7f18a028539ec3a798816fb7fb445e30b1526e0c","unresolved":false,"context_lines":[{"line_number":16,"context_line":"RUN apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 D27D666CD88E42B4 \\"},{"line_number":17,"context_line":"    \u0026\u0026 apt-get update \\"},{"line_number":18,"context_line":"    \u0026\u0026 apt-get upgrade -y \\"},{"line_number":19,"context_line":"    \u0026\u0026 apt-get dist-upgrade -y \\"},{"line_number":20,"context_line":"    \u0026\u0026 apt-get clean"},{"line_number":21,"context_line":"{% endif -%}"},{"line_number":22,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":3,"id":"da0c15f0_38652945","line":19,"updated":"2016-03-25 10:47:43.000000000","message":"why are the upgrade steps needed?","commit_id":"87cc7affb7c7db08ecd7ec94efa9030749183256"},{"author":{"_account_id":7888,"name":"Benedikt Trefzer","email":"benedikt.trefzer@cirrax.com","username":"trefzer"},"change_message_id":"af3cf48ba102e620a762df787ccfd345fff8d61e","unresolved":false,"context_lines":[{"line_number":16,"context_line":"RUN apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 D27D666CD88E42B4 \\"},{"line_number":17,"context_line":"    \u0026\u0026 apt-get update \\"},{"line_number":18,"context_line":"    \u0026\u0026 apt-get upgrade -y \\"},{"line_number":19,"context_line":"    \u0026\u0026 apt-get dist-upgrade -y \\"},{"line_number":20,"context_line":"    \u0026\u0026 apt-get clean"},{"line_number":21,"context_line":"{% endif -%}"},{"line_number":22,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":3,"id":"da0c15f0_f720d7f9","line":19,"in_reply_to":"da0c15f0_38652945","updated":"2016-03-25 14:18:37.000000000","message":"they should not be needed.\nfixed.","commit_id":"87cc7affb7c7db08ecd7ec94efa9030749183256"},{"author":{"_account_id":1390,"name":"Paul Bourke","email":"pauldbourke@proton.me","username":"pauldbourke"},"change_message_id":"2bd9ff3340ec6dbff3de285ba8a363e961c8dc67","unresolved":false,"context_lines":[{"line_number":15,"context_line":"COPY sources.list.{{ base_distro }} /etc/apt/sources.list.d/kibana.list"},{"line_number":16,"context_line":"RUN apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 D27D666CD88E42B4 \\"},{"line_number":17,"context_line":"    \u0026\u0026 apt-get update \\"},{"line_number":18,"context_line":"    \u0026\u0026 apt-get clean"},{"line_number":19,"context_line":"{% endif -%}"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"RUN apt-get install -y --no-install-recommends \\"}],"source_content_type":"text/x-jinja2","patch_set":6,"id":"ba0121b8_830e8432","line":18,"updated":"2016-03-29 09:20:14.000000000","message":"Is clean needed here given we\u0027re not installing anything?","commit_id":"ac447f8d8cbd7808ca598d8a30a8ab67a7223787"},{"author":{"_account_id":16620,"name":"Alicja Kwasniewska","email":"alicja.kwasniewska@intel.com","username":"akwasnie"},"change_message_id":"034455b6ca3703e9ddc9ba49a23559205a4fe47f","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"{% elif base_distro in [\u0027ubuntu\u0027, \u0027debian\u0027] %}"},{"line_number":14,"context_line":"{% if base_distro \u003d\u003d \u0027debian\u0027 %}"},{"line_number":15,"context_line":"COPY sources.list.{{ base_distro }} /etc/apt/sources.list.d/kibana.list"},{"line_number":16,"context_line":"RUN apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 D27D666CD88E42B4 \\"},{"line_number":17,"context_line":"    \u0026\u0026 apt-get update \\"},{"line_number":18,"context_line":"    \u0026\u0026 apt-get clean"},{"line_number":19,"context_line":"{% endif -%}"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"RUN apt-get install -y --no-install-recommends \\"}],"source_content_type":"text/x-jinja2","patch_set":6,"id":"ba0121b8_c33ebcb7","line":18,"range":{"start_line":15,"start_character":0,"end_line":18,"end_character":20},"updated":"2016-03-29 09:20:52.000000000","message":"we add repository definitions and install keys in base image\n\nhttps://github.com/openstack/kolla/blob/master/docker/base/Dockerfile.j2#L165","commit_id":"ac447f8d8cbd7808ca598d8a30a8ab67a7223787"},{"author":{"_account_id":7888,"name":"Benedikt Trefzer","email":"benedikt.trefzer@cirrax.com","username":"trefzer"},"change_message_id":"9034454a146743f62d092e03858990baae0e41a3","unresolved":false,"context_lines":[{"line_number":15,"context_line":"COPY sources.list.{{ base_distro }} /etc/apt/sources.list.d/kibana.list"},{"line_number":16,"context_line":"RUN apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 D27D666CD88E42B4 \\"},{"line_number":17,"context_line":"    \u0026\u0026 apt-get update \\"},{"line_number":18,"context_line":"    \u0026\u0026 apt-get clean"},{"line_number":19,"context_line":"{% endif -%}"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"RUN apt-get install -y --no-install-recommends \\"}],"source_content_type":"text/x-jinja2","patch_set":6,"id":"ba0121b8_d19cbf6b","line":18,"in_reply_to":"ba0121b8_830e8432","updated":"2016-03-29 11:07:03.000000000","message":"Done","commit_id":"ac447f8d8cbd7808ca598d8a30a8ab67a7223787"},{"author":{"_account_id":7888,"name":"Benedikt Trefzer","email":"benedikt.trefzer@cirrax.com","username":"trefzer"},"change_message_id":"9034454a146743f62d092e03858990baae0e41a3","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"{% elif base_distro in [\u0027ubuntu\u0027, \u0027debian\u0027] %}"},{"line_number":14,"context_line":"{% if base_distro \u003d\u003d \u0027debian\u0027 %}"},{"line_number":15,"context_line":"COPY sources.list.{{ base_distro }} /etc/apt/sources.list.d/kibana.list"},{"line_number":16,"context_line":"RUN apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 D27D666CD88E42B4 \\"},{"line_number":17,"context_line":"    \u0026\u0026 apt-get update \\"},{"line_number":18,"context_line":"    \u0026\u0026 apt-get clean"},{"line_number":19,"context_line":"{% endif -%}"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"RUN apt-get install -y --no-install-recommends \\"}],"source_content_type":"text/x-jinja2","patch_set":6,"id":"ba0121b8_31889b22","line":18,"range":{"start_line":15,"start_character":0,"end_line":18,"end_character":20},"in_reply_to":"ba0121b8_c33ebcb7","updated":"2016-03-29 11:07:03.000000000","message":"Done","commit_id":"ac447f8d8cbd7808ca598d8a30a8ab67a7223787"},{"author":{"_account_id":13642,"name":"Vikram Hosakote","email":"vikram.ganesh@gmail.com","username":"vhosakot"},"change_message_id":"a8c1db1b3537e0659a52ec32e5da95417ab4598f","unresolved":false,"context_lines":[{"line_number":15,"context_line":"COPY sources.list.{{ base_distro }} /etc/apt/sources.list.d/kibana.list"},{"line_number":16,"context_line":"RUN apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 D27D666CD88E42B4 \\"},{"line_number":17,"context_line":"    \u0026\u0026 apt-get update"},{"line_number":18,"context_line":"{% endif -%}"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"RUN apt-get install -y --no-install-recommends \\"},{"line_number":21,"context_line":"        kibana \\"}],"source_content_type":"text/x-jinja2","patch_set":7,"id":"ba0121b8_693507d9","line":18,"range":{"start_line":18,"start_character":9,"end_line":18,"end_character":10},"updated":"2016-03-29 13:05:18.000000000","message":"I see you use the minus / dash sign (-) here to strip whitespaces before and after this block. I see that kolla does not follow this practice.\nhttps://github.com/openstack/kolla/blob/master/docker/neutron/neutron-dhcp-agent/Dockerfile.j2#L4-L12\nCould you recommend what is the good practice here when writing blocks in Dockerfile.j2 ?  Using minus / dash sign (-) or not ?  From the link http://jinja.pocoo.org/docs/dev/templates/#whitespace-control (search for minus in this link), I understand that the minus sign should be used to strip whitespaces when the jijna2 template is rendered.  I think a jinja2 template is \"rendered\" when the output is seen on the screen (like using \u003chead\u003e\u003c/head\u003e, \u003cdiv\u003e\u003c/div\u003e tags in the template) for HTML, XML, CSV, LaTeX files.\nBut, when the jinja2 template for a Dockerfile is rendered, the image is built.  Is the output in the stdout \"rendered\" and whitespace are stripped in stdout ?\nLet me know your thoughts!\nI want to understand how and where is a templatized Dockerfile is \"rendered\".","commit_id":"b6dff54f6c34e54a6d3bfcfb46ba48e6ea9da30f"},{"author":{"_account_id":7888,"name":"Benedikt Trefzer","email":"benedikt.trefzer@cirrax.com","username":"trefzer"},"change_message_id":"01ad8e0a5a9abca7128441d357f3eebfd393a6b7","unresolved":false,"context_lines":[{"line_number":15,"context_line":"COPY sources.list.{{ base_distro }} /etc/apt/sources.list.d/kibana.list"},{"line_number":16,"context_line":"RUN apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 D27D666CD88E42B4 \\"},{"line_number":17,"context_line":"    \u0026\u0026 apt-get update"},{"line_number":18,"context_line":"{% endif -%}"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"RUN apt-get install -y --no-install-recommends \\"},{"line_number":21,"context_line":"        kibana \\"}],"source_content_type":"text/x-jinja2","patch_set":7,"id":"ba0121b8_35607cce","line":18,"range":{"start_line":18,"start_character":9,"end_line":18,"end_character":10},"in_reply_to":"ba0121b8_693507d9","updated":"2016-03-29 14:00:49.000000000","message":"I do not know the answer ! I used this in several places because I was used to do so. I already removed the - in other patches since reviewers didn\u0027t like it. so I will remove here as well.","commit_id":"b6dff54f6c34e54a6d3bfcfb46ba48e6ea9da30f"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"ef96ad2cfa194825e265ef732665b5d6e4e3577c","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"{% elif base_distro in [\u0027ubuntu\u0027, \u0027debian\u0027] %}"},{"line_number":14,"context_line":"{% if base_distro \u003d\u003d \u0027debian\u0027 %}"},{"line_number":15,"context_line":"COPY sources.list.{{ base_distro }} /etc/apt/sources.list.d/kibana.list"},{"line_number":16,"context_line":"RUN apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 D27D666CD88E42B4 \\"},{"line_number":17,"context_line":"    \u0026\u0026 apt-get update"},{"line_number":18,"context_line":"{% endif %}"}],"source_content_type":"text/x-jinja2","patch_set":8,"id":"ba0121b8_c6d05c56","line":15,"updated":"2016-03-30 01:16:00.000000000","message":"this needs to go in docker/base/Dockerfile.j2 and be conditional on the installation of there.  We install all repositories in the base image for consistent image generation.","commit_id":"e2bcafffa55e3688522e4dd75d0e512748072d28"},{"author":{"_account_id":16620,"name":"Alicja Kwasniewska","email":"alicja.kwasniewska@intel.com","username":"akwasnie"},"change_message_id":"bd2c63dc29dc4590ecc6adf34959ac945aea2eab","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"{% elif base_distro in [\u0027ubuntu\u0027, \u0027debian\u0027] %}"},{"line_number":14,"context_line":"{% if base_distro \u003d\u003d \u0027debian\u0027 %}"},{"line_number":15,"context_line":"COPY sources.list.{{ base_distro }} /etc/apt/sources.list.d/kibana.list"},{"line_number":16,"context_line":"RUN apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 D27D666CD88E42B4 \\"},{"line_number":17,"context_line":"    \u0026\u0026 apt-get update"},{"line_number":18,"context_line":"{% endif %}"}],"source_content_type":"text/x-jinja2","patch_set":8,"id":"ba0121b8_b6d1045a","line":15,"in_reply_to":"ba0121b8_08f7faf5","updated":"2016-03-30 10:17:22.000000000","message":"But now we are not consistent. For centos and ubuntu we add them in base image, for debian here. We should discuss it first and decide which solution will be better.","commit_id":"e2bcafffa55e3688522e4dd75d0e512748072d28"},{"author":{"_account_id":7888,"name":"Benedikt Trefzer","email":"benedikt.trefzer@cirrax.com","username":"trefzer"},"change_message_id":"c41ddce11f04c03bcfa7263fc945c76a61a0c38c","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"{% elif base_distro in [\u0027ubuntu\u0027, \u0027debian\u0027] %}"},{"line_number":14,"context_line":"{% if base_distro \u003d\u003d \u0027debian\u0027 %}"},{"line_number":15,"context_line":"COPY sources.list.{{ base_distro }} /etc/apt/sources.list.d/kibana.list"},{"line_number":16,"context_line":"RUN apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 D27D666CD88E42B4 \\"},{"line_number":17,"context_line":"    \u0026\u0026 apt-get update"},{"line_number":18,"context_line":"{% endif %}"}],"source_content_type":"text/x-jinja2","patch_set":8,"id":"ba0121b8_08f7faf5","line":15,"in_reply_to":"ba0121b8_c6d05c56","updated":"2016-03-30 07:27:12.000000000","message":"I disagree:\n\n- sources are added other places as well:\n  http://git.openstack.org/cgit/openstack/kolla/tree/docker/mesos/mesos-slave/Dockerfile.j2#n6\n  https://github.com/openstack/kolla/blob/master/docker/mesos/mesos-slave/Dockerfile.j2#L16\n  http://git.openstack.org/cgit/openstack/kolla/tree/docker/mesosphere/mesosphere-base/Dockerfile.j2#n12\n  in heka container packages are downloaded from github, without repository.\n\n- I think it\u0027s best practice to include only necessary things in a container and to exclude whatever is not needed. \n\n- If kibana gets an update, theres no need to rebuild all the containers it\u0027s sufficient to upgrade the kibana container. If you include the repo in base, all containers needs rebuilding since the apt-db diffs.\n\n- if sources are included in base, you should use apt_preferences to avoid conflicts whith dependencies. Which makes things complicated.","commit_id":"e2bcafffa55e3688522e4dd75d0e512748072d28"}]}
