)]}'
{"doc/image-building.rst":[{"author":{"_account_id":167,"name":"Christian Berendt","email":"berendt@osism.tech","username":"berendt"},"change_message_id":"d6392d749c7a3f568e317104b211d9a003e494ef","unresolved":false,"context_lines":[{"line_number":138,"context_line":"Dockerfile Customisation"},{"line_number":139,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"As of the Neuton release, the ``kolla-build`` tool provides a Jinja2 based"},{"line_number":142,"context_line":"mechanism which allows operators to customise the Dockerfiles used to generate"},{"line_number":143,"context_line":"the Kolla images."},{"line_number":144,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"bacf61ea_bba38a9d","line":141,"range":{"start_line":141,"start_character":10,"end_line":141,"end_character":16},"updated":"2016-08-04 11:02:35.000000000","message":"Newton","commit_id":"d5f731fac40c5def190e86b94f96c6d918db9ef3"},{"author":{"_account_id":1390,"name":"Paul Bourke","email":"pauldbourke@proton.me","username":"pauldbourke"},"change_message_id":"b7bda497f7b351678af84c9cc3df3bbc873cd2f3","unresolved":false,"context_lines":[{"line_number":138,"context_line":"Dockerfile Customisation"},{"line_number":139,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"As of the Neuton release, the ``kolla-build`` tool provides a Jinja2 based"},{"line_number":142,"context_line":"mechanism which allows operators to customise the Dockerfiles used to generate"},{"line_number":143,"context_line":"the Kolla images."},{"line_number":144,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"bacf61ea_3b4afa83","line":141,"range":{"start_line":141,"start_character":10,"end_line":141,"end_character":16},"in_reply_to":"bacf61ea_bba38a9d","updated":"2016-08-04 11:07:09.000000000","message":"Done","commit_id":"d5f731fac40c5def190e86b94f96c6d918db9ef3"},{"author":{"_account_id":167,"name":"Christian Berendt","email":"berendt@osism.tech","username":"berendt"},"change_message_id":"d6392d749c7a3f568e317104b211d9a003e494ef","unresolved":false,"context_lines":[{"line_number":155,"context_line":"inadequate."},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"Suppose as part of the Horizon setup, an operator wants to create a new user"},{"line_number":158,"context_line":"\u0027myuser\u0027.  The following is an example of how an operator might modify the setup"},{"line_number":159,"context_line":"steps within the Horizon Dockerfile."},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"First, create a file to contain the customisations, e.g."}],"source_content_type":"text/x-rst","patch_set":1,"id":"bacf61ea_5bea4ead","line":158,"range":{"start_line":158,"start_character":9,"end_line":158,"end_character":11},"updated":"2016-08-04 11:02:35.000000000","message":"Double space","commit_id":"d5f731fac40c5def190e86b94f96c6d918db9ef3"},{"author":{"_account_id":167,"name":"Christian Berendt","email":"berendt@osism.tech","username":"berendt"},"change_message_id":"d6392d749c7a3f568e317104b211d9a003e494ef","unresolved":false,"context_lines":[{"line_number":155,"context_line":"inadequate."},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"Suppose as part of the Horizon setup, an operator wants to create a new user"},{"line_number":158,"context_line":"\u0027myuser\u0027.  The following is an example of how an operator might modify the setup"},{"line_number":159,"context_line":"steps within the Horizon Dockerfile."},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"First, create a file to contain the customisations, e.g."}],"source_content_type":"text/x-rst","patch_set":1,"id":"bacf61ea_7be752e4","line":158,"range":{"start_line":158,"start_character":0,"end_line":158,"end_character":8},"updated":"2016-08-04 11:02:35.000000000","message":"``myuser``","commit_id":"d5f731fac40c5def190e86b94f96c6d918db9ef3"},{"author":{"_account_id":1390,"name":"Paul Bourke","email":"pauldbourke@proton.me","username":"pauldbourke"},"change_message_id":"b7bda497f7b351678af84c9cc3df3bbc873cd2f3","unresolved":false,"context_lines":[{"line_number":155,"context_line":"inadequate."},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"Suppose as part of the Horizon setup, an operator wants to create a new user"},{"line_number":158,"context_line":"\u0027myuser\u0027.  The following is an example of how an operator might modify the setup"},{"line_number":159,"context_line":"steps within the Horizon Dockerfile."},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"First, create a file to contain the customisations, e.g."}],"source_content_type":"text/x-rst","patch_set":1,"id":"bacf61ea_5b3eceda","line":158,"range":{"start_line":158,"start_character":9,"end_line":158,"end_character":11},"in_reply_to":"bacf61ea_5bea4ead","updated":"2016-08-04 11:07:09.000000000","message":"Done","commit_id":"d5f731fac40c5def190e86b94f96c6d918db9ef3"},{"author":{"_account_id":1390,"name":"Paul Bourke","email":"pauldbourke@proton.me","username":"pauldbourke"},"change_message_id":"b7bda497f7b351678af84c9cc3df3bbc873cd2f3","unresolved":false,"context_lines":[{"line_number":155,"context_line":"inadequate."},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"Suppose as part of the Horizon setup, an operator wants to create a new user"},{"line_number":158,"context_line":"\u0027myuser\u0027.  The following is an example of how an operator might modify the setup"},{"line_number":159,"context_line":"steps within the Horizon Dockerfile."},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"First, create a file to contain the customisations, e.g."}],"source_content_type":"text/x-rst","patch_set":1,"id":"bacf61ea_bb254ac3","line":158,"range":{"start_line":158,"start_character":0,"end_line":158,"end_character":8},"in_reply_to":"bacf61ea_7be752e4","updated":"2016-08-04 11:07:09.000000000","message":"Done","commit_id":"d5f731fac40c5def190e86b94f96c6d918db9ef3"},{"author":{"_account_id":167,"name":"Christian Berendt","email":"berendt@osism.tech","username":"berendt"},"change_message_id":"d6392d749c7a3f568e317104b211d9a003e494ef","unresolved":false,"context_lines":[{"line_number":168,"context_line":"    RUN useradd --user-group myuser"},{"line_number":169,"context_line":"    {% endblock %}"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"Then rebuild the horizon image, passing the ``--template-override`` argument:"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"    kolla-build --template-override template-overrides.j2 horizon"},{"line_number":174,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"bacf61ea_1b073682","line":171,"range":{"start_line":171,"start_character":76,"end_line":171,"end_character":77},"updated":"2016-08-04 11:02:35.000000000","message":"one : missing","commit_id":"d5f731fac40c5def190e86b94f96c6d918db9ef3"},{"author":{"_account_id":1390,"name":"Paul Bourke","email":"pauldbourke@proton.me","username":"pauldbourke"},"change_message_id":"b7bda497f7b351678af84c9cc3df3bbc873cd2f3","unresolved":false,"context_lines":[{"line_number":168,"context_line":"    RUN useradd --user-group myuser"},{"line_number":169,"context_line":"    {% endblock %}"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"Then rebuild the horizon image, passing the ``--template-override`` argument:"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"    kolla-build --template-override template-overrides.j2 horizon"},{"line_number":174,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"bacf61ea_7b12b263","line":171,"range":{"start_line":171,"start_character":76,"end_line":171,"end_character":77},"in_reply_to":"bacf61ea_1b073682","updated":"2016-08-04 11:07:09.000000000","message":"Done","commit_id":"d5f731fac40c5def190e86b94f96c6d918db9ef3"},{"author":{"_account_id":167,"name":"Christian Berendt","email":"berendt@osism.tech","username":"berendt"},"change_message_id":"d6392d749c7a3f568e317104b211d9a003e494ef","unresolved":false,"context_lines":[{"line_number":174,"context_line":""},{"line_number":175,"context_line":".. note::"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"  The above example will replace all contents from the original block. Hence in"},{"line_number":178,"context_line":"  many cases you may want to copy the original contents of the block before"},{"line_number":179,"context_line":"  make changes."},{"line_number":180,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"bacf61ea_dbed9eb8","line":177,"updated":"2016-08-04 11:02:35.000000000","message":"Indent can be fixed (T on the same level like the n from note).","commit_id":"d5f731fac40c5def190e86b94f96c6d918db9ef3"},{"author":{"_account_id":1390,"name":"Paul Bourke","email":"pauldbourke@proton.me","username":"pauldbourke"},"change_message_id":"b7bda497f7b351678af84c9cc3df3bbc873cd2f3","unresolved":false,"context_lines":[{"line_number":174,"context_line":""},{"line_number":175,"context_line":".. note::"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"  The above example will replace all contents from the original block. Hence in"},{"line_number":178,"context_line":"  many cases you may want to copy the original contents of the block before"},{"line_number":179,"context_line":"  make changes."},{"line_number":180,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"bacf61ea_3eff8802","line":177,"in_reply_to":"bacf61ea_dbed9eb8","updated":"2016-08-04 11:07:09.000000000","message":"Done","commit_id":"d5f731fac40c5def190e86b94f96c6d918db9ef3"},{"author":{"_account_id":167,"name":"Christian Berendt","email":"berendt@osism.tech","username":"berendt"},"change_message_id":"d6392d749c7a3f568e317104b211d9a003e494ef","unresolved":false,"context_lines":[{"line_number":186,"context_line":""},{"line_number":187,"context_line":"Packages installed as part of a container build can be overridden, appended to,"},{"line_number":188,"context_line":"and deleted. Taking the Horizon example, the following packages are installed as"},{"line_number":189,"context_line":"part of a binary install type build::"},{"line_number":190,"context_line":""},{"line_number":191,"context_line":"* openstack-dashboard"},{"line_number":192,"context_line":"* httpd"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bacf61ea_bb3f0a24","line":189,"range":{"start_line":189,"start_character":36,"end_line":189,"end_character":37},"updated":"2016-08-04 11:02:35.000000000","message":"Only one : is necessary here","commit_id":"d5f731fac40c5def190e86b94f96c6d918db9ef3"},{"author":{"_account_id":1390,"name":"Paul Bourke","email":"pauldbourke@proton.me","username":"pauldbourke"},"change_message_id":"b7bda497f7b351678af84c9cc3df3bbc873cd2f3","unresolved":false,"context_lines":[{"line_number":186,"context_line":""},{"line_number":187,"context_line":"Packages installed as part of a container build can be overridden, appended to,"},{"line_number":188,"context_line":"and deleted. Taking the Horizon example, the following packages are installed as"},{"line_number":189,"context_line":"part of a binary install type build::"},{"line_number":190,"context_line":""},{"line_number":191,"context_line":"* openstack-dashboard"},{"line_number":192,"context_line":"* httpd"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bacf61ea_5e0cfc3a","line":189,"range":{"start_line":189,"start_character":36,"end_line":189,"end_character":37},"in_reply_to":"bacf61ea_bb3f0a24","updated":"2016-08-04 11:07:09.000000000","message":"Done","commit_id":"d5f731fac40c5def190e86b94f96c6d918db9ef3"},{"author":{"_account_id":167,"name":"Christian Berendt","email":"berendt@osism.tech","username":"berendt"},"change_message_id":"d6392d749c7a3f568e317104b211d9a003e494ef","unresolved":false,"context_lines":[{"line_number":188,"context_line":"and deleted. Taking the Horizon example, the following packages are installed as"},{"line_number":189,"context_line":"part of a binary install type build::"},{"line_number":190,"context_line":""},{"line_number":191,"context_line":"* openstack-dashboard"},{"line_number":192,"context_line":"* httpd"},{"line_number":193,"context_line":"* mod_wsgi"},{"line_number":194,"context_line":"* gettext"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bacf61ea_db447eb8","line":191,"range":{"start_line":191,"start_character":2,"end_line":191,"end_character":21},"updated":"2016-08-04 11:02:35.000000000","message":"``...``","commit_id":"d5f731fac40c5def190e86b94f96c6d918db9ef3"},{"author":{"_account_id":1390,"name":"Paul Bourke","email":"pauldbourke@proton.me","username":"pauldbourke"},"change_message_id":"b7bda497f7b351678af84c9cc3df3bbc873cd2f3","unresolved":false,"context_lines":[{"line_number":188,"context_line":"and deleted. Taking the Horizon example, the following packages are installed as"},{"line_number":189,"context_line":"part of a binary install type build::"},{"line_number":190,"context_line":""},{"line_number":191,"context_line":"* openstack-dashboard"},{"line_number":192,"context_line":"* httpd"},{"line_number":193,"context_line":"* mod_wsgi"},{"line_number":194,"context_line":"* gettext"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bacf61ea_7e20e09b","line":191,"range":{"start_line":191,"start_character":2,"end_line":191,"end_character":21},"in_reply_to":"bacf61ea_db447eb8","updated":"2016-08-04 11:07:09.000000000","message":"Done","commit_id":"d5f731fac40c5def190e86b94f96c6d918db9ef3"},{"author":{"_account_id":167,"name":"Christian Berendt","email":"berendt@osism.tech","username":"berendt"},"change_message_id":"d6392d749c7a3f568e317104b211d9a003e494ef","unresolved":false,"context_lines":[{"line_number":207,"context_line":""},{"line_number":208,"context_line":"The ``append`` suffix in the above example carries special significance. It"},{"line_number":209,"context_line":"indicates the operation you wish to take on the package list. The following is a"},{"line_number":210,"context_line":"complete list of operations available::"},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"* override"},{"line_number":213,"context_line":"* append"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bacf61ea_5b0fee87","line":210,"range":{"start_line":210,"start_character":38,"end_line":210,"end_character":39},"updated":"2016-08-04 11:02:35.000000000","message":"dito","commit_id":"d5f731fac40c5def190e86b94f96c6d918db9ef3"},{"author":{"_account_id":1390,"name":"Paul Bourke","email":"pauldbourke@proton.me","username":"pauldbourke"},"change_message_id":"b7bda497f7b351678af84c9cc3df3bbc873cd2f3","unresolved":false,"context_lines":[{"line_number":207,"context_line":""},{"line_number":208,"context_line":"The ``append`` suffix in the above example carries special significance. It"},{"line_number":209,"context_line":"indicates the operation you wish to take on the package list. The following is a"},{"line_number":210,"context_line":"complete list of operations available::"},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"* override"},{"line_number":213,"context_line":"* append"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bacf61ea_9e35d4dc","line":210,"range":{"start_line":210,"start_character":38,"end_line":210,"end_character":39},"in_reply_to":"bacf61ea_5b0fee87","updated":"2016-08-04 11:07:09.000000000","message":"Done","commit_id":"d5f731fac40c5def190e86b94f96c6d918db9ef3"},{"author":{"_account_id":167,"name":"Christian Berendt","email":"berendt@osism.tech","username":"berendt"},"change_message_id":"d6392d749c7a3f568e317104b211d9a003e494ef","unresolved":false,"context_lines":[{"line_number":209,"context_line":"indicates the operation you wish to take on the package list. The following is a"},{"line_number":210,"context_line":"complete list of operations available::"},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"* override"},{"line_number":213,"context_line":"* append"},{"line_number":214,"context_line":"* remove"},{"line_number":215,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"bacf61ea_9b2166ff","line":212,"range":{"start_line":212,"start_character":2,"end_line":212,"end_character":10},"updated":"2016-08-04 11:02:35.000000000","message":"``...``","commit_id":"d5f731fac40c5def190e86b94f96c6d918db9ef3"},{"author":{"_account_id":1390,"name":"Paul Bourke","email":"pauldbourke@proton.me","username":"pauldbourke"},"change_message_id":"b7bda497f7b351678af84c9cc3df3bbc873cd2f3","unresolved":false,"context_lines":[{"line_number":209,"context_line":"indicates the operation you wish to take on the package list. The following is a"},{"line_number":210,"context_line":"complete list of operations available::"},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"* override"},{"line_number":213,"context_line":"* append"},{"line_number":214,"context_line":"* remove"},{"line_number":215,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"bacf61ea_be3a58cb","line":212,"range":{"start_line":212,"start_character":2,"end_line":212,"end_character":10},"in_reply_to":"bacf61ea_9b2166ff","updated":"2016-08-04 11:07:09.000000000","message":"Done","commit_id":"d5f731fac40c5def190e86b94f96c6d918db9ef3"},{"author":{"_account_id":167,"name":"Christian Berendt","email":"berendt@osism.tech","username":"berendt"},"change_message_id":"d6392d749c7a3f568e317104b211d9a003e494ef","unresolved":false,"context_lines":[{"line_number":218,"context_line":""},{"line_number":219,"context_line":".. note::"},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"  Plugin functionality is available for the source build type only."},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"The Dockerfile customisation mechanism is also useful for adding/installing"},{"line_number":224,"context_line":"plugins to services. An example of this is Neutron\u0027s third party L2 drivers_."}],"source_content_type":"text/x-rst","patch_set":1,"id":"bacf61ea_bb542a54","line":221,"updated":"2016-08-04 11:02:35.000000000","message":"dito","commit_id":"d5f731fac40c5def190e86b94f96c6d918db9ef3"},{"author":{"_account_id":1390,"name":"Paul Bourke","email":"pauldbourke@proton.me","username":"pauldbourke"},"change_message_id":"b7bda497f7b351678af84c9cc3df3bbc873cd2f3","unresolved":false,"context_lines":[{"line_number":218,"context_line":""},{"line_number":219,"context_line":".. note::"},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"  Plugin functionality is available for the source build type only."},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"The Dockerfile customisation mechanism is also useful for adding/installing"},{"line_number":224,"context_line":"plugins to services. An example of this is Neutron\u0027s third party L2 drivers_."}],"source_content_type":"text/x-rst","patch_set":1,"id":"bacf61ea_7e574002","line":221,"in_reply_to":"bacf61ea_bb542a54","updated":"2016-08-04 11:07:09.000000000","message":"Done","commit_id":"d5f731fac40c5def190e86b94f96c6d918db9ef3"},{"author":{"_account_id":167,"name":"Christian Berendt","email":"berendt@osism.tech","username":"berendt"},"change_message_id":"d6392d749c7a3f568e317104b211d9a003e494ef","unresolved":false,"context_lines":[{"line_number":221,"context_line":"  Plugin functionality is available for the source build type only."},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"The Dockerfile customisation mechanism is also useful for adding/installing"},{"line_number":224,"context_line":"plugins to services. An example of this is Neutron\u0027s third party L2 drivers_."},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"The bottom of each Dockerfile contains two blocks, ``image_name_footer``, and"},{"line_number":227,"context_line":"``footer``. The former is intended for image specific modifications, while the"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bacf61ea_bbdb8aec","line":224,"range":{"start_line":224,"start_character":75,"end_line":224,"end_character":76},"updated":"2016-08-04 11:02:35.000000000","message":"_ not necessary here","commit_id":"d5f731fac40c5def190e86b94f96c6d918db9ef3"},{"author":{"_account_id":1390,"name":"Paul Bourke","email":"pauldbourke@proton.me","username":"pauldbourke"},"change_message_id":"b7bda497f7b351678af84c9cc3df3bbc873cd2f3","unresolved":false,"context_lines":[{"line_number":221,"context_line":"  Plugin functionality is available for the source build type only."},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"The Dockerfile customisation mechanism is also useful for adding/installing"},{"line_number":224,"context_line":"plugins to services. An example of this is Neutron\u0027s third party L2 drivers_."},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"The bottom of each Dockerfile contains two blocks, ``image_name_footer``, and"},{"line_number":227,"context_line":"``footer``. The former is intended for image specific modifications, while the"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bacf61ea_be6898bb","line":224,"range":{"start_line":224,"start_character":75,"end_line":224,"end_character":76},"in_reply_to":"bacf61ea_bbdb8aec","updated":"2016-08-04 11:07:09.000000000","message":"There\u0027s a link at the bottom, will it hyperlink without the underscore?","commit_id":"d5f731fac40c5def190e86b94f96c6d918db9ef3"},{"author":{"_account_id":167,"name":"Christian Berendt","email":"berendt@osism.tech","username":"berendt"},"change_message_id":"e4fb62f6123f6acb42c259df9d3af14dd71a998e","unresolved":false,"context_lines":[{"line_number":221,"context_line":"  Plugin functionality is available for the source build type only."},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"The Dockerfile customisation mechanism is also useful for adding/installing"},{"line_number":224,"context_line":"plugins to services. An example of this is Neutron\u0027s third party L2 drivers_."},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"The bottom of each Dockerfile contains two blocks, ``image_name_footer``, and"},{"line_number":227,"context_line":"``footer``. The former is intended for image specific modifications, while the"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bacf61ea_7e58e0fa","line":224,"range":{"start_line":224,"start_character":75,"end_line":224,"end_character":76},"in_reply_to":"bacf61ea_be6898bb","updated":"2016-08-04 11:09:44.000000000","message":"Ah I have not seen this link at the bottom. Because of that I do not like this kind of links in Sphinx documents :)","commit_id":"d5f731fac40c5def190e86b94f96c6d918db9ef3"},{"author":{"_account_id":15492,"name":"Robin Naundorf","email":"r.naundorf@fh-muenster.de","username":"senk"},"change_message_id":"4c598cd3f77ccc1f651ccd4aa43cf1d413e4a83e","unresolved":false,"context_lines":[{"line_number":112,"context_line":""},{"line_number":113,"context_line":"    [keystone]"},{"line_number":114,"context_line":"    type \u003d git"},{"line_number":115,"context_line":"    location \u003d https://github.com/openstack/keystone"},{"line_number":116,"context_line":"    reference \u003d stable/mitaka"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"    [heat-base]"}],"source_content_type":"text/x-rst","patch_set":4,"id":"9ad45d7e_507e22af","line":115,"updated":"2016-08-08 09:57:32.000000000","message":"please use https://git.openstack.org/openstack/keystone","commit_id":"198addc71c1001b471f33bfa8122eeda0361d3b8"},{"author":{"_account_id":15492,"name":"Robin Naundorf","email":"r.naundorf@fh-muenster.de","username":"senk"},"change_message_id":"4c598cd3f77ccc1f651ccd4aa43cf1d413e4a83e","unresolved":false,"context_lines":[{"line_number":231,"context_line":"following to your ``template-override`` file::"},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"    {% block neutron_server_footer %}"},{"line_number":234,"context_line":"    RUN git clone https://github.com/openstack/networking-cisco \\"},{"line_number":235,"context_line":"        \u0026\u0026 pip --no-cache-dir install networking-cisco"},{"line_number":236,"context_line":"    {% endblock %}"},{"line_number":237,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"9ad45d7e_5b8da37a","line":234,"updated":"2016-08-08 09:57:32.000000000","message":"please refer to git.openstack.org","commit_id":"198addc71c1001b471f33bfa8122eeda0361d3b8"},{"author":{"_account_id":15492,"name":"Robin Naundorf","email":"r.naundorf@fh-muenster.de","username":"senk"},"change_message_id":"4c598cd3f77ccc1f651ccd4aa43cf1d413e4a83e","unresolved":false,"context_lines":[{"line_number":259,"context_line":""},{"line_number":260,"context_line":"    [neutron-server-plugin-networking-cisco]"},{"line_number":261,"context_line":"    type \u003d git"},{"line_number":262,"context_line":"    location \u003d https://github.com/openstack/networking-cisco"},{"line_number":263,"context_line":"    reference \u003d master"},{"line_number":264,"context_line":""},{"line_number":265,"context_line":"Our template now becomes::"}],"source_content_type":"text/x-rst","patch_set":4,"id":"9ad45d7e_bbcf7fb2","line":262,"updated":"2016-08-08 09:57:32.000000000","message":"ditto","commit_id":"198addc71c1001b471f33bfa8122eeda0361d3b8"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"460995d64d54e5396baa7997e3989fb8c3b7ddfc","unresolved":false,"context_lines":[{"line_number":145,"context_line":"mechanism which allows operators to customise the Dockerfiles used to generate"},{"line_number":146,"context_line":"the Kolla images."},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"This offers a lot of flexibility on how you build your images, e.g. installing"},{"line_number":149,"context_line":"extra packages as part of the build, tweaking settings, installing plugins, etc."},{"line_number":150,"context_line":"Some of these examples are described in more detail below."},{"line_number":151,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"9ad45d7e_75796a93","line":148,"range":{"start_line":148,"start_character":50,"end_line":148,"end_character":54},"updated":"2016-08-09 02:16:55.000000000","message":"pronoun","commit_id":"89148ffc458a89f73432993a362b81197f8db7b9"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"460995d64d54e5396baa7997e3989fb8c3b7ddfc","unresolved":false,"context_lines":[{"line_number":145,"context_line":"mechanism which allows operators to customise the Dockerfiles used to generate"},{"line_number":146,"context_line":"the Kolla images."},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"This offers a lot of flexibility on how you build your images, e.g. installing"},{"line_number":149,"context_line":"extra packages as part of the build, tweaking settings, installing plugins, etc."},{"line_number":150,"context_line":"Some of these examples are described in more detail below."},{"line_number":151,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"9ad45d7e_b573e2b0","line":148,"range":{"start_line":148,"start_character":61,"end_line":148,"end_character":62},"updated":"2016-08-09 02:16:55.000000000","message":"should be a semicolon","commit_id":"89148ffc458a89f73432993a362b81197f8db7b9"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"460995d64d54e5396baa7997e3989fb8c3b7ddfc","unresolved":false,"context_lines":[{"line_number":146,"context_line":"the Kolla images."},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"This offers a lot of flexibility on how you build your images, e.g. installing"},{"line_number":149,"context_line":"extra packages as part of the build, tweaking settings, installing plugins, etc."},{"line_number":150,"context_line":"Some of these examples are described in more detail below."},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"Generic Customisation"}],"source_content_type":"text/x-rst","patch_set":5,"id":"9ad45d7e_f5655ae1","line":149,"range":{"start_line":149,"start_character":76,"end_line":149,"end_character":79},"updated":"2016-08-09 02:16:55.000000000","message":"and other numerous capabilities","commit_id":"89148ffc458a89f73432993a362b81197f8db7b9"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"460995d64d54e5396baa7997e3989fb8c3b7ddfc","unresolved":false,"context_lines":[{"line_number":154,"context_line":""},{"line_number":155,"context_line":"Anywhere the line ``{% block ... %}`` appears may be modified. The Kolla"},{"line_number":156,"context_line":"community have added blocks throughout the Dockerfiles where we think they will"},{"line_number":157,"context_line":"be useful, however, users are free to submit more if the ones provided are"},{"line_number":158,"context_line":"inadequate."},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"Suppose as part of the Horizon setup, an operator wants to create a new user"}],"source_content_type":"text/x-rst","patch_set":5,"id":"9ad45d7e_15b0ee42","line":157,"range":{"start_line":157,"start_character":20,"end_line":157,"end_character":25},"updated":"2016-08-09 02:16:55.000000000","message":"operators","commit_id":"89148ffc458a89f73432993a362b81197f8db7b9"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"460995d64d54e5396baa7997e3989fb8c3b7ddfc","unresolved":false,"context_lines":[{"line_number":157,"context_line":"be useful, however, users are free to submit more if the ones provided are"},{"line_number":158,"context_line":"inadequate."},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"Suppose as part of the Horizon setup, an operator wants to create a new user"},{"line_number":161,"context_line":"``myuser``. The following is an example of how an operator might modify the setup"},{"line_number":162,"context_line":"steps within the Horizon Dockerfile."},{"line_number":163,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"9ad45d7e_55ba6624","line":160,"range":{"start_line":160,"start_character":0,"end_line":160,"end_character":8},"updated":"2016-08-09 02:16:55.000000000","message":"remove suppose","commit_id":"89148ffc458a89f73432993a362b81197f8db7b9"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"460995d64d54e5396baa7997e3989fb8c3b7ddfc","unresolved":false,"context_lines":[{"line_number":158,"context_line":"inadequate."},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"Suppose as part of the Horizon setup, an operator wants to create a new user"},{"line_number":161,"context_line":"``myuser``. The following is an example of how an operator might modify the setup"},{"line_number":162,"context_line":"steps within the Horizon Dockerfile."},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"First, create a file to contain the customisations, e.g."}],"source_content_type":"text/x-rst","patch_set":5,"id":"9ad45d7e_95821e51","line":161,"range":{"start_line":161,"start_character":59,"end_line":161,"end_character":64},"updated":"2016-08-09 02:16:55.000000000","message":"would","commit_id":"89148ffc458a89f73432993a362b81197f8db7b9"},{"author":{"_account_id":167,"name":"Christian Berendt","email":"berendt@osism.tech","username":"berendt"},"change_message_id":"efad240f5896ed84ff972a94bf0dfc6b59111ce1","unresolved":false,"context_lines":[{"line_number":173,"context_line":""},{"line_number":174,"context_line":"Then rebuild the horizon image, passing the ``--template-override`` argument::"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"    kolla-build --template-override template-overrides.j2 horizon"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":".. note::"},{"line_number":179,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"9ad45d7e_86585f58","line":176,"updated":"2016-08-08 12:15:37.000000000","message":"I do not know the conventions for the kolla documentation, at openstack-docs we always add the shell prompt in front of commands.","commit_id":"89148ffc458a89f73432993a362b81197f8db7b9"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"460995d64d54e5396baa7997e3989fb8c3b7ddfc","unresolved":false,"context_lines":[{"line_number":173,"context_line":""},{"line_number":174,"context_line":"Then rebuild the horizon image, passing the ``--template-override`` argument::"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"    kolla-build --template-override template-overrides.j2 horizon"},{"line_number":177,"context_line":""},{"line_number":178,"context_line":".. note::"},{"line_number":179,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"9ad45d7e_95e97e1d","line":176,"in_reply_to":"9ad45d7e_86585f58","updated":"2016-08-09 02:16:55.000000000","message":"kolla docs dont add shell prompts.  if we are to change all that around, it would need to go in a separate patch.  fwiw we have flipflopped on that 3 or 4 times.","commit_id":"89148ffc458a89f73432993a362b81197f8db7b9"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"460995d64d54e5396baa7997e3989fb8c3b7ddfc","unresolved":false,"context_lines":[{"line_number":178,"context_line":".. note::"},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"    The above example will replace all contents from the original block. Hence"},{"line_number":181,"context_line":"    in many cases you may want to copy the original contents of the block before"},{"line_number":182,"context_line":"    making changes."},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"    More specific functionality such as removing/appending entries is available"}],"source_content_type":"text/x-rst","patch_set":5,"id":"9ad45d7e_b5f802e7","line":181,"range":{"start_line":181,"start_character":18,"end_line":181,"end_character":21},"updated":"2016-08-09 02:16:55.000000000","message":"pronoun","commit_id":"89148ffc458a89f73432993a362b81197f8db7b9"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"460995d64d54e5396baa7997e3989fb8c3b7ddfc","unresolved":false,"context_lines":[{"line_number":212,"context_line":"indicates the operation you wish to take on the package list. The following is a"},{"line_number":213,"context_line":"complete list of operations available:"},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"* ``override``"},{"line_number":216,"context_line":"* ``append``"},{"line_number":217,"context_line":"* ``remove``"},{"line_number":218,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"9ad45d7e_d5cad6a0","line":215,"updated":"2016-08-09 02:16:55.000000000","message":"this looks good - but could you give more detail on which each of these operation do.","commit_id":"89148ffc458a89f73432993a362b81197f8db7b9"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"460995d64d54e5396baa7997e3989fb8c3b7ddfc","unresolved":false,"context_lines":[{"line_number":223,"context_line":"plugins to services. An example of this is Neutron\u0027s third party L2 drivers_."},{"line_number":224,"context_line":""},{"line_number":225,"context_line":"The bottom of each Dockerfile contains two blocks, ``image_name_footer``, and"},{"line_number":226,"context_line":"``footer``. The former is intended for image specific modifications, while the"},{"line_number":227,"context_line":"latter can be used to apply a common set of modifications to every Dockerfile."},{"line_number":228,"context_line":""},{"line_number":229,"context_line":"Suppose you want to install one of the aforementioned Neutron drivers, for"}],"source_content_type":"text/x-rst","patch_set":5,"id":"9ad45d7e_55bf06fb","line":226,"range":{"start_line":226,"start_character":16,"end_line":226,"end_character":22},"updated":"2016-08-09 02:16:55.000000000","message":"instead of using former and later, use \u0027image_name_footer\u0027 andthe othe roption.","commit_id":"89148ffc458a89f73432993a362b81197f8db7b9"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"460995d64d54e5396baa7997e3989fb8c3b7ddfc","unresolved":false,"context_lines":[{"line_number":226,"context_line":"``footer``. The former is intended for image specific modifications, while the"},{"line_number":227,"context_line":"latter can be used to apply a common set of modifications to every Dockerfile."},{"line_number":228,"context_line":""},{"line_number":229,"context_line":"Suppose you want to install one of the aforementioned Neutron drivers, for"},{"line_number":230,"context_line":"example the ``networking-cisco`` plugin. To do this, add something like the"},{"line_number":231,"context_line":"following to your ``template-override`` file::"},{"line_number":232,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"9ad45d7e_1573ce81","line":229,"range":{"start_line":229,"start_character":8,"end_line":229,"end_character":11},"updated":"2016-08-09 02:16:55.000000000","message":"pronoun","commit_id":"89148ffc458a89f73432993a362b81197f8db7b9"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"460995d64d54e5396baa7997e3989fb8c3b7ddfc","unresolved":false,"context_lines":[{"line_number":226,"context_line":"``footer``. The former is intended for image specific modifications, while the"},{"line_number":227,"context_line":"latter can be used to apply a common set of modifications to every Dockerfile."},{"line_number":228,"context_line":""},{"line_number":229,"context_line":"Suppose you want to install one of the aforementioned Neutron drivers, for"},{"line_number":230,"context_line":"example the ``networking-cisco`` plugin. To do this, add something like the"},{"line_number":231,"context_line":"following to your ``template-override`` file::"},{"line_number":232,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"9ad45d7e_b55da2eb","line":229,"range":{"start_line":229,"start_character":0,"end_line":229,"end_character":7},"updated":"2016-08-09 02:16:55.000000000","message":"remove suppose","commit_id":"89148ffc458a89f73432993a362b81197f8db7b9"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"460995d64d54e5396baa7997e3989fb8c3b7ddfc","unresolved":false,"context_lines":[{"line_number":262,"context_line":"    location \u003d https://git.openstack.org/openstack/networking-cisco"},{"line_number":263,"context_line":"    reference \u003d master"},{"line_number":264,"context_line":""},{"line_number":265,"context_line":"Our template now becomes::"},{"line_number":266,"context_line":""},{"line_number":267,"context_line":"    {% block neutron_server_footer %}"},{"line_number":268,"context_line":"    ADD plugins-archive /"}],"source_content_type":"text/x-rst","patch_set":5,"id":"9ad45d7e_5556e6d2","line":265,"range":{"start_line":265,"start_character":0,"end_line":265,"end_character":3},"updated":"2016-08-09 02:16:55.000000000","message":"pronun","commit_id":"89148ffc458a89f73432993a362b81197f8db7b9"},{"author":{"_account_id":167,"name":"Christian Berendt","email":"berendt@osism.tech","username":"berendt"},"change_message_id":"efad240f5896ed84ff972a94bf0dfc6b59111ce1","unresolved":false,"context_lines":[{"line_number":274,"context_line":""},{"line_number":275,"context_line":"The build method allows the operator to build containers from custom repos."},{"line_number":276,"context_line":"The repos are accepted as a list of comma separated values and can be in"},{"line_number":277,"context_line":"the form of .repo, .rpm, or a url. See examples below."},{"line_number":278,"context_line":""},{"line_number":279,"context_line":"Update rpm_setup_config in ``/etc/kolla/kolla-build.conf``::"},{"line_number":280,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"9ad45d7e_862fbfa0","line":277,"range":{"start_line":277,"start_character":12,"end_line":277,"end_character":17},"updated":"2016-08-08 12:15:37.000000000","message":"``...`` for .repo and .rpm","commit_id":"89148ffc458a89f73432993a362b81197f8db7b9"},{"author":{"_account_id":167,"name":"Christian Berendt","email":"berendt@osism.tech","username":"berendt"},"change_message_id":"efad240f5896ed84ff972a94bf0dfc6b59111ce1","unresolved":false,"context_lines":[{"line_number":280,"context_line":""},{"line_number":281,"context_line":"    rpm_setup_config \u003d http://trunk.rdoproject.org/centos7/currrent/delorean.repo,http://trunk.rdoproject.org/centos7/delorean-deps.repo"},{"line_number":282,"context_line":""},{"line_number":283,"context_line":"If specifying a .repo file, each .repo file will need to exist in the"},{"line_number":284,"context_line":"same directory as the base Dockerfile (kolla/docker/base)::"},{"line_number":285,"context_line":""},{"line_number":286,"context_line":"    rpm_setup_config \u003d epel.repo,delorean.repo,delorean-deps.repo"}],"source_content_type":"text/x-rst","patch_set":5,"id":"9ad45d7e_460ca742","line":283,"range":{"start_line":283,"start_character":16,"end_line":283,"end_character":21},"updated":"2016-08-08 12:15:37.000000000","message":"``.repo``","commit_id":"89148ffc458a89f73432993a362b81197f8db7b9"},{"author":{"_account_id":167,"name":"Christian Berendt","email":"berendt@osism.tech","username":"berendt"},"change_message_id":"efad240f5896ed84ff972a94bf0dfc6b59111ce1","unresolved":false,"context_lines":[{"line_number":281,"context_line":"    rpm_setup_config \u003d http://trunk.rdoproject.org/centos7/currrent/delorean.repo,http://trunk.rdoproject.org/centos7/delorean-deps.repo"},{"line_number":282,"context_line":""},{"line_number":283,"context_line":"If specifying a .repo file, each .repo file will need to exist in the"},{"line_number":284,"context_line":"same directory as the base Dockerfile (kolla/docker/base)::"},{"line_number":285,"context_line":""},{"line_number":286,"context_line":"    rpm_setup_config \u003d epel.repo,delorean.repo,delorean-deps.repo"},{"line_number":287,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"9ad45d7e_4913185d","line":284,"range":{"start_line":284,"start_character":39,"end_line":284,"end_character":56},"updated":"2016-08-08 12:15:37.000000000","message":"``...``","commit_id":"89148ffc458a89f73432993a362b81197f8db7b9"},{"author":{"_account_id":16993,"name":"Hui Kang","email":"kangh@us.ibm.com","username":"huikang"},"change_message_id":"13ec2fb5d9366ba66b3b0277e3443d7766c8dbf9","unresolved":false,"context_lines":[{"line_number":147,"context_line":""},{"line_number":148,"context_line":"This offers a lot of flexibility on how images are built, e.g. installing extra"},{"line_number":149,"context_line":"packages as part of the build, tweaking settings, installing plugins, and"},{"line_number":150,"context_line":"numerous other capabilities.  Some of these examples are described in more"},{"line_number":151,"context_line":"detail below."},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"Generic Customisation"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9ad45d7e_2b14339e","line":150,"updated":"2016-08-11 04:30:25.000000000","message":"extra space","commit_id":"e4e1e42b01809e83bc2e74860657709b350ec78d"},{"author":{"_account_id":1390,"name":"Paul Bourke","email":"pauldbourke@proton.me","username":"pauldbourke"},"change_message_id":"32a0178fc873a0d766e430aae6520fae11ef8f29","unresolved":false,"context_lines":[{"line_number":147,"context_line":""},{"line_number":148,"context_line":"This offers a lot of flexibility on how images are built, e.g. installing extra"},{"line_number":149,"context_line":"packages as part of the build, tweaking settings, installing plugins, and"},{"line_number":150,"context_line":"numerous other capabilities.  Some of these examples are described in more"},{"line_number":151,"context_line":"detail below."},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"Generic Customisation"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3ac371cc_fd30b6a0","line":150,"in_reply_to":"9ad45d7e_2b14339e","updated":"2016-08-15 09:10:48.000000000","message":"Done","commit_id":"e4e1e42b01809e83bc2e74860657709b350ec78d"},{"author":{"_account_id":16993,"name":"Hui Kang","email":"kangh@us.ibm.com","username":"huikang"},"change_message_id":"d58c505a2be62b20819e2d368d83ff77e7da9304","unresolved":false,"context_lines":[{"line_number":202,"context_line":"    {% extends parent_template %}"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"    # Horizon"},{"line_number":205,"context_line":"    {% set horizon_base_packages_append \u003d [\u0027iproute\u0027] %}"},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"Then rebuild the horizon image, passing the ``--template-override`` argument:"},{"line_number":208,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"3ac371cc_96008aac","line":205,"updated":"2016-08-15 04:02:31.000000000","message":"In this example, \"horizon_base_packages_append\" should be \"horizon_packages_append\". See [1]\n\n[1] https://github.com/openstack/kolla/blob/master/docker/horizon/Dockerfile.j2#L9","commit_id":"e4e1e42b01809e83bc2e74860657709b350ec78d"},{"author":{"_account_id":1390,"name":"Paul Bourke","email":"pauldbourke@proton.me","username":"pauldbourke"},"change_message_id":"32a0178fc873a0d766e430aae6520fae11ef8f29","unresolved":false,"context_lines":[{"line_number":202,"context_line":"    {% extends parent_template %}"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"    # Horizon"},{"line_number":205,"context_line":"    {% set horizon_base_packages_append \u003d [\u0027iproute\u0027] %}"},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"Then rebuild the horizon image, passing the ``--template-override`` argument:"},{"line_number":208,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"3ac371cc_5ddd8a41","line":205,"in_reply_to":"3ac371cc_96008aac","updated":"2016-08-15 09:10:48.000000000","message":"Done","commit_id":"e4e1e42b01809e83bc2e74860657709b350ec78d"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"11a45058ea330b8353fec42b63861dbabc70cc71","unresolved":false,"context_lines":[{"line_number":204,"context_line":"    # Horizon"},{"line_number":205,"context_line":"    {% set horizon_base_packages_append \u003d [\u0027iproute\u0027] %}"},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"Then rebuild the horizon image, passing the ``--template-override`` argument:"},{"line_number":208,"context_line":""},{"line_number":209,"context_line":"    kolla-build --template-override template-overrides.j2 horizon"},{"line_number":210,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"9ad45d7e_700b827d","line":207,"range":{"start_line":207,"start_character":0,"end_line":207,"end_character":76},"updated":"2016-08-11 21:21:34.000000000","message":"can you add how to set the template override in the kolla-build.conf?","commit_id":"e4e1e42b01809e83bc2e74860657709b350ec78d"},{"author":{"_account_id":1390,"name":"Paul Bourke","email":"pauldbourke@proton.me","username":"pauldbourke"},"change_message_id":"32a0178fc873a0d766e430aae6520fae11ef8f29","unresolved":false,"context_lines":[{"line_number":204,"context_line":"    # Horizon"},{"line_number":205,"context_line":"    {% set horizon_base_packages_append \u003d [\u0027iproute\u0027] %}"},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"Then rebuild the horizon image, passing the ``--template-override`` argument:"},{"line_number":208,"context_line":""},{"line_number":209,"context_line":"    kolla-build --template-override template-overrides.j2 horizon"},{"line_number":210,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"3ac371cc_3db9aeea","line":207,"range":{"start_line":207,"start_character":0,"end_line":207,"end_character":76},"in_reply_to":"9ad45d7e_700b827d","updated":"2016-08-15 09:10:48.000000000","message":"Done","commit_id":"e4e1e42b01809e83bc2e74860657709b350ec78d"},{"author":{"_account_id":16993,"name":"Hui Kang","email":"kangh@us.ibm.com","username":"huikang"},"change_message_id":"13ec2fb5d9366ba66b3b0277e3443d7766c8dbf9","unresolved":false,"context_lines":[{"line_number":226,"context_line":""},{"line_number":227,"context_line":"The Dockerfile customisation mechanism is also useful for adding/installing"},{"line_number":228,"context_line":"plugins to services. An example of this is Neutron\u0027s third party L2 drivers_."},{"line_number":229,"context_line":""},{"line_number":230,"context_line":"The bottom of each Dockerfile contains two blocks, ``image_name_footer``, and"},{"line_number":231,"context_line":"``footer``. The ``image_name_footer`` is intended for image specific"},{"line_number":232,"context_line":"modifications, while the ``footer`` can be used to apply a common set of"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9ad45d7e_6b810bc3","line":229,"updated":"2016-08-11 04:30:25.000000000","message":"extra space after \"drivers\"","commit_id":"e4e1e42b01809e83bc2e74860657709b350ec78d"},{"author":{"_account_id":1390,"name":"Paul Bourke","email":"pauldbourke@proton.me","username":"pauldbourke"},"change_message_id":"32a0178fc873a0d766e430aae6520fae11ef8f29","unresolved":false,"context_lines":[{"line_number":226,"context_line":""},{"line_number":227,"context_line":"The Dockerfile customisation mechanism is also useful for adding/installing"},{"line_number":228,"context_line":"plugins to services. An example of this is Neutron\u0027s third party L2 drivers_."},{"line_number":229,"context_line":""},{"line_number":230,"context_line":"The bottom of each Dockerfile contains two blocks, ``image_name_footer``, and"},{"line_number":231,"context_line":"``footer``. The ``image_name_footer`` is intended for image specific"},{"line_number":232,"context_line":"modifications, while the ``footer`` can be used to apply a common set of"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3ac371cc_bd9c7e6a","line":229,"in_reply_to":"9ad45d7e_6b810bc3","updated":"2016-08-15 09:10:48.000000000","message":"It\u0027s an underscore, required for hyperlinking","commit_id":"e4e1e42b01809e83bc2e74860657709b350ec78d"},{"author":{"_account_id":16993,"name":"Hui Kang","email":"kangh@us.ibm.com","username":"huikang"},"change_message_id":"13ec2fb5d9366ba66b3b0277e3443d7766c8dbf9","unresolved":false,"context_lines":[{"line_number":235,"context_line":"For example, to add the ``networking-cisco`` plugin to the ``neutron_server``"},{"line_number":236,"context_line":"image, add the following to the ``template-override`` file::"},{"line_number":237,"context_line":""},{"line_number":238,"context_line":"    {% block neutron_server_footer %}"},{"line_number":239,"context_line":"    RUN git clone https://git.openstack.org/openstack/networking-cisco \\"},{"line_number":240,"context_line":"        \u0026\u0026 pip --no-cache-dir install networking-cisco"},{"line_number":241,"context_line":"    {% endblock %}"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9ad45d7e_8b6c3f36","line":238,"updated":"2016-08-11 04:30:25.000000000","message":"Shall {% extends parent_template %} be added as well?","commit_id":"e4e1e42b01809e83bc2e74860657709b350ec78d"},{"author":{"_account_id":1390,"name":"Paul Bourke","email":"pauldbourke@proton.me","username":"pauldbourke"},"change_message_id":"32a0178fc873a0d766e430aae6520fae11ef8f29","unresolved":false,"context_lines":[{"line_number":235,"context_line":"For example, to add the ``networking-cisco`` plugin to the ``neutron_server``"},{"line_number":236,"context_line":"image, add the following to the ``template-override`` file::"},{"line_number":237,"context_line":""},{"line_number":238,"context_line":"    {% block neutron_server_footer %}"},{"line_number":239,"context_line":"    RUN git clone https://git.openstack.org/openstack/networking-cisco \\"},{"line_number":240,"context_line":"        \u0026\u0026 pip --no-cache-dir install networking-cisco"},{"line_number":241,"context_line":"    {% endblock %}"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3ac371cc_3d87ee10","line":238,"in_reply_to":"9ad45d7e_8b6c3f36","updated":"2016-08-15 09:10:48.000000000","message":"Done","commit_id":"e4e1e42b01809e83bc2e74860657709b350ec78d"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"11a45058ea330b8353fec42b63861dbabc70cc71","unresolved":false,"context_lines":[{"line_number":243,"context_line":"Acute readers may notice there is one problem with this however. Assuming"},{"line_number":244,"context_line":"nothing else in the Dockerfile changes for a period of time, the above ``RUN``"},{"line_number":245,"context_line":"statement will be cached by Docker, meaning new commits added to the Git"},{"line_number":246,"context_line":"repository may be missed on subsequent builds. To solve this the Kolla build"},{"line_number":247,"context_line":"tool also supports cloning additional repositories at build time, which will be"},{"line_number":248,"context_line":"automatically made available to the build, under the name ``plugins-archive``."},{"line_number":249,"context_line":""},{"line_number":250,"context_line":".. note::"},{"line_number":251,"context_line":""},{"line_number":252,"context_line":"    The following is available for source build types only."},{"line_number":253,"context_line":""},{"line_number":254,"context_line":"To use this, add a section to ``/etc/kolla/kolla-build.conf`` in the following"},{"line_number":255,"context_line":"format::"},{"line_number":256,"context_line":""},{"line_number":257,"context_line":"    [\u003cimage\u003e-plugin-\u003cplugin-name\u003e]"},{"line_number":258,"context_line":""},{"line_number":259,"context_line":"Where ``\u003cimage\u003e`` is the image that the plugin should be installed into, and"},{"line_number":260,"context_line":"``\u003cplugin-name\u003e`` is the chosen plugin identifier."},{"line_number":261,"context_line":""},{"line_number":262,"context_line":"Continuing with the above example, add the following to"},{"line_number":263,"context_line":"``/etc/kolla/kolla-build.conf``::"},{"line_number":264,"context_line":""},{"line_number":265,"context_line":"    [neutron-server-plugin-networking-cisco]"},{"line_number":266,"context_line":"    type \u003d git"},{"line_number":267,"context_line":"    location \u003d https://git.openstack.org/openstack/networking-cisco"},{"line_number":268,"context_line":"    reference \u003d master"},{"line_number":269,"context_line":""},{"line_number":270,"context_line":"The template now becomes::"},{"line_number":271,"context_line":""},{"line_number":272,"context_line":"    {% block neutron_server_footer %}"},{"line_number":273,"context_line":"    ADD plugins-archive /"},{"line_number":274,"context_line":"    pip --no-cache-dir install /plugins"},{"line_number":275,"context_line":"    {% endblock %}"},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"Custom Repos"},{"line_number":278,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9ad45d7e_f005b213","line":275,"range":{"start_line":246,"start_character":47,"end_line":275,"end_character":18},"updated":"2016-08-11 21:21:34.000000000","message":"how are multiple plugging supported it the same container.\nwhat is the naming scheme form with in the container/template.","commit_id":"e4e1e42b01809e83bc2e74860657709b350ec78d"},{"author":{"_account_id":1390,"name":"Paul Bourke","email":"pauldbourke@proton.me","username":"pauldbourke"},"change_message_id":"32a0178fc873a0d766e430aae6520fae11ef8f29","unresolved":false,"context_lines":[{"line_number":243,"context_line":"Acute readers may notice there is one problem with this however. Assuming"},{"line_number":244,"context_line":"nothing else in the Dockerfile changes for a period of time, the above ``RUN``"},{"line_number":245,"context_line":"statement will be cached by Docker, meaning new commits added to the Git"},{"line_number":246,"context_line":"repository may be missed on subsequent builds. To solve this the Kolla build"},{"line_number":247,"context_line":"tool also supports cloning additional repositories at build time, which will be"},{"line_number":248,"context_line":"automatically made available to the build, under the name ``plugins-archive``."},{"line_number":249,"context_line":""},{"line_number":250,"context_line":".. note::"},{"line_number":251,"context_line":""},{"line_number":252,"context_line":"    The following is available for source build types only."},{"line_number":253,"context_line":""},{"line_number":254,"context_line":"To use this, add a section to ``/etc/kolla/kolla-build.conf`` in the following"},{"line_number":255,"context_line":"format::"},{"line_number":256,"context_line":""},{"line_number":257,"context_line":"    [\u003cimage\u003e-plugin-\u003cplugin-name\u003e]"},{"line_number":258,"context_line":""},{"line_number":259,"context_line":"Where ``\u003cimage\u003e`` is the image that the plugin should be installed into, and"},{"line_number":260,"context_line":"``\u003cplugin-name\u003e`` is the chosen plugin identifier."},{"line_number":261,"context_line":""},{"line_number":262,"context_line":"Continuing with the above example, add the following to"},{"line_number":263,"context_line":"``/etc/kolla/kolla-build.conf``::"},{"line_number":264,"context_line":""},{"line_number":265,"context_line":"    [neutron-server-plugin-networking-cisco]"},{"line_number":266,"context_line":"    type \u003d git"},{"line_number":267,"context_line":"    location \u003d https://git.openstack.org/openstack/networking-cisco"},{"line_number":268,"context_line":"    reference \u003d master"},{"line_number":269,"context_line":""},{"line_number":270,"context_line":"The template now becomes::"},{"line_number":271,"context_line":""},{"line_number":272,"context_line":"    {% block neutron_server_footer %}"},{"line_number":273,"context_line":"    ADD plugins-archive /"},{"line_number":274,"context_line":"    pip --no-cache-dir install /plugins"},{"line_number":275,"context_line":"    {% endblock %}"},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"Custom Repos"},{"line_number":278,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3ac371cc_ddaa1a19","line":275,"range":{"start_line":246,"start_character":47,"end_line":275,"end_character":18},"in_reply_to":"9ad45d7e_f005b213","updated":"2016-08-15 09:10:48.000000000","message":"Done","commit_id":"e4e1e42b01809e83bc2e74860657709b350ec78d"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"11a45058ea330b8353fec42b63861dbabc70cc71","unresolved":false,"context_lines":[{"line_number":277,"context_line":"Custom Repos"},{"line_number":278,"context_line":"------------"},{"line_number":279,"context_line":""},{"line_number":280,"context_line":"The build method allows the operator to build containers from custom repos."},{"line_number":281,"context_line":"The repos are accepted as a list of comma separated values and can be in the"},{"line_number":282,"context_line":"form of ``.repo``, ``.rpm``, or a url. See examples below."},{"line_number":283,"context_line":""},{"line_number":284,"context_line":"Update ``rpm_setup_config`` in ``/etc/kolla/kolla-build.conf``::"},{"line_number":285,"context_line":""},{"line_number":286,"context_line":"    rpm_setup_config \u003d http://trunk.rdoproject.org/centos7/currrent/delorean.repo,http://trunk.rdoproject.org/centos7/delorean-deps.repo"},{"line_number":287,"context_line":""},{"line_number":288,"context_line":"If specifying a ``.repo`` file, each ``.repo`` file will need to exist in the"},{"line_number":289,"context_line":"same directory as the base Dockerfile (``kolla/docker/base``)::"},{"line_number":290,"context_line":""},{"line_number":291,"context_line":"    rpm_setup_config \u003d epel.repo,delorean.repo,delorean-deps.repo"},{"line_number":292,"context_line":""},{"line_number":293,"context_line":"Known issues"},{"line_number":294,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9ad45d7e_6438e7d3","line":291,"range":{"start_line":280,"start_character":0,"end_line":291,"end_character":65},"updated":"2016-08-11 21:21:34.000000000","message":"can we add a section for how to do this for custom PPAs on the Ubuntu side.","commit_id":"e4e1e42b01809e83bc2e74860657709b350ec78d"},{"author":{"_account_id":1390,"name":"Paul Bourke","email":"pauldbourke@proton.me","username":"pauldbourke"},"change_message_id":"32a0178fc873a0d766e430aae6520fae11ef8f29","unresolved":false,"context_lines":[{"line_number":277,"context_line":"Custom Repos"},{"line_number":278,"context_line":"------------"},{"line_number":279,"context_line":""},{"line_number":280,"context_line":"The build method allows the operator to build containers from custom repos."},{"line_number":281,"context_line":"The repos are accepted as a list of comma separated values and can be in the"},{"line_number":282,"context_line":"form of ``.repo``, ``.rpm``, or a url. See examples below."},{"line_number":283,"context_line":""},{"line_number":284,"context_line":"Update ``rpm_setup_config`` in ``/etc/kolla/kolla-build.conf``::"},{"line_number":285,"context_line":""},{"line_number":286,"context_line":"    rpm_setup_config \u003d http://trunk.rdoproject.org/centos7/currrent/delorean.repo,http://trunk.rdoproject.org/centos7/delorean-deps.repo"},{"line_number":287,"context_line":""},{"line_number":288,"context_line":"If specifying a ``.repo`` file, each ``.repo`` file will need to exist in the"},{"line_number":289,"context_line":"same directory as the base Dockerfile (``kolla/docker/base``)::"},{"line_number":290,"context_line":""},{"line_number":291,"context_line":"    rpm_setup_config \u003d epel.repo,delorean.repo,delorean-deps.repo"},{"line_number":292,"context_line":""},{"line_number":293,"context_line":"Known issues"},{"line_number":294,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3ac371cc_4025a1a9","line":291,"range":{"start_line":280,"start_character":0,"end_line":291,"end_character":65},"in_reply_to":"9ad45d7e_6438e7d3","updated":"2016-08-15 09:10:48.000000000","message":"Done","commit_id":"e4e1e42b01809e83bc2e74860657709b350ec78d"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"e58395ef61d579c8c652a0205a2c335c56bd1652","unresolved":false,"context_lines":[{"line_number":23,"context_line":"::"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"    pip install tox"},{"line_number":26,"context_line":"    tox -e genconfig"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"The location of the generated configuration file is"},{"line_number":29,"context_line":"``etc/kolla/kolla-build.conf``, it can also be copied to ``/etc/kolla``. The"}],"source_content_type":"text/x-rst","patch_set":10,"id":"3ac371cc_dd805a8e","line":26,"range":{"start_line":26,"start_character":0,"end_line":26,"end_character":20},"updated":"2016-08-19 02:16:11.000000000","message":"at some point we need to fix this - tox is only for developers, and with our new quickstart guidelines we have operators that won\u0027t have tox in their environment.","commit_id":"316f0a78f1f7547045524231c1cb90fa257e5c6c"}]}
