)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":24072,"name":"Marcin Juszkiewicz","email":"mjuszkiewicz@redhat.com","username":"hrw"},"change_message_id":"52645b7fac89268303db9b3521a884c1c6a36486","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"0d71c049_4485474b","updated":"2022-02-15 15:30:15.000000000","message":"As I wrote on irc - user can provide already patched sources in SOURCES. As tarballs or pointers to git repositories.","commit_id":"268b04518659c5ea827ae6f4e6cb0e9a8ca0be37"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"4a4cf2e52a2b83935a7169d667bd4ba8f6499b61","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"90a0ed1c_5d810d0a","updated":"2022-03-08 14:57:56.000000000","message":"Hi, Frickler, what do u think about this ? ","commit_id":"268b04518659c5ea827ae6f4e6cb0e9a8ca0be37"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"e227c42e88c4b3f36b22986b4456a57088f23f51","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"ac126b05_4892d2af","updated":"2022-02-16 09:21:21.000000000","message":"I\u0027m open to making it easier to patch files in kolla images. Currently unsure how far we go with enabling vs implementing that mechanism.","commit_id":"268b04518659c5ea827ae6f4e6cb0e9a8ca0be37"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"2b796bf3354b7001d8e7c8cded64b55eed1e7035","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"10810243_3bf1ffc3","in_reply_to":"0d71c049_4485474b","updated":"2024-04-08 16:55:13.000000000","message":"That\u0027s actually way more work though than this solution. You need to prepare a tarball yourself, because upstream sometimes takes month to make an actual release, even if the needed bugfix is already merged in an upstream stable branches.\n\nI don\u0027t think providing a generic way to patch around upstreams inactivity is bad at all. It\u0027s a pragmatic solution for users without adding too much maintenance (\u003c100 lines of code in this Review).","commit_id":"268b04518659c5ea827ae6f4e6cb0e9a8ca0be37"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"26837674a266415ce21bb08c7221ddd9da06e9e6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"991cd3ef_01743a48","in_reply_to":"0d71c049_4485474b","updated":"2024-04-08 16:52:59.000000000","message":"This is not true, because SOURCES can be defined only for services mostly ... not dependencies as oslos ...etc ...\n\nYou need to deploy your own pypi and release your own version and modify u-c ..etc ..etc ... \n\nBut you can be in a conflict with  upstream versioning ...etc etc ..","commit_id":"268b04518659c5ea827ae6f4e6cb0e9a8ca0be37"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"a6d089521ac15c002414a03b6043779e0ba661ce","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"3fd3357f_caf54f15","in_reply_to":"10810243_3bf1ffc3","updated":"2024-06-10 16:35:38.000000000","message":"Marking this as resolved since the concern has been addressed. Applying a patch file is much simpler than building your own pip or using various overrides and dealing with u-c issues. This is a simple method that isn\u0027t used by default. It only applies if the user chooses to use it and actually provides a patch file.","commit_id":"268b04518659c5ea827ae6f4e6cb0e9a8ca0be37"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"a7b6646ead3f170cec65d87bdf1a3ff576499564","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"6eea1a24_b4975450","updated":"2024-06-24 13:32:47.000000000","message":"Folks, there is another example why it\u0027s good idea to have an option for kolla users to patch their downstream images \n\nIt\u0027s quite important bugfix related to rabbitmq queues defined here \n\nhttps://launchpad.net/bugs/1953351\nhttps://launchpad.net/bugs/2028384\nhttps://launchpad.net/bugs/2068630  \u003c\u003c Most important\n\nThere is a verified relation chain/patches for oslo.messaging [1], but zed is unmaintained - so that means pip release will never be released ...\n\nSo only option is to patch files inside the container.\n\nhttps://review.opendev.org/c/openstack/oslo.messaging/+/922604/2","commit_id":"a2aac57e0d6629725c1bbcc72efd8957f93c9466"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"15685ef3acca751ea7e382f9479e69948c4b9938","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"4de1d1eb_7bd42760","updated":"2024-09-16 15:06:38.000000000","message":"works without patches_path defined here  and with defined option here https://review.opendev.org/c/openstack/kolla/+/929446","commit_id":"22ca70c5799632541d261ecc9658899734542abb"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"d6d082f8c5ef502a62b799eabce9295345cbd62d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":18,"id":"aa8c5cac_11402ae4","updated":"2024-09-23 18:50:27.000000000","message":"Hmm, jobs are failing because master images not pushed to quay.io yet ? \n\n[[ -f /var/lib/kolla/venv/lib/python3.11/site-packages/openstack_dashboard/local/enabled/_9010_manila_admin_add_shares_panel_to_share_panel_group.py ]]\n\nvs dockerfile \n\nSITE_PACKAGES\u003d\"/var/lib/kolla/venv/lib/python3/site-packages\"\n\nMANAGE_PY\u003d\"/var/lib/kolla/venv/bin/python /var/lib/kolla/venv/bin/manage.py\"\n\nif [[ ! -f ${SITE_PACKAGES}/openstack_dashboard/local/local_settings.py ]]; then\n\n\nWe probably need to publish images or wait for periodic job (i don\u0027t know how this works)","commit_id":"4d3dfce50ad285ae1c46385add896bfad840c15b"},{"author":{"_account_id":32398,"name":"Gaël THEROND","display_name":"Fl1nt","email":"gael.therond@bitswalk.com","username":"Fl1nt"},"change_message_id":"a8680e35bc2bc12a68129971a11f5e29e81d94c6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":18,"id":"9ab354fb_eebfd9a9","updated":"2024-09-26 14:34:29.000000000","message":"LGTM, that is a pretty long (even if not really a priority) awaited feature, as discussed with kevko, we do it externally currently (special CI workflow) but I\u0027m glad we\u0027ll get a patching native mechanism soon that will simplify a lot the CI burden.","commit_id":"4d3dfce50ad285ae1c46385add896bfad840c15b"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"07cde3db60131c155405926b6e9cc1295bd1a089","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":18,"id":"b1861180_6e2944d4","in_reply_to":"aa8c5cac_11402ae4","updated":"2024-09-23 18:51:23.000000000","message":"^^ Sorry, bad review to comment, it should go into https://review.opendev.org/c/openstack/kolla-ansible/+/926745","commit_id":"4d3dfce50ad285ae1c46385add896bfad840c15b"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"c381e7b075ce9e77b5cd58f732776cf3d6b2a72b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":20,"id":"4f638c65_db521a23","updated":"2024-11-04 08:06:54.000000000","message":"ping ?","commit_id":"9ee918d9095fa44a31e4834574529ca8520d4239"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"fb4e1332652dfbf9629457fe1acec329b77a2e5c","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":20,"id":"5405e8de_b5e6276d","updated":"2024-11-04 11:06:01.000000000","message":"there a lot of extra not needed lines in the almost all Dockerfile.j2","commit_id":"9ee918d9095fa44a31e4834574529ca8520d4239"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"a81b6ea4ae204585bfdc6d297eb45d0fcba84d17","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":20,"id":"95f47222_c3a6547c","in_reply_to":"5405e8de_b5e6276d","updated":"2024-11-04 14:06:46.000000000","message":"Done","commit_id":"9ee918d9095fa44a31e4834574529ca8520d4239"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"c5b85990426904083f91dedaa9d67ee8f148383b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":21,"id":"56019304_4490d1e8","updated":"2024-11-04 16:57:42.000000000","message":"thanks","commit_id":"6069f610b6ee38cea09d4bd333370080c335e23f"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"3b4e40dc2b3892bbffde004e7cff566fbe15584e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":22,"id":"4400057a_04104b16","updated":"2024-11-07 09:17:46.000000000","message":"I need to check all the altered docker files with a script if they all match, but the code itself LGTM :)","commit_id":"a7419d171a2e688a3427f258efa1bac5ed432888"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"6922702a7543a379fe13dfced90157b0a2fe8df0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":22,"id":"6401ed32_325f236c","in_reply_to":"4400057a_04104b16","updated":"2024-11-07 09:40:18.000000000","message":"Go for it, it\u0027s really just macro added (and {% import \"macros.j2\" as macros with context %} in case it\u0027s missing in some image ..nothing more or less) ... most important is python and bash inside.","commit_id":"a7419d171a2e688a3427f258efa1bac5ed432888"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"ce821d199e7e30ede77ec56567ffb8d628a8fca2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":22,"id":"8b9436b7_3f94c543","in_reply_to":"6401ed32_325f236c","updated":"2024-11-07 10:00:03.000000000","message":"```\n#!/bin/bash\n\n\nfind . -name \u0027Dockerfile.j2\u0027 -print0 | while IFS\u003d read -r -d \u0027\u0027 i; do\n    if grep -q \u0027{% import \"macros.j2\" as macros with context %}\u0027 $i 2\u003e/dev/null; then\n        echo \"$i : OK\"\n    else\n        echo \"$i MISSING\"\n    fi;done | grep MISSING\n\nfind . -name \u0027Dockerfile.j2\u0027 -print0 | while IFS\u003d read -r -d \u0027\u0027 i; do\n    if grep -qPzo \u0027{% if patches_path %}\\n{{ macros.kolla_patch_sources\\(\\) }}\\n{% endif %}\u0027 $i 2\u003e/dev/null; then\n        echo \"$i : OK\"\n    else\n        echo \"$i MISSING\"\n    fi;done | grep MISSING\n```\n./kolla/tests/docker/base/Dockerfile.j2 MISSING\n./kolla/tests/docker/neutron-server/Dockerfile.j2 MISSING\n./kolla/tests/docker/base/Dockerfile.j2 MISSING\n./kolla/tests/docker/neutron-server/Dockerfile.j2 MISSING\n```\n\nWhich is OK.","commit_id":"a7419d171a2e688a3427f258efa1bac5ed432888"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"cbe6fca9928c62000efcfe9725008cedf053315c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":23,"id":"91a399ba_3ee4db7f","updated":"2024-11-14 07:14:39.000000000","message":"I tested the patch in integration with what osism does and it does seem to work fine. so once the discussed updates have been made, this looks ready to proceed to me. voting -1 for now to make this visible, but essentially this is a \"+2 when updated\"","commit_id":"99676fbcf86243085d95f3a3f410faa007ed2196"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"ff0590e604bd21b7f8620077aa4c76d440155241","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":23,"id":"2317d751_0b89d969","updated":"2024-11-07 17:26:18.000000000","message":"I\u0027m a bit worried that there is no testing for create_patch_files() and the macro, not sure if unit testing or some actual scenario job would be good. Would be fine with either of those being done as a follow-up though.\n\nSo just some small nits and ideas for further simplification inline.","commit_id":"99676fbcf86243085d95f3a3f410faa007ed2196"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"1144ac640b49516aa024c5520eab1d3789ab10cc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":23,"id":"c64475c5_7a3b37e2","in_reply_to":"2317d751_0b89d969","updated":"2024-11-07 17:31:20.000000000","message":"In relation there is https://review.opendev.org/c/openstack/kolla/+/929446 patch which actually testing this feature.","commit_id":"99676fbcf86243085d95f3a3f410faa007ed2196"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"cbe6fca9928c62000efcfe9725008cedf053315c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":23,"id":"3af2cf15_03b30e75","in_reply_to":"5a86119e_9274a321","updated":"2024-11-14 07:14:39.000000000","message":"that change also only \"checks\" that the job doesn\u0027t fail, there should be a verification that the patch actually ends up in the image. but I\u0027m fine to deal with that in a follow-up","commit_id":"99676fbcf86243085d95f3a3f410faa007ed2196"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"2474de239e7bdd386e9a91cb8bcad9837b42de82","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":23,"id":"5a86119e_9274a321","in_reply_to":"c64475c5_7a3b37e2","updated":"2024-11-08 15:58:35.000000000","message":"well I think the comment was about actual tests in CI that run regularly, no?\nyour linked patchset is flagged with \"DNM\", so maybe remove the DNM part and merge it? 😄","commit_id":"99676fbcf86243085d95f3a3f410faa007ed2196"}],"doc/source/admin/image-building.rst":[{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"3b4e40dc2b3892bbffde004e7cff566fbe15584e","unresolved":true,"context_lines":[{"line_number":339,"context_line":""},{"line_number":340,"context_line":".. code-block:: console"},{"line_number":341,"context_line":""},{"line_number":342,"context_line":"   some-patch"},{"line_number":343,"context_line":""},{"line_number":344,"context_line":"When the images are built using ``kolla-build``, the patches defined in the"},{"line_number":345,"context_line":"``patches_path`` will automatically be applied to the corresponding images."}],"source_content_type":"text/x-rst","patch_set":22,"id":"28598b21_8b827f5b","line":342,"range":{"start_line":342,"start_character":0,"end_line":342,"end_character":2},"updated":"2024-11-07 09:17:46.000000000","message":"it\u0027s not clear from the docs how this list should be formatted, maybe provide an example for that with multiple entries? e.g.:\n\n```suggestion\n   some-patch, some-later-patch, some-other-patch\n```\n\nI\u0027m currently not even sure my example works, I would assume this is a comma separated list, no?","commit_id":"a7419d171a2e688a3427f258efa1bac5ed432888"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"0a7af5f98700c6e0169518ff94f3f4510c11bebe","unresolved":false,"context_lines":[{"line_number":339,"context_line":""},{"line_number":340,"context_line":".. code-block:: console"},{"line_number":341,"context_line":""},{"line_number":342,"context_line":"   some-patch"},{"line_number":343,"context_line":""},{"line_number":344,"context_line":"When the images are built using ``kolla-build``, the patches defined in the"},{"line_number":345,"context_line":"``patches_path`` will automatically be applied to the corresponding images."}],"source_content_type":"text/x-rst","patch_set":22,"id":"49eb912c_6a24ee95","line":342,"range":{"start_line":342,"start_character":0,"end_line":342,"end_character":2},"in_reply_to":"28598b21_8b827f5b","updated":"2024-11-07 09:38:53.000000000","message":"Patches are applied sequentially in the order they appear in the series file. This order is critical, especially when patches depend on changes introduced by preceding patches.\n\nSo, patch by line.\n\nFixed and uploaded new patchset.","commit_id":"a7419d171a2e688a3427f258efa1bac5ed432888"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"e6ea742224b67ab2274c9e1a4bcd700ae2364e52","unresolved":true,"context_lines":[{"line_number":339,"context_line":""},{"line_number":340,"context_line":".. code-block:: console"},{"line_number":341,"context_line":""},{"line_number":342,"context_line":"   some-patch"},{"line_number":343,"context_line":""},{"line_number":344,"context_line":"When the images are built using ``kolla-build``, the patches defined in the"},{"line_number":345,"context_line":"``patches_path`` will automatically be applied to the corresponding images."}],"source_content_type":"text/x-rst","patch_set":22,"id":"e44f1f28_edbebdf9","line":342,"range":{"start_line":342,"start_character":0,"end_line":342,"end_character":2},"in_reply_to":"49eb912c_6a24ee95","updated":"2024-11-07 09:51:29.000000000","message":"there is no new patchset? :)","commit_id":"a7419d171a2e688a3427f258efa1bac5ed432888"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"4ac5ea7503c5448ed27f037a4c47c13e73074aba","unresolved":false,"context_lines":[{"line_number":339,"context_line":""},{"line_number":340,"context_line":".. code-block:: console"},{"line_number":341,"context_line":""},{"line_number":342,"context_line":"   some-patch"},{"line_number":343,"context_line":""},{"line_number":344,"context_line":"When the images are built using ``kolla-build``, the patches defined in the"},{"line_number":345,"context_line":"``patches_path`` will automatically be applied to the corresponding images."}],"source_content_type":"text/x-rst","patch_set":22,"id":"6ad54c4e_20972362","line":342,"range":{"start_line":342,"start_character":0,"end_line":342,"end_character":2},"in_reply_to":"dfe4a40f_ff713422","updated":"2024-11-07 09:54:27.000000000","message":"https://review.opendev.org/c/openstack/kolla/+/829295/22..23","commit_id":"a7419d171a2e688a3427f258efa1bac5ed432888"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"dfa9b917cf5fc99a77a12bcd4ffba07d8bc0011f","unresolved":false,"context_lines":[{"line_number":339,"context_line":""},{"line_number":340,"context_line":".. code-block:: console"},{"line_number":341,"context_line":""},{"line_number":342,"context_line":"   some-patch"},{"line_number":343,"context_line":""},{"line_number":344,"context_line":"When the images are built using ``kolla-build``, the patches defined in the"},{"line_number":345,"context_line":"``patches_path`` will automatically be applied to the corresponding images."}],"source_content_type":"text/x-rst","patch_set":22,"id":"dfe4a40f_ff713422","line":342,"range":{"start_line":342,"start_character":0,"end_line":342,"end_character":2},"in_reply_to":"e44f1f28_edbebdf9","updated":"2024-11-07 09:53:58.000000000","message":"Sorry, my fault, I\u0027ve amended https://review.opendev.org/c/openstack/kolla/+/929446 in git working directory ...so now i rebased and fixed :). Apologize.","commit_id":"a7419d171a2e688a3427f258efa1bac5ed432888"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"ff0590e604bd21b7f8620077aa4c76d440155241","unresolved":true,"context_lines":[{"line_number":318,"context_line":"  [DEFAULT]"},{"line_number":319,"context_line":"  patches_path \u003d /path/to/your/patches"},{"line_number":320,"context_line":""},{"line_number":321,"context_line":"Create a directory for each image you want to patch. The directory structure"},{"line_number":322,"context_line":"should be as follows:"},{"line_number":323,"context_line":""},{"line_number":324,"context_line":"- ``\u003cpatches_path\u003e/image_name/`` : The directory for the specific image."}],"source_content_type":"text/x-rst","patch_set":23,"id":"487b9b03_e69473ec","line":321,"updated":"2024-11-07 17:26:18.000000000","message":"Maybe mention here that this is the same structure that debian quilt uses?","commit_id":"99676fbcf86243085d95f3a3f410faa007ed2196"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"ac383acbd5a04a0fa9880de2273fb432585f1574","unresolved":true,"context_lines":[{"line_number":318,"context_line":"  [DEFAULT]"},{"line_number":319,"context_line":"  patches_path \u003d /path/to/your/patches"},{"line_number":320,"context_line":""},{"line_number":321,"context_line":"Create a directory for each image you want to patch. The directory structure"},{"line_number":322,"context_line":"should be as follows:"},{"line_number":323,"context_line":""},{"line_number":324,"context_line":"- ``\u003cpatches_path\u003e/image_name/`` : The directory for the specific image."}],"source_content_type":"text/x-rst","patch_set":23,"id":"86fb8e27_ad383c14","line":321,"in_reply_to":"487b9b03_e69473ec","updated":"2024-11-07 17:30:09.000000000","message":"Yeah, it\u0027s good idea to amend docs and mention it. I will do it.","commit_id":"99676fbcf86243085d95f3a3f410faa007ed2196"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"0390709a76ec561fa2e3f90b58a2584ad3fb39f9","unresolved":false,"context_lines":[{"line_number":318,"context_line":"  [DEFAULT]"},{"line_number":319,"context_line":"  patches_path \u003d /path/to/your/patches"},{"line_number":320,"context_line":""},{"line_number":321,"context_line":"Create a directory for each image you want to patch. The directory structure"},{"line_number":322,"context_line":"should be as follows:"},{"line_number":323,"context_line":""},{"line_number":324,"context_line":"- ``\u003cpatches_path\u003e/image_name/`` : The directory for the specific image."}],"source_content_type":"text/x-rst","patch_set":23,"id":"d36081de_410cb295","line":321,"in_reply_to":"86fb8e27_ad383c14","updated":"2024-11-14 08:52:24.000000000","message":"Done","commit_id":"99676fbcf86243085d95f3a3f410faa007ed2196"}],"docker/aodh/aodh-api/Dockerfile.j2":[{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"4c92ab2526d3e0ba6ed462a77ed1727d60d1d156","unresolved":true,"context_lines":[{"line_number":10,"context_line":"COPY extend_start.sh /usr/local/bin/kolla_aodh_extend_start"},{"line_number":11,"context_line":"RUN chmod 644 /usr/local/bin/kolla_aodh_extend_start"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"{% if patches_path %}"},{"line_number":15,"context_line":"{{ macros.kolla_patch_sources() }}"},{"line_number":16,"context_line":"{% endif %}"}],"source_content_type":"text/x-jinja2","patch_set":20,"id":"eba6092c_d1ea4069","line":13,"updated":"2024-11-04 11:04:53.000000000","message":"nit: an extra line not needed","commit_id":"9ee918d9095fa44a31e4834574529ca8520d4239"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"a81b6ea4ae204585bfdc6d297eb45d0fcba84d17","unresolved":false,"context_lines":[{"line_number":10,"context_line":"COPY extend_start.sh /usr/local/bin/kolla_aodh_extend_start"},{"line_number":11,"context_line":"RUN chmod 644 /usr/local/bin/kolla_aodh_extend_start"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"{% if patches_path %}"},{"line_number":15,"context_line":"{{ macros.kolla_patch_sources() }}"},{"line_number":16,"context_line":"{% endif %}"}],"source_content_type":"text/x-jinja2","patch_set":20,"id":"01cabb53_7eeec1f6","line":13,"in_reply_to":"eba6092c_d1ea4069","updated":"2024-11-04 14:06:46.000000000","message":"Done","commit_id":"9ee918d9095fa44a31e4834574529ca8520d4239"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"ff0590e604bd21b7f8620077aa4c76d440155241","unresolved":true,"context_lines":[{"line_number":10,"context_line":"COPY extend_start.sh /usr/local/bin/kolla_aodh_extend_start"},{"line_number":11,"context_line":"RUN chmod 644 /usr/local/bin/kolla_aodh_extend_start"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"{% if patches_path %}"},{"line_number":14,"context_line":"{{ macros.kolla_patch_sources() }}"},{"line_number":15,"context_line":"{% endif %}"},{"line_number":16,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":23,"id":"f0bc7279_933f4881","line":13,"updated":"2024-11-07 17:26:18.000000000","message":"can this condition be moved into the macro? that would reduce the size of this change by roughly 400 lines in total","commit_id":"99676fbcf86243085d95f3a3f410faa007ed2196"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"9e572cbe3ec17c76a13da8827b57eafdc5cce4e3","unresolved":false,"context_lines":[{"line_number":10,"context_line":"COPY extend_start.sh /usr/local/bin/kolla_aodh_extend_start"},{"line_number":11,"context_line":"RUN chmod 644 /usr/local/bin/kolla_aodh_extend_start"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"{% if patches_path %}"},{"line_number":14,"context_line":"{{ macros.kolla_patch_sources() }}"},{"line_number":15,"context_line":"{% endif %}"},{"line_number":16,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":23,"id":"a7d275be_8a7a2ea7","line":13,"in_reply_to":"30bcfaf3_5558ce19","updated":"2024-11-14 09:07:24.000000000","message":"Done, let\u0027s see, it should pass i think.","commit_id":"99676fbcf86243085d95f3a3f410faa007ed2196"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"ac383acbd5a04a0fa9880de2273fb432585f1574","unresolved":true,"context_lines":[{"line_number":10,"context_line":"COPY extend_start.sh /usr/local/bin/kolla_aodh_extend_start"},{"line_number":11,"context_line":"RUN chmod 644 /usr/local/bin/kolla_aodh_extend_start"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"{% if patches_path %}"},{"line_number":14,"context_line":"{{ macros.kolla_patch_sources() }}"},{"line_number":15,"context_line":"{% endif %}"},{"line_number":16,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":23,"id":"30bcfaf3_5558ce19","line":13,"in_reply_to":"f0bc7279_933f4881","updated":"2024-11-07 17:30:09.000000000","message":"Hmm, will check if it is possible ..probably yes ?","commit_id":"99676fbcf86243085d95f3a3f410faa007ed2196"}],"docker/barbican/barbican-api/Dockerfile.j2":[{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"4c92ab2526d3e0ba6ed462a77ed1727d60d1d156","unresolved":true,"context_lines":[{"line_number":11,"context_line":""},{"line_number":12,"context_line":"RUN chmod 644 /usr/local/bin/kolla_barbican_extend_start"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"{% if patches_path %}"},{"line_number":16,"context_line":"{{ macros.kolla_patch_sources() }}"},{"line_number":17,"context_line":"{% endif %}"}],"source_content_type":"text/x-jinja2","patch_set":20,"id":"dd9a2b6e_c399ec7b","line":14,"updated":"2024-11-04 11:04:53.000000000","message":"ditto","commit_id":"9ee918d9095fa44a31e4834574529ca8520d4239"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"a81b6ea4ae204585bfdc6d297eb45d0fcba84d17","unresolved":false,"context_lines":[{"line_number":11,"context_line":""},{"line_number":12,"context_line":"RUN chmod 644 /usr/local/bin/kolla_barbican_extend_start"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"{% if patches_path %}"},{"line_number":16,"context_line":"{{ macros.kolla_patch_sources() }}"},{"line_number":17,"context_line":"{% endif %}"}],"source_content_type":"text/x-jinja2","patch_set":20,"id":"30351c54_2f1ab956","line":14,"in_reply_to":"dd9a2b6e_c399ec7b","updated":"2024-11-04 14:06:46.000000000","message":"Done","commit_id":"9ee918d9095fa44a31e4834574529ca8520d4239"}],"docker/base/Dockerfile.j2":[{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"d1947a4a2f91ec8e1c6b78ff28dc048ba98960fc","unresolved":true,"context_lines":[{"line_number":3,"context_line":"LABEL maintainer\u003d\"{{ maintainer }}\" name\u003d\"{{ image_name }}\" build-date\u003d\"{{ build_date }}\""},{"line_number":4,"context_line":"{% endblock %}"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"COPY kolla_patch.sh /usr/local/bin/kolla_patch"},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"RUN chmod 755 /usr/local/bin/kolla_patch"},{"line_number":9,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":5,"id":"dd84a46b_2834ed07","line":6,"updated":"2024-06-11 07:18:05.000000000","message":"move that to around line 381? ideally make that optional? Not everybody needs that in their images","commit_id":"8034798ffd007135bd194f4955bea5518fca9808"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"cadb2bff9d596c61edbfd99137444c6c1922ecab","unresolved":false,"context_lines":[{"line_number":3,"context_line":"LABEL maintainer\u003d\"{{ maintainer }}\" name\u003d\"{{ image_name }}\" build-date\u003d\"{{ build_date }}\""},{"line_number":4,"context_line":"{% endblock %}"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"COPY kolla_patch.sh /usr/local/bin/kolla_patch"},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"RUN chmod 755 /usr/local/bin/kolla_patch"},{"line_number":9,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":5,"id":"e6348ca0_96c8636c","line":6,"in_reply_to":"5f0f59d1_4842d5fa","updated":"2024-09-16 10:37:49.000000000","message":"@kieske@osism.tech - This can be handled at image level I think, but then i will loose the benefit of base shared layer.\n\n@mnasiadka@gmail.com - Moved","commit_id":"8034798ffd007135bd194f4955bea5518fca9808"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"37484afad985039273ad81220366e845efe7bb1c","unresolved":true,"context_lines":[{"line_number":3,"context_line":"LABEL maintainer\u003d\"{{ maintainer }}\" name\u003d\"{{ image_name }}\" build-date\u003d\"{{ build_date }}\""},{"line_number":4,"context_line":"{% endblock %}"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"COPY kolla_patch.sh /usr/local/bin/kolla_patch"},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"RUN chmod 755 /usr/local/bin/kolla_patch"},{"line_number":9,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":5,"id":"5f0f59d1_4842d5fa","line":6,"in_reply_to":"dd84a46b_2834ed07","updated":"2024-06-11 07:58:08.000000000","message":"agreed, you could first check if there are any patches to be applied at $configured_patch_file_location and only then copy the script.","commit_id":"8034798ffd007135bd194f4955bea5518fca9808"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"ff0590e604bd21b7f8620077aa4c76d440155241","unresolved":true,"context_lines":[{"line_number":25,"context_line":"ENV KOLLA_BASE_DISTRO\u003d{{ base_distro }} \\"},{"line_number":26,"context_line":"    KOLLA_BASE_ARCH\u003d{{ base_arch }}"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"#### Customize PS1 to be used with bash shell"},{"line_number":30,"context_line":"COPY kolla_bashrc /tmp/"},{"line_number":31,"context_line":"RUN cat /tmp/kolla_bashrc \u003e\u003e /etc/skel/.bashrc \\"}],"source_content_type":"text/x-jinja2","patch_set":23,"id":"bf74003f_722909b0","side":"PARENT","line":28,"updated":"2024-11-07 17:26:18.000000000","message":"nit: unrelated","commit_id":"36c12676ff185f524a7f4d2f2f4c70b5d60462b4"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"0390709a76ec561fa2e3f90b58a2584ad3fb39f9","unresolved":false,"context_lines":[{"line_number":25,"context_line":"ENV KOLLA_BASE_DISTRO\u003d{{ base_distro }} \\"},{"line_number":26,"context_line":"    KOLLA_BASE_ARCH\u003d{{ base_arch }}"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"#### Customize PS1 to be used with bash shell"},{"line_number":30,"context_line":"COPY kolla_bashrc /tmp/"},{"line_number":31,"context_line":"RUN cat /tmp/kolla_bashrc \u003e\u003e /etc/skel/.bashrc \\"}],"source_content_type":"text/x-jinja2","patch_set":23,"id":"34bf561b_ad5c818f","side":"PARENT","line":28,"in_reply_to":"bf74003f_722909b0","updated":"2024-11-14 08:52:24.000000000","message":"Done","commit_id":"36c12676ff185f524a7f4d2f2f4c70b5d60462b4"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"ff0590e604bd21b7f8620077aa4c76d440155241","unresolved":true,"context_lines":[{"line_number":194,"context_line":"        \u0027which\u0027"},{"line_number":195,"context_line":"] %}"},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"{% if patches_path %}"},{"line_number":198,"context_line":"{% set base_centos_packages \u003d base_centos_packages + ["},{"line_number":199,"context_line":"    \u0027patch\u0027"},{"line_number":200,"context_line":"] %}"}],"source_content_type":"text/x-jinja2","patch_set":23,"id":"ee0497fa_ff0a8286","line":197,"updated":"2024-11-07 17:26:18.000000000","message":"does this even need to be conditional? \"patch\" is such a small tool that I wouldn\u0027t mind including it unconditionally","commit_id":"99676fbcf86243085d95f3a3f410faa007ed2196"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"2474de239e7bdd386e9a91cb8bcad9837b42de82","unresolved":true,"context_lines":[{"line_number":194,"context_line":"        \u0027which\u0027"},{"line_number":195,"context_line":"] %}"},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"{% if patches_path %}"},{"line_number":198,"context_line":"{% set base_centos_packages \u003d base_centos_packages + ["},{"line_number":199,"context_line":"    \u0027patch\u0027"},{"line_number":200,"context_line":"] %}"}],"source_content_type":"text/x-jinja2","patch_set":23,"id":"9917b352_5d2b4c06","line":197,"in_reply_to":"10093a1c_6002c043","updated":"2024-11-08 15:58:35.000000000","message":"afaik I only asked about patches only being copied when patches are there, not about the \"patch\" utility itself.\n\nFrom a practical standpoint I tend to agree, let\u0027s leave it in unconditionally. From a security POV of course the answer is always: \"don\u0027t install what isn\u0027t needed\".\n\nSo I would leave the decision with you.","commit_id":"99676fbcf86243085d95f3a3f410faa007ed2196"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"9e572cbe3ec17c76a13da8827b57eafdc5cce4e3","unresolved":false,"context_lines":[{"line_number":194,"context_line":"        \u0027which\u0027"},{"line_number":195,"context_line":"] %}"},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"{% if patches_path %}"},{"line_number":198,"context_line":"{% set base_centos_packages \u003d base_centos_packages + ["},{"line_number":199,"context_line":"    \u0027patch\u0027"},{"line_number":200,"context_line":"] %}"}],"source_content_type":"text/x-jinja2","patch_set":23,"id":"7b489e0e_c0318d38","line":197,"in_reply_to":"9917b352_5d2b4c06","updated":"2024-11-14 09:07:24.000000000","message":"Removed everything by sed sed -i \u0027/{% if patches_path %}/d; /{% endif %}/d\u0027 filename\n\nI also think that tool can be present in image... as the script for copy cacert for example ...","commit_id":"99676fbcf86243085d95f3a3f410faa007ed2196"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"ac383acbd5a04a0fa9880de2273fb432585f1574","unresolved":true,"context_lines":[{"line_number":194,"context_line":"        \u0027which\u0027"},{"line_number":195,"context_line":"] %}"},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"{% if patches_path %}"},{"line_number":198,"context_line":"{% set base_centos_packages \u003d base_centos_packages + ["},{"line_number":199,"context_line":"    \u0027patch\u0027"},{"line_number":200,"context_line":"] %}"}],"source_content_type":"text/x-jinja2","patch_set":23,"id":"10093a1c_6002c043","line":197,"in_reply_to":"ee0497fa_ff0a8286","updated":"2024-11-07 17:30:09.000000000","message":"No, it don\u0027t need to be :) ... but another reviewer (maybe Sven probably ? i don\u0027t remember) asked for conditions for stuff around patches...\n\nSo how ?","commit_id":"99676fbcf86243085d95f3a3f410faa007ed2196"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"ff0590e604bd21b7f8620077aa4c76d440155241","unresolved":true,"context_lines":[{"line_number":287,"context_line":"   \u0027tgt\u0027"},{"line_number":288,"context_line":"] %}"},{"line_number":289,"context_line":""},{"line_number":290,"context_line":"{% if patches_path %}"},{"line_number":291,"context_line":"{% set base_apt_packages \u003d base_apt_packages + ["},{"line_number":292,"context_line":"    \u0027patch\u0027"},{"line_number":293,"context_line":"] %}"}],"source_content_type":"text/x-jinja2","patch_set":23,"id":"b68cb82f_62091660","line":290,"updated":"2024-11-07 17:26:18.000000000","message":"dito","commit_id":"99676fbcf86243085d95f3a3f410faa007ed2196"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"9e572cbe3ec17c76a13da8827b57eafdc5cce4e3","unresolved":false,"context_lines":[{"line_number":287,"context_line":"   \u0027tgt\u0027"},{"line_number":288,"context_line":"] %}"},{"line_number":289,"context_line":""},{"line_number":290,"context_line":"{% if patches_path %}"},{"line_number":291,"context_line":"{% set base_apt_packages \u003d base_apt_packages + ["},{"line_number":292,"context_line":"    \u0027patch\u0027"},{"line_number":293,"context_line":"] %}"}],"source_content_type":"text/x-jinja2","patch_set":23,"id":"2afa917c_4bd96b0c","line":290,"in_reply_to":"66450ba9_0aedfc68","updated":"2024-11-14 09:07:24.000000000","message":"Done","commit_id":"99676fbcf86243085d95f3a3f410faa007ed2196"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"ac383acbd5a04a0fa9880de2273fb432585f1574","unresolved":true,"context_lines":[{"line_number":287,"context_line":"   \u0027tgt\u0027"},{"line_number":288,"context_line":"] %}"},{"line_number":289,"context_line":""},{"line_number":290,"context_line":"{% if patches_path %}"},{"line_number":291,"context_line":"{% set base_apt_packages \u003d base_apt_packages + ["},{"line_number":292,"context_line":"    \u0027patch\u0027"},{"line_number":293,"context_line":"] %}"}],"source_content_type":"text/x-jinja2","patch_set":23,"id":"66450ba9_0aedfc68","line":290,"in_reply_to":"b68cb82f_62091660","updated":"2024-11-07 17:30:09.000000000","message":"Ditto","commit_id":"99676fbcf86243085d95f3a3f410faa007ed2196"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"ff0590e604bd21b7f8620077aa4c76d440155241","unresolved":true,"context_lines":[{"line_number":359,"context_line":"COPY copy_cacerts.sh /usr/local/bin/kolla_copy_cacerts"},{"line_number":360,"context_line":"COPY install_projects.sh /usr/local/bin/kolla_install_projects"},{"line_number":361,"context_line":"COPY httpd_setup.sh /usr/local/bin/kolla_httpd_setup"},{"line_number":362,"context_line":"{% if patches_path %}"},{"line_number":363,"context_line":"COPY kolla_patch.sh /usr/local/bin/kolla_patch"},{"line_number":364,"context_line":"{% endif %}"},{"line_number":365,"context_line":"COPY sudoers /etc/sudoers"}],"source_content_type":"text/x-jinja2","patch_set":23,"id":"a46d7ce8_f27aecaa","line":362,"updated":"2024-11-07 17:26:18.000000000","message":"same goes for including the script, let\u0027s keep this simple and unconditional","commit_id":"99676fbcf86243085d95f3a3f410faa007ed2196"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"9e572cbe3ec17c76a13da8827b57eafdc5cce4e3","unresolved":false,"context_lines":[{"line_number":359,"context_line":"COPY copy_cacerts.sh /usr/local/bin/kolla_copy_cacerts"},{"line_number":360,"context_line":"COPY install_projects.sh /usr/local/bin/kolla_install_projects"},{"line_number":361,"context_line":"COPY httpd_setup.sh /usr/local/bin/kolla_httpd_setup"},{"line_number":362,"context_line":"{% if patches_path %}"},{"line_number":363,"context_line":"COPY kolla_patch.sh /usr/local/bin/kolla_patch"},{"line_number":364,"context_line":"{% endif %}"},{"line_number":365,"context_line":"COPY sudoers /etc/sudoers"}],"source_content_type":"text/x-jinja2","patch_set":23,"id":"d5dfb345_d983f97f","line":362,"in_reply_to":"24383b15_f1f93f8a","updated":"2024-11-14 09:07:24.000000000","message":"Removed everything by sed sed -i \u0027/{% if patches_path %}/d; /{% endif %}/d\u0027 filename\n\nI also think that tool can be present in image... as the script for copy cacert for example ...","commit_id":"99676fbcf86243085d95f3a3f410faa007ed2196"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"ac383acbd5a04a0fa9880de2273fb432585f1574","unresolved":true,"context_lines":[{"line_number":359,"context_line":"COPY copy_cacerts.sh /usr/local/bin/kolla_copy_cacerts"},{"line_number":360,"context_line":"COPY install_projects.sh /usr/local/bin/kolla_install_projects"},{"line_number":361,"context_line":"COPY httpd_setup.sh /usr/local/bin/kolla_httpd_setup"},{"line_number":362,"context_line":"{% if patches_path %}"},{"line_number":363,"context_line":"COPY kolla_patch.sh /usr/local/bin/kolla_patch"},{"line_number":364,"context_line":"{% endif %}"},{"line_number":365,"context_line":"COPY sudoers /etc/sudoers"}],"source_content_type":"text/x-jinja2","patch_set":23,"id":"cc5dfbbe_1cd4c664","line":362,"in_reply_to":"a46d7ce8_f27aecaa","updated":"2024-11-07 17:30:09.000000000","message":"Ditto","commit_id":"99676fbcf86243085d95f3a3f410faa007ed2196"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"2474de239e7bdd386e9a91cb8bcad9837b42de82","unresolved":true,"context_lines":[{"line_number":359,"context_line":"COPY copy_cacerts.sh /usr/local/bin/kolla_copy_cacerts"},{"line_number":360,"context_line":"COPY install_projects.sh /usr/local/bin/kolla_install_projects"},{"line_number":361,"context_line":"COPY httpd_setup.sh /usr/local/bin/kolla_httpd_setup"},{"line_number":362,"context_line":"{% if patches_path %}"},{"line_number":363,"context_line":"COPY kolla_patch.sh /usr/local/bin/kolla_patch"},{"line_number":364,"context_line":"{% endif %}"},{"line_number":365,"context_line":"COPY sudoers /etc/sudoers"}],"source_content_type":"text/x-jinja2","patch_set":23,"id":"24383b15_f1f93f8a","line":362,"in_reply_to":"cc5dfbbe_1cd4c664","updated":"2024-11-08 15:58:35.000000000","message":"not sure if it\u0027s worth fighting over this. it\u0027s only a marginal \"win\" either way:\nthe \"if\" doesn\u0027t really add any complexity, on the other hand, the script, even if unused also doesn\u0027t add much complexity/attack surface (I hope).\n\nSo I don\u0027t really have a strong opinion (If I would be the final decision maker I would keep the if, but only for the marginal security benefit).\n\nSo do as you wish, please :)","commit_id":"99676fbcf86243085d95f3a3f410faa007ed2196"}],"docker/base/kolla_patch.sh":[{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"e08485c1b2a65bb07561a34a63be46267e519c70","unresolved":true,"context_lines":[{"line_number":3,"context_line":"# This script works as debian quilt patch."},{"line_number":4,"context_line":"# So, patch files included in /patches/series"},{"line_number":5,"context_line":"# are applied and information what was applied"},{"line_number":6,"context_line":"# is stored in /etc/kolla/patched."},{"line_number":7,"context_line":"#"},{"line_number":8,"context_line":"# No more, no less :)"},{"line_number":9,"context_line":""}],"source_content_type":"text/x-sh","patch_set":1,"id":"663210f5_962dc6d4","line":6,"updated":"2024-06-10 14:59:12.000000000","message":"Why can\u0027t we simply use quilt?","commit_id":"268b04518659c5ea827ae6f4e6cb0e9a8ca0be37"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"a6d089521ac15c002414a03b6043779e0ba661ce","unresolved":true,"context_lines":[{"line_number":3,"context_line":"# This script works as debian quilt patch."},{"line_number":4,"context_line":"# So, patch files included in /patches/series"},{"line_number":5,"context_line":"# are applied and information what was applied"},{"line_number":6,"context_line":"# is stored in /etc/kolla/patched."},{"line_number":7,"context_line":"#"},{"line_number":8,"context_line":"# No more, no less :)"},{"line_number":9,"context_line":""}],"source_content_type":"text/x-sh","patch_set":1,"id":"8054306d_7cf740c6","line":6,"in_reply_to":"663210f5_962dc6d4","updated":"2024-06-10 16:35:38.000000000","message":"Well, because this script is doing little bit more magic as it also save the state what patch is applied and which not ...","commit_id":"268b04518659c5ea827ae6f4e6cb0e9a8ca0be37"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"cadb2bff9d596c61edbfd99137444c6c1922ecab","unresolved":false,"context_lines":[{"line_number":3,"context_line":"# This script works as debian quilt patch."},{"line_number":4,"context_line":"# So, patch files included in /patches/series"},{"line_number":5,"context_line":"# are applied and information what was applied"},{"line_number":6,"context_line":"# is stored in /etc/kolla/patched."},{"line_number":7,"context_line":"#"},{"line_number":8,"context_line":"# No more, no less :)"},{"line_number":9,"context_line":""}],"source_content_type":"text/x-sh","patch_set":1,"id":"b8b62885_d726d8fd","line":6,"in_reply_to":"8054306d_7cf740c6","updated":"2024-09-16 10:37:49.000000000","message":"It\u0027s also because of shared layers.","commit_id":"268b04518659c5ea827ae6f4e6cb0e9a8ca0be37"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"d1947a4a2f91ec8e1c6b78ff28dc048ba98960fc","unresolved":true,"context_lines":[{"line_number":1,"context_line":"#!/bin/bash"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# This script works as debian quilt patch."},{"line_number":4,"context_line":"# So, patch files included in /patches/series"},{"line_number":5,"context_line":"# are applied and information what was applied"},{"line_number":6,"context_line":"# is stored in /etc/kolla/patched."}],"source_content_type":"text/x-sh","patch_set":5,"id":"74fad430_466c70a3","line":3,"updated":"2024-06-11 07:18:05.000000000","message":"so why just not use quilt?","commit_id":"8034798ffd007135bd194f4955bea5518fca9808"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"a7b6646ead3f170cec65d87bdf1a3ff576499564","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/bash"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# This script works as debian quilt patch."},{"line_number":4,"context_line":"# So, patch files included in /patches/series"},{"line_number":5,"context_line":"# are applied and information what was applied"},{"line_number":6,"context_line":"# is stored in /etc/kolla/patched."}],"source_content_type":"text/x-sh","patch_set":5,"id":"dc83c419_a979b5c0","line":3,"in_reply_to":"3539f371_d54b64cf","updated":"2024-06-24 13:32:47.000000000","message":"Done","commit_id":"8034798ffd007135bd194f4955bea5518fca9808"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"a3f04fed96896fd812480085dba59651d4382cbe","unresolved":true,"context_lines":[{"line_number":1,"context_line":"#!/bin/bash"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# This script works as debian quilt patch."},{"line_number":4,"context_line":"# So, patch files included in /patches/series"},{"line_number":5,"context_line":"# are applied and information what was applied"},{"line_number":6,"context_line":"# is stored in /etc/kolla/patched."}],"source_content_type":"text/x-sh","patch_set":5,"id":"3539f371_d54b64cf","line":3,"in_reply_to":"74fad430_466c70a3","updated":"2024-06-12 12:03:09.000000000","message":"Replied in previous comment to the same question ... You stil can prepare your patches witch quilt ... \n\nBut script doing more magic ..","commit_id":"8034798ffd007135bd194f4955bea5518fca9808"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"37484afad985039273ad81220366e845efe7bb1c","unresolved":true,"context_lines":[{"line_number":19,"context_line":"    # So, let\u0027s add patches again to /patches/series"},{"line_number":20,"context_line":"    # and let\u0027s script to handle it"},{"line_number":21,"context_line":"    if [ -e \"/patches/series.applied\" ]; then"},{"line_number":22,"context_line":"        grep -v \u0027^#\u0027 /patches/series.applied \u003e /tmp/series.tmp"},{"line_number":23,"context_line":"        grep -v \u0027^#\u0027 /patches/series \u003e\u003e /tmp/series.tmp"},{"line_number":24,"context_line":"        rm -f /patches/series"},{"line_number":25,"context_line":"        mv /tmp/series.tmp /patches/series"}],"source_content_type":"text/x-sh","patch_set":5,"id":"2ad59fe5_e7804f51","line":22,"range":{"start_line":22,"start_character":47,"end_line":22,"end_character":62},"updated":"2024-06-11 07:58:08.000000000","message":"please don\u0027t use hardcoded path\u0027 in /tmp/ sub directories, you know it better :)\n\nIf we need a well known path that survives script re-execution use something under `/var/cache/kolla/`. if this is not necessary just use tmp_file\u003d$(mktemp).","commit_id":"8034798ffd007135bd194f4955bea5518fca9808"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"260fae44fb3c32320f48e1f15974df574da26c45","unresolved":false,"context_lines":[{"line_number":19,"context_line":"    # So, let\u0027s add patches again to /patches/series"},{"line_number":20,"context_line":"    # and let\u0027s script to handle it"},{"line_number":21,"context_line":"    if [ -e \"/patches/series.applied\" ]; then"},{"line_number":22,"context_line":"        grep -v \u0027^#\u0027 /patches/series.applied \u003e /tmp/series.tmp"},{"line_number":23,"context_line":"        grep -v \u0027^#\u0027 /patches/series \u003e\u003e /tmp/series.tmp"},{"line_number":24,"context_line":"        rm -f /patches/series"},{"line_number":25,"context_line":"        mv /tmp/series.tmp /patches/series"}],"source_content_type":"text/x-sh","patch_set":5,"id":"46501b81_f5ff75a6","line":22,"range":{"start_line":22,"start_character":47,"end_line":22,"end_character":62},"in_reply_to":"2ad59fe5_e7804f51","updated":"2024-09-16 17:36:52.000000000","message":"Hmm, I already had it changed and functional as you wanted - changed to /var/cache/kolla, but then I noticed that /tmp is used by several scripts similarly. If needed, we can then change it globally so that grep can be used  to easily list what need to be changed/migrated to use /var/cache/kolla. Mixing one with the other at this moment I don\u0027t consider important.\n\nPlease, reopen this comment if you think it\u0027s important for you at the moment.","commit_id":"8034798ffd007135bd194f4955bea5518fca9808"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"37484afad985039273ad81220366e845efe7bb1c","unresolved":true,"context_lines":[{"line_number":28,"context_line":"    for patchfile in $(cat /patches/series | grep -v \u0027^#\u0027); do"},{"line_number":29,"context_line":"        # If patch is not applied, try to apply it, otherwise"},{"line_number":30,"context_line":"        # inform user that patchfile is already applied"},{"line_number":31,"context_line":"        if ! grep -q \"$patchfile\" /etc/kolla/patched; then"},{"line_number":32,"context_line":"            echo \"[i] Applying /patches/${patchfile}\""},{"line_number":33,"context_line":"            patch -p0 --fuzz\u003d0 --ignore-whitespace \u003c /patches/${i}/${patchfile}"},{"line_number":34,"context_line":"            # If apply patch was successfull inform user,"}],"source_content_type":"text/x-sh","patch_set":5,"id":"c84dfa12_1c435442","line":31,"range":{"start_line":31,"start_character":0,"end_line":31,"end_character":2},"updated":"2024-06-11 07:58:08.000000000","message":"we could get away without a /etc/kolla/patched like this (complete example with dummy files):\n\n```\necho \"original content\" \u003e file1.txt\necho \"original content\" \u003e file2.txt\necho -e \"--- file1.txt\\n+++ file1.txt\\n@@ -1 +1 @@\\n-original content\\n+modified content\" \u003e diff.txt\npatch -p0 --fuzz\u003d0 --ignore-whitespace \u003c diff.txt\npatching file file1.txt\npatch --dry-run -p0 --fuzz\u003d0 --ignore-whitespace \u003c diff.txt | grep -q \"^Reversed\" \u0026\u0026 echo \"patch already applied\"\n```\n\nSo I would change the code like this:\n\n\n```suggestion\nif ! $(patch --dry-run -p0 --fuzz\u003d0 --ignore-whitespace \u003c /patches/${i}/${patchfile} | grep -q \"^Reversed\"); then\n```","commit_id":"8034798ffd007135bd194f4955bea5518fca9808"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"260fae44fb3c32320f48e1f15974df574da26c45","unresolved":false,"context_lines":[{"line_number":28,"context_line":"    for patchfile in $(cat /patches/series | grep -v \u0027^#\u0027); do"},{"line_number":29,"context_line":"        # If patch is not applied, try to apply it, otherwise"},{"line_number":30,"context_line":"        # inform user that patchfile is already applied"},{"line_number":31,"context_line":"        if ! grep -q \"$patchfile\" /etc/kolla/patched; then"},{"line_number":32,"context_line":"            echo \"[i] Applying /patches/${patchfile}\""},{"line_number":33,"context_line":"            patch -p0 --fuzz\u003d0 --ignore-whitespace \u003c /patches/${i}/${patchfile}"},{"line_number":34,"context_line":"            # If apply patch was successfull inform user,"}],"source_content_type":"text/x-sh","patch_set":5,"id":"90e898cc_a53b3852","line":31,"range":{"start_line":31,"start_character":0,"end_line":31,"end_character":2},"in_reply_to":"c84dfa12_1c435442","updated":"2024-09-16 17:36:52.000000000","message":"Why would I do that? On the contrary, I want the image to have the information burned in that a patch was applied. And it is done in such a way that in any image, even if you patched it in another layer, you can clearly see which patch was applied.\n\nProd example : \n\n```\nroot@controller0:~# docker exec -itu root cinder_volume bash \n(cinder-volume)[root@controller0 /]# cat /etc/kolla/patched \n[i] Applied /patches/928034-fix-queue-manager-in-containerized-environment.patch\n(cinder-volume)[root@controller0 /]# cat /patches/928034-fix-queue-manager-in-containerized-environment.patch  | head -n 15\n--- /var/lib/kolla/venv/lib/python3/site-packages/oslo_messaging/_drivers/amqpdriver.py\n+++ /var/lib/kolla/venv/lib/python3/site-packages/oslo_messaging/_drivers/amqpdriver.py\n@@ -66,6 +66,13 @@\n         # We use the process group to restart the counter on service restart\n         self.pg \u003d os.getpgrp()\n \n+        # We need to also handle containerized deployments, so let\u0027s\n+        # parse number of jiffies since start\n+        #\n+        # https://www.man7.org/linux/man-pages//man5/proc_pid_stat.5.html\n+        with open(f\u0027/proc/{self.pg}/stat\u0027, \u0027r\u0027) as f:\n+            self.t \u003d int(f.read().split()[21])\n+\n     def get(self):\n         lock_name \u003d \u0027oslo_read_shm_%s_%s\u0027 % (self.hostname, self.processname)\n\n```\n\nPlease reopen the comment if you are still not ok with it.","commit_id":"8034798ffd007135bd194f4955bea5518fca9808"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"37484afad985039273ad81220366e845efe7bb1c","unresolved":false,"context_lines":[{"line_number":44,"context_line":"            echo \"[i] /patches/${patchfile} already applied.\""},{"line_number":45,"context_line":"        fi"},{"line_number":46,"context_line":"    done"},{"line_number":47,"context_line":"    # Ignore files which are commented and move"},{"line_number":48,"context_line":"    # to /patches/series.applied as /patch/series"},{"line_number":49,"context_line":"    # can be potentionaly replaced by another files"},{"line_number":50,"context_line":"    # from different intermediate container"},{"line_number":51,"context_line":"    grep -v \u0027^#\u0027 /patches/series \u003e /patches/series.applied"},{"line_number":52,"context_line":"    rm -f /patches/series"},{"line_number":53,"context_line":"else"}],"source_content_type":"text/x-sh","patch_set":5,"id":"469b0f30_a0771dd3","line":50,"range":{"start_line":47,"start_character":0,"end_line":50,"end_character":43},"updated":"2024-06-11 07:58:08.000000000","message":"mhm, not sure how to deal with intermediate containers/if this is the best way.\nmarking as resolved, as I need to think about this for a bit.","commit_id":"8034798ffd007135bd194f4955bea5518fca9808"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"4c92ab2526d3e0ba6ed462a77ed1727d60d1d156","unresolved":true,"context_lines":[{"line_number":25,"context_line":"        mv /tmp/series.tmp /patches/series"},{"line_number":26,"context_line":"    fi"},{"line_number":27,"context_line":"    touch /etc/kolla/patched"},{"line_number":28,"context_line":"    for patchfile in $(cat /patches/series | grep -v \u0027^#\u0027); do"},{"line_number":29,"context_line":"        # If patch is not applied, try to apply it, otherwise"},{"line_number":30,"context_line":"        # inform user that patchfile is already applied"},{"line_number":31,"context_line":"        if ! grep -q \"$patchfile\" /etc/kolla/patched; then"}],"source_content_type":"text/x-sh","patch_set":20,"id":"1c5121b2_81af0977","line":28,"range":{"start_line":28,"start_character":23,"end_line":28,"end_character":57},"updated":"2024-11-04 11:04:53.000000000","message":"grep -v \u0027^#\u0027 /patches/series","commit_id":"9ee918d9095fa44a31e4834574529ca8520d4239"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"a81b6ea4ae204585bfdc6d297eb45d0fcba84d17","unresolved":false,"context_lines":[{"line_number":25,"context_line":"        mv /tmp/series.tmp /patches/series"},{"line_number":26,"context_line":"    fi"},{"line_number":27,"context_line":"    touch /etc/kolla/patched"},{"line_number":28,"context_line":"    for patchfile in $(cat /patches/series | grep -v \u0027^#\u0027); do"},{"line_number":29,"context_line":"        # If patch is not applied, try to apply it, otherwise"},{"line_number":30,"context_line":"        # inform user that patchfile is already applied"},{"line_number":31,"context_line":"        if ! grep -q \"$patchfile\" /etc/kolla/patched; then"}],"source_content_type":"text/x-sh","patch_set":20,"id":"9650205c_3fa9ed11","line":28,"range":{"start_line":28,"start_character":23,"end_line":28,"end_character":57},"in_reply_to":"1c5121b2_81af0977","updated":"2024-11-04 14:06:46.000000000","message":"Done","commit_id":"9ee918d9095fa44a31e4834574529ca8520d4239"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"4c92ab2526d3e0ba6ed462a77ed1727d60d1d156","unresolved":true,"context_lines":[{"line_number":51,"context_line":"    grep -v \u0027^#\u0027 /patches/series \u003e /patches/series.applied"},{"line_number":52,"context_line":"    rm -f /patches/series"},{"line_number":53,"context_line":"else"},{"line_number":54,"context_line":"    echo \"[i] No series found, not patching.\""},{"line_number":55,"context_line":"fi"}],"source_content_type":"text/x-sh","patch_set":20,"id":"fdf13089_f075d427","line":54,"range":{"start_line":54,"start_character":17,"end_line":54,"end_character":23},"updated":"2024-11-04 11:04:53.000000000","message":"\u0027series\u0027 file","commit_id":"9ee918d9095fa44a31e4834574529ca8520d4239"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"4c92ab2526d3e0ba6ed462a77ed1727d60d1d156","unresolved":true,"context_lines":[{"line_number":51,"context_line":"    grep -v \u0027^#\u0027 /patches/series \u003e /patches/series.applied"},{"line_number":52,"context_line":"    rm -f /patches/series"},{"line_number":53,"context_line":"else"},{"line_number":54,"context_line":"    echo \"[i] No series found, not patching.\""},{"line_number":55,"context_line":"fi"}],"source_content_type":"text/x-sh","patch_set":20,"id":"48bd6556_fd2ac0de","line":54,"range":{"start_line":54,"start_character":31,"end_line":54,"end_character":43},"updated":"2024-11-04 11:04:53.000000000","message":"nothing to patch","commit_id":"9ee918d9095fa44a31e4834574529ca8520d4239"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"a81b6ea4ae204585bfdc6d297eb45d0fcba84d17","unresolved":false,"context_lines":[{"line_number":51,"context_line":"    grep -v \u0027^#\u0027 /patches/series \u003e /patches/series.applied"},{"line_number":52,"context_line":"    rm -f /patches/series"},{"line_number":53,"context_line":"else"},{"line_number":54,"context_line":"    echo \"[i] No series found, not patching.\""},{"line_number":55,"context_line":"fi"}],"source_content_type":"text/x-sh","patch_set":20,"id":"8d5c63a4_2e07f820","line":54,"range":{"start_line":54,"start_character":31,"end_line":54,"end_character":43},"in_reply_to":"48bd6556_fd2ac0de","updated":"2024-11-04 14:06:46.000000000","message":"Done","commit_id":"9ee918d9095fa44a31e4834574529ca8520d4239"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"a81b6ea4ae204585bfdc6d297eb45d0fcba84d17","unresolved":false,"context_lines":[{"line_number":51,"context_line":"    grep -v \u0027^#\u0027 /patches/series \u003e /patches/series.applied"},{"line_number":52,"context_line":"    rm -f /patches/series"},{"line_number":53,"context_line":"else"},{"line_number":54,"context_line":"    echo \"[i] No series found, not patching.\""},{"line_number":55,"context_line":"fi"}],"source_content_type":"text/x-sh","patch_set":20,"id":"ea758c1a_5fb5e0a4","line":54,"range":{"start_line":54,"start_character":17,"end_line":54,"end_character":23},"in_reply_to":"fdf13089_f075d427","updated":"2024-11-04 14:06:46.000000000","message":"Done","commit_id":"9ee918d9095fa44a31e4834574529ca8520d4239"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"ff0590e604bd21b7f8620077aa4c76d440155241","unresolved":true,"context_lines":[{"line_number":46,"context_line":"    done"},{"line_number":47,"context_line":"    # Ignore files which are commented and move"},{"line_number":48,"context_line":"    # to /patches/series.applied as /patch/series"},{"line_number":49,"context_line":"    # can be potentionaly replaced by another files"},{"line_number":50,"context_line":"    # from different intermediate container"},{"line_number":51,"context_line":"    grep -v \u0027^#\u0027 /patches/series \u003e /patches/series.applied"},{"line_number":52,"context_line":"    rm -f /patches/series"}],"source_content_type":"text/x-sh","patch_set":23,"id":"0488ccb7_3424ec7f","line":49,"range":{"start_line":49,"start_character":13,"end_line":49,"end_character":25},"updated":"2024-11-07 17:26:18.000000000","message":"nit: potentially?","commit_id":"99676fbcf86243085d95f3a3f410faa007ed2196"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"ac383acbd5a04a0fa9880de2273fb432585f1574","unresolved":true,"context_lines":[{"line_number":46,"context_line":"    done"},{"line_number":47,"context_line":"    # Ignore files which are commented and move"},{"line_number":48,"context_line":"    # to /patches/series.applied as /patch/series"},{"line_number":49,"context_line":"    # can be potentionaly replaced by another files"},{"line_number":50,"context_line":"    # from different intermediate container"},{"line_number":51,"context_line":"    grep -v \u0027^#\u0027 /patches/series \u003e /patches/series.applied"},{"line_number":52,"context_line":"    rm -f /patches/series"}],"source_content_type":"text/x-sh","patch_set":23,"id":"31b8b496_1ee817ea","line":49,"range":{"start_line":49,"start_character":13,"end_line":49,"end_character":25},"in_reply_to":"0488ccb7_3424ec7f","updated":"2024-11-07 17:30:09.000000000","message":"will fix.","commit_id":"99676fbcf86243085d95f3a3f410faa007ed2196"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"0390709a76ec561fa2e3f90b58a2584ad3fb39f9","unresolved":false,"context_lines":[{"line_number":46,"context_line":"    done"},{"line_number":47,"context_line":"    # Ignore files which are commented and move"},{"line_number":48,"context_line":"    # to /patches/series.applied as /patch/series"},{"line_number":49,"context_line":"    # can be potentionaly replaced by another files"},{"line_number":50,"context_line":"    # from different intermediate container"},{"line_number":51,"context_line":"    grep -v \u0027^#\u0027 /patches/series \u003e /patches/series.applied"},{"line_number":52,"context_line":"    rm -f /patches/series"}],"source_content_type":"text/x-sh","patch_set":23,"id":"757ef0c3_a5542caf","line":49,"range":{"start_line":49,"start_character":13,"end_line":49,"end_character":25},"in_reply_to":"31b8b496_1ee817ea","updated":"2024-11-14 08:52:24.000000000","message":"Done","commit_id":"99676fbcf86243085d95f3a3f410faa007ed2196"}],"docker/bifrost/bifrost-base/Dockerfile.j2":[{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"4c92ab2526d3e0ba6ed462a77ed1727d60d1d156","unresolved":true,"context_lines":[{"line_number":62,"context_line":"    \u0026\u0026 chmod 440 /etc/sudoers.d/kolla_bifrost_sudoers \\"},{"line_number":63,"context_line":"    \u0026\u0026 chown -R bifrost:bifrost /bifrost"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"{% if patches_path %}"},{"line_number":67,"context_line":"{{ macros.kolla_patch_sources() }}"},{"line_number":68,"context_line":"{% endif %}"}],"source_content_type":"text/x-jinja2","patch_set":20,"id":"a07b0497_a5007e7c","line":65,"updated":"2024-11-04 11:04:53.000000000","message":"nit: an extra line not needed","commit_id":"9ee918d9095fa44a31e4834574529ca8520d4239"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"a81b6ea4ae204585bfdc6d297eb45d0fcba84d17","unresolved":false,"context_lines":[{"line_number":62,"context_line":"    \u0026\u0026 chmod 440 /etc/sudoers.d/kolla_bifrost_sudoers \\"},{"line_number":63,"context_line":"    \u0026\u0026 chown -R bifrost:bifrost /bifrost"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"{% if patches_path %}"},{"line_number":67,"context_line":"{{ macros.kolla_patch_sources() }}"},{"line_number":68,"context_line":"{% endif %}"}],"source_content_type":"text/x-jinja2","patch_set":20,"id":"1bc34808_ce21a7b1","line":65,"in_reply_to":"a07b0497_a5007e7c","updated":"2024-11-04 14:06:46.000000000","message":"Done","commit_id":"9ee918d9095fa44a31e4834574529ca8520d4239"}],"docker/bifrost/bifrost-deploy/Dockerfile.j2":[{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"4c92ab2526d3e0ba6ed462a77ed1727d60d1d156","unresolved":true,"context_lines":[{"line_number":29,"context_line":"ENTRYPOINT []"},{"line_number":30,"context_line":"CMD [ \"/sbin/init\" ]"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"{% if patches_path %}"},{"line_number":34,"context_line":"{{ macros.kolla_patch_sources() }}"},{"line_number":35,"context_line":"{% endif %}"}],"source_content_type":"text/x-jinja2","patch_set":20,"id":"f3d664e0_d7e9b7f4","line":32,"updated":"2024-11-04 11:04:53.000000000","message":"ditto","commit_id":"9ee918d9095fa44a31e4834574529ca8520d4239"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"a81b6ea4ae204585bfdc6d297eb45d0fcba84d17","unresolved":false,"context_lines":[{"line_number":29,"context_line":"ENTRYPOINT []"},{"line_number":30,"context_line":"CMD [ \"/sbin/init\" ]"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"{% if patches_path %}"},{"line_number":34,"context_line":"{{ macros.kolla_patch_sources() }}"},{"line_number":35,"context_line":"{% endif %}"}],"source_content_type":"text/x-jinja2","patch_set":20,"id":"84f1af38_e3b9ccfe","line":32,"in_reply_to":"f3d664e0_d7e9b7f4","updated":"2024-11-04 14:06:46.000000000","message":"Done","commit_id":"9ee918d9095fa44a31e4834574529ca8520d4239"}],"docker/ceilometer/ceilometer-ipmi/Dockerfile.j2":[{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"4c92ab2526d3e0ba6ed462a77ed1727d60d1d156","unresolved":true,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"{{ macros.install_packages(ceilometer_ipmi_packages | customizable(\"packages\")) }}"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"{% if patches_path %}"},{"line_number":24,"context_line":"{{ macros.kolla_patch_sources() }}"},{"line_number":25,"context_line":"{% endif %}"}],"source_content_type":"text/x-jinja2","patch_set":20,"id":"188dd732_d03d6769","line":22,"updated":"2024-11-04 11:04:53.000000000","message":"ditto","commit_id":"9ee918d9095fa44a31e4834574529ca8520d4239"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"a81b6ea4ae204585bfdc6d297eb45d0fcba84d17","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"{{ macros.install_packages(ceilometer_ipmi_packages | customizable(\"packages\")) }}"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"{% if patches_path %}"},{"line_number":24,"context_line":"{{ macros.kolla_patch_sources() }}"},{"line_number":25,"context_line":"{% endif %}"}],"source_content_type":"text/x-jinja2","patch_set":20,"id":"402b318c_d33421db","line":22,"in_reply_to":"188dd732_d03d6769","updated":"2024-11-04 14:06:46.000000000","message":"Done","commit_id":"9ee918d9095fa44a31e4834574529ca8520d4239"}],"docker/ceilometer/ceilometer-notification/Dockerfile.j2":[{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"4c92ab2526d3e0ba6ed462a77ed1727d60d1d156","unresolved":true,"context_lines":[{"line_number":10,"context_line":"COPY extend_start.sh /usr/local/bin/kolla_ceilometer_extend_start"},{"line_number":11,"context_line":"RUN chmod 644 /usr/local/bin/kolla_ceilometer_extend_start"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"{% if patches_path %}"},{"line_number":15,"context_line":"{{ macros.kolla_patch_sources() }}"},{"line_number":16,"context_line":"{% endif %}"}],"source_content_type":"text/x-jinja2","patch_set":20,"id":"44aaa0cd_a36ac3ee","line":13,"updated":"2024-11-04 11:04:53.000000000","message":"ditto","commit_id":"9ee918d9095fa44a31e4834574529ca8520d4239"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"a81b6ea4ae204585bfdc6d297eb45d0fcba84d17","unresolved":false,"context_lines":[{"line_number":10,"context_line":"COPY extend_start.sh /usr/local/bin/kolla_ceilometer_extend_start"},{"line_number":11,"context_line":"RUN chmod 644 /usr/local/bin/kolla_ceilometer_extend_start"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"{% if patches_path %}"},{"line_number":15,"context_line":"{{ macros.kolla_patch_sources() }}"},{"line_number":16,"context_line":"{% endif %}"}],"source_content_type":"text/x-jinja2","patch_set":20,"id":"24f20df5_d533767f","line":13,"in_reply_to":"44aaa0cd_a36ac3ee","updated":"2024-11-04 14:06:46.000000000","message":"Done","commit_id":"9ee918d9095fa44a31e4834574529ca8520d4239"}],"docker/cinder/cinder-api/Dockerfile.j2":[{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"4c92ab2526d3e0ba6ed462a77ed1727d60d1d156","unresolved":true,"context_lines":[{"line_number":19,"context_line":"    \u0026\u0026 chmod 644 /usr/local/bin/kolla_cinder_extend_start \\"},{"line_number":20,"context_line":"    \u0026\u0026 chmod 755 /var/www/cgi-bin/cinder/cinder-wsgi"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"{% if patches_path %}"},{"line_number":24,"context_line":"{{ macros.kolla_patch_sources() }}"},{"line_number":25,"context_line":"{% endif %}"}],"source_content_type":"text/x-jinja2","patch_set":20,"id":"745c2958_284cb06d","line":22,"updated":"2024-11-04 11:04:53.000000000","message":"ditto","commit_id":"9ee918d9095fa44a31e4834574529ca8520d4239"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"a81b6ea4ae204585bfdc6d297eb45d0fcba84d17","unresolved":false,"context_lines":[{"line_number":19,"context_line":"    \u0026\u0026 chmod 644 /usr/local/bin/kolla_cinder_extend_start \\"},{"line_number":20,"context_line":"    \u0026\u0026 chmod 755 /var/www/cgi-bin/cinder/cinder-wsgi"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"{% if patches_path %}"},{"line_number":24,"context_line":"{{ macros.kolla_patch_sources() }}"},{"line_number":25,"context_line":"{% endif %}"}],"source_content_type":"text/x-jinja2","patch_set":20,"id":"daf9d723_45cd8792","line":22,"in_reply_to":"745c2958_284cb06d","updated":"2024-11-04 14:06:46.000000000","message":"Done","commit_id":"9ee918d9095fa44a31e4834574529ca8520d4239"}],"docker/macros.j2":[{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"7a6a673cc954aa51de1ac1c7d91fb619f1f4a88e","unresolved":true,"context_lines":[{"line_number":87,"context_line":"{%- endmacro %}"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"{% macro kolla_patch_sources() -%}"},{"line_number":90,"context_line":"    COPY patches /patches"},{"line_number":91,"context_line":"    RUN kolla_patch"},{"line_number":92,"context_line":"{%- endmacro %}"}],"source_content_type":"text/x-jinja2","patch_set":21,"id":"d30bee8f_6e02efe0","line":90,"range":{"start_line":90,"start_character":9,"end_line":90,"end_character":16},"updated":"2024-11-04 16:32:59.000000000","message":"looks like we should use patches_path passed as a parameter here from each Dockerfile?","commit_id":"6069f610b6ee38cea09d4bd333370080c335e23f"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"68903fde14675c2710d90e02b17a2f83b3ee44f0","unresolved":false,"context_lines":[{"line_number":87,"context_line":"{%- endmacro %}"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"{% macro kolla_patch_sources() -%}"},{"line_number":90,"context_line":"    COPY patches /patches"},{"line_number":91,"context_line":"    RUN kolla_patch"},{"line_number":92,"context_line":"{%- endmacro %}"}],"source_content_type":"text/x-jinja2","patch_set":21,"id":"71451ac8_ec9a5dae","line":90,"range":{"start_line":90,"start_character":9,"end_line":90,"end_character":16},"in_reply_to":"d30bee8f_6e02efe0","updated":"2024-11-04 16:44:02.000000000","message":"patches_path is a config option for Kolla itself as a program. In Python, within the function that processes it, the contents of patches_path are copied to the image root directory where the Dockerfile is ...so COPY patches /patches work of course.\n\nSo no, it’s not the same thing.","commit_id":"6069f610b6ee38cea09d4bd333370080c335e23f"}],"docker/magnum/magnum-api/Dockerfile.j2":[{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"7a6a673cc954aa51de1ac1c7d91fb619f1f4a88e","unresolved":true,"context_lines":[{"line_number":11,"context_line":"RUN chmod 644 /usr/local/bin/kolla_magnum_extend_start"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"{% if patches_path %}"},{"line_number":14,"context_line":"{{ macros.kolla_patch_sources() }}"},{"line_number":15,"context_line":"{% endif %}"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"{% block magnum_api_footer %}{% endblock %}"}],"source_content_type":"text/x-jinja2","patch_set":21,"id":"b9b7c3dc_7ea3faf5","line":14,"range":{"start_line":14,"start_character":3,"end_line":14,"end_character":31},"updated":"2024-11-04 16:32:59.000000000","message":"for example like: macros.kolla_patch_sources(patches_path) ?","commit_id":"6069f610b6ee38cea09d4bd333370080c335e23f"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"68903fde14675c2710d90e02b17a2f83b3ee44f0","unresolved":false,"context_lines":[{"line_number":11,"context_line":"RUN chmod 644 /usr/local/bin/kolla_magnum_extend_start"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"{% if patches_path %}"},{"line_number":14,"context_line":"{{ macros.kolla_patch_sources() }}"},{"line_number":15,"context_line":"{% endif %}"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"{% block magnum_api_footer %}{% endblock %}"}],"source_content_type":"text/x-jinja2","patch_set":21,"id":"323743c1_f3e6447e","line":14,"range":{"start_line":14,"start_character":3,"end_line":14,"end_character":31},"in_reply_to":"b9b7c3dc_7ea3faf5","updated":"2024-11-04 16:44:02.000000000","message":"Ditto, check my above comment, patches_path !\u003d patches_path_in_docker_image_root_directory. And doesn\u0027t makes sense to make it configurable...","commit_id":"6069f610b6ee38cea09d4bd333370080c335e23f"}],"kolla/image/build.py":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"e227c42e88c4b3f36b22986b4456a57088f23f51","unresolved":true,"context_lines":[{"line_number":917,"context_line":"                f.write(content)"},{"line_number":918,"context_line":"                LOG.debug(\"Wrote it to %s\", content_path)"},{"line_number":919,"context_line":""},{"line_number":920,"context_line":"    def create_patch_files(self):"},{"line_number":921,"context_line":"        for path in self.docker_build_paths:"},{"line_number":922,"context_line":"            patch_files \u003d list()"},{"line_number":923,"context_line":"            image_name \u003d path.split(\"/\")[-1]"}],"source_content_type":"text/x-python","patch_set":1,"id":"cf343415_027e2bbd","line":920,"range":{"start_line":920,"start_character":4,"end_line":920,"end_character":33},"updated":"2022-02-16 09:21:21.000000000","message":"I think there\u0027s value in having a native way to inject arbitrary files into the build process. You might want to talk to berendt and frickler about what they are doing with patching in OSISM, and how it could be simplified.\n\nhttps://github.com/osism/container-images-kolla/tree/main/patches","commit_id":"268b04518659c5ea827ae6f4e6cb0e9a8ca0be37"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"4168476ee827f2db2343c4a09d4a2b00f189ced8","unresolved":true,"context_lines":[{"line_number":917,"context_line":"                f.write(content)"},{"line_number":918,"context_line":"                LOG.debug(\"Wrote it to %s\", content_path)"},{"line_number":919,"context_line":""},{"line_number":920,"context_line":"    def create_patch_files(self):"},{"line_number":921,"context_line":"        for path in self.docker_build_paths:"},{"line_number":922,"context_line":"            patch_files \u003d list()"},{"line_number":923,"context_line":"            image_name \u003d path.split(\"/\")[-1]"}],"source_content_type":"text/x-python","patch_set":1,"id":"85855c2c_a590b64c","line":920,"range":{"start_line":920,"start_character":4,"end_line":920,"end_character":33},"in_reply_to":"0ebb0fff_422f9783","updated":"2024-04-08 16:44:40.000000000","message":"I know what is the history,  kolla dropped binary builds (stopped to install debian patched versions of openstack libraries, similarily with redhat clones) ... Companies which wanted to handle this needs from time to time deliver working code to theis customers so they need to patch files inside the containers. \n\nKolla just said - NO we will not support this as this is responsibility for openstack libraries owners ... said in different way ... report a bug for specific library ... ping reviewers to merge the fix ...ping releases git owners to release new version of library and rebuild the image using kolla again :D ...this can take weeks or months (especially for non-stable releases ... because nobody cares ..)..\n\nSo they just said to themselves, okay ...we will handle in some our downstream pipeline and that\u0027s it :D ..\n\nThis approach is same alternative ...but builtin ..","commit_id":"268b04518659c5ea827ae6f4e6cb0e9a8ca0be37"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"a6d089521ac15c002414a03b6043779e0ba661ce","unresolved":false,"context_lines":[{"line_number":917,"context_line":"                f.write(content)"},{"line_number":918,"context_line":"                LOG.debug(\"Wrote it to %s\", content_path)"},{"line_number":919,"context_line":""},{"line_number":920,"context_line":"    def create_patch_files(self):"},{"line_number":921,"context_line":"        for path in self.docker_build_paths:"},{"line_number":922,"context_line":"            patch_files \u003d list()"},{"line_number":923,"context_line":"            image_name \u003d path.split(\"/\")[-1]"}],"source_content_type":"text/x-python","patch_set":1,"id":"3ef3a20d_07d9754b","line":920,"range":{"start_line":920,"start_character":4,"end_line":920,"end_character":33},"in_reply_to":"56559d98_658fb4aa","updated":"2024-06-10 16:35:38.000000000","message":"As per last comment ..marking as resolved.","commit_id":"268b04518659c5ea827ae6f4e6cb0e9a8ca0be37"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"b66bb5e4f56f162cb27ecff3a0e8f22fa41daa20","unresolved":true,"context_lines":[{"line_number":917,"context_line":"                f.write(content)"},{"line_number":918,"context_line":"                LOG.debug(\"Wrote it to %s\", content_path)"},{"line_number":919,"context_line":""},{"line_number":920,"context_line":"    def create_patch_files(self):"},{"line_number":921,"context_line":"        for path in self.docker_build_paths:"},{"line_number":922,"context_line":"            patch_files \u003d list()"},{"line_number":923,"context_line":"            image_name \u003d path.split(\"/\")[-1]"}],"source_content_type":"text/x-python","patch_set":1,"id":"56559d98_658fb4aa","line":920,"range":{"start_line":920,"start_character":4,"end_line":920,"end_character":33},"in_reply_to":"85855c2c_a590b64c","updated":"2024-04-08 16:51:39.000000000","message":"Sorry,\n\nI meant I don\u0027t know what the history is with our downstream implementation: I\u0027m pretty sure our downstream was not motivated by the dropping of binary images, afaik we never used those. but we always had a need to do patches (sadly) because upstream didn\u0027t accept all our patches/improvements, so we needed a mechanism to patch kolla built images. This was before I joined the company though, so I can\u0027t speak to that.\n\nAs said during PTG I think a way to patch kolla images \"natively\" or supported upstream could be nice. I agree some upstreams are quite unresponsive when it comes to the actual releases and we need to work around that (frickler can\u0027t be release manager for every openstack project I guess ;)).\n\nThis patch seems rather small. I don\u0027t like adding more bash, but as long as it stays below a hundred lines I think it\u0027s fine and mostly self contained, no point in rewriting it I guess.","commit_id":"268b04518659c5ea827ae6f4e6cb0e9a8ca0be37"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"31747eb9b449d714c4e5824a695386916b6ac557","unresolved":true,"context_lines":[{"line_number":917,"context_line":"                f.write(content)"},{"line_number":918,"context_line":"                LOG.debug(\"Wrote it to %s\", content_path)"},{"line_number":919,"context_line":""},{"line_number":920,"context_line":"    def create_patch_files(self):"},{"line_number":921,"context_line":"        for path in self.docker_build_paths:"},{"line_number":922,"context_line":"            patch_files \u003d list()"},{"line_number":923,"context_line":"            image_name \u003d path.split(\"/\")[-1]"}],"source_content_type":"text/x-python","patch_set":1,"id":"e960867f_5229fe00","line":920,"range":{"start_line":920,"start_character":4,"end_line":920,"end_character":33},"in_reply_to":"cf343415_027e2bbd","updated":"2022-02-16 09:39:51.000000000","message":"Before I started I\u0027ve checked osism kolla, and it looks they are doing it *before* kolla build by bash script. It\u0027s little bit visible from first grep on my localhost in git workdir below : \n\n./scripts/001-prepare.sh:# Apply patches\n./scripts/001-prepare.sh:for patch in $(find patches/kolla-build/$OPENSTACK_VERSION -type f -name \u0027*.patch\u0027); do\n./scripts/001-prepare.sh:# Apply patches\n./scripts/001-prepare.sh:find patches/$OPENSTACK_VERSION -mindepth 1 -type d\n./scripts/001-prepare.sh:for project in $(find patches/$OPENSTACK_VERSION -mindepth 1 -type d | grep kolla | grep -v kolla-build); do\n./scripts/001-prepare.sh:    for patch in $(find patches/$OPENSTACK_VERSION/$project -type f -name \u0027*.patch\u0027 | sort); do\n./scripts/003-patch.sh:    if [[ -e ../patches/$OPENSTACK_VERSION/${directory%-*} ]]; then\n./scripts/003-patch.sh:        for patch in $(find ../../patches/$OPENSTACK_VERSION/${directory%-*} -type f -name \u0027*.patch\u0027); do\n./src/generate-kolla-build-config.py:patched_projects \u003d os.listdir(\"patches/%s/\" %\n\nmichalarbet@pixla:/tmp/container-images-kolla$ grep -Ri 003-patch . \n./.github/workflows/build-container-images.yml:          bash scripts/003-patch.sh\n./.github/workflows/release-container-images.yml:          bash scripts/003-patch.sh\n\nmichalarbet@pixla:/tmp/container-images-kolla$ grep -Ri 001-prepare . \n./.github/workflows/build-container-images.yml:          bash scripts/001-prepare.sh\n./.github/workflows/release-container-images.yml:          bash scripts/001-prepare.sh\n\nmichalarbet@pixla:/tmp/container-images-kolla$ cat ./.github/workflows/build-container-images.yml\n .\n .\n .\n .\n  build-container-images:\n    runs-on: ubuntu-latest\n    strategy:\n      fail-fast: false\n      matrix:\n        openstack_version:\n          - victoria\n          - wallaby\n          - xena\n          - latest\n    steps:\n      - uses: actions/checkout@v2\n        with:\n          submodules: true\n      - uses: docker/setup-qemu-action@v1\n      - uses: docker/setup-buildx-action@v1\n      - uses: docker/login-action@v1\n        with:\n          registry: ${{ secrets.DOCKER_REGISTRY }}\n          username: ${{ secrets.DOCKER_USERNAME }}\n          password: ${{ secrets.DOCKER_PASSWORD }}\n        if: github.ref \u003d\u003d \u0027refs/heads/main\u0027\n      - uses: actions/setup-python@v2\n        with:\n          python-version: \u00273.x\u0027\n      - run: |\n          pip3 install -r requirements.txt\n          bash scripts/001-prepare.sh\n          bash scripts/002-generate.sh\n          bash scripts/003-patch.sh\n          bash scripts/004-build.sh\n\n\n\nSo, it looks like they are doing it before kolla in workflow (but maybe I am wrong and I didn\u0027t dive deeper). This is built-in kolla solution.","commit_id":"268b04518659c5ea827ae6f4e6cb0e9a8ca0be37"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"6559956c9955eb55fc76186716082ca68c34d5e3","unresolved":true,"context_lines":[{"line_number":917,"context_line":"                f.write(content)"},{"line_number":918,"context_line":"                LOG.debug(\"Wrote it to %s\", content_path)"},{"line_number":919,"context_line":""},{"line_number":920,"context_line":"    def create_patch_files(self):"},{"line_number":921,"context_line":"        for path in self.docker_build_paths:"},{"line_number":922,"context_line":"            patch_files \u003d list()"},{"line_number":923,"context_line":"            image_name \u003d path.split(\"/\")[-1]"}],"source_content_type":"text/x-python","patch_set":1,"id":"0ebb0fff_422f9783","line":920,"range":{"start_line":920,"start_character":4,"end_line":920,"end_character":33},"in_reply_to":"e960867f_5229fe00","updated":"2024-04-08 15:59:16.000000000","message":"yes, this is correct, we patch the sources before we build the image with kolla, see:\n\nhttps://github.com/osism/container-images-kolla/tree/main/scripts\n\nfor the actual scripts and:\n\nhttps://github.com/osism/container-images-kolla/blob/main/playbooks/build.yml#L32\n\nfor the call site (ansible playbook just calling these scripts in the alphabetical order).\n\nthe patches are in https://github.com/osism/container-images-kolla/tree/main/patches\n\nand we try to keep this list as small as possible, but not all stuff is wanted by all upstreams. Still, the list of patches is rather small.\n\nI\u0027m not sure what the history there is, so why we first patch and then do kolla-build. I guess it was easier to first clone repos, apply patches and then utilize plain kolla-build without having to patch kolla-build itself too.","commit_id":"268b04518659c5ea827ae6f4e6cb0e9a8ca0be37"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"e08485c1b2a65bb07561a34a63be46267e519c70","unresolved":true,"context_lines":[{"line_number":921,"context_line":"        for path in self.docker_build_paths:"},{"line_number":922,"context_line":"            patch_files \u003d list()"},{"line_number":923,"context_line":"            image_name \u003d path.split(\"/\")[-1]"},{"line_number":924,"context_line":"            src_patch_folder \u003d \"{}/{}\".format(\"./patches\", image_name)"},{"line_number":925,"context_line":"            dest_patch_folder \u003d \"{}/{}\".format(path, \"patches\")"},{"line_number":926,"context_line":"            src_series_path \u003d src_patch_folder + \"/series\""},{"line_number":927,"context_line":"            dest_series_path \u003d \"{}/{}/{}\".format(path, \"patches\", \"series\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"f6259be8_c12c7807","line":924,"updated":"2024-06-10 14:59:12.000000000","message":"instead of hardcoding \"./patches\"by default, make this a config option and skip this whole function if it is not defined?\n\nalso please use os.path.join() instead of .format","commit_id":"268b04518659c5ea827ae6f4e6cb0e9a8ca0be37"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"cadb2bff9d596c61edbfd99137444c6c1922ecab","unresolved":false,"context_lines":[{"line_number":921,"context_line":"        for path in self.docker_build_paths:"},{"line_number":922,"context_line":"            patch_files \u003d list()"},{"line_number":923,"context_line":"            image_name \u003d path.split(\"/\")[-1]"},{"line_number":924,"context_line":"            src_patch_folder \u003d \"{}/{}\".format(\"./patches\", image_name)"},{"line_number":925,"context_line":"            dest_patch_folder \u003d \"{}/{}\".format(path, \"patches\")"},{"line_number":926,"context_line":"            src_series_path \u003d src_patch_folder + \"/series\""},{"line_number":927,"context_line":"            dest_series_path \u003d \"{}/{}/{}\".format(path, \"patches\", \"series\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"5b2eb8cd_b50e7c05","line":924,"in_reply_to":"6e42a684_ab7885de","updated":"2024-09-16 10:37:49.000000000","message":"Done","commit_id":"268b04518659c5ea827ae6f4e6cb0e9a8ca0be37"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"a6d089521ac15c002414a03b6043779e0ba661ce","unresolved":true,"context_lines":[{"line_number":921,"context_line":"        for path in self.docker_build_paths:"},{"line_number":922,"context_line":"            patch_files \u003d list()"},{"line_number":923,"context_line":"            image_name \u003d path.split(\"/\")[-1]"},{"line_number":924,"context_line":"            src_patch_folder \u003d \"{}/{}\".format(\"./patches\", image_name)"},{"line_number":925,"context_line":"            dest_patch_folder \u003d \"{}/{}\".format(path, \"patches\")"},{"line_number":926,"context_line":"            src_series_path \u003d src_patch_folder + \"/series\""},{"line_number":927,"context_line":"            dest_series_path \u003d \"{}/{}/{}\".format(path, \"patches\", \"series\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"6e42a684_ab7885de","line":924,"in_reply_to":"f6259be8_c12c7807","updated":"2024-06-10 16:35:38.000000000","message":"Ack","commit_id":"268b04518659c5ea827ae6f4e6cb0e9a8ca0be37"}],"patches/.dockerignore":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"e227c42e88c4b3f36b22986b4456a57088f23f51","unresolved":true,"context_lines":[{"line_number":1,"context_line":"# Ignore everything"},{"line_number":2,"context_line":"**"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"# Allow files and directories"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"f41f5986_c7d29b0f","line":1,"updated":"2022-02-16 09:21:21.000000000","message":"I would argue against any solution that requires users to modify the kolla source repo. Code and config should be separate.","commit_id":"268b04518659c5ea827ae6f4e6cb0e9a8ca0be37"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"dbf526856d3b064bfefcc69f852205650fb2a5a4","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Ignore everything"},{"line_number":2,"context_line":"**"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"# Allow files and directories"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"d829b8fd_b2be1ec9","line":1,"in_reply_to":"b1ed6757_c4ce3590","updated":"2024-09-16 15:10:01.000000000","message":"@mark@stackhpc.com Reworked, done.","commit_id":"268b04518659c5ea827ae6f4e6cb0e9a8ca0be37"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"a6d089521ac15c002414a03b6043779e0ba661ce","unresolved":true,"context_lines":[{"line_number":1,"context_line":"# Ignore everything"},{"line_number":2,"context_line":"**"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"# Allow files and directories"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"b1ed6757_c4ce3590","line":1,"in_reply_to":"eea965b1_08e7e27b","updated":"2024-06-10 16:35:38.000000000","message":"Ack, i  need to rework little bit to be able place patch files to some other place..","commit_id":"268b04518659c5ea827ae6f4e6cb0e9a8ca0be37"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"31747eb9b449d714c4e5824a695386916b6ac557","unresolved":true,"context_lines":[{"line_number":1,"context_line":"# Ignore everything"},{"line_number":2,"context_line":"**"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"# Allow files and directories"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"eea965b1_08e7e27b","line":1,"in_reply_to":"f41f5986_c7d29b0f","updated":"2022-02-16 09:39:51.000000000","message":"Hmm, I think this is not big problem to move patches folder outside and make it configurable, I\u0027ve just working in current working directory of git and placed patches folder as I see in osism. Idea of this review was to share overall mechanism.","commit_id":"268b04518659c5ea827ae6f4e6cb0e9a8ca0be37"}]}
