)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"bec48794de0a810a5a2622b9e9444b364a34f2eb","unresolved":false,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Also install \u0027docker\u0027 Python package from binary package in \u0027dind\u0027"},{"line_number":20,"context_line":"binary images."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Change-Id: Ibfe0c2b8be98db56c61f74fb0247488ab3749ef4"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":16,"id":"3fce034c_4abf1bfb","line":21,"updated":"2019-04-12 14:09:40.000000000","message":"Implements: blueprint debian-ubuntu-python3","commit_id":"fd1f3ca790946463710411fc9f471099f693497c"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"fd4f83eff4d27c4ebf683637d80c308762296a29","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Marcin Juszkiewicz \u003cmarcin.juszkiewicz@linaro.org\u003e"},{"line_number":5,"context_line":"CommitDate: 2019-05-28 12:14:01 +0200"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Debian/Ubuntu: move to Python 3 for binary/source images"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Commit 43b74ccc157c0b50138c3785ed91dab504895571 enabled use of Python 3"},{"line_number":10,"context_line":"based packages but not switched to use Python 3."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":24,"id":"bfb3d3c7_45021971","line":7,"range":{"start_line":7,"start_character":36,"end_line":7,"end_character":43},"updated":"2019-05-28 13:57:27.000000000","message":"source only?","commit_id":"6bd092abf8f8d5e1e054a34770d6d729b128556b"}],"docker/base/Dockerfile.j2":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"60c9ef6be480178207126d6afe40d460916d377d","unresolved":false,"context_lines":[{"line_number":307,"context_line":"   \u0027lvm2\u0027,"},{"line_number":308,"context_line":"   \u0027netbase\u0027,"},{"line_number":309,"context_line":"   \u0027open-iscsi\u0027,"},{"line_number":310,"context_line":"   \u0027python3\u0027,"},{"line_number":311,"context_line":"   \u0027socat\u0027,"},{"line_number":312,"context_line":"   \u0027sudo\u0027,"},{"line_number":313,"context_line":"   \u0027tgt\u0027]"}],"source_content_type":"text/x-jinja2","patch_set":1,"id":"5fc1f717_2b3b6c9c","line":310,"range":{"start_line":310,"start_character":4,"end_line":310,"end_character":11},"updated":"2019-03-11 11:03:28.000000000","message":"Given that some images require python2 and some require python3, don\u0027t we need python and python3 here? Or two separate base images?","commit_id":"932e692d4b8b197360c511b172ea2d992035d57f"},{"author":{"_account_id":24072,"name":"Marcin Juszkiewicz","email":"mjuszkiewicz@redhat.com","username":"hrw"},"change_message_id":"6dd7dd243be7a14b91741f0fb98cf47798d47ea2","unresolved":false,"context_lines":[{"line_number":307,"context_line":"   \u0027lvm2\u0027,"},{"line_number":308,"context_line":"   \u0027netbase\u0027,"},{"line_number":309,"context_line":"   \u0027open-iscsi\u0027,"},{"line_number":310,"context_line":"   \u0027python3\u0027,"},{"line_number":311,"context_line":"   \u0027socat\u0027,"},{"line_number":312,"context_line":"   \u0027sudo\u0027,"},{"line_number":313,"context_line":"   \u0027tgt\u0027]"}],"source_content_type":"text/x-jinja2","patch_set":1,"id":"5fc1f717_fc38cc3d","line":310,"range":{"start_line":310,"start_character":4,"end_line":310,"end_character":11},"in_reply_to":"5fc1f717_2b3b6c9c","updated":"2019-03-11 14:06:25.000000000","message":"If we need Python 2 somewhere then it means that some Py2 packages are installed. And they will depend on \u0027python\u0027 so interpreter gets installed.","commit_id":"932e692d4b8b197360c511b172ea2d992035d57f"},{"author":{"_account_id":13039,"name":"Martin André","email":"m.andre@redhat.com","username":"mandre"},"change_message_id":"78c25d44e2a1e9ccc723fbfeaa2022cafa24f970","unresolved":false,"context_lines":[{"line_number":399,"context_line":"    \u0026\u0026 rm -rf /var/lib/apt/lists/*"},{"line_number":400,"context_line":"{% endblock %}"},{"line_number":401,"context_line":""},{"line_number":402,"context_line":"# FIXME(mgoddard): Some images, including Horizon, depend on Ubuntu having a"},{"line_number":403,"context_line":"# site-packages directory."},{"line_number":404,"context_line":"#{% if base_distro \u003d\u003d \u0027ubuntu\u0027 %}"},{"line_number":405,"context_line":"#RUN sed -i \\"},{"line_number":406,"context_line":"#        -e \"s|\\(\u0027purelib\u0027: \u0027\\$base/\\)local/\\(lib/python\\$py_version_short/dist-packages\u0027,\\)|\\1\\2|\" \\"},{"line_number":407,"context_line":"#        -e \"s|\\(\u0027platlib\u0027: \u0027\\$platbase/\\)local/\\(lib/python\\$py_version_short/dist-packages\u0027,\\)|\\1\\2|\" \\"},{"line_number":408,"context_line":"#        -e \"s|\\(\u0027headers\u0027: \u0027\\$base/\\)local/\\(include/python\\$py_version_short/\\$dist_name\u0027,\\)|\\1\\2|\" \\"},{"line_number":409,"context_line":"#        -e \"s|\\(\u0027scripts\u0027: \u0027\\$base/\\)local/\\(bin\u0027,\\)|\\1\\2|\" \\"},{"line_number":410,"context_line":"#        -e \"s|\\(\u0027data\u0027   : \u0027\\$base\\)/local\\(\u0027,\\)|\\1\\2|\" \\"},{"line_number":411,"context_line":"#        /usr/lib/python{{ distro_python_version }}/distutils/command/install.py \\"},{"line_number":412,"context_line":"#    \u0026\u0026 rm -rf /usr/lib/python{{ distro_python_version }}/site-packages \\"},{"line_number":413,"context_line":"#    \u0026\u0026 ln -s dist-packages /usr/lib/{{ distro_python_version }}/site-packages"},{"line_number":414,"context_line":"#{% endif %}"},{"line_number":415,"context_line":""},{"line_number":416,"context_line":"{# endif base_package_type deb #}"},{"line_number":417,"context_line":"{% endif %}"}],"source_content_type":"text/x-jinja2","patch_set":11,"id":"5fc1f717_984ef894","line":414,"range":{"start_line":402,"start_character":0,"end_line":414,"end_character":12},"updated":"2019-03-18 09:13:27.000000000","message":"Looks like this can be removed now.","commit_id":"20428f1d8a7d81085025f4a1860acd2fdc4aadb2"},{"author":{"_account_id":13039,"name":"Martin André","email":"m.andre@redhat.com","username":"mandre"},"change_message_id":"c441cdef6b19d0663ab776485a940e37d7b1a772","unresolved":false,"context_lines":[{"line_number":399,"context_line":"    \u0026\u0026 rm -rf /var/lib/apt/lists/*"},{"line_number":400,"context_line":"{% endblock %}"},{"line_number":401,"context_line":""},{"line_number":402,"context_line":"# FIXME(mgoddard): Some images, including Horizon, depend on Ubuntu having a"},{"line_number":403,"context_line":"# site-packages directory."},{"line_number":404,"context_line":"#{% if base_distro \u003d\u003d \u0027ubuntu\u0027 %}"},{"line_number":405,"context_line":"#RUN sed -i \\"},{"line_number":406,"context_line":"#        -e \"s|\\(\u0027purelib\u0027: \u0027\\$base/\\)local/\\(lib/python\\$py_version_short/dist-packages\u0027,\\)|\\1\\2|\" \\"},{"line_number":407,"context_line":"#        -e \"s|\\(\u0027platlib\u0027: \u0027\\$platbase/\\)local/\\(lib/python\\$py_version_short/dist-packages\u0027,\\)|\\1\\2|\" \\"},{"line_number":408,"context_line":"#        -e \"s|\\(\u0027headers\u0027: \u0027\\$base/\\)local/\\(include/python\\$py_version_short/\\$dist_name\u0027,\\)|\\1\\2|\" \\"},{"line_number":409,"context_line":"#        -e \"s|\\(\u0027scripts\u0027: \u0027\\$base/\\)local/\\(bin\u0027,\\)|\\1\\2|\" \\"},{"line_number":410,"context_line":"#        -e \"s|\\(\u0027data\u0027   : \u0027\\$base\\)/local\\(\u0027,\\)|\\1\\2|\" \\"},{"line_number":411,"context_line":"#        /usr/lib/python{{ distro_python_version }}/distutils/command/install.py \\"},{"line_number":412,"context_line":"#    \u0026\u0026 rm -rf /usr/lib/python{{ distro_python_version }}/site-packages \\"},{"line_number":413,"context_line":"#    \u0026\u0026 ln -s dist-packages /usr/lib/{{ distro_python_version }}/site-packages"},{"line_number":414,"context_line":"#{% endif %}"},{"line_number":415,"context_line":""},{"line_number":416,"context_line":"{# endif base_package_type deb #}"},{"line_number":417,"context_line":"{% endif %}"}],"source_content_type":"text/x-jinja2","patch_set":11,"id":"5fc1f717_01ccba5f","line":414,"range":{"start_line":402,"start_character":0,"end_line":414,"end_character":12},"in_reply_to":"5fc1f717_71332763","updated":"2019-03-19 07:23:44.000000000","message":"On second thought, this code was here to ensure the site-packages directory location is consistent across distros. If we were to remove this, perhaps it\u0027s better in its own commit, along with a release note.","commit_id":"20428f1d8a7d81085025f4a1860acd2fdc4aadb2"},{"author":{"_account_id":24072,"name":"Marcin Juszkiewicz","email":"mjuszkiewicz@redhat.com","username":"hrw"},"change_message_id":"0d1ecf943607ac1f59b862a35266059f7209776f","unresolved":false,"context_lines":[{"line_number":399,"context_line":"    \u0026\u0026 rm -rf /var/lib/apt/lists/*"},{"line_number":400,"context_line":"{% endblock %}"},{"line_number":401,"context_line":""},{"line_number":402,"context_line":"# FIXME(mgoddard): Some images, including Horizon, depend on Ubuntu having a"},{"line_number":403,"context_line":"# site-packages directory."},{"line_number":404,"context_line":"#{% if base_distro \u003d\u003d \u0027ubuntu\u0027 %}"},{"line_number":405,"context_line":"#RUN sed -i \\"},{"line_number":406,"context_line":"#        -e \"s|\\(\u0027purelib\u0027: \u0027\\$base/\\)local/\\(lib/python\\$py_version_short/dist-packages\u0027,\\)|\\1\\2|\" \\"},{"line_number":407,"context_line":"#        -e \"s|\\(\u0027platlib\u0027: \u0027\\$platbase/\\)local/\\(lib/python\\$py_version_short/dist-packages\u0027,\\)|\\1\\2|\" \\"},{"line_number":408,"context_line":"#        -e \"s|\\(\u0027headers\u0027: \u0027\\$base/\\)local/\\(include/python\\$py_version_short/\\$dist_name\u0027,\\)|\\1\\2|\" \\"},{"line_number":409,"context_line":"#        -e \"s|\\(\u0027scripts\u0027: \u0027\\$base/\\)local/\\(bin\u0027,\\)|\\1\\2|\" \\"},{"line_number":410,"context_line":"#        -e \"s|\\(\u0027data\u0027   : \u0027\\$base\\)/local\\(\u0027,\\)|\\1\\2|\" \\"},{"line_number":411,"context_line":"#        /usr/lib/python{{ distro_python_version }}/distutils/command/install.py \\"},{"line_number":412,"context_line":"#    \u0026\u0026 rm -rf /usr/lib/python{{ distro_python_version }}/site-packages \\"},{"line_number":413,"context_line":"#    \u0026\u0026 ln -s dist-packages /usr/lib/{{ distro_python_version }}/site-packages"},{"line_number":414,"context_line":"#{% endif %}"},{"line_number":415,"context_line":""},{"line_number":416,"context_line":"{# endif base_package_type deb #}"},{"line_number":417,"context_line":"{% endif %}"}],"source_content_type":"text/x-jinja2","patch_set":11,"id":"5fc1f717_71332763","line":414,"range":{"start_line":402,"start_character":0,"end_line":414,"end_character":12},"in_reply_to":"5fc1f717_984ef894","updated":"2019-03-18 21:02:00.000000000","message":"Done","commit_id":"20428f1d8a7d81085025f4a1860acd2fdc4aadb2"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"ca2ae91f5f918bdf76dd07ffe35174ffd226f2c8","unresolved":false,"context_lines":[{"line_number":389,"context_line":"    \u0026\u0026 rm -rf /var/lib/apt/lists/*"},{"line_number":390,"context_line":"{% endblock %}"},{"line_number":391,"context_line":""},{"line_number":392,"context_line":"# FIXME(mgoddard): Some images, including Horizon, depend on Ubuntu having a"},{"line_number":393,"context_line":"# site-packages directory."},{"line_number":394,"context_line":"#{% if base_distro \u003d\u003d \u0027ubuntu\u0027 %}"},{"line_number":395,"context_line":"#RUN sed -i \\"},{"line_number":396,"context_line":"#        -e \"s|\\(\u0027purelib\u0027: \u0027\\$base/\\)local/\\(lib/python\\$py_version_short/dist-packages\u0027,\\)|\\1\\2|\" \\"},{"line_number":397,"context_line":"#        -e \"s|\\(\u0027platlib\u0027: \u0027\\$platbase/\\)local/\\(lib/python\\$py_version_short/dist-packages\u0027,\\)|\\1\\2|\" \\"},{"line_number":398,"context_line":"#        -e \"s|\\(\u0027headers\u0027: \u0027\\$base/\\)local/\\(include/python\\$py_version_short/\\$dist_name\u0027,\\)|\\1\\2|\" \\"},{"line_number":399,"context_line":"#        -e \"s|\\(\u0027scripts\u0027: \u0027\\$base/\\)local/\\(bin\u0027,\\)|\\1\\2|\" \\"},{"line_number":400,"context_line":"#        -e \"s|\\(\u0027data\u0027   : \u0027\\$base\\)/local\\(\u0027,\\)|\\1\\2|\" \\"},{"line_number":401,"context_line":"#        /usr/lib/python{{ distro_python_version }}/distutils/command/install.py \\"},{"line_number":402,"context_line":"#    \u0026\u0026 rm -rf /usr/lib/python{{ distro_python_version }}/site-packages \\"},{"line_number":403,"context_line":"#    \u0026\u0026 ln -s dist-packages /usr/lib/{{ distro_python_version }}/site-packages"},{"line_number":404,"context_line":"#{% endif %}"},{"line_number":405,"context_line":""},{"line_number":406,"context_line":"{# endif base_package_type deb #}"},{"line_number":407,"context_line":"{% endif %}"}],"source_content_type":"text/x-jinja2","patch_set":25,"id":"9fb8cfa7_4490444f","line":404,"range":{"start_line":392,"start_character":0,"end_line":404,"end_character":12},"updated":"2019-06-05 14:44:42.000000000","message":"Does this need to be addressed?","commit_id":"d837073a873df7e0d8916fdc1991f7e58434ffa8"}],"docker/ceilometer/ceilometer-compute/Dockerfile.j2":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"ca2ae91f5f918bdf76dd07ffe35174ffd226f2c8","unresolved":false,"context_lines":[{"line_number":13,"context_line":"    {% elif base_package_type \u003d\u003d \u0027deb\u0027 %}"},{"line_number":14,"context_line":"        {% set ceilometer_compute_packages \u003d ["},{"line_number":15,"context_line":"            \u0027ceilometer-agent-compute\u0027,"},{"line_number":16,"context_line":"            \u0027python3-libvirt\u0027"},{"line_number":17,"context_line":"         ] %}"},{"line_number":18,"context_line":"    {% endif %}"},{"line_number":19,"context_line":"{{ macros.install_packages(ceilometer_compute_packages | customizable(\"packages\")) }}"}],"source_content_type":"text/x-jinja2","patch_set":25,"id":"9fb8cfa7_04a80c75","line":16,"updated":"2019-06-05 14:44:42.000000000","message":"does this need backporting to stein?","commit_id":"d837073a873df7e0d8916fdc1991f7e58434ffa8"}],"docker/cinder/cinder-base/Dockerfile.j2":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"ca2ae91f5f918bdf76dd07ffe35174ffd226f2c8","unresolved":false,"context_lines":[{"line_number":33,"context_line":"                \u0027cinder-common\u0027,"},{"line_number":34,"context_line":"                \u0027lvm2\u0027,"},{"line_number":35,"context_line":"                \u0027cryptsetup\u0027,"},{"line_number":36,"context_line":"                \u0027python3-cephfs\u0027,"},{"line_number":37,"context_line":"                \u0027python3-oslo.vmware\u0027,"},{"line_number":38,"context_line":"                \u0027python3-rados\u0027,"},{"line_number":39,"context_line":"                \u0027python3-rbd\u0027"},{"line_number":40,"context_line":"        ] %}"},{"line_number":41,"context_line":"    {% endif %}"},{"line_number":42,"context_line":"{{ macros.install_packages(cinder_base_packages | customizable(\"packages\")) }}"}],"source_content_type":"text/x-jinja2","patch_set":25,"id":"9fb8cfa7_24a3d0a0","line":39,"range":{"start_line":36,"start_character":0,"end_line":39,"end_character":29},"updated":"2019-06-05 14:44:42.000000000","message":"Does this need backporting to stein?","commit_id":"d837073a873df7e0d8916fdc1991f7e58434ffa8"}],"docker/dind/Dockerfile.j2":[{"author":{"_account_id":13039,"name":"Martin André","email":"m.andre@redhat.com","username":"mandre"},"change_message_id":"78c25d44e2a1e9ccc723fbfeaa2022cafa24f970","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"    {% if install_type \u003d\u003d \u0027binary\u0027 %}"},{"line_number":23,"context_line":"        {% set dind_packages \u003d dind_packages + ["},{"line_number":24,"context_line":"             \u0027python3-docker\u0027"},{"line_number":25,"context_line":"        ] %}"},{"line_number":26,"context_line":"    {% endif %}"},{"line_number":27,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":11,"id":"5fc1f717_786eac00","line":24,"range":{"start_line":24,"start_character":14,"end_line":24,"end_character":28},"updated":"2019-03-18 09:13:27.000000000","message":"Nice, one less place where the we install from pip in binary install type.","commit_id":"20428f1d8a7d81085025f4a1860acd2fdc4aadb2"}],"docker/glance/glance-base/Dockerfile.j2":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"ca2ae91f5f918bdf76dd07ffe35174ffd226f2c8","unresolved":false,"context_lines":[{"line_number":32,"context_line":"            \u0027python-oslo.vmware\u0027,"},{"line_number":33,"context_line":"            \u0027python-rados\u0027,"},{"line_number":34,"context_line":"            \u0027python-rbd\u0027,"},{"line_number":35,"context_line":"            \u0027python3-rados\u0027,"},{"line_number":36,"context_line":"            \u0027python3-rbd\u0027"},{"line_number":37,"context_line":"        ] %}"},{"line_number":38,"context_line":"    {% endif %}"},{"line_number":39,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":25,"id":"9fb8cfa7_24d190fc","line":36,"range":{"start_line":35,"start_character":12,"end_line":36,"end_character":25},"updated":"2019-06-05 14:44:42.000000000","message":"Needed in stein?","commit_id":"d837073a873df7e0d8916fdc1991f7e58434ffa8"}],"docker/horizon/Dockerfile.j2":[{"author":{"_account_id":13039,"name":"Martin André","email":"m.andre@redhat.com","username":"mandre"},"change_message_id":"78c25d44e2a1e9ccc723fbfeaa2022cafa24f970","unresolved":false,"context_lines":[{"line_number":149,"context_line":"    \u0026\u0026 if [ \"$(ls /plugins)\" ]; then \\"},{"line_number":150,"context_line":"           {{ macros.install_pip(horizon_plugins_pip_packages) }}; \\"},{"line_number":151,"context_line":"       fi \\"},{"line_number":152,"context_line":"    \u0026\u0026 for locale in  /var/lib/kolla/venv/lib/python{{distro_python_version}}/site-packages/*/locale; do \\"},{"line_number":153,"context_line":"           (cd ${locale%/*} \u0026\u0026 /var/lib/kolla/venv/bin/python /var/lib/kolla/venv/bin/manage.py compilemessages) \\"},{"line_number":154,"context_line":"       done \\"},{"line_number":155,"context_line":"    \u0026\u0026 chown -R horizon: /etc/openstack-dashboard /var/lib/kolla/venv/lib/python{{distro_python_version}}/site-packages/static"}],"source_content_type":"text/x-jinja2","patch_set":11,"id":"5fc1f717_bb040e16","line":152,"range":{"start_line":152,"start_character":46,"end_line":152,"end_character":77},"updated":"2019-03-18 09:13:27.000000000","message":"python3","commit_id":"20428f1d8a7d81085025f4a1860acd2fdc4aadb2"},{"author":{"_account_id":24072,"name":"Marcin Juszkiewicz","email":"mjuszkiewicz@redhat.com","username":"hrw"},"change_message_id":"0d1ecf943607ac1f59b862a35266059f7209776f","unresolved":false,"context_lines":[{"line_number":149,"context_line":"    \u0026\u0026 if [ \"$(ls /plugins)\" ]; then \\"},{"line_number":150,"context_line":"           {{ macros.install_pip(horizon_plugins_pip_packages) }}; \\"},{"line_number":151,"context_line":"       fi \\"},{"line_number":152,"context_line":"    \u0026\u0026 for locale in  /var/lib/kolla/venv/lib/python{{distro_python_version}}/site-packages/*/locale; do \\"},{"line_number":153,"context_line":"           (cd ${locale%/*} \u0026\u0026 /var/lib/kolla/venv/bin/python /var/lib/kolla/venv/bin/manage.py compilemessages) \\"},{"line_number":154,"context_line":"       done \\"},{"line_number":155,"context_line":"    \u0026\u0026 chown -R horizon: /etc/openstack-dashboard /var/lib/kolla/venv/lib/python{{distro_python_version}}/site-packages/static"}],"source_content_type":"text/x-jinja2","patch_set":11,"id":"5fc1f717_11ed03b6","line":152,"range":{"start_line":152,"start_character":46,"end_line":152,"end_character":77},"in_reply_to":"5fc1f717_bb040e16","updated":"2019-03-18 21:02:00.000000000","message":"Done","commit_id":"20428f1d8a7d81085025f4a1860acd2fdc4aadb2"},{"author":{"_account_id":24072,"name":"Marcin Juszkiewicz","email":"mjuszkiewicz@redhat.com","username":"hrw"},"change_message_id":"6142837d2de716d380c5b2674e0883df376dd3d9","unresolved":false,"context_lines":[{"line_number":83,"context_line":"    \u0026\u0026 cp /usr/share/openstack-dashboard/openstack_dashboard/conf/*.json /etc/openstack-dashboard \\"},{"line_number":84,"context_line":"    \u0026\u0026 cp /usr/share/openstack-dashboard/manage.py /usr/bin/manage.py \\"},{"line_number":85,"context_line":"    \u0026\u0026 rm /etc/apache2/conf-enabled/openstack-dashboard.conf \\"},{"line_number":86,"context_line":"    \u0026\u0026 for locale in /usr/lib/python3/site-packages/*/locale; do \\"},{"line_number":87,"context_line":"           (cd ${locale%/*} \u0026\u0026 /usr/bin/python3 /usr/bin/manage.py compilemessages) \\"},{"line_number":88,"context_line":"       done"},{"line_number":89,"context_line":"{% endblock %}"}],"source_content_type":"text/x-jinja2","patch_set":14,"id":"5fc1f717_40585c55","line":86,"range":{"start_line":86,"start_character":38,"end_line":86,"end_character":42},"updated":"2019-03-20 11:32:40.000000000","message":"heh. have to change it back to dist-packages.","commit_id":"b884145cd8a3ddb9e8793c1c1df1aad10de02b69"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"ca2ae91f5f918bdf76dd07ffe35174ffd226f2c8","unresolved":false,"context_lines":[{"line_number":83,"context_line":"    \u0026\u0026 cp /usr/share/openstack-dashboard/openstack_dashboard/conf/*.json /etc/openstack-dashboard \\"},{"line_number":84,"context_line":"    \u0026\u0026 cp /usr/share/openstack-dashboard/manage.py /usr/bin/manage.py \\"},{"line_number":85,"context_line":"    \u0026\u0026 rm /etc/apache2/conf-enabled/openstack-dashboard.conf \\"},{"line_number":86,"context_line":"    \u0026\u0026 for locale in /usr/lib/python3/dist-packages/*/locale; do \\"},{"line_number":87,"context_line":"           (cd ${locale%/*} \u0026\u0026 /usr/bin/python3 /usr/bin/manage.py compilemessages) \\"},{"line_number":88,"context_line":"       done"},{"line_number":89,"context_line":"{% endblock %}"}],"source_content_type":"text/x-jinja2","patch_set":25,"id":"9fb8cfa7_a414a0a1","line":86,"updated":"2019-06-05 14:44:42.000000000","message":"Stein backport?\n\nAre you sure the packages are there?","commit_id":"d837073a873df7e0d8916fdc1991f7e58434ffa8"}],"docker/ironic/ironic-api/Dockerfile.j2":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"ca2ae91f5f918bdf76dd07ffe35174ffd226f2c8","unresolved":false,"context_lines":[{"line_number":21,"context_line":"        {% set ironic_api_packages \u003d ["},{"line_number":22,"context_line":"            \u0027apache2\u0027,"},{"line_number":23,"context_line":"            \u0027ironic-api\u0027,"},{"line_number":24,"context_line":"            \u0027libapache2-mod-wsgi-py3\u0027"},{"line_number":25,"context_line":"        ] %}"},{"line_number":26,"context_line":"    {% endif %}"},{"line_number":27,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":25,"id":"9fb8cfa7_44236406","line":24,"updated":"2019-06-05 14:44:42.000000000","message":"Stein?","commit_id":"d837073a873df7e0d8916fdc1991f7e58434ffa8"}],"docker/ironic/ironic-pxe/Dockerfile.j2":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"ca2ae91f5f918bdf76dd07ffe35174ffd226f2c8","unresolved":false,"context_lines":[{"line_number":39,"context_line":"    {% set ironic_pxe_packages \u003d ["},{"line_number":40,"context_line":"        \u0027apache2\u0027,"},{"line_number":41,"context_line":"        \u0027ipxe\u0027,"},{"line_number":42,"context_line":"        \u0027libapache2-mod-wsgi-py3\u0027,"},{"line_number":43,"context_line":"        \u0027pxelinux\u0027,"},{"line_number":44,"context_line":"        \u0027syslinux-common\u0027,"},{"line_number":45,"context_line":"        \u0027tftpd-hpa\u0027"}],"source_content_type":"text/x-jinja2","patch_set":25,"id":"9fb8cfa7_041d6cbc","line":42,"updated":"2019-06-05 14:44:42.000000000","message":"Stein?","commit_id":"d837073a873df7e0d8916fdc1991f7e58434ffa8"}],"docker/iscsid/Dockerfile.j2":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"ca2ae91f5f918bdf76dd07ffe35174ffd226f2c8","unresolved":false,"context_lines":[{"line_number":24,"context_line":"{% elif base_package_type \u003d\u003d \u0027deb\u0027 %}"},{"line_number":25,"context_line":"    {% set iscsid_packages \u003d ["},{"line_number":26,"context_line":"        \u0027open-iscsi\u0027,"},{"line_number":27,"context_line":"        \u0027python3-rtslib-fb\u0027,"},{"line_number":28,"context_line":"        \u0027targetcli-fb\u0027"},{"line_number":29,"context_line":"    ] %}"},{"line_number":30,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":25,"id":"9fb8cfa7_c47c34ed","line":27,"updated":"2019-06-05 14:44:42.000000000","message":"Stein?","commit_id":"d837073a873df7e0d8916fdc1991f7e58434ffa8"}],"docker/kolla-toolbox/Dockerfile.j2":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"1e6f0424c0aee886055f234d080736f354a27409","unresolved":false,"context_lines":[{"line_number":4,"context_line":"{% block kolla_toolbox_header %}{% endblock %}"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"{% set virtualenv_path\u003d\u0027/opt/ansible\u0027 %}"},{"line_number":7,"context_line":"{% set os_client_config\u003d virtualenv_path + \u0027/lib/python*/site-packages/os_client_config/defaults.json\u0027 %}"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"{% import \"macros.j2\" as macros with context %}"},{"line_number":10,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":1,"id":"5fc1f717_abf43cd0","line":7,"range":{"start_line":7,"start_character":55,"end_line":7,"end_character":56},"updated":"2019-03-11 11:05:08.000000000","message":"If we end up with both 2 and 3 installed this would not work.","commit_id":"932e692d4b8b197360c511b172ea2d992035d57f"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"60c9ef6be480178207126d6afe40d460916d377d","unresolved":false,"context_lines":[{"line_number":44,"context_line":"        \u0027mariadb-client\u0027,"},{"line_number":45,"context_line":"        \u0027python3-dev\u0027"},{"line_number":46,"context_line":"     ] %}"},{"line_number":47,"context_line":"     {% set python\u003d\u0027python3\u0027 %}"},{"line_number":48,"context_line":"{% endif %}"},{"line_number":49,"context_line":"{{ macros.install_packages(kolla_toolbox_packages | customizable(\"packages\")) }}"},{"line_number":50,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":1,"id":"5fc1f717_4b5598c5","line":47,"range":{"start_line":47,"start_character":20,"end_line":47,"end_character":27},"updated":"2019-03-11 11:03:28.000000000","message":"It\u0027s not quite this simple though is it? Some images are python2, some python3.","commit_id":"932e692d4b8b197360c511b172ea2d992035d57f"},{"author":{"_account_id":24072,"name":"Marcin Juszkiewicz","email":"mjuszkiewicz@redhat.com","username":"hrw"},"change_message_id":"6dd7dd243be7a14b91741f0fb98cf47798d47ea2","unresolved":false,"context_lines":[{"line_number":44,"context_line":"        \u0027mariadb-client\u0027,"},{"line_number":45,"context_line":"        \u0027python3-dev\u0027"},{"line_number":46,"context_line":"     ] %}"},{"line_number":47,"context_line":"     {% set python\u003d\u0027python3\u0027 %}"},{"line_number":48,"context_line":"{% endif %}"},{"line_number":49,"context_line":"{{ macros.install_packages(kolla_toolbox_packages | customizable(\"packages\")) }}"},{"line_number":50,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":1,"id":"5fc1f717_1c635844","line":47,"range":{"start_line":47,"start_character":20,"end_line":47,"end_character":27},"in_reply_to":"5fc1f717_4b5598c5","updated":"2019-03-11 14:06:25.000000000","message":"Python 2 is used only for binary packages which require it. Rest is Python 3.","commit_id":"932e692d4b8b197360c511b172ea2d992035d57f"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"60c9ef6be480178207126d6afe40d460916d377d","unresolved":false,"context_lines":[{"line_number":50,"context_line":""},{"line_number":51,"context_line":"{% block kolla_toolbox_source_install_python_pip %}"},{"line_number":52,"context_line":"RUN curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py \\"},{"line_number":53,"context_line":"    \u0026\u0026 {{python}} get-pip.py \\"},{"line_number":54,"context_line":"    \u0026\u0026 rm get-pip.py"},{"line_number":55,"context_line":"{% endblock %}"},{"line_number":56,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":1,"id":"5fc1f717_6b5094d5","line":53,"range":{"start_line":53,"start_character":7,"end_line":53,"end_character":17},"updated":"2019-03-11 11:03:28.000000000","message":"Will need to work this into the get_pip macro.","commit_id":"932e692d4b8b197360c511b172ea2d992035d57f"},{"author":{"_account_id":24072,"name":"Marcin Juszkiewicz","email":"mjuszkiewicz@redhat.com","username":"hrw"},"change_message_id":"6dd7dd243be7a14b91741f0fb98cf47798d47ea2","unresolved":false,"context_lines":[{"line_number":50,"context_line":""},{"line_number":51,"context_line":"{% block kolla_toolbox_source_install_python_pip %}"},{"line_number":52,"context_line":"RUN curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py \\"},{"line_number":53,"context_line":"    \u0026\u0026 {{python}} get-pip.py \\"},{"line_number":54,"context_line":"    \u0026\u0026 rm get-pip.py"},{"line_number":55,"context_line":"{% endblock %}"},{"line_number":56,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":1,"id":"5fc1f717_1c7a78f0","line":53,"range":{"start_line":53,"start_character":7,"end_line":53,"end_character":17},"in_reply_to":"5fc1f717_6b5094d5","updated":"2019-03-11 14:06:25.000000000","message":"This patch is independed from get_pip one.\n\nget_pip macro from \u0027distro_python_version\u0027 will replace that code.","commit_id":"932e692d4b8b197360c511b172ea2d992035d57f"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"b50e88ab80ca9a23208aee65f7ba809bde8dc9c0","unresolved":false,"context_lines":[{"line_number":44,"context_line":"        \u0027mariadb-client\u0027,"},{"line_number":45,"context_line":"        \u0027python3-dev\u0027"},{"line_number":46,"context_line":"     ] %}"},{"line_number":47,"context_line":"     {% set python\u003d\u0027python3\u0027 %}"},{"line_number":48,"context_line":"{% endif %}"},{"line_number":49,"context_line":"{{ macros.install_packages(kolla_toolbox_packages | customizable(\"packages\")) }}"},{"line_number":50,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":2,"id":"5fc1f717_5118e273","line":47,"range":{"start_line":47,"start_character":5,"end_line":47,"end_character":31},"updated":"2019-03-11 19:23:06.000000000","message":"Let\u0027s use distro_python_version here, since this is effectively the same logic (and incorrect for RHEL8).","commit_id":"a44372280b163235373cdf8f35f6d8abd57af050"},{"author":{"_account_id":24072,"name":"Marcin Juszkiewicz","email":"mjuszkiewicz@redhat.com","username":"hrw"},"change_message_id":"855e08b25bb3b316308bac6fab05a55c4e01b930","unresolved":false,"context_lines":[{"line_number":44,"context_line":"        \u0027mariadb-client\u0027,"},{"line_number":45,"context_line":"        \u0027python3-dev\u0027"},{"line_number":46,"context_line":"     ] %}"},{"line_number":47,"context_line":"     {% set python\u003d\u0027python3\u0027 %}"},{"line_number":48,"context_line":"{% endif %}"},{"line_number":49,"context_line":"{{ macros.install_packages(kolla_toolbox_packages | customizable(\"packages\")) }}"},{"line_number":50,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":2,"id":"5fc1f717_e04ecc6d","line":47,"range":{"start_line":47,"start_character":5,"end_line":47,"end_character":31},"in_reply_to":"5fc1f717_5118e273","updated":"2019-03-12 08:49:02.000000000","message":"Done","commit_id":"a44372280b163235373cdf8f35f6d8abd57af050"}],"docker/manila/manila-api/Dockerfile.j2":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"ca2ae91f5f918bdf76dd07ffe35174ffd226f2c8","unresolved":false,"context_lines":[{"line_number":25,"context_line":"    {% elif base_package_type \u003d\u003d \u0027deb\u0027 %}"},{"line_number":26,"context_line":"        {% set manila_api_packages \u003d ["},{"line_number":27,"context_line":"                \u0027apache2\u0027,"},{"line_number":28,"context_line":"                \u0027libapache2-mod-wsgi-py3\u0027,"},{"line_number":29,"context_line":"                \u0027manila-api\u0027"},{"line_number":30,"context_line":"        ] %}"},{"line_number":31,"context_line":"{{ macros.install_packages(manila_api_packages | customizable(\"packages\")) }}"}],"source_content_type":"text/x-jinja2","patch_set":25,"id":"9fb8cfa7_04724c12","line":28,"updated":"2019-06-05 14:44:42.000000000","message":"Stein?","commit_id":"d837073a873df7e0d8916fdc1991f7e58434ffa8"}],"docker/manila/manila-share/Dockerfile.j2":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"ca2ae91f5f918bdf76dd07ffe35174ffd226f2c8","unresolved":false,"context_lines":[{"line_number":18,"context_line":"            \u0027manila-share\u0027,"},{"line_number":19,"context_line":"            \u0027ceph-common\u0027,"},{"line_number":20,"context_line":"            \u0027python3-rados\u0027,"},{"line_number":21,"context_line":"            \u0027python3-rbd\u0027,"},{"line_number":22,"context_line":"            \u0027sqlite3\u0027"},{"line_number":23,"context_line":"        ] %}"},{"line_number":24,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":25,"id":"9fb8cfa7_845f1c71","line":21,"updated":"2019-06-05 14:44:42.000000000","message":"Stein?","commit_id":"d837073a873df7e0d8916fdc1991f7e58434ffa8"}],"docker/mistral/mistral-api/Dockerfile.j2":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"ca2ae91f5f918bdf76dd07ffe35174ffd226f2c8","unresolved":false,"context_lines":[{"line_number":24,"context_line":"    {% elif base_package_type \u003d\u003d \u0027deb\u0027 %}"},{"line_number":25,"context_line":"        {% set mistral_api_packages \u003d ["},{"line_number":26,"context_line":"            \u0027apache2\u0027,"},{"line_number":27,"context_line":"            \u0027libapache2-mod-wsgi-py3\u0027,"},{"line_number":28,"context_line":"            \u0027mistral-api\u0027"},{"line_number":29,"context_line":"        ] %}"},{"line_number":30,"context_line":"{{ macros.install_packages(mistral_api_packages | customizable(\"packages\")) }}"}],"source_content_type":"text/x-jinja2","patch_set":25,"id":"9fb8cfa7_e44ff8ba","line":27,"updated":"2019-06-05 14:44:42.000000000","message":"Stein?","commit_id":"d837073a873df7e0d8916fdc1991f7e58434ffa8"}],"docker/neutron/neutron-base/Dockerfile.j2":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"ca2ae91f5f918bdf76dd07ffe35174ffd226f2c8","unresolved":false,"context_lines":[{"line_number":56,"context_line":"            \u0027openvswitch-switch\u0027,"},{"line_number":57,"context_line":"            \u0027python3-networking-sfc\u0027,"},{"line_number":58,"context_line":"            \u0027python3-openvswitch\u0027,"},{"line_number":59,"context_line":"            \u0027python3-oslo.vmware\u0027"},{"line_number":60,"context_line":"        ] %}"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"        {% if base_distro \u003d\u003d \u0027ubuntu\u0027 %}"}],"source_content_type":"text/x-jinja2","patch_set":25,"id":"9fb8cfa7_64ea2876","line":59,"updated":"2019-06-05 14:44:42.000000000","message":"Stein?","commit_id":"d837073a873df7e0d8916fdc1991f7e58434ffa8"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"ca2ae91f5f918bdf76dd07ffe35174ffd226f2c8","unresolved":false,"context_lines":[{"line_number":115,"context_line":"            \u0027keepalived\u0027,"},{"line_number":116,"context_line":"            \u0027net-tools\u0027,"},{"line_number":117,"context_line":"            \u0027openvswitch-switch\u0027,"},{"line_number":118,"context_line":"            \u0027python-openvswitch\u0027,"},{"line_number":119,"context_line":"            \u0027radvd\u0027,"},{"line_number":120,"context_line":"            \u0027uuid-runtime\u0027"},{"line_number":121,"context_line":"        ] %}"}],"source_content_type":"text/x-jinja2","patch_set":25,"id":"9fb8cfa7_24dbd0ed","line":118,"updated":"2019-06-05 14:44:42.000000000","message":"python3-openvswitch?","commit_id":"d837073a873df7e0d8916fdc1991f7e58434ffa8"}],"docker/openstack-base/Dockerfile.j2":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"ca2ae91f5f918bdf76dd07ffe35174ffd226f2c8","unresolved":false,"context_lines":[{"line_number":214,"context_line":"            \u0027python3-swiftclient\u0027,"},{"line_number":215,"context_line":"            \u0027python3-troveclient\u0027,"},{"line_number":216,"context_line":"            \u0027python3-zake\u0027,"},{"line_number":217,"context_line":"            \u0027python3-zaqarclient\u0027"},{"line_number":218,"context_line":"        ] %}"},{"line_number":219,"context_line":"    {% endif %}"},{"line_number":220,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":25,"id":"9fb8cfa7_f83558db","line":217,"updated":"2019-06-05 14:44:42.000000000","message":"Stein","commit_id":"d837073a873df7e0d8916fdc1991f7e58434ffa8"}],"docker/panko/panko-base/Dockerfile.j2":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"ca2ae91f5f918bdf76dd07ffe35174ffd226f2c8","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    {% elif base_package_type \u003d\u003d \u0027deb\u0027 %}"},{"line_number":34,"context_line":"        {% set panko_base_packages \u003d ["},{"line_number":35,"context_line":"                \u0027apache2\u0027,"},{"line_number":36,"context_line":"                \u0027libapache2-mod-wsgi-py3\u0027"},{"line_number":37,"context_line":"        ] %}"},{"line_number":38,"context_line":"{{ macros.install_packages(panko_base_packages | customizable(\"packages\")) }}"},{"line_number":39,"context_line":"RUN echo \u003e /etc/apache2/ports.conf"}],"source_content_type":"text/x-jinja2","patch_set":25,"id":"9fb8cfa7_b84da073","line":36,"updated":"2019-06-05 14:44:42.000000000","message":"Stein","commit_id":"d837073a873df7e0d8916fdc1991f7e58434ffa8"}],"docker/zaqar/zaqar-base/Dockerfile.j2":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"ca2ae91f5f918bdf76dd07ffe35174ffd226f2c8","unresolved":false,"context_lines":[{"line_number":39,"context_line":"        {% set zaqar_base_packages \u003d ["},{"line_number":40,"context_line":"            \u0027zaqar-common\u0027,"},{"line_number":41,"context_line":"            \u0027apache2\u0027,"},{"line_number":42,"context_line":"            \u0027libapache2-mod-wsgi-py3\u0027,"},{"line_number":43,"context_line":"            \u0027python3-ldappool\u0027"},{"line_number":44,"context_line":"        ] %}"},{"line_number":45,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":25,"id":"9fb8cfa7_9873fcb1","line":42,"updated":"2019-06-05 14:44:42.000000000","message":"Stein","commit_id":"d837073a873df7e0d8916fdc1991f7e58434ffa8"}],"kolla/common/config.py":[{"author":{"_account_id":24072,"name":"Marcin Juszkiewicz","email":"mjuszkiewicz@redhat.com","username":"hrw"},"change_message_id":"19da77aa358dd8524fd8d30cd550c489b7aad366","unresolved":false,"context_lines":[{"line_number":622,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":623,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/networking-sfc/\u0027"},{"line_number":624,"context_line":"                     \u0027networking-sfc-master.tar.gz\u0027)},"},{"line_number":625,"context_line":"    \u0027neutron-server-plugin-networking-infoblox\u0027: {"},{"line_number":626,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":627,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/networking-infoblox/\u0027"},{"line_number":628,"context_line":"                     \u0027networking-infoblox-master.tar.gz\u0027)},"},{"line_number":629,"context_line":"    \u0027neutron-server-plugin-neutron-dynamic-routing\u0027: {"},{"line_number":630,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":631,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/neutron-dynamic-routing/\u0027"}],"source_content_type":"text/x-python","patch_set":20,"id":"dfbec78f_41b83b29","side":"PARENT","line":628,"range":{"start_line":625,"start_character":0,"end_line":628,"end_character":1},"updated":"2019-05-07 12:09:22.000000000","message":"temporary fix","commit_id":"98a946f9d595ec6ea230f391f75e65168ec24c56"}]}
