)]}'
{"docker/keystone/keystone-base/Dockerfile.j2":[{"author":{"_account_id":167,"name":"Christian Berendt","email":"berendt@osism.tech","username":"berendt"},"change_message_id":"9f37e6eedf2b3256bbc1e4faf0db6fe4f3fa975c","unresolved":false,"context_lines":[{"line_number":38,"context_line":"{% elif install_type \u003d\u003d \u0027source\u0027 %}"},{"line_number":39,"context_line":"    {% if base_distro in [\u0027fedora\u0027, \u0027centos\u0027, \u0027oraclelinux\u0027, \u0027rhel\u0027] %}"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"RUN yum -y install \\"},{"line_number":42,"context_line":"        httpd \\"},{"line_number":43,"context_line":"        mod_wsgi \\"},{"line_number":44,"context_line":"        python-ldappool \\"}],"source_content_type":"text/x-jinja2","patch_set":6,"id":"bacf61ea_cac30656","line":41,"updated":"2016-08-04 12:37:42.000000000","message":"Use set ... packages here.","commit_id":"bebec3096a5f83e4a234bdf407c7c2fbc1a992d9"},{"author":{"_account_id":16482,"name":"Shaun Smekel","email":"shaun.smekel@theorem.net.au","username":"smekel"},"change_message_id":"682d51d09f41da108a704430a98bba8b3f2d6974","unresolved":false,"context_lines":[{"line_number":38,"context_line":"{% elif install_type \u003d\u003d \u0027source\u0027 %}"},{"line_number":39,"context_line":"    {% if base_distro in [\u0027fedora\u0027, \u0027centos\u0027, \u0027oraclelinux\u0027, \u0027rhel\u0027] %}"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"RUN yum -y install \\"},{"line_number":42,"context_line":"        httpd \\"},{"line_number":43,"context_line":"        mod_wsgi \\"},{"line_number":44,"context_line":"        python-ldappool \\"}],"source_content_type":"text/x-jinja2","patch_set":6,"id":"bacf61ea_c5f59bed","line":41,"in_reply_to":"bacf61ea_cac30656","updated":"2016-08-04 21:42:27.000000000","message":"Done","commit_id":"bebec3096a5f83e4a234bdf407c7c2fbc1a992d9"},{"author":{"_account_id":167,"name":"Christian Berendt","email":"berendt@osism.tech","username":"berendt"},"change_message_id":"9f37e6eedf2b3256bbc1e4faf0db6fe4f3fa975c","unresolved":false,"context_lines":[{"line_number":47,"context_line":""},{"line_number":48,"context_line":"    {% elif base_distro in [\u0027ubuntu\u0027, \u0027debian\u0027] %}"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"RUN apt-get -y install --no-install-recommends \\"},{"line_number":51,"context_line":"        apache2 \\"},{"line_number":52,"context_line":"        libapache2-mod-wsgi \\"},{"line_number":53,"context_line":"        python-ldappool \\"}],"source_content_type":"text/x-jinja2","patch_set":6,"id":"bacf61ea_2aa102aa","line":50,"updated":"2016-08-04 12:37:42.000000000","message":"Use set ... packages here.","commit_id":"bebec3096a5f83e4a234bdf407c7c2fbc1a992d9"},{"author":{"_account_id":16482,"name":"Shaun Smekel","email":"shaun.smekel@theorem.net.au","username":"smekel"},"change_message_id":"682d51d09f41da108a704430a98bba8b3f2d6974","unresolved":false,"context_lines":[{"line_number":47,"context_line":""},{"line_number":48,"context_line":"    {% elif base_distro in [\u0027ubuntu\u0027, \u0027debian\u0027] %}"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"RUN apt-get -y install --no-install-recommends \\"},{"line_number":51,"context_line":"        apache2 \\"},{"line_number":52,"context_line":"        libapache2-mod-wsgi \\"},{"line_number":53,"context_line":"        python-ldappool \\"}],"source_content_type":"text/x-jinja2","patch_set":6,"id":"bacf61ea_e5f09fff","line":50,"in_reply_to":"bacf61ea_2aa102aa","updated":"2016-08-04 21:42:27.000000000","message":"Done","commit_id":"bebec3096a5f83e4a234bdf407c7c2fbc1a992d9"},{"author":{"_account_id":7488,"name":"Jeffrey Zhang","email":"zhang.lei.fly@gmail.com","username":"Jeffrey4l"},"change_message_id":"48c842a56fb430cc3e6638bb0abbaacec00a697b","unresolved":false,"context_lines":[{"line_number":72,"context_line":""},{"line_number":73,"context_line":"{% block keystone_base_footer %}{% endblock %}"},{"line_number":74,"context_line":"{% block footer %}{% endblock %}"},{"line_number":75,"context_line":"{{ include_footer }}"}],"source_content_type":"text/x-jinja2","patch_set":17,"id":"fa6399be_b6768cd6","line":75,"updated":"2016-10-18 07:32:47.000000000","message":"add \u0027\\n\u0027 at the last line.","commit_id":"547a8671b59eae8ea63ef0d4ec4910e2bd849e9f"}],"docker/keystone/keystone-fernet/Dockerfile.j2":[{"author":{"_account_id":167,"name":"Christian Berendt","email":"berendt@osism.tech","username":"berendt"},"change_message_id":"9f37e6eedf2b3256bbc1e4faf0db6fe4f3fa975c","unresolved":false,"context_lines":[{"line_number":3,"context_line":"{% import \"macros.j2\" as macros with context %}"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"{% if base_distro in [\u0027fedora\u0027, \u0027centos\u0027, \u0027oraclelinux\u0027, \u0027rhel\u0027] %}"},{"line_number":6,"context_line":"\t{% set keystone_fernet_packages \u003d [\u0027cronie\u0027] %}"},{"line_number":7,"context_line":"{% elif base_distro in [\u0027ubuntu\u0027, \u0027debian\u0027] %}"},{"line_number":8,"context_line":"\t{% set keystone_fernet_packages \u003d [\u0027cron\u0027] %}"},{"line_number":9,"context_line":"{% endif %}"}],"source_content_type":"text/x-jinja2","patch_set":6,"id":"bacf61ea_2a88e221","line":6,"updated":"2016-08-04 12:37:42.000000000","message":"do not use tabs","commit_id":"bebec3096a5f83e4a234bdf407c7c2fbc1a992d9"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"24e87174c7c8d4ba73a0ebb7241651d45c45529e","unresolved":false,"context_lines":[{"line_number":3,"context_line":"{% import \"macros.j2\" as macros with context %}"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"{% if base_distro in [\u0027fedora\u0027, \u0027centos\u0027, \u0027oraclelinux\u0027, \u0027rhel\u0027] %}"},{"line_number":6,"context_line":"\t{% set keystone_fernet_packages \u003d [\u0027cronie\u0027] %}"},{"line_number":7,"context_line":"{% elif base_distro in [\u0027ubuntu\u0027, \u0027debian\u0027] %}"},{"line_number":8,"context_line":"\t{% set keystone_fernet_packages \u003d [\u0027cron\u0027] %}"},{"line_number":9,"context_line":"{% endif %}"}],"source_content_type":"text/x-jinja2","patch_set":6,"id":"bacf61ea_eaccf98a","line":6,"in_reply_to":"bacf61ea_2a88e221","updated":"2016-08-04 17:10:53.000000000","message":"agree  - we have a long standing unwritten rule of using spaces rather than tabs.","commit_id":"bebec3096a5f83e4a234bdf407c7c2fbc1a992d9"},{"author":{"_account_id":16482,"name":"Shaun Smekel","email":"shaun.smekel@theorem.net.au","username":"smekel"},"change_message_id":"682d51d09f41da108a704430a98bba8b3f2d6974","unresolved":false,"context_lines":[{"line_number":3,"context_line":"{% import \"macros.j2\" as macros with context %}"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"{% if base_distro in [\u0027fedora\u0027, \u0027centos\u0027, \u0027oraclelinux\u0027, \u0027rhel\u0027] %}"},{"line_number":6,"context_line":"\t{% set keystone_fernet_packages \u003d [\u0027cronie\u0027] %}"},{"line_number":7,"context_line":"{% elif base_distro in [\u0027ubuntu\u0027, \u0027debian\u0027] %}"},{"line_number":8,"context_line":"\t{% set keystone_fernet_packages \u003d [\u0027cron\u0027] %}"},{"line_number":9,"context_line":"{% endif %}"}],"source_content_type":"text/x-jinja2","patch_set":6,"id":"bacf61ea_aa32f60d","line":6,"in_reply_to":"bacf61ea_eaccf98a","updated":"2016-08-04 21:42:27.000000000","message":"Done","commit_id":"bebec3096a5f83e4a234bdf407c7c2fbc1a992d9"},{"author":{"_account_id":167,"name":"Christian Berendt","email":"berendt@osism.tech","username":"berendt"},"change_message_id":"9f37e6eedf2b3256bbc1e4faf0db6fe4f3fa975c","unresolved":false,"context_lines":[{"line_number":5,"context_line":"{% if base_distro in [\u0027fedora\u0027, \u0027centos\u0027, \u0027oraclelinux\u0027, \u0027rhel\u0027] %}"},{"line_number":6,"context_line":"\t{% set keystone_fernet_packages \u003d [\u0027cronie\u0027] %}"},{"line_number":7,"context_line":"{% elif base_distro in [\u0027ubuntu\u0027, \u0027debian\u0027] %}"},{"line_number":8,"context_line":"\t{% set keystone_fernet_packages \u003d [\u0027cron\u0027] %}"},{"line_number":9,"context_line":"{% endif %}"},{"line_number":10,"context_line":"RUN {{ macros.install_packages(keystone_fernet_packages | customizable(\"packages\")) }}"},{"line_number":11,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":6,"id":"bacf61ea_0a8b5e1f","line":8,"updated":"2016-08-04 12:37:42.000000000","message":"dito","commit_id":"bebec3096a5f83e4a234bdf407c7c2fbc1a992d9"},{"author":{"_account_id":16482,"name":"Shaun Smekel","email":"shaun.smekel@theorem.net.au","username":"smekel"},"change_message_id":"682d51d09f41da108a704430a98bba8b3f2d6974","unresolved":false,"context_lines":[{"line_number":5,"context_line":"{% if base_distro in [\u0027fedora\u0027, \u0027centos\u0027, \u0027oraclelinux\u0027, \u0027rhel\u0027] %}"},{"line_number":6,"context_line":"\t{% set keystone_fernet_packages \u003d [\u0027cronie\u0027] %}"},{"line_number":7,"context_line":"{% elif base_distro in [\u0027ubuntu\u0027, \u0027debian\u0027] %}"},{"line_number":8,"context_line":"\t{% set keystone_fernet_packages \u003d [\u0027cron\u0027] %}"},{"line_number":9,"context_line":"{% endif %}"},{"line_number":10,"context_line":"RUN {{ macros.install_packages(keystone_fernet_packages | customizable(\"packages\")) }}"},{"line_number":11,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":6,"id":"bacf61ea_6a563e2b","line":8,"in_reply_to":"bacf61ea_0a8b5e1f","updated":"2016-08-04 21:42:27.000000000","message":"Done","commit_id":"bebec3096a5f83e4a234bdf407c7c2fbc1a992d9"},{"author":{"_account_id":7488,"name":"Jeffrey Zhang","email":"zhang.lei.fly@gmail.com","username":"Jeffrey4l"},"change_message_id":"48c842a56fb430cc3e6638bb0abbaacec00a697b","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":"{% block keystone_fernet_footer %}{% endblock %}"},{"line_number":24,"context_line":"{% block footer %}{% endblock %}"},{"line_number":25,"context_line":"{{ include_footer }}"}],"source_content_type":"text/x-jinja2","patch_set":17,"id":"fa6399be_967188e3","line":25,"updated":"2016-10-18 07:32:47.000000000","message":"USER keystone?","commit_id":"547a8671b59eae8ea63ef0d4ec4910e2bd849e9f"}],"docker/keystone/keystone-fernet/extend_start.sh":[{"author":{"_account_id":167,"name":"Christian Berendt","email":"berendt@osism.tech","username":"berendt"},"change_message_id":"9f37e6eedf2b3256bbc1e4faf0db6fe4f3fa975c","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/bash"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"FERNET_SYNC\u003d/usr/bin/fernet-node-sync.sh"},{"line_number":4,"context_line":""}],"source_content_type":"text/x-sh","patch_set":6,"id":"bacf61ea_cabf86a8","line":1,"updated":"2016-08-04 12:37:42.000000000","message":"#!/usr/bin/env bash","commit_id":"bebec3096a5f83e4a234bdf407c7c2fbc1a992d9"},{"author":{"_account_id":16482,"name":"Shaun Smekel","email":"shaun.smekel@theorem.net.au","username":"smekel"},"change_message_id":"682d51d09f41da108a704430a98bba8b3f2d6974","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/bash"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"FERNET_SYNC\u003d/usr/bin/fernet-node-sync.sh"},{"line_number":4,"context_line":""}],"source_content_type":"text/x-sh","patch_set":6,"id":"bacf61ea_a52d0748","line":1,"in_reply_to":"bacf61ea_cabf86a8","updated":"2016-08-04 21:42:27.000000000","message":"The use of #!/bin/bash is consistent across the entire docker folder where bash is used. If we want to move to using #!/usr/bin/env bash should this be its own branch?","commit_id":"bebec3096a5f83e4a234bdf407c7c2fbc1a992d9"},{"author":{"_account_id":10419,"name":"Ryan Hallisey","email":"rhallise@redhat.com","username":"rhallisey"},"change_message_id":"cf5df36df86189a65b3305c0ac099e4dc5da154b","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/bash"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"FERNET_SYNC\u003d/usr/bin/fernet-node-sync.sh"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"if [[ -f \"${FERNET_SYNC}\" ]]; then"},{"line_number":6,"context_line":"    ${FERNET_SYNC}"}],"source_content_type":"text/x-sh","patch_set":17,"id":"9ad45d7e_3f9ecd07","line":3,"range":{"start_line":3,"start_character":21,"end_line":3,"end_character":40},"updated":"2016-08-12 13:50:02.000000000","message":"I don\u0027t see this script anywhere. Is this meant for the user to add a script in here to customize when a node sync occurs?\nIf so, then I think a blank script should be added to the Dockerfile.","commit_id":"547a8671b59eae8ea63ef0d4ec4910e2bd849e9f"},{"author":{"_account_id":7488,"name":"Jeffrey Zhang","email":"zhang.lei.fly@gmail.com","username":"Jeffrey4l"},"change_message_id":"48c842a56fb430cc3e6638bb0abbaacec00a697b","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/bash"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"FERNET_SYNC\u003d/usr/bin/fernet-node-sync.sh"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"if [[ -f \"${FERNET_SYNC}\" ]]; then"},{"line_number":6,"context_line":"    ${FERNET_SYNC}"}],"source_content_type":"text/x-sh","patch_set":17,"id":"fa6399be_5667f024","line":3,"updated":"2016-10-18 07:32:47.000000000","message":"why not try add the script content in image and pass the variables through environment in ansible?\n\nYou are breaking the immutable image rule.","commit_id":"547a8671b59eae8ea63ef0d4ec4910e2bd849e9f"},{"author":{"_account_id":16482,"name":"Shaun Smekel","email":"shaun.smekel@theorem.net.au","username":"smekel"},"change_message_id":"71654608da17d49d75b547b1f8e4cf1d3b0605a9","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/bash"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"FERNET_SYNC\u003d/usr/bin/fernet-node-sync.sh"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"if [[ -f \"${FERNET_SYNC}\" ]]; then"},{"line_number":6,"context_line":"    ${FERNET_SYNC}"}],"source_content_type":"text/x-sh","patch_set":17,"id":"3ac371cc_0c3f3fd7","line":3,"range":{"start_line":3,"start_character":21,"end_line":3,"end_character":40},"in_reply_to":"3ac371cc_b13c9e30","updated":"2016-08-15 22:39:45.000000000","message":"This is run whenever the container starts. It is a handler for failed nodes/nodes joining/rejoining a pre-existing cluster to ensure they are in sync with the existing fernet keys when starting. \n\nThis container only starts with the fernet-node-sync in place (https://review.openstack.org/#/c/349366/44/ansible/roles/keystone/templates/keystone-fernet.json.j2) so it will be there on start and runs after the configs have been copied in place in the container.\n\nAnsible does not run this script, the cron in the keystone-fernet container handles all the fernet rotation logic. The only task that Ansible runs is an initialisation command (keystone_boostrap.sh) to ensure fernet is setup correctly however that task cannot run like the normal bootstrap of other applications as it relies of a functioning keystone to work. So the boostrap is a bit misleading in that it cannot initialise fernet unless everything is operational.\n\nI did miss mounting the config folder for keystone-fernet in the accompanying pull request but I have fixed that as per your comments.","commit_id":"547a8671b59eae8ea63ef0d4ec4910e2bd849e9f"},{"author":{"_account_id":10419,"name":"Ryan Hallisey","email":"rhallise@redhat.com","username":"rhallisey"},"change_message_id":"829a36c7f3e4cd8373c76070c8dbe6251cb6bde5","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/bash"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"FERNET_SYNC\u003d/usr/bin/fernet-node-sync.sh"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"if [[ -f \"${FERNET_SYNC}\" ]]; then"},{"line_number":6,"context_line":"    ${FERNET_SYNC}"}],"source_content_type":"text/x-sh","patch_set":17,"id":"3ac371cc_b13c9e30","line":3,"range":{"start_line":3,"start_character":21,"end_line":3,"end_character":40},"in_reply_to":"7ac969e8_ac874711","updated":"2016-08-15 14:11:00.000000000","message":"Ok, I see what your doing here.  The extend_start.sh will be executed when the container first runs.  This script, fernet-node-sync.sh, never exists in the container so it will never get executed.\n\nIs the container suppose to execute this first via extend_start or should this be executed with ansible?","commit_id":"547a8671b59eae8ea63ef0d4ec4910e2bd849e9f"},{"author":{"_account_id":17372,"name":"Ross Krumbeck","email":"ross.krumbeck@gmail.com","username":"bsk1n"},"change_message_id":"fed4101a8470463648a85190e0291f245312c93a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/bash"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"FERNET_SYNC\u003d/usr/bin/fernet-node-sync.sh"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"if [[ -f \"${FERNET_SYNC}\" ]]; then"},{"line_number":6,"context_line":"    ${FERNET_SYNC}"}],"source_content_type":"text/x-sh","patch_set":17,"id":"3ac371cc_bc3487de","line":3,"range":{"start_line":3,"start_character":21,"end_line":3,"end_character":40},"in_reply_to":"9ad45d7e_3f9ecd07","updated":"2016-08-15 06:04:01.000000000","message":"Agree.","commit_id":"547a8671b59eae8ea63ef0d4ec4910e2bd849e9f"},{"author":{"_account_id":16482,"name":"Shaun Smekel","email":"shaun.smekel@theorem.net.au","username":"smekel"},"change_message_id":"fd7c177ec66ecc9e4543ba30f977690f24b5f024","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/bash"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"FERNET_SYNC\u003d/usr/bin/fernet-node-sync.sh"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"if [[ -f \"${FERNET_SYNC}\" ]]; then"},{"line_number":6,"context_line":"    ${FERNET_SYNC}"}],"source_content_type":"text/x-sh","patch_set":17,"id":"7ac969e8_ac874711","line":3,"range":{"start_line":3,"start_character":21,"end_line":3,"end_character":40},"in_reply_to":"9ad45d7e_3f9ecd07","updated":"2016-08-15 09:54:07.000000000","message":"It is added at the deploy stage in the ansible role. I have added the condition below so that it ensures the file exists before trying to execute it. That ensures that this script will not fail.\n\nDo you think it needs more than this?","commit_id":"547a8671b59eae8ea63ef0d4ec4910e2bd849e9f"},{"author":{"_account_id":7488,"name":"Jeffrey Zhang","email":"zhang.lei.fly@gmail.com","username":"Jeffrey4l"},"change_message_id":"48c842a56fb430cc3e6638bb0abbaacec00a697b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"fa6399be_766cf408","line":8,"updated":"2016-10-18 07:32:47.000000000","message":"add \u0027\\n\u0027 at the last line.","commit_id":"547a8671b59eae8ea63ef0d4ec4910e2bd849e9f"}],"docker/keystone/keystone-fernet/fetch_fernet_tokens.py":[{"author":{"_account_id":167,"name":"Christian Berendt","email":"berendt@osism.tech","username":"berendt"},"change_message_id":"9f37e6eedf2b3256bbc1e4faf0db6fe4f3fa975c","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/usr/bin/python"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Copyright 2015 Sam Yaple"},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":6,"id":"bacf61ea_eaad2a89","line":1,"updated":"2016-08-04 12:37:42.000000000","message":"#!/usr/bin/env python","commit_id":"bebec3096a5f83e4a234bdf407c7c2fbc1a992d9"},{"author":{"_account_id":16482,"name":"Shaun Smekel","email":"shaun.smekel@theorem.net.au","username":"smekel"},"change_message_id":"682d51d09f41da108a704430a98bba8b3f2d6974","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/usr/bin/python"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Copyright 2015 Sam Yaple"},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":6,"id":"bacf61ea_a5d4e71f","line":1,"in_reply_to":"bacf61ea_eaad2a89","updated":"2016-08-04 21:42:27.000000000","message":"Same here","commit_id":"bebec3096a5f83e4a234bdf407c7c2fbc1a992d9"},{"author":{"_account_id":167,"name":"Christian Berendt","email":"berendt@osism.tech","username":"berendt"},"change_message_id":"9f37e6eedf2b3256bbc1e4faf0db6fe4f3fa975c","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/usr/bin/python"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Copyright 2015 Sam Yaple"},{"line_number":4,"context_line":"#"},{"line_number":5,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\");"},{"line_number":6,"context_line":"# you may not use this file except in compliance with the License."}],"source_content_type":"text/x-python","patch_set":6,"id":"bacf61ea_6a993a6e","line":3,"updated":"2016-08-04 12:37:42.000000000","message":"Is this copyright statement necessary?","commit_id":"bebec3096a5f83e4a234bdf407c7c2fbc1a992d9"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"24e87174c7c8d4ba73a0ebb7241651d45c45529e","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/usr/bin/python"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Copyright 2015 Sam Yaple"},{"line_number":4,"context_line":"#"},{"line_number":5,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\");"},{"line_number":6,"context_line":"# you may not use this file except in compliance with the License."}],"source_content_type":"text/x-python","patch_set":6,"id":"bacf61ea_6ad92957","line":3,"in_reply_to":"bacf61ea_6a993a6e","updated":"2016-08-04 17:10:53.000000000","message":"if this code is derived from some other code, then yes.\n\nJust looking at the code, it doesn\u0027t look like a derived work, but the author of the patch would have to answer if it was just a cut and paste of the copyright header or the actual code was derived from something else.","commit_id":"bebec3096a5f83e4a234bdf407c7c2fbc1a992d9"},{"author":{"_account_id":16482,"name":"Shaun Smekel","email":"shaun.smekel@theorem.net.au","username":"smekel"},"change_message_id":"682d51d09f41da108a704430a98bba8b3f2d6974","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/usr/bin/python"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Copyright 2015 Sam Yaple"},{"line_number":4,"context_line":"#"},{"line_number":5,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\");"},{"line_number":6,"context_line":"# you may not use this file except in compliance with the License."}],"source_content_type":"text/x-python","patch_set":6,"id":"bacf61ea_253c77c7","line":3,"in_reply_to":"bacf61ea_6ad92957","updated":"2016-08-04 21:42:27.000000000","message":"It is derived from a file for getting the ceph keys. The only original code remaining is json_exit so I\u0027m not sure what to do in this case?","commit_id":"bebec3096a5f83e4a234bdf407c7c2fbc1a992d9"},{"author":{"_account_id":7488,"name":"Jeffrey Zhang","email":"zhang.lei.fly@gmail.com","username":"Jeffrey4l"},"change_message_id":"48c842a56fb430cc3e6638bb0abbaacec00a697b","unresolved":false,"context_lines":[{"line_number":27,"context_line":"TOKEN_PATH \u003d \u0027/etc/keystone/fernet-keys\u0027"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"def json_exit(msg\u003dNone, failed\u003dFalse, changed\u003dFalse):"},{"line_number":31,"context_line":"    if type(msg) is not dict:"},{"line_number":32,"context_line":"        msg \u003d {\u0027msg\u0027: str(msg)}"},{"line_number":33,"context_line":"    msg.update({\u0027failed\u0027: failed, \u0027changed\u0027: changed})"}],"source_content_type":"text/x-python","patch_set":17,"id":"fa6399be_d67300e6","line":30,"updated":"2016-10-18 07:32:47.000000000","message":"seems the changed variable never be true?","commit_id":"547a8671b59eae8ea63ef0d4ec4910e2bd849e9f"}],"docker/keystone/keystone-fernet/keystone_bootstrap.sh":[{"author":{"_account_id":167,"name":"Christian Berendt","email":"berendt@osism.tech","username":"berendt"},"change_message_id":"9f37e6eedf2b3256bbc1e4faf0db6fe4f3fa975c","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/bash"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"set -x"},{"line_number":4,"context_line":""}],"source_content_type":"text/x-sh","patch_set":6,"id":"bacf61ea_4aea76ad","line":1,"updated":"2016-08-04 12:37:42.000000000","message":"#!/usr/bin/env bash","commit_id":"bebec3096a5f83e4a234bdf407c7c2fbc1a992d9"},{"author":{"_account_id":16482,"name":"Shaun Smekel","email":"shaun.smekel@theorem.net.au","username":"smekel"},"change_message_id":"682d51d09f41da108a704430a98bba8b3f2d6974","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/bash"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"set -x"},{"line_number":4,"context_line":""}],"source_content_type":"text/x-sh","patch_set":6,"id":"bacf61ea_85d9e359","line":1,"in_reply_to":"bacf61ea_4aea76ad","updated":"2016-08-04 21:42:27.000000000","message":"Same here","commit_id":"bebec3096a5f83e4a234bdf407c7c2fbc1a992d9"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"24e87174c7c8d4ba73a0ebb7241651d45c45529e","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/bash"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"set -x"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"USERNAME\u003d$1"}],"source_content_type":"text/x-sh","patch_set":6,"id":"bacf61ea_caa8158f","line":2,"updated":"2016-08-04 17:10:53.000000000","message":"this file needs a license header.","commit_id":"bebec3096a5f83e4a234bdf407c7c2fbc1a992d9"},{"author":{"_account_id":16482,"name":"Shaun Smekel","email":"shaun.smekel@theorem.net.au","username":"smekel"},"change_message_id":"682d51d09f41da108a704430a98bba8b3f2d6974","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/bash"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"set -x"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"USERNAME\u003d$1"}],"source_content_type":"text/x-sh","patch_set":6,"id":"bacf61ea_65602fd0","line":2,"in_reply_to":"bacf61ea_caa8158f","updated":"2016-08-04 21:42:27.000000000","message":"Done","commit_id":"bebec3096a5f83e4a234bdf407c7c2fbc1a992d9"}],"docker/keystone/keystone-ssh/Dockerfile.j2":[{"author":{"_account_id":167,"name":"Christian Berendt","email":"berendt@osism.tech","username":"berendt"},"change_message_id":"9f37e6eedf2b3256bbc1e4faf0db6fe4f3fa975c","unresolved":false,"context_lines":[{"line_number":3,"context_line":"{% import \"macros.j2\" as macros with context %}"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"{% if base_distro in [\u0027centos\u0027, \u0027fedora\u0027, \u0027oraclelinux\u0027, \u0027rhel\u0027] %}"},{"line_number":6,"context_line":"\t{% set keystone_ssh_packages \u003d [\u0027openssh-server\u0027] %}"},{"line_number":7,"context_line":"{% elif base_distro in [\u0027ubuntu\u0027, \u0027debian\u0027] %}"},{"line_number":8,"context_line":"\t{% set keystone_ssh_packages \u003d [\u0027openssh-server\u0027] %}"},{"line_number":9,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":6,"id":"bacf61ea_cad666f0","line":6,"updated":"2016-08-04 12:37:42.000000000","message":"tab","commit_id":"bebec3096a5f83e4a234bdf407c7c2fbc1a992d9"},{"author":{"_account_id":16482,"name":"Shaun Smekel","email":"shaun.smekel@theorem.net.au","username":"smekel"},"change_message_id":"682d51d09f41da108a704430a98bba8b3f2d6974","unresolved":false,"context_lines":[{"line_number":3,"context_line":"{% import \"macros.j2\" as macros with context %}"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"{% if base_distro in [\u0027centos\u0027, \u0027fedora\u0027, \u0027oraclelinux\u0027, \u0027rhel\u0027] %}"},{"line_number":6,"context_line":"\t{% set keystone_ssh_packages \u003d [\u0027openssh-server\u0027] %}"},{"line_number":7,"context_line":"{% elif base_distro in [\u0027ubuntu\u0027, \u0027debian\u0027] %}"},{"line_number":8,"context_line":"\t{% set keystone_ssh_packages \u003d [\u0027openssh-server\u0027] %}"},{"line_number":9,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":6,"id":"bacf61ea_a5750799","line":6,"in_reply_to":"bacf61ea_cad666f0","updated":"2016-08-04 21:42:27.000000000","message":"Done","commit_id":"bebec3096a5f83e4a234bdf407c7c2fbc1a992d9"},{"author":{"_account_id":167,"name":"Christian Berendt","email":"berendt@osism.tech","username":"berendt"},"change_message_id":"9f37e6eedf2b3256bbc1e4faf0db6fe4f3fa975c","unresolved":false,"context_lines":[{"line_number":5,"context_line":"{% if base_distro in [\u0027centos\u0027, \u0027fedora\u0027, \u0027oraclelinux\u0027, \u0027rhel\u0027] %}"},{"line_number":6,"context_line":"\t{% set keystone_ssh_packages \u003d [\u0027openssh-server\u0027] %}"},{"line_number":7,"context_line":"{% elif base_distro in [\u0027ubuntu\u0027, \u0027debian\u0027] %}"},{"line_number":8,"context_line":"\t{% set keystone_ssh_packages \u003d [\u0027openssh-server\u0027] %}"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"RUN mkdir -p /var/run/sshd \\"},{"line_number":11,"context_line":"    \u0026\u0026 chmod 0755 /var/run/sshd"}],"source_content_type":"text/x-jinja2","patch_set":6,"id":"bacf61ea_6afe5a6c","line":8,"updated":"2016-08-04 12:37:42.000000000","message":"tab","commit_id":"bebec3096a5f83e4a234bdf407c7c2fbc1a992d9"},{"author":{"_account_id":16482,"name":"Shaun Smekel","email":"shaun.smekel@theorem.net.au","username":"smekel"},"change_message_id":"682d51d09f41da108a704430a98bba8b3f2d6974","unresolved":false,"context_lines":[{"line_number":5,"context_line":"{% if base_distro in [\u0027centos\u0027, \u0027fedora\u0027, \u0027oraclelinux\u0027, \u0027rhel\u0027] %}"},{"line_number":6,"context_line":"\t{% set keystone_ssh_packages \u003d [\u0027openssh-server\u0027] %}"},{"line_number":7,"context_line":"{% elif base_distro in [\u0027ubuntu\u0027, \u0027debian\u0027] %}"},{"line_number":8,"context_line":"\t{% set keystone_ssh_packages \u003d [\u0027openssh-server\u0027] %}"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"RUN mkdir -p /var/run/sshd \\"},{"line_number":11,"context_line":"    \u0026\u0026 chmod 0755 /var/run/sshd"}],"source_content_type":"text/x-jinja2","patch_set":6,"id":"bacf61ea_e56b7fb7","line":8,"in_reply_to":"bacf61ea_6afe5a6c","updated":"2016-08-04 21:42:27.000000000","message":"Done","commit_id":"bebec3096a5f83e4a234bdf407c7c2fbc1a992d9"}],"docker/keystone/keystone-ssh/extend_start.sh":[{"author":{"_account_id":167,"name":"Christian Berendt","email":"berendt@osism.tech","username":"berendt"},"change_message_id":"9f37e6eedf2b3256bbc1e4faf0db6fe4f3fa975c","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/bash"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"if [[ ! -L /dev/log ]]; then"},{"line_number":4,"context_line":"    ln -sf /var/lib/kolla/heka/log /dev/log"}],"source_content_type":"text/x-sh","patch_set":6,"id":"bacf61ea_eaf24a99","line":1,"updated":"2016-08-04 12:37:42.000000000","message":"#!/usr/bin/env bash","commit_id":"bebec3096a5f83e4a234bdf407c7c2fbc1a992d9"},{"author":{"_account_id":16482,"name":"Shaun Smekel","email":"shaun.smekel@theorem.net.au","username":"smekel"},"change_message_id":"682d51d09f41da108a704430a98bba8b3f2d6974","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/bash"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"if [[ ! -L /dev/log ]]; then"},{"line_number":4,"context_line":"    ln -sf /var/lib/kolla/heka/log /dev/log"}],"source_content_type":"text/x-sh","patch_set":6,"id":"bacf61ea_c5df5b38","line":1,"in_reply_to":"bacf61ea_eaf24a99","updated":"2016-08-04 21:42:27.000000000","message":"Same here","commit_id":"bebec3096a5f83e4a234bdf407c7c2fbc1a992d9"}]}
