)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"7ba6e30e290fd599698c4bede68d80d21d252d1c","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix symlinking of openstack-base source"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Original symlinking works fine with default openstack-base."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"However, when user supplies git type source of it, we cannot"},{"line_number":12,"context_line":"guarantee that the source direcotry name contains ``requirements``."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"20d904fa_3013f375","line":9,"updated":"2024-07-25 09:14:40.000000000","message":"s/default openstack-base/a tarball source for the requirements repo/","commit_id":"5ca04eda60a4a2329d58ed6b2356a0eb1ec649cb"},{"author":{"_account_id":36765,"name":"Seunghun Lee","display_name":"Seunghun Lee","email":"seunghun@stackhpc.com","username":"seunghun1ee","status":"Cloud Engineer at StackHPC"},"change_message_id":"282de741aca91be38e10a737208b9d3a78b3ec49","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix symlinking of openstack-base source"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Original symlinking works fine with default openstack-base."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"However, when user supplies git type source of it, we cannot"},{"line_number":12,"context_line":"guarantee that the source direcotry name contains ``requirements``."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"8f2c9cfb_72b7162d","line":9,"in_reply_to":"20d904fa_3013f375","updated":"2024-07-25 09:42:17.000000000","message":"Acknowledged","commit_id":"5ca04eda60a4a2329d58ed6b2356a0eb1ec649cb"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"7ba6e30e290fd599698c4bede68d80d21d252d1c","unresolved":true,"context_lines":[{"line_number":14,"context_line":"This patch fixes it by moving plugins directory outside of"},{"line_number":15,"context_line":"openstack-base directory, which ultimately allow us to use simpler"},{"line_number":16,"context_line":"symlinking as openstack-base-archive would be the only directory"},{"line_number":17,"context_line":"inside."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Change-Id: I5a9162a30b23cfabb64dabe5c12c226fa8627abd"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"c0cc6c34_08eaff43","line":17,"updated":"2024-07-25 09:14:40.000000000","message":"You could say that this follows the pattern used in other files.","commit_id":"5ca04eda60a4a2329d58ed6b2356a0eb1ec649cb"},{"author":{"_account_id":36765,"name":"Seunghun Lee","display_name":"Seunghun Lee","email":"seunghun@stackhpc.com","username":"seunghun1ee","status":"Cloud Engineer at StackHPC"},"change_message_id":"282de741aca91be38e10a737208b9d3a78b3ec49","unresolved":false,"context_lines":[{"line_number":14,"context_line":"This patch fixes it by moving plugins directory outside of"},{"line_number":15,"context_line":"openstack-base directory, which ultimately allow us to use simpler"},{"line_number":16,"context_line":"symlinking as openstack-base-archive would be the only directory"},{"line_number":17,"context_line":"inside."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Change-Id: I5a9162a30b23cfabb64dabe5c12c226fa8627abd"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"31f59370_82230b72","line":17,"in_reply_to":"c0cc6c34_08eaff43","updated":"2024-07-25 09:42:17.000000000","message":"Acknowledged","commit_id":"5ca04eda60a4a2329d58ed6b2356a0eb1ec649cb"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"7ba6e30e290fd599698c4bede68d80d21d252d1c","unresolved":true,"context_lines":[{"line_number":15,"context_line":"openstack-base directory, which ultimately allow us to use simpler"},{"line_number":16,"context_line":"symlinking as openstack-base-archive would be the only directory"},{"line_number":17,"context_line":"inside."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Change-Id: I5a9162a30b23cfabb64dabe5c12c226fa8627abd"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"a5ac62bd_ed7547d7","line":18,"updated":"2024-07-25 09:14:40.000000000","message":"Please raise a bug on launchpad and add the following here:\n\n#Closes-Bug: #\u003cbug ID\u003e","commit_id":"5ca04eda60a4a2329d58ed6b2356a0eb1ec649cb"},{"author":{"_account_id":36765,"name":"Seunghun Lee","display_name":"Seunghun Lee","email":"seunghun@stackhpc.com","username":"seunghun1ee","status":"Cloud Engineer at StackHPC"},"change_message_id":"282de741aca91be38e10a737208b9d3a78b3ec49","unresolved":false,"context_lines":[{"line_number":15,"context_line":"openstack-base directory, which ultimately allow us to use simpler"},{"line_number":16,"context_line":"symlinking as openstack-base-archive would be the only directory"},{"line_number":17,"context_line":"inside."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Change-Id: I5a9162a30b23cfabb64dabe5c12c226fa8627abd"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"2c987ea8_a0291a2b","line":18,"in_reply_to":"a5ac62bd_ed7547d7","updated":"2024-07-25 09:42:17.000000000","message":"Acknowledged","commit_id":"5ca04eda60a4a2329d58ed6b2356a0eb1ec649cb"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"5160f1bbba4c1a805063749ce05db3e19359bcdf","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"65f1c9ae_072b4a46","updated":"2024-07-23 19:18:05.000000000","message":"I\u0027d like to understand why should we support openstack-base that doesn\u0027t have requirements dir first.","commit_id":"c766d135278fdc0c1f69ca0cc414245ad2f6169d"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"9532414b722547b949e5807368b5eebf20f573b2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"f903fa99_9f4df6b8","in_reply_to":"58517d67_fbbcbf2f","updated":"2024-08-28 08:31:26.000000000","message":"ACK","commit_id":"c766d135278fdc0c1f69ca0cc414245ad2f6169d"},{"author":{"_account_id":36765,"name":"Seunghun Lee","display_name":"Seunghun Lee","email":"seunghun@stackhpc.com","username":"seunghun1ee","status":"Cloud Engineer at StackHPC"},"change_message_id":"e23a7d04ede3a04f6280cd8df7ccf39d021dede3","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"58517d67_fbbcbf2f","in_reply_to":"65f1c9ae_072b4a46","updated":"2024-07-24 14:53:45.000000000","message":"When the openstack-base is sourced from git type source, the name of the archive directory can be different to what is expected from other source types (url, local).\nOf course we don\u0027t want to support openstack-base without upper-constraints.txt but current issue is the symlink can fail with git source naming scheme.","commit_id":"c766d135278fdc0c1f69ca0cc414245ad2f6169d"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"7ba6e30e290fd599698c4bede68d80d21d252d1c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"e87316fa_e5c15b57","updated":"2024-07-25 09:14:40.000000000","message":"Could you add a release note?","commit_id":"5ca04eda60a4a2329d58ed6b2356a0eb1ec649cb"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"68a0260d588427012e72192b705ef55279b7d02a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"bef9e04e_f2c1a75b","updated":"2024-08-05 14:27:20.000000000","message":"Needs a reno","commit_id":"91d7b812ea9d7ef4a077210836e6542ca1e5173f"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"9b71cb3efedfd37d585e1682bc2b3ab2dd196429","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"d3859663_05d56add","updated":"2024-08-23 15:02:47.000000000","message":"I think https://review.opendev.org/c/openstack/kolla/+/927038 is a proper fix - which will need to be expanded for non-keystone containers, but I wanted to test it there first. see my other comment and the commit message for details.","commit_id":"d264db5965a8294cf6413f8d456d0aabd02263da"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"64d6c41d25a37365a0413c9603dcd6c62f8d2f60","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"6313a9af_467965b8","updated":"2024-08-28 15:29:15.000000000","message":"still need to check the actual fix, but -1 already for the seemingly unrelated change","commit_id":"65f6597358b75a005d76743a8e61033b3f3f651f"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"6868c0121a5772bfb8a825802a9f5b43b5ba80c4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"ff43f4e8_087bc6d9","updated":"2024-08-30 10:26:19.000000000","message":"looks like really fix for issue added by pycadf change","commit_id":"978a2864f923fa2e65afa13808571ea7738729e6"}],"docker/keystone/keystone/Dockerfile.j2":[{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"64d6c41d25a37365a0413c9603dcd6c62f8d2f60","unresolved":true,"context_lines":[{"line_number":14,"context_line":"    ] %}"},{"line_number":15,"context_line":"{% elif base_package_type \u003d\u003d \u0027deb\u0027 %}"},{"line_number":16,"context_line":"    {% set keystone_packages \u003d ["},{"line_number":17,"context_line":"        \u0027libkrb5-dev\u0027,"},{"line_number":18,"context_line":"        \u0027libapache2-mod-auth-gssapi\u0027,"},{"line_number":19,"context_line":"    ] %}"},{"line_number":20,"context_line":"{% endif %}"}],"source_content_type":"text/x-jinja2","patch_set":11,"id":"4bd21ea9_69d32c45","line":17,"updated":"2024-08-28 15:29:15.000000000","message":"The changes in this file look completely unrelated and are not mentioned in the commit message. please make this a dedicated patch if it is really needed or add an explanation in the commit message as to why this is needed","commit_id":"65f6597358b75a005d76743a8e61033b3f3f651f"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"6040bcc53d5441a07430d158bf5f44b4688c1bf8","unresolved":false,"context_lines":[{"line_number":14,"context_line":"    ] %}"},{"line_number":15,"context_line":"{% elif base_package_type \u003d\u003d \u0027deb\u0027 %}"},{"line_number":16,"context_line":"    {% set keystone_packages \u003d ["},{"line_number":17,"context_line":"        \u0027libkrb5-dev\u0027,"},{"line_number":18,"context_line":"        \u0027libapache2-mod-auth-gssapi\u0027,"},{"line_number":19,"context_line":"    ] %}"},{"line_number":20,"context_line":"{% endif %}"}],"source_content_type":"text/x-jinja2","patch_set":11,"id":"b5bf3e9b_d76f0c2c","line":17,"in_reply_to":"483011c6_2a4510f6","updated":"2024-08-28 16:00:18.000000000","message":"Found it:\n{% set keystone_plugins_pip_packages \u003d [\n    \u0027/plugins/*\u0027,\n    \u0027requests-kerberos\u0027,\n] %}\n\nCOPY keystone_bootstrap.sh /usr/local/bin/kolla_keystone_bootstrap\nCOPY extend_start.sh /usr/local/bin/kolla_extend_start\n\nRUN chmod 644 /usr/local/bin/kolla_extend_start \\\n    \u0026\u0026 chmod 755 /usr/local/bin/kolla_keystone_bootstrap \\\n    \u0026\u0026 if [ \"$(ls /plugins)\" ]; then \\\n        {{ macros.install_pip(keystone_plugins_pip_packages) }}; \\\n    fi\n\nThat basically means we only installed requests-kerberos when /plugins/ was not empty (and since there are no plugins in sources.py - it was always empty).","commit_id":"65f6597358b75a005d76743a8e61033b3f3f651f"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"3e5dae7988a3486b735d1b6244508c52a5b4138b","unresolved":true,"context_lines":[{"line_number":14,"context_line":"    ] %}"},{"line_number":15,"context_line":"{% elif base_package_type \u003d\u003d \u0027deb\u0027 %}"},{"line_number":16,"context_line":"    {% set keystone_packages \u003d ["},{"line_number":17,"context_line":"        \u0027libkrb5-dev\u0027,"},{"line_number":18,"context_line":"        \u0027libapache2-mod-auth-gssapi\u0027,"},{"line_number":19,"context_line":"    ] %}"},{"line_number":20,"context_line":"{% endif %}"}],"source_content_type":"text/x-jinja2","patch_set":11,"id":"91659fcf_29d9d47e","line":17,"in_reply_to":"4bd21ea9_69d32c45","updated":"2024-08-28 15:39:43.000000000","message":"Ok, reading all the previous comments, this was mentioned, but I don\u0027t understand why this is needed now but wasn\u0027t needed before? So please still explain in the commit message.\n\nAlso `\"libk\" \u003e \"liba\"`, please keep the list ordered.","commit_id":"65f6597358b75a005d76743a8e61033b3f3f651f"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"f39c9c558fde86b802d42d1ffc9ef899647db14f","unresolved":true,"context_lines":[{"line_number":14,"context_line":"    ] %}"},{"line_number":15,"context_line":"{% elif base_package_type \u003d\u003d \u0027deb\u0027 %}"},{"line_number":16,"context_line":"    {% set keystone_packages \u003d ["},{"line_number":17,"context_line":"        \u0027libkrb5-dev\u0027,"},{"line_number":18,"context_line":"        \u0027libapache2-mod-auth-gssapi\u0027,"},{"line_number":19,"context_line":"    ] %}"},{"line_number":20,"context_line":"{% endif %}"}],"source_content_type":"text/x-jinja2","patch_set":11,"id":"483011c6_2a4510f6","line":17,"in_reply_to":"91659fcf_29d9d47e","updated":"2024-08-28 15:55:54.000000000","message":"I\u0027m still amazed how is it possible that it builds now, since requests-kerberos requires those packages and fails to install without them - but when we make changes in openstack-base - then it fails in keystone container.","commit_id":"65f6597358b75a005d76743a8e61033b3f3f651f"}],"docker/openstack-base/Dockerfile.j2":[{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"1c9ea377d48ac0a7268adb2e0e1c3e483254d25f","unresolved":true,"context_lines":[{"line_number":182,"context_line":"%}"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"ADD openstack-base-archive /openstack-base-source"},{"line_number":185,"context_line":"ADD plugins-archive /openstack-base-source"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"RUN ln -s openstack-base-source/plugins/* /pycadf \\"},{"line_number":188,"context_line":"    \u0026\u0026 mkdir -p /etc/pycadf \\"}],"source_content_type":"text/x-jinja2","patch_set":1,"id":"bbb891f5_a460b4ab","line":185,"updated":"2024-07-23 19:19:08.000000000","message":"Wouldn\u0027t it be better to move that outside /openstack-base-source?","commit_id":"c766d135278fdc0c1f69ca0cc414245ad2f6169d"},{"author":{"_account_id":36765,"name":"Seunghun Lee","display_name":"Seunghun Lee","email":"seunghun@stackhpc.com","username":"seunghun1ee","status":"Cloud Engineer at StackHPC"},"change_message_id":"94892f54cff6aefe9535056d48eaa44b6aaba0c1","unresolved":true,"context_lines":[{"line_number":182,"context_line":"%}"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"ADD openstack-base-archive /openstack-base-source"},{"line_number":185,"context_line":"ADD plugins-archive /openstack-base-source"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"RUN ln -s openstack-base-source/plugins/* /pycadf \\"},{"line_number":188,"context_line":"    \u0026\u0026 mkdir -p /etc/pycadf \\"}],"source_content_type":"text/x-jinja2","patch_set":1,"id":"aa62ff82_a30afa07","line":185,"in_reply_to":"0a65a762_633056be","updated":"2024-07-25 15:41:45.000000000","message":"With the plugins directory is moved out to /, keystone build process is affected.\nKeystone build process looks for additional plugins to install from the same directory and now keystone build process tries to install pycadf but that is not expected and the build fails. I think we need to revert to patch set 1","commit_id":"c766d135278fdc0c1f69ca0cc414245ad2f6169d"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"85a4cf09acfbcc934bf47febe9c3714716286560","unresolved":false,"context_lines":[{"line_number":182,"context_line":"%}"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"ADD openstack-base-archive /openstack-base-source"},{"line_number":185,"context_line":"ADD plugins-archive /openstack-base-source"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"RUN ln -s openstack-base-source/plugins/* /pycadf \\"},{"line_number":188,"context_line":"    \u0026\u0026 mkdir -p /etc/pycadf \\"}],"source_content_type":"text/x-jinja2","patch_set":1,"id":"086bcb1c_325ddcbd","line":185,"in_reply_to":"3883f999_c9180274","updated":"2024-08-28 08:47:56.000000000","message":"Acknowledged","commit_id":"c766d135278fdc0c1f69ca0cc414245ad2f6169d"},{"author":{"_account_id":36765,"name":"Seunghun Lee","display_name":"Seunghun Lee","email":"seunghun@stackhpc.com","username":"seunghun1ee","status":"Cloud Engineer at StackHPC"},"change_message_id":"b87475f84c5585f10a371f6209ae8427d73cdd26","unresolved":true,"context_lines":[{"line_number":182,"context_line":"%}"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"ADD openstack-base-archive /openstack-base-source"},{"line_number":185,"context_line":"ADD plugins-archive /openstack-base-source"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"RUN ln -s openstack-base-source/plugins/* /pycadf \\"},{"line_number":188,"context_line":"    \u0026\u0026 mkdir -p /etc/pycadf \\"}],"source_content_type":"text/x-jinja2","patch_set":1,"id":"cbb5bca2_0f8c3bad","line":185,"in_reply_to":"4bd403cc_12bbe8c4","updated":"2024-08-21 02:02:05.000000000","message":"Sorry for the late reply, I was on holiday. \u0027some environments\u0027 are Rocky Linux 9.4 and Debian 12. I agree that we need better solution like new macro for plugin installation but I have a couple of questions just to make sure.\n\nDo we want to keep the source of ``pycadf`` after installation?\n\n\u003e if \"on some environments\" (which ones exactly?) krb5-config is missing, the correct action is to install it there.\n\nAfter seeing this from Sven, I got confused.\n\nDo we want to install ``requests-kerberos`` by default on keystone? The condition for installing ``requests-kerberos`` is when /plugins is not empty and I thought we expect it to be empty on keystone build.","commit_id":"c766d135278fdc0c1f69ca0cc414245ad2f6169d"},{"author":{"_account_id":36765,"name":"Seunghun Lee","display_name":"Seunghun Lee","email":"seunghun@stackhpc.com","username":"seunghun1ee","status":"Cloud Engineer at StackHPC"},"change_message_id":"97b804b6ed45780f2bd24eab3f489956aac7966b","unresolved":true,"context_lines":[{"line_number":182,"context_line":"%}"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"ADD openstack-base-archive /openstack-base-source"},{"line_number":185,"context_line":"ADD plugins-archive /openstack-base-source"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"RUN ln -s openstack-base-source/plugins/* /pycadf \\"},{"line_number":188,"context_line":"    \u0026\u0026 mkdir -p /etc/pycadf \\"}],"source_content_type":"text/x-jinja2","patch_set":1,"id":"842c4c58_755a9d88","line":185,"in_reply_to":"540f6d5f_d99ad237","updated":"2024-08-28 07:16:38.000000000","message":"Okay but what should we do with the primary problem: symlinking failure with openstack-base source when using git source?","commit_id":"c766d135278fdc0c1f69ca0cc414245ad2f6169d"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"5c2d2c29d3e53f01b4242553d6ed25275d7b90ef","unresolved":true,"context_lines":[{"line_number":182,"context_line":"%}"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"ADD openstack-base-archive /openstack-base-source"},{"line_number":185,"context_line":"ADD plugins-archive /openstack-base-source"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"RUN ln -s openstack-base-source/plugins/* /pycadf \\"},{"line_number":188,"context_line":"    \u0026\u0026 mkdir -p /etc/pycadf \\"}],"source_content_type":"text/x-jinja2","patch_set":1,"id":"3883f999_c9180274","line":185,"in_reply_to":"540f6d5f_d99ad237","updated":"2024-08-28 08:46:21.000000000","message":"ok, that changes fails. But I still think the check for the empty dir should be part of the macro. But I guess I can introduce that in a separate change.","commit_id":"c766d135278fdc0c1f69ca0cc414245ad2f6169d"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"f29bbe52b12b852ab5664846057dabdde4d9e41e","unresolved":true,"context_lines":[{"line_number":182,"context_line":"%}"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"ADD openstack-base-archive /openstack-base-source"},{"line_number":185,"context_line":"ADD plugins-archive /openstack-base-source"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"RUN ln -s openstack-base-source/plugins/* /pycadf \\"},{"line_number":188,"context_line":"    \u0026\u0026 mkdir -p /etc/pycadf \\"}],"source_content_type":"text/x-jinja2","patch_set":1,"id":"991a0b68_f121fbbf","line":185,"in_reply_to":"831404f2_8b3b6e8f","updated":"2024-08-06 15:14:09.000000000","message":"I\u0027m sorry, but I also fail to see the connection here, if \"on some environments\" (which ones exactly?) krb5-config is missing, the correct action is to install it there.\n\nLooking at https://opendev.org/openstack/kolla/src/branch/master/docker/keystone/keystone/Dockerfile.j2#L32-L33 doesn\u0027t convince me to fix this in openstack-base via magic folder movement and symlinks. I would advise instead to have some proper program logic (maybe a macro like @michal.arbet@ultimum.io is suggesting) which does not rely on a magic folder check like `ls /plugins` to install something, so imho this should be fixed in the keystone dockerfile (if parts of this are really keystone specific) or via a change/introduction of proper macro code.\n\nWhat do you think?\nThanks!","commit_id":"c766d135278fdc0c1f69ca0cc414245ad2f6169d"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"bf5e9241e6e78ee9d7adf62ccc03b451852d1c60","unresolved":true,"context_lines":[{"line_number":182,"context_line":"%}"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"ADD openstack-base-archive /openstack-base-source"},{"line_number":185,"context_line":"ADD plugins-archive /openstack-base-source"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"RUN ln -s openstack-base-source/plugins/* /pycadf \\"},{"line_number":188,"context_line":"    \u0026\u0026 mkdir -p /etc/pycadf \\"}],"source_content_type":"text/x-jinja2","patch_set":1,"id":"f05d3750_d07919b2","line":185,"in_reply_to":"842c4c58_755a9d88","updated":"2024-08-28 07:36:32.000000000","message":"Wait a moment - openstack-base-source is a clone/tarball of the requirements repo - if that doesn\u0027t contain requirements repo contents, then something is wrong, right?","commit_id":"c766d135278fdc0c1f69ca0cc414245ad2f6169d"},{"author":{"_account_id":36765,"name":"Seunghun Lee","display_name":"Seunghun Lee","email":"seunghun@stackhpc.com","username":"seunghun1ee","status":"Cloud Engineer at StackHPC"},"change_message_id":"5b01fc170b6eecbb726c15e6889c637012d4e56c","unresolved":true,"context_lines":[{"line_number":182,"context_line":"%}"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"ADD openstack-base-archive /openstack-base-source"},{"line_number":185,"context_line":"ADD plugins-archive /openstack-base-source"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"RUN ln -s openstack-base-source/plugins/* /pycadf \\"},{"line_number":188,"context_line":"    \u0026\u0026 mkdir -p /etc/pycadf \\"}],"source_content_type":"text/x-jinja2","patch_set":1,"id":"916b2889_3f89ce7d","line":185,"in_reply_to":"88312771_ed0d2c0d","updated":"2024-07-26 10:19:41.000000000","message":"I found more precise reason why keystone build fails.\nWith plugins directory now in root and it has one item pycadf.\n\nFrom Dockerfile.j2 of keystone https://opendev.org/openstack/kolla/src/branch/master/docker/keystone/keystone/Dockerfile.j2#L22-L25 , unlike other kolla services, we can see keystone has its own plugin option \u0027requests-kerberos\u0027. \n\nhttps://opendev.org/openstack/kolla/src/branch/master/docker/keystone/keystone/Dockerfile.j2#L32-L33 shows that plugin install can be performed when /plugins is not empty. As we now moved openstack-base\u0027s plugins to root, it has one item pycadf, so the ``pip install pycadf requests-kerberos`` runs and fails on some environment because krb5-config is not installed.\n\nSo, I suggest removing the /plugins/pycadf directory and its symlink /pycadf after openstack-base python module installation.\n\nBy doing this we can\nA. fix this keystone build failure\nB. prevent unnecessary installation of pycadf on each image build\nC. important contents inside /plugins/pycadf/etc/pycadf is already copied to /etc/pycadf","commit_id":"c766d135278fdc0c1f69ca0cc414245ad2f6169d"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"224d2ccbdde93a429f2bb3da305c598159bc1947","unresolved":true,"context_lines":[{"line_number":182,"context_line":"%}"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"ADD openstack-base-archive /openstack-base-source"},{"line_number":185,"context_line":"ADD plugins-archive /openstack-base-source"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"RUN ln -s openstack-base-source/plugins/* /pycadf \\"},{"line_number":188,"context_line":"    \u0026\u0026 mkdir -p /etc/pycadf \\"}],"source_content_type":"text/x-jinja2","patch_set":1,"id":"831404f2_8b3b6e8f","line":185,"in_reply_to":"916b2889_3f89ce7d","updated":"2024-08-05 17:46:25.000000000","message":"pycadf is auditing library and it needs to be installed in openstack-base.\nit\u0027s installed from git as pypi repository has old version with missing some files.\n\nI think we should have some macro to install any plugin ... to avoid problems with I stallation","commit_id":"c766d135278fdc0c1f69ca0cc414245ad2f6169d"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"f0f675554d2a12bbaa632345179348dc91c31147","unresolved":true,"context_lines":[{"line_number":182,"context_line":"%}"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"ADD openstack-base-archive /openstack-base-source"},{"line_number":185,"context_line":"ADD plugins-archive /openstack-base-source"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"RUN ln -s openstack-base-source/plugins/* /pycadf \\"},{"line_number":188,"context_line":"    \u0026\u0026 mkdir -p /etc/pycadf \\"}],"source_content_type":"text/x-jinja2","patch_set":1,"id":"4bd403cc_12bbe8c4","line":185,"in_reply_to":"991a0b68_f121fbbf","updated":"2024-08-06 15:15:30.000000000","message":"exactly !","commit_id":"c766d135278fdc0c1f69ca0cc414245ad2f6169d"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"5c9754de68f5f16d668a486c6568b82bcc844241","unresolved":true,"context_lines":[{"line_number":182,"context_line":"%}"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"ADD openstack-base-archive /openstack-base-source"},{"line_number":185,"context_line":"ADD plugins-archive /openstack-base-source"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"RUN ln -s openstack-base-source/plugins/* /pycadf \\"},{"line_number":188,"context_line":"    \u0026\u0026 mkdir -p /etc/pycadf \\"}],"source_content_type":"text/x-jinja2","patch_set":1,"id":"88312771_ed0d2c0d","line":185,"in_reply_to":"aa62ff82_a30afa07","updated":"2024-07-25 17:27:33.000000000","message":"Why not fix the keystone plug-in install logic?","commit_id":"c766d135278fdc0c1f69ca0cc414245ad2f6169d"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"d807ef8b3c672b0e682bc9cd798173136de7033c","unresolved":true,"context_lines":[{"line_number":182,"context_line":"%}"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"ADD openstack-base-archive /openstack-base-source"},{"line_number":185,"context_line":"ADD plugins-archive /openstack-base-source"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"RUN ln -s openstack-base-source/plugins/* /pycadf \\"},{"line_number":188,"context_line":"    \u0026\u0026 mkdir -p /etc/pycadf \\"}],"source_content_type":"text/x-jinja2","patch_set":1,"id":"f4e9b1f4_0512d4a2","line":185,"in_reply_to":"bbb891f5_a460b4ab","updated":"2024-07-24 09:14:25.000000000","message":"+1 - compare with how it\u0027s done in nova-base.","commit_id":"c766d135278fdc0c1f69ca0cc414245ad2f6169d"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"9b71cb3efedfd37d585e1682bc2b3ab2dd196429","unresolved":true,"context_lines":[{"line_number":182,"context_line":"%}"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"ADD openstack-base-archive /openstack-base-source"},{"line_number":185,"context_line":"ADD plugins-archive /openstack-base-source"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"RUN ln -s openstack-base-source/plugins/* /pycadf \\"},{"line_number":188,"context_line":"    \u0026\u0026 mkdir -p /etc/pycadf \\"}],"source_content_type":"text/x-jinja2","patch_set":1,"id":"540f6d5f_d99ad237","line":185,"in_reply_to":"cbb5bca2_0f8c3bad","updated":"2024-08-23 15:02:47.000000000","message":"\u003e The condition for installing requests-kerberos is when /plugins is not empty \n \n and I have an issue with that.\n \n So I just researched why this was introduced, afaik this was cargo culted forward since 8 years ago.\n \nhere\u0027s a fix: https://review.opendev.org/c/openstack/kolla/+/927038\n\nand here is why it was introduced: https://review.opendev.org/c/openstack/kolla/+/401145\n\nat the time, there was no macro checking if the package list was empty, thus this check was needed.","commit_id":"c766d135278fdc0c1f69ca0cc414245ad2f6169d"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"9532414b722547b949e5807368b5eebf20f573b2","unresolved":false,"context_lines":[{"line_number":182,"context_line":"%}"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"ADD openstack-base-archive /openstack-base-source"},{"line_number":185,"context_line":"ADD plugins-archive /openstack-base-source"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"RUN ln -s openstack-base-source/plugins/* /pycadf \\"},{"line_number":188,"context_line":"    \u0026\u0026 mkdir -p /etc/pycadf \\"}],"source_content_type":"text/x-jinja2","patch_set":1,"id":"d8138b9b_f6c2b9c3","line":185,"in_reply_to":"f05d3750_d07919b2","updated":"2024-08-28 08:31:26.000000000","message":"Ok, so when it\u0027s a tarball we get requirements-devblabla in /openstack-base-source and when it\u0027s a cloned repo we get /openstack-base-source/openstack-base-source-archive-$branch - everything clear.","commit_id":"c766d135278fdc0c1f69ca0cc414245ad2f6169d"},{"author":{"_account_id":36765,"name":"Seunghun Lee","display_name":"Seunghun Lee","email":"seunghun@stackhpc.com","username":"seunghun1ee","status":"Cloud Engineer at StackHPC"},"change_message_id":"e23a7d04ede3a04f6280cd8df7ccf39d021dede3","unresolved":false,"context_lines":[{"line_number":182,"context_line":"%}"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"ADD openstack-base-archive /openstack-base-source"},{"line_number":185,"context_line":"ADD plugins-archive /openstack-base-source"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"RUN ln -s openstack-base-source/plugins/* /pycadf \\"},{"line_number":188,"context_line":"    \u0026\u0026 mkdir -p /etc/pycadf \\"}],"source_content_type":"text/x-jinja2","patch_set":1,"id":"0a65a762_633056be","line":185,"in_reply_to":"f4e9b1f4_0512d4a2","updated":"2024-07-24 14:53:45.000000000","message":"I also like the idea of moving plugins directory to root. That way we don\u0027t need complicated syntax for symlinking.","commit_id":"c766d135278fdc0c1f69ca0cc414245ad2f6169d"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"7ba6e30e290fd599698c4bede68d80d21d252d1c","unresolved":false,"context_lines":[{"line_number":184,"context_line":"ADD openstack-base-archive /openstack-base-source"},{"line_number":185,"context_line":"ADD plugins-archive /"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"RUN ln -s plugins/* /pycadf \\"},{"line_number":188,"context_line":"    \u0026\u0026 mkdir -p /etc/pycadf \\"},{"line_number":189,"context_line":"    \u0026\u0026 cp /pycadf/etc/pycadf/* /etc/pycadf/"},{"line_number":190,"context_line":""},{"line_number":191,"context_line":"RUN ln -s openstack-base-source/* /requirements \\"},{"line_number":192,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":2,"id":"0c01e9cf_eb7becea","line":189,"range":{"start_line":187,"start_character":0,"end_line":189,"end_character":43},"updated":"2024-07-25 09:14:40.000000000","message":"This seems a bit broken if you want to install any plugins other than pycadf, but that\u0027s a separate issue and doesn\u0027t need to be fixed here.","commit_id":"5ca04eda60a4a2329d58ed6b2356a0eb1ec649cb"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"68a0260d588427012e72192b705ef55279b7d02a","unresolved":true,"context_lines":[{"line_number":216,"context_line":"                      empty"},{"line_number":217,"context_line":"#}"},{"line_number":218,"context_line":"RUN unlink /pycadf \\"},{"line_number":219,"context_line":"    \u0026\u0026 rm -rf plugins/*"},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"{% if base_package_type \u003d\u003d \u0027rpm\u0027 %}"},{"line_number":222,"context_line":"RUN sed -i -r \u0027s,^(Listen 80),#\\1,\u0027 /etc/httpd/conf/httpd.conf \\"}],"source_content_type":"text/x-jinja2","patch_set":4,"id":"ca8051f0_b189f1ec","line":219,"updated":"2024-08-05 14:27:20.000000000","message":"Would it work to move this to L190, to keep it next to the other pycadf bits?","commit_id":"91d7b812ea9d7ef4a077210836e6542ca1e5173f"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"5d357a8351e14836354b4766adf7ec3a43b0e973","unresolved":true,"context_lines":[{"line_number":216,"context_line":"                      empty"},{"line_number":217,"context_line":"#}"},{"line_number":218,"context_line":"RUN unlink /pycadf \\"},{"line_number":219,"context_line":"    \u0026\u0026 rm -rf plugins/*"},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"{% if base_package_type \u003d\u003d \u0027rpm\u0027 %}"},{"line_number":222,"context_line":"RUN sed -i -r \u0027s,^(Listen 80),#\\1,\u0027 /etc/httpd/conf/httpd.conf \\"}],"source_content_type":"text/x-jinja2","patch_set":4,"id":"ec12ebde_5c8babc3","line":219,"in_reply_to":"00525e23_a849818d","updated":"2024-08-23 06:17:28.000000000","message":"Ah, I see the other comment that we install that from git because pypi has some old code - if that\u0027s the only reason - maybe on the longer run we should just release a new version (raise a patch to openstack/releases repository)?","commit_id":"91d7b812ea9d7ef4a077210836e6542ca1e5173f"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"6f9443389a948d57884aaa12e9a4606029b36601","unresolved":true,"context_lines":[{"line_number":216,"context_line":"                      empty"},{"line_number":217,"context_line":"#}"},{"line_number":218,"context_line":"RUN unlink /pycadf \\"},{"line_number":219,"context_line":"    \u0026\u0026 rm -rf plugins/*"},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"{% if base_package_type \u003d\u003d \u0027rpm\u0027 %}"},{"line_number":222,"context_line":"RUN sed -i -r \u0027s,^(Listen 80),#\\1,\u0027 /etc/httpd/conf/httpd.conf \\"}],"source_content_type":"text/x-jinja2","patch_set":4,"id":"00525e23_a849818d","line":219,"in_reply_to":"26519849_652d61fe","updated":"2024-08-23 06:12:26.000000000","message":"Other option might be to change plugins-archive creation logic to empty that for each container (because I understand that\u0027s the issue)","commit_id":"91d7b812ea9d7ef4a077210836e6542ca1e5173f"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"9532414b722547b949e5807368b5eebf20f573b2","unresolved":true,"context_lines":[{"line_number":216,"context_line":"                      empty"},{"line_number":217,"context_line":"#}"},{"line_number":218,"context_line":"RUN unlink /pycadf \\"},{"line_number":219,"context_line":"    \u0026\u0026 rm -rf plugins/*"},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"{% if base_package_type \u003d\u003d \u0027rpm\u0027 %}"},{"line_number":222,"context_line":"RUN sed -i -r \u0027s,^(Listen 80),#\\1,\u0027 /etc/httpd/conf/httpd.conf \\"}],"source_content_type":"text/x-jinja2","patch_set":4,"id":"a649f8b0_aa0acb5c","line":219,"in_reply_to":"472b640b_c661e1b2","updated":"2024-08-28 08:31:26.000000000","message":"We don\u0027t need to move it, just link it properly and install like everywhere else. We could refactor that though to be installed as a plugin - just like in every other container.","commit_id":"91d7b812ea9d7ef4a077210836e6542ca1e5173f"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"f8c8ac09297b45f8a1652c95eb1309e6be1be9e1","unresolved":true,"context_lines":[{"line_number":216,"context_line":"                      empty"},{"line_number":217,"context_line":"#}"},{"line_number":218,"context_line":"RUN unlink /pycadf \\"},{"line_number":219,"context_line":"    \u0026\u0026 rm -rf plugins/*"},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"{% if base_package_type \u003d\u003d \u0027rpm\u0027 %}"},{"line_number":222,"context_line":"RUN sed -i -r \u0027s,^(Listen 80),#\\1,\u0027 /etc/httpd/conf/httpd.conf \\"}],"source_content_type":"text/x-jinja2","patch_set":4,"id":"803b4cf2_196e529d","line":219,"in_reply_to":"67b40a7f_c7b97003","updated":"2024-08-22 11:09:04.000000000","message":"We usually never remove the source - is there a reason for removing it?","commit_id":"91d7b812ea9d7ef4a077210836e6542ca1e5173f"},{"author":{"_account_id":36765,"name":"Seunghun Lee","display_name":"Seunghun Lee","email":"seunghun@stackhpc.com","username":"seunghun1ee","status":"Cloud Engineer at StackHPC"},"change_message_id":"615c1f42f4f8fde5c4a6d8e935858cec95d55e39","unresolved":true,"context_lines":[{"line_number":216,"context_line":"                      empty"},{"line_number":217,"context_line":"#}"},{"line_number":218,"context_line":"RUN unlink /pycadf \\"},{"line_number":219,"context_line":"    \u0026\u0026 rm -rf plugins/*"},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"{% if base_package_type \u003d\u003d \u0027rpm\u0027 %}"},{"line_number":222,"context_line":"RUN sed -i -r \u0027s,^(Listen 80),#\\1,\u0027 /etc/httpd/conf/httpd.conf \\"}],"source_content_type":"text/x-jinja2","patch_set":4,"id":"cfe41246_045b3df6","line":219,"in_reply_to":"803b4cf2_196e529d","updated":"2024-08-23 05:11:44.000000000","message":"The location of source of ``pycadf`` was moved from ``/openstack-base-source/plugins``to ``/plugins`` to match what others do with their plugins (e.g. nova-base).\n\nHowever, that affects plugin install condition that is used for many kolla images (such as horizon, octavia, keystone, nova, neutron, ironic, ceilometer, mistral, tacker) which installs plugins under ``/plugins`` if ``/plugins`` is not empty.\n\nBecause ``/plugins`` is not empty now thanks to ``pycadf``, that condition is always true.\n\nKeystone has one extra plugins compared to other affected kolla images, which is ``requests-kerberos``.\n\nKeystone build fails at plugin installation stage for Debian 12 and RL 9.4 because  krb5-config is not installed for them.\n\nMy understanding is that this condition is meant to be false with default state and installing requests-kerberos on keystone is not a default behaviour.\n\nSo, this was my attempt to make the condition false after installing ``pycadf``\n\nBut I agree this is not ideal. I\u0027ll propose new method.","commit_id":"91d7b812ea9d7ef4a077210836e6542ca1e5173f"},{"author":{"_account_id":36765,"name":"Seunghun Lee","display_name":"Seunghun Lee","email":"seunghun@stackhpc.com","username":"seunghun1ee","status":"Cloud Engineer at StackHPC"},"change_message_id":"b87475f84c5585f10a371f6209ae8427d73cdd26","unresolved":true,"context_lines":[{"line_number":216,"context_line":"                      empty"},{"line_number":217,"context_line":"#}"},{"line_number":218,"context_line":"RUN unlink /pycadf \\"},{"line_number":219,"context_line":"    \u0026\u0026 rm -rf plugins/*"},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"{% if base_package_type \u003d\u003d \u0027rpm\u0027 %}"},{"line_number":222,"context_line":"RUN sed -i -r \u0027s,^(Listen 80),#\\1,\u0027 /etc/httpd/conf/httpd.conf \\"}],"source_content_type":"text/x-jinja2","patch_set":4,"id":"67b40a7f_c7b97003","line":219,"in_reply_to":"98900cdb_9b7a5a21","updated":"2024-08-21 02:02:05.000000000","message":"We\u0027re not removing a program here, just the source that was used for the installation. But I might be wrong here as I also don\u0027t know much about ``pycadf``. Does ``pycadf`` requires source to operate?","commit_id":"91d7b812ea9d7ef4a077210836e6542ca1e5173f"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"85a4cf09acfbcc934bf47febe9c3714716286560","unresolved":false,"context_lines":[{"line_number":216,"context_line":"                      empty"},{"line_number":217,"context_line":"#}"},{"line_number":218,"context_line":"RUN unlink /pycadf \\"},{"line_number":219,"context_line":"    \u0026\u0026 rm -rf plugins/*"},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"{% if base_package_type \u003d\u003d \u0027rpm\u0027 %}"},{"line_number":222,"context_line":"RUN sed -i -r \u0027s,^(Listen 80),#\\1,\u0027 /etc/httpd/conf/httpd.conf \\"}],"source_content_type":"text/x-jinja2","patch_set":4,"id":"5398d5bd_a2904ab3","line":219,"in_reply_to":"a649f8b0_aa0acb5c","updated":"2024-08-28 08:47:56.000000000","message":"Acknowledged","commit_id":"91d7b812ea9d7ef4a077210836e6542ca1e5173f"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"0afb12e35daa28a1d898ea4bfafb353c065a09b2","unresolved":true,"context_lines":[{"line_number":216,"context_line":"                      empty"},{"line_number":217,"context_line":"#}"},{"line_number":218,"context_line":"RUN unlink /pycadf \\"},{"line_number":219,"context_line":"    \u0026\u0026 rm -rf plugins/*"},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"{% if base_package_type \u003d\u003d \u0027rpm\u0027 %}"},{"line_number":222,"context_line":"RUN sed -i -r \u0027s,^(Listen 80),#\\1,\u0027 /etc/httpd/conf/httpd.conf \\"}],"source_content_type":"text/x-jinja2","patch_set":4,"id":"98900cdb_9b7a5a21","line":219,"in_reply_to":"ca8051f0_b189f1ec","updated":"2024-08-05 17:14:57.000000000","message":"I don\u0027t know much about pycadf, but doesn\u0027t it seem inconsistent to remove a program without also removing the copied /etc/ config files from line 189?","commit_id":"91d7b812ea9d7ef4a077210836e6542ca1e5173f"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"17bf2395b28c72331d3ba73b484e6ca157afcbf7","unresolved":true,"context_lines":[{"line_number":216,"context_line":"                      empty"},{"line_number":217,"context_line":"#}"},{"line_number":218,"context_line":"RUN unlink /pycadf \\"},{"line_number":219,"context_line":"    \u0026\u0026 rm -rf plugins/*"},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"{% if base_package_type \u003d\u003d \u0027rpm\u0027 %}"},{"line_number":222,"context_line":"RUN sed -i -r \u0027s,^(Listen 80),#\\1,\u0027 /etc/httpd/conf/httpd.conf \\"}],"source_content_type":"text/x-jinja2","patch_set":4,"id":"26519849_652d61fe","line":219,"in_reply_to":"cfe41246_045b3df6","updated":"2024-08-23 06:09:55.000000000","message":"So, pycadf library is installed (in contradiction to other libraries e.g. ovsdbapp) using Kolla plugin architecture - should we move that to installation via pip?","commit_id":"91d7b812ea9d7ef4a077210836e6542ca1e5173f"},{"author":{"_account_id":36765,"name":"Seunghun Lee","display_name":"Seunghun Lee","email":"seunghun@stackhpc.com","username":"seunghun1ee","status":"Cloud Engineer at StackHPC"},"change_message_id":"3345b628ffe15e4218cb9e8c4b6edaca10ba1352","unresolved":true,"context_lines":[{"line_number":216,"context_line":"                      empty"},{"line_number":217,"context_line":"#}"},{"line_number":218,"context_line":"RUN unlink /pycadf \\"},{"line_number":219,"context_line":"    \u0026\u0026 rm -rf plugins/*"},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"{% if base_package_type \u003d\u003d \u0027rpm\u0027 %}"},{"line_number":222,"context_line":"RUN sed -i -r \u0027s,^(Listen 80),#\\1,\u0027 /etc/httpd/conf/httpd.conf \\"}],"source_content_type":"text/x-jinja2","patch_set":4,"id":"472b640b_c661e1b2","line":219,"in_reply_to":"d765391a_9dd1a138","updated":"2024-08-23 06:59:11.000000000","message":"Sounds good.\nWe still need this patch though.\nMoving the source of ``pycadf`` somewhere else to fix broken symlinking to requirements when used with git source","commit_id":"91d7b812ea9d7ef4a077210836e6542ca1e5173f"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"c18d1949c1cae13cbd985167a6f56b962d147a8b","unresolved":true,"context_lines":[{"line_number":216,"context_line":"                      empty"},{"line_number":217,"context_line":"#}"},{"line_number":218,"context_line":"RUN unlink /pycadf \\"},{"line_number":219,"context_line":"    \u0026\u0026 rm -rf plugins/*"},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"{% if base_package_type \u003d\u003d \u0027rpm\u0027 %}"},{"line_number":222,"context_line":"RUN sed -i -r \u0027s,^(Listen 80),#\\1,\u0027 /etc/httpd/conf/httpd.conf \\"}],"source_content_type":"text/x-jinja2","patch_set":4,"id":"d765391a_9dd1a138","line":219,"in_reply_to":"ec12ebde_5c8babc3","updated":"2024-08-23 06:26:29.000000000","message":"https://review.opendev.org/c/openstack/releases/+/926980","commit_id":"91d7b812ea9d7ef4a077210836e6542ca1e5173f"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"0afb12e35daa28a1d898ea4bfafb353c065a09b2","unresolved":true,"context_lines":[{"line_number":185,"context_line":"ADD plugins-archive /"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"RUN ln -s plugins/* /pycadf \\"},{"line_number":188,"context_line":"    \u0026\u0026 mkdir -p /etc/pycadf \\"},{"line_number":189,"context_line":"    \u0026\u0026 cp /pycadf/etc/pycadf/* /etc/pycadf/"},{"line_number":190,"context_line":""},{"line_number":191,"context_line":"RUN ln -s openstack-base-source/* /requirements \\"}],"source_content_type":"text/x-jinja2","patch_set":5,"id":"3c0e6443_80a3d8fb","line":188,"range":{"start_line":188,"start_character":0,"end_line":188,"end_character":2},"updated":"2024-08-05 17:14:57.000000000","message":"I think these should be removed as well, see my comment at line 219.","commit_id":"374c555866150843d162d1059f40f2f5535e65cc"},{"author":{"_account_id":36765,"name":"Seunghun Lee","display_name":"Seunghun Lee","email":"seunghun@stackhpc.com","username":"seunghun1ee","status":"Cloud Engineer at StackHPC"},"change_message_id":"3345b628ffe15e4218cb9e8c4b6edaca10ba1352","unresolved":true,"context_lines":[{"line_number":185,"context_line":"ADD plugins-archive /"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"RUN ln -s plugins/* /pycadf \\"},{"line_number":188,"context_line":"    \u0026\u0026 mkdir -p /etc/pycadf \\"},{"line_number":189,"context_line":"    \u0026\u0026 cp /pycadf/etc/pycadf/* /etc/pycadf/"},{"line_number":190,"context_line":""},{"line_number":191,"context_line":"RUN ln -s openstack-base-source/* /requirements \\"}],"source_content_type":"text/x-jinja2","patch_set":5,"id":"849936bb_b86a6ba1","line":188,"range":{"start_line":188,"start_character":0,"end_line":188,"end_character":2},"in_reply_to":"3c0e6443_80a3d8fb","updated":"2024-08-23 06:59:11.000000000","message":"What do you think of this approach @kieske@osism.tech and @mnasiadka@gmail.com? \nInstead of making a symlink, we just move source to ``/pycadf``","commit_id":"374c555866150843d162d1059f40f2f5535e65cc"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"85a4cf09acfbcc934bf47febe9c3714716286560","unresolved":false,"context_lines":[{"line_number":185,"context_line":"ADD plugins-archive /"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"RUN ln -s plugins/* /pycadf \\"},{"line_number":188,"context_line":"    \u0026\u0026 mkdir -p /etc/pycadf \\"},{"line_number":189,"context_line":"    \u0026\u0026 cp /pycadf/etc/pycadf/* /etc/pycadf/"},{"line_number":190,"context_line":""},{"line_number":191,"context_line":"RUN ln -s openstack-base-source/* /requirements \\"}],"source_content_type":"text/x-jinja2","patch_set":5,"id":"c6efe273_6d63f58c","line":188,"range":{"start_line":188,"start_character":0,"end_line":188,"end_character":2},"in_reply_to":"849936bb_b86a6ba1","updated":"2024-08-28 08:47:56.000000000","message":"I reworked it to not remove anything and it works, stacked a bug reproducer on top.","commit_id":"374c555866150843d162d1059f40f2f5535e65cc"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"3e5dae7988a3486b735d1b6244508c52a5b4138b","unresolved":true,"context_lines":[{"line_number":182,"context_line":"%}"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"ADD openstack-base-archive /openstack-base-source"},{"line_number":185,"context_line":"ADD plugins-archive /"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"RUN mkdir -p /etc/pycadf \\"},{"line_number":188,"context_line":"    \u0026\u0026 cp /plugins/pycadf*/etc/pycadf/* /etc/pycadf/"}],"source_content_type":"text/x-jinja2","patch_set":11,"id":"b958c974_02a7250d","line":185,"range":{"start_line":185,"start_character":4,"end_line":185,"end_character":19},"updated":"2024-08-28 15:39:43.000000000","message":"I know that `plugins-archive` is meant to only contain some controlled directories, but I\u0027m still not comfortable with blindly (from the pov of this dockerfile) copying it into `/`. Can we use some safer subdirectory please? Maybe `/opt` if you want to keep it short, or `/src`?","commit_id":"65f6597358b75a005d76743a8e61033b3f3f651f"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"f39c9c558fde86b802d42d1ffc9ef899647db14f","unresolved":true,"context_lines":[{"line_number":182,"context_line":"%}"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"ADD openstack-base-archive /openstack-base-source"},{"line_number":185,"context_line":"ADD plugins-archive /"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"RUN mkdir -p /etc/pycadf \\"},{"line_number":188,"context_line":"    \u0026\u0026 cp /plugins/pycadf*/etc/pycadf/* /etc/pycadf/"}],"source_content_type":"text/x-jinja2","patch_set":11,"id":"d0c87308_3eade6ec","line":185,"range":{"start_line":185,"start_character":4,"end_line":185,"end_character":19},"in_reply_to":"b958c974_02a7250d","updated":"2024-08-28 15:55:54.000000000","message":"So, first of all - there\u0027s a top level directory in plugins-archive, so it ends up with /plugins\nWe do that in a number of containers:\n\n% grep -ri plugins-archive *                                                                                                                                                                         \nceilometer/ceilometer-base/Dockerfile.j2:ADD plugins-archive /\nhorizon/Dockerfile.j2:ADD plugins-archive /\nironic/ironic-conductor/Dockerfile.j2:ADD plugins-archive /\nkeystone/keystone/Dockerfile.j2:ADD plugins-archive /\nmistral/mistral-base/Dockerfile.j2:ADD plugins-archive /\nneutron/neutron-server/Dockerfile.j2:ADD plugins-archive /\nneutron/neutron-base/Dockerfile.j2:ADD plugins-archive /\nnova/nova-base/Dockerfile.j2:ADD plugins-archive /\nnova/nova-compute/Dockerfile.j2:ADD plugins-archive /\noctavia/octavia-driver-agent/Dockerfile.j2:ADD plugins-archive /\noctavia/octavia-api/Dockerfile.j2:ADD plugins-archive /\nopenstack-base/Dockerfile.j2:ADD plugins-archive /openstack-base-source\nplacement/placement-base/Dockerfile.j2:ADD plugins-archive /\ntacker/tacker-base/Dockerfile.j2:ADD plugins-archive /\n\nI\u0027m fine with changing the approach, but in a dedicated patchset (moving also sources to some dedicated directory outside of /, something like /opt/kolla/sources/).","commit_id":"65f6597358b75a005d76743a8e61033b3f3f651f"}],"releasenotes/notes/fix-git-build-23c8fe6c4b0d92c4.yaml":[{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"0afb12e35daa28a1d898ea4bfafb353c065a09b2","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Fixed a bug preventing image builds when requirements are provided from a"},{"line_number":5,"context_line":"    using the git source type"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"8d036c06_0e1d3e76","line":4,"range":{"start_line":4,"start_character":0,"end_line":4,"end_character":2},"updated":"2024-08-05 17:14:57.000000000","message":"missing word: location?","commit_id":"374c555866150843d162d1059f40f2f5535e65cc"},{"author":{"_account_id":36765,"name":"Seunghun Lee","display_name":"Seunghun Lee","email":"seunghun@stackhpc.com","username":"seunghun1ee","status":"Cloud Engineer at StackHPC"},"change_message_id":"e3b1fb45301a285b87c288638314318b137db055","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Fixed a bug preventing image builds when requirements are provided from a"},{"line_number":5,"context_line":"    using the git source type"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"8f42055f_0ca76d08","line":4,"range":{"start_line":4,"start_character":0,"end_line":4,"end_character":2},"in_reply_to":"8d036c06_0e1d3e76","updated":"2024-08-23 06:51:43.000000000","message":"Done","commit_id":"374c555866150843d162d1059f40f2f5535e65cc"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"0afb12e35daa28a1d898ea4bfafb353c065a09b2","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":5,"id":"eda30c15_166d034f","line":6,"updated":"2024-08-05 17:14:57.000000000","message":"missing link to the bug being closed: https://launchpad.net/bugs/2074075","commit_id":"374c555866150843d162d1059f40f2f5535e65cc"},{"author":{"_account_id":36765,"name":"Seunghun Lee","display_name":"Seunghun Lee","email":"seunghun@stackhpc.com","username":"seunghun1ee","status":"Cloud Engineer at StackHPC"},"change_message_id":"e3b1fb45301a285b87c288638314318b137db055","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"1c7551d5_52baee2f","line":6,"in_reply_to":"eda30c15_166d034f","updated":"2024-08-23 06:51:43.000000000","message":"Acknowledged","commit_id":"374c555866150843d162d1059f40f2f5535e65cc"}]}
