aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Gutter <github@jangutter.com>2023-10-23 20:29:06 +0100
committerJan Gutter <github@jangutter.com>2023-10-24 09:37:43 +0100
commitc4b56a4b846c5c85177ae6fb46df67969cb7849a (patch)
tree786f983b261f3316c1aa1bc27cfcc51413054b79
parentbd2b69e6f82a62d08f40dffd53d279d1dedbc0b5 (diff)
downloadkolla-c4b56a4b846c5c85177ae6fb46df67969cb7849a.tar.gz
kolla-c4b56a4b846c5c85177ae6fb46df67969cb7849a.zip
CI: speed up podman on el9
Before this commit the following warning message appeared in the podman log: Not using native diff for overlay, this may cause degraded performance for building images: kernel has CONFIG_OVERLAY_FS_REDIRECT_DIR enabled It appears that the default mount options for the overlay graph driver is badly optimised for Kolla builds on el9: * Enable native overlay diff https://mikeshade.com/posts/docker-native-overlay-diff/ https://github.com/containers/storage/commit/09480532cf49617d7c745fe1ee92487c60c49e1d https://github.com/containers/podman/blob/main/docs/tutorials/performance.md Things that did not appear to make a difference: * volume mounting /var/lib/container https://github.com/containers/buildah/issues/3666#issuecomment-1351992335 * enable transientStore https://www.redhat.com/sysadmin/speed-containers-podman-raspberry-pi note: currently incompatible with debian Change-Id: I002e88b4b6162f6732e622fd97639d543c66784c
-rw-r--r--tests/playbooks/pre.yml17
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/playbooks/pre.yml b/tests/playbooks/pre.yml
index c8b2b0a58..7fbe412e3 100644
--- a/tests/playbooks/pre.yml
+++ b/tests/playbooks/pre.yml
@@ -227,6 +227,23 @@
name: podman
become: true
+ # NOTE(jangutter): It appears that the default mount option
+ # in the shipped `/etc/containers/storage.conf` for EL9 based distros
+ # (Rocky, CentOS Stream, ...) has severe performance implications for
+ # Kolla builds. This is because enabling `metacopy=on` disables `Native
+ # Overlay Diff` This can be removed if the config is dropped from those
+ # distros, or the underlying incompatibility can somehow be addressed.
+ # Debian based distros do not ship `storage.conf` and seem
+ # to be unaffected.
+ - name: Remove metacopy, enable native overlay diff
+ ini_file:
+ path: /etc/containers/storage.conf
+ section: storage.options.overlay
+ option: mountopt
+ value: '"nodev"'
+ become: true
+ when: ansible_os_family == "RedHat"
+
- name: Ensure Podman service is started
service:
name: podman