<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openstack/kolla.git/kolla/image, branch stable/2026.2</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<id>https://git.platform-os.org/openstack/kolla.git/atom?h=stable%2F2026.2</id>
<link rel='self' href='https://git.platform-os.org/openstack/kolla.git/atom?h=stable%2F2026.2'/>
<link rel='alternate' type='text/html' href='https://git.platform-os.org/openstack/kolla.git/'/>
<updated>2026-09-22T23:23:44+00:00</updated>
<entry>
<title>Merge "Allow lowercase from"</title>
<updated>2026-09-22T23:23:44+00:00</updated>
<author>
<name>Zuul</name>
<email>zuul@review.opendev.org</email>
</author>
<published>2026-09-22T23:23:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.platform-os.org/openstack/kolla.git/commit/?id=4e2c9782c4608231e39a5558d04e7b6b6715871f'/>
<id>urn:sha1:4e2c9782c4608231e39a5558d04e7b6b6715871f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Ensure git cloned dirs are writable for the executing user</title>
<updated>2026-09-16T12:19:40+00:00</updated>
<author>
<name>Michal Nasiadka</name>
<email>mnasiadka@gmail.com</email>
</author>
<published>2026-06-23T15:15:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.platform-os.org/openstack/kolla.git/commit/?id=8c2d7d305c928eea779c2f72f3e854d15638af22'/>
<id>urn:sha1:8c2d7d305c928eea779c2f72f3e854d15638af22</id>
<content type='text'>
Closes-Bug: #2167377

Change-Id: Ic5e32b79d058223634d990fb2e33041692f682ce
Signed-off-by: Michal Nasiadka &lt;mnasiadka@gmail.com&gt;
</content>
</entry>
<entry>
<title>Drop support for CentOS Stream 10</title>
<updated>2026-09-10T11:20:18+00:00</updated>
<author>
<name>Michal Nasiadka</name>
<email>mnasiadka@gmail.com</email>
</author>
<published>2026-07-20T08:53:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.platform-os.org/openstack/kolla.git/commit/?id=f1d7da742d058d893f6abf3c0a21efaf940187b4'/>
<id>urn:sha1:f1d7da742d058d893f6abf3c0a21efaf940187b4</id>
<content type='text'>
Change-Id: I5973943fe83bbb00cfc8623c0cd4d4b98b369315
Signed-off-by: Michal Nasiadka &lt;mnasiadka@gmail.com&gt;
</content>
</entry>
<entry>
<title>Add cleanup_repos to revert build_only overrides</title>
<updated>2026-08-05T08:13:09+00:00</updated>
<author>
<name>Michal Nasiadka</name>
<email>mnasiadka@gmail.com</email>
</author>
<published>2026-06-17T05:24:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.platform-os.org/openstack/kolla.git/commit/?id=5aabec47f057d9cb32aab520d666e51bd9ee37c6'/>
<id>urn:sha1:5aabec47f057d9cb32aab520d666e51bd9ee37c6</id>
<content type='text'>
Repos marked build_only: true are backed up before handle_repos()
overwrites them and restored at the end of each image build, so CI
mirror URLs are not baked into the final image.

The cleanup RUN was injected into every Dockerfile, not just images
that called handle_repos() for those repos. Child images with no
backup fell through to "rm -f", deleting the inherited repo file
(e.g. debian.sources in bifrost-base, breaking cpio install).

Fix by adding a {repo}.enabled sentinel that handle_repos creates
when it processes a build_only repo, making the cleanup conditional
on that sentinel.

Change-Id: Ie5b9970a4575b6258dc238059d3f33ddfe155789
Signed-off-by: Michal Nasiadka &lt;mnasiadka@gmail.com&gt;
</content>
</entry>
<entry>
<title>Allow lowercase from</title>
<updated>2026-07-30T14:06:23+00:00</updated>
<author>
<name>Michal Nasiadka</name>
<email>mnasiadka@gmail.com</email>
</author>
<published>2026-07-30T14:06:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.platform-os.org/openstack/kolla.git/commit/?id=de7c08d5b9ab240328609ebcfa4648e0d6f7f0ab'/>
<id>urn:sha1:de7c08d5b9ab240328609ebcfa4648e0d6f7f0ab</id>
<content type='text'>
Change-Id: I42cf2aac795e9f61692deec956de0bedab55086f
Signed-off-by: Michal Nasiadka &lt;mnasiadka@gmail.com&gt;
</content>
</entry>
<entry>
<title>Move PIP_* env variables to ARG and config</title>
<updated>2026-07-30T13:55:31+00:00</updated>
<author>
<name>Michal Nasiadka</name>
<email>mnasiadka@gmail.com</email>
</author>
<published>2026-06-16T20:15:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.platform-os.org/openstack/kolla.git/commit/?id=71867b8e57273ffcc26f4fedd84919b2608da3f2'/>
<id>urn:sha1:71867b8e57273ffcc26f4fedd84919b2608da3f2</id>
<content type='text'>
Leaving empty CI template_overrides file in case
we need to use it in future.

Change-Id: Ic46f1a594bcc330536bc78d93ece10e60622f6d4
Signed-off-by: Michal Nasiadka &lt;mnasiadka@gmail.com&gt;
</content>
</entry>
<entry>
<title>Rework tar normalization to a shared function</title>
<updated>2026-07-23T09:50:16+00:00</updated>
<author>
<name>Michael Sherman</name>
<email>shermanm@uchicago.edu</email>
</author>
<published>2026-06-11T22:04:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.platform-os.org/openstack/kolla.git/commit/?id=789c02ae79dabcaa5c141baf99532f464472b0c8'/>
<id>urn:sha1:789c02ae79dabcaa5c141baf99532f464472b0c8</id>
<content type='text'>
Add missing tests

Change-Id: I91b42fe530f87af7d78bb1a543b29a4b0d50872e
Signed-off-by: Michael Sherman &lt;shermanm@uchicago.edu&gt;
</content>
</entry>
<entry>
<title>Migrate to pyproject.toml</title>
<updated>2026-07-06T19:59:40+00:00</updated>
<author>
<name>Michal Nasiadka</name>
<email>mnasiadka@gmail.com</email>
</author>
<published>2026-07-06T13:26:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.platform-os.org/openstack/kolla.git/commit/?id=db35ac8d793506bc43b62e7e39d27a75de1043ed'/>
<id>urn:sha1:db35ac8d793506bc43b62e7e39d27a75de1043ed</id>
<content type='text'>
[tool.setuptools.data-files] does not support recursive directory
installation. The old setup.cfg [files] worked because PBR's
FilesConfig.expand_globs() used os.walk() to expand docker/*, but
this hook is not triggered by the pbr.build PEP-517 backend.

Move docker/ into kolla/ and use [tool.setuptools.package-data]
instead. Update kolla_worker._get_images_dir() to check the kolla
package directory first so both editable and regular installs work.

Change-Id: I4fc452c03740ef22ebbb4e8d0d86c4f4783e2d09
Signed-off-by: Michal Nasiadka &lt;mnasiadka@gmail.com&gt;
</content>
</entry>
<entry>
<title>kolla-build: normalize mtime in archive creation</title>
<updated>2026-06-24T13:00:46+00:00</updated>
<author>
<name>Michal Nasiadka</name>
<email>mnasiadka@gmail.com</email>
</author>
<published>2026-06-18T15:16:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.platform-os.org/openstack/kolla.git/commit/?id=0e5deba69102d45d33bc43328dfa2410e6d9f9d9'/>
<id>urn:sha1:0e5deba69102d45d33bc43328dfa2410e6d9f9d9</id>
<content type='text'>
The reset_userinfo tar filter used when creating plugins and
additions archives normalized uid/gid but left mtime untouched.

Since archives are created after set_time() has already run, and
the default working directory is a fresh temp dir per invocation,
the embedded directory mtime was always the current time.

Docker computes a content checksum for ADD instructions, so a
different mtime in the tar produced a different checksum on every
run.

Fix by setting tarinfo.mtime = 0 in both reset_userinfo filters and
calling os.utime(arc_path, (0, 0)) on the archive file after
creation, making the archives binary-identical across runs for the
same content.

Change-Id: I205dab2c4a74fb9e3cb15c421d5c025849f5632a
Signed-off-by: Michal Nasiadka &lt;mnasiadka@gmail.com&gt;
</content>
</entry>
<entry>
<title>kolla-build: fix build-date LABEL invalidating Docker layer cache</title>
<updated>2026-06-24T13:00:26+00:00</updated>
<author>
<name>Michal Nasiadka</name>
<email>mnasiadka@gmail.com</email>
</author>
<published>2026-06-18T15:16:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.platform-os.org/openstack/kolla.git/commit/?id=a1a3fdc1b54baf62f234ddc9dac4906e30eb5d11'/>
<id>urn:sha1:a1a3fdc1b54baf62f234ddc9dac4906e30eb5d11</id>
<content type='text'>
The build-date label was rendered into a LABEL instruction on line
3 of every Dockerfile template, immediately after FROM.

Because Docker invalidates the cache for a changed instruction and
all subsequent layers, a date change caused a full rebuild of every
image on each new calendar day, even when nothing else had changed.

Fix this by removing build-date from the Dockerfile templates and
applying it as a --label argument at build time via image.labels.

Labels passed on the build command line are not part of the
Dockerfile cache key, so the date is still recorded in the image
metadata without affecting layer caching.

Change-Id: I8ef0d85bab1a999a4d09f7cbf0c088ca00fdcf77
Signed-off-by: Michal Nasiadka &lt;mnasiadka@gmail.com&gt;
</content>
</entry>
</feed>
