aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.rst6
-rw-r--r--doc/source/admin/image-building.rst91
-rw-r--r--doc/source/contributor/contributing.rst41
-rw-r--r--kolla/common/config.py3
-rw-r--r--kolla/docker/aodh/aodh-api/Dockerfile.j2 (renamed from docker/aodh/aodh-api/Dockerfile.j2)0
-rw-r--r--kolla/docker/aodh/aodh-api/extend_start.sh (renamed from docker/aodh/aodh-api/extend_start.sh)0
-rw-r--r--kolla/docker/aodh/aodh-base/Dockerfile.j2 (renamed from docker/aodh/aodh-base/Dockerfile.j2)0
-rw-r--r--kolla/docker/aodh/aodh-base/aodh_sudoers (renamed from docker/aodh/aodh-base/aodh_sudoers)0
-rwxr-xr-xkolla/docker/aodh/aodh-base/extend_start.sh (renamed from docker/aodh/aodh-base/extend_start.sh)0
-rw-r--r--kolla/docker/aodh/aodh-evaluator/Dockerfile.j2 (renamed from docker/aodh/aodh-evaluator/Dockerfile.j2)0
-rw-r--r--kolla/docker/aodh/aodh-expirer/Dockerfile.j2 (renamed from docker/aodh/aodh-expirer/Dockerfile.j2)0
-rw-r--r--kolla/docker/aodh/aodh-listener/Dockerfile.j2 (renamed from docker/aodh/aodh-listener/Dockerfile.j2)0
-rw-r--r--kolla/docker/aodh/aodh-notifier/Dockerfile.j2 (renamed from docker/aodh/aodh-notifier/Dockerfile.j2)0
-rw-r--r--kolla/docker/barbican/barbican-api/Dockerfile.j2 (renamed from docker/barbican/barbican-api/Dockerfile.j2)0
-rwxr-xr-xkolla/docker/barbican/barbican-api/extend_start.sh (renamed from docker/barbican/barbican-api/extend_start.sh)0
-rw-r--r--kolla/docker/barbican/barbican-base/Dockerfile.j2 (renamed from docker/barbican/barbican-base/Dockerfile.j2)0
-rw-r--r--kolla/docker/barbican/barbican-base/barbican_sudoers (renamed from docker/barbican/barbican-base/barbican_sudoers)0
-rwxr-xr-xkolla/docker/barbican/barbican-base/extend_start.sh (renamed from docker/barbican/barbican-base/extend_start.sh)0
-rw-r--r--kolla/docker/barbican/barbican-keystone-listener/Dockerfile.j2 (renamed from docker/barbican/barbican-keystone-listener/Dockerfile.j2)0
-rw-r--r--kolla/docker/barbican/barbican-worker/Dockerfile.j2 (renamed from docker/barbican/barbican-worker/Dockerfile.j2)0
-rw-r--r--kolla/docker/base/Dockerfile.j2 (renamed from docker/base/Dockerfile.j2)14
-rw-r--r--kolla/docker/base/apt_preferences (renamed from docker/base/apt_preferences)0
-rw-r--r--kolla/docker/base/apt_preferences.debian (renamed from docker/base/apt_preferences.debian)0
-rw-r--r--kolla/docker/base/apt_preferences.ubuntu (renamed from docker/base/apt_preferences.ubuntu)0
-rw-r--r--kolla/docker/base/ci-centos.repo (renamed from docker/base/ci-centos.repo)0
-rw-r--r--kolla/docker/base/copy_cacerts.sh (renamed from docker/base/copy_cacerts.sh)0
-rw-r--r--kolla/docker/base/curlrc (renamed from docker/base/curlrc)0
-rw-r--r--kolla/docker/base/debian.sources (renamed from docker/base/debian.sources)0
-rw-r--r--kolla/docker/base/dnf.conf (renamed from docker/base/dnf.conf)0
-rw-r--r--kolla/docker/base/dpkg_reducing_disk_footprint (renamed from docker/base/dpkg_reducing_disk_footprint)0
-rwxr-xr-xkolla/docker/base/healthcheck_curl (renamed from docker/base/healthcheck_curl)0
-rwxr-xr-xkolla/docker/base/healthcheck_filemod (renamed from docker/base/healthcheck_filemod)0
-rwxr-xr-xkolla/docker/base/healthcheck_listen (renamed from docker/base/healthcheck_listen)0
-rwxr-xr-xkolla/docker/base/healthcheck_port (renamed from docker/base/healthcheck_port)0
-rwxr-xr-xkolla/docker/base/healthcheck_socket (renamed from docker/base/healthcheck_socket)0
-rw-r--r--kolla/docker/base/install_projects.sh (renamed from docker/base/install_projects.sh)0
-rw-r--r--kolla/docker/base/kolla_bashrc (renamed from docker/base/kolla_bashrc)0
-rwxr-xr-xkolla/docker/base/kolla_patch.sh (renamed from docker/base/kolla_patch.sh)0
-rw-r--r--kolla/docker/base/set_configs.py (renamed from docker/base/set_configs.py)0
-rw-r--r--kolla/docker/base/sources.list (renamed from docker/base/sources.list)0
-rw-r--r--kolla/docker/base/start.sh (renamed from docker/base/start.sh)0
-rw-r--r--kolla/docker/base/sudoers (renamed from docker/base/sudoers)0
-rw-r--r--kolla/docker/base/ubuntu.sources (renamed from docker/base/ubuntu.sources)7
-rw-r--r--kolla/docker/base/ubuntu.sources.arm64 (renamed from docker/base/ubuntu.sources.arm64)0
-rw-r--r--kolla/docker/bifrost/bifrost-base/Dockerfile.j2 (renamed from docker/bifrost/bifrost-base/Dockerfile.j2)0
-rw-r--r--kolla/docker/bifrost/bifrost-base/bifrost_sudoers (renamed from docker/bifrost/bifrost-base/bifrost_sudoers)0
-rw-r--r--kolla/docker/bifrost/bifrost-base/build_arg.yml (renamed from docker/bifrost/bifrost-base/build_arg.yml)0
-rw-r--r--kolla/docker/bifrost/bifrost-deploy/Dockerfile.j2 (renamed from docker/bifrost/bifrost-deploy/Dockerfile.j2)0
-rw-r--r--kolla/docker/blazar/blazar-api/Dockerfile.j2 (renamed from docker/blazar/blazar-api/Dockerfile.j2)0
-rw-r--r--kolla/docker/blazar/blazar-api/extend_start.sh (renamed from docker/blazar/blazar-api/extend_start.sh)0
-rw-r--r--kolla/docker/blazar/blazar-base/Dockerfile.j2 (renamed from docker/blazar/blazar-base/Dockerfile.j2)0
-rw-r--r--kolla/docker/blazar/blazar-base/extend_start.sh (renamed from docker/blazar/blazar-base/extend_start.sh)0
-rw-r--r--kolla/docker/blazar/blazar-manager/Dockerfile.j2 (renamed from docker/blazar/blazar-manager/Dockerfile.j2)0
-rw-r--r--kolla/docker/ceilometer/ceilometer-base/Dockerfile.j2 (renamed from docker/ceilometer/ceilometer-base/Dockerfile.j2)0
-rw-r--r--kolla/docker/ceilometer/ceilometer-base/ceilometer_sudoers (renamed from docker/ceilometer/ceilometer-base/ceilometer_sudoers)0
-rw-r--r--kolla/docker/ceilometer/ceilometer-base/extend_start.sh (renamed from docker/ceilometer/ceilometer-base/extend_start.sh)0
-rw-r--r--kolla/docker/ceilometer/ceilometer-central/Dockerfile.j2 (renamed from docker/ceilometer/ceilometer-central/Dockerfile.j2)0
-rw-r--r--kolla/docker/ceilometer/ceilometer-compute/Dockerfile.j2 (renamed from docker/ceilometer/ceilometer-compute/Dockerfile.j2)0
-rw-r--r--kolla/docker/ceilometer/ceilometer-ipmi/Dockerfile.j2 (renamed from docker/ceilometer/ceilometer-ipmi/Dockerfile.j2)0
-rw-r--r--kolla/docker/ceilometer/ceilometer-notification/Dockerfile.j2 (renamed from docker/ceilometer/ceilometer-notification/Dockerfile.j2)0
-rw-r--r--kolla/docker/ceilometer/ceilometer-notification/extend_start.sh (renamed from docker/ceilometer/ceilometer-notification/extend_start.sh)0
-rw-r--r--kolla/docker/cinder/cinder-api/Dockerfile.j2 (renamed from docker/cinder/cinder-api/Dockerfile.j2)0
-rw-r--r--kolla/docker/cinder/cinder-api/extend_start.sh (renamed from docker/cinder/cinder-api/extend_start.sh)0
-rw-r--r--kolla/docker/cinder/cinder-backup/Dockerfile.j2 (renamed from docker/cinder/cinder-backup/Dockerfile.j2)0
-rw-r--r--kolla/docker/cinder/cinder-base/Dockerfile.j2 (renamed from docker/cinder/cinder-base/Dockerfile.j2)0
-rw-r--r--kolla/docker/cinder/cinder-base/cinder_sudoers (renamed from docker/cinder/cinder-base/cinder_sudoers)0
-rw-r--r--kolla/docker/cinder/cinder-base/extend_start.sh (renamed from docker/cinder/cinder-base/extend_start.sh)0
-rw-r--r--kolla/docker/cinder/cinder-scheduler/Dockerfile.j2 (renamed from docker/cinder/cinder-scheduler/Dockerfile.j2)0
-rw-r--r--kolla/docker/cinder/cinder-volume/Dockerfile.j2 (renamed from docker/cinder/cinder-volume/Dockerfile.j2)0
-rw-r--r--kolla/docker/cinder/cinder-volume/cinder_sudoers (renamed from docker/cinder/cinder-volume/cinder_sudoers)0
-rw-r--r--kolla/docker/cinder/cinder-volume/extend_start.sh (renamed from docker/cinder/cinder-volume/extend_start.sh)0
-rw-r--r--kolla/docker/cloudkitty/cloudkitty-api/Dockerfile.j2 (renamed from docker/cloudkitty/cloudkitty-api/Dockerfile.j2)0
-rw-r--r--kolla/docker/cloudkitty/cloudkitty-api/extend_start.sh (renamed from docker/cloudkitty/cloudkitty-api/extend_start.sh)0
-rw-r--r--kolla/docker/cloudkitty/cloudkitty-base/Dockerfile.j2 (renamed from docker/cloudkitty/cloudkitty-base/Dockerfile.j2)0
-rw-r--r--kolla/docker/cloudkitty/cloudkitty-base/extend_start.sh (renamed from docker/cloudkitty/cloudkitty-base/extend_start.sh)0
-rw-r--r--kolla/docker/cloudkitty/cloudkitty-processor/Dockerfile.j2 (renamed from docker/cloudkitty/cloudkitty-processor/Dockerfile.j2)0
-rw-r--r--kolla/docker/collectd/Dockerfile.j2 (renamed from docker/collectd/Dockerfile.j2)0
-rw-r--r--kolla/docker/collectd/extend_start.sh (renamed from docker/collectd/extend_start.sh)0
-rw-r--r--kolla/docker/cron/Dockerfile.j2 (renamed from docker/cron/Dockerfile.j2)0
-rw-r--r--kolla/docker/cron/extend_start.sh (renamed from docker/cron/extend_start.sh)0
-rwxr-xr-xkolla/docker/cron/logrotate (renamed from docker/cron/logrotate)0
-rw-r--r--kolla/docker/cyborg/cyborg-agent/Dockerfile.j2 (renamed from docker/cyborg/cyborg-agent/Dockerfile.j2)0
-rw-r--r--kolla/docker/cyborg/cyborg-api/Dockerfile.j2 (renamed from docker/cyborg/cyborg-api/Dockerfile.j2)0
-rw-r--r--kolla/docker/cyborg/cyborg-api/extend_start.sh (renamed from docker/cyborg/cyborg-api/extend_start.sh)0
-rw-r--r--kolla/docker/cyborg/cyborg-base/Dockerfile.j2 (renamed from docker/cyborg/cyborg-base/Dockerfile.j2)0
-rw-r--r--kolla/docker/cyborg/cyborg-base/cyborg_sudoers (renamed from docker/cyborg/cyborg-base/cyborg_sudoers)0
-rwxr-xr-xkolla/docker/cyborg/cyborg-base/extend_start.sh (renamed from docker/cyborg/cyborg-base/extend_start.sh)0
-rw-r--r--kolla/docker/cyborg/cyborg-conductor/Dockerfile.j2 (renamed from docker/cyborg/cyborg-conductor/Dockerfile.j2)0
-rw-r--r--kolla/docker/designate/designate-api/Dockerfile.j2 (renamed from docker/designate/designate-api/Dockerfile.j2)0
-rw-r--r--kolla/docker/designate/designate-backend-bind9/Dockerfile.j2 (renamed from docker/designate/designate-backend-bind9/Dockerfile.j2)0
-rw-r--r--kolla/docker/designate/designate-base/Dockerfile.j2 (renamed from docker/designate/designate-base/Dockerfile.j2)0
-rw-r--r--kolla/docker/designate/designate-base/designate_sudoers (renamed from docker/designate/designate-base/designate_sudoers)0
-rw-r--r--kolla/docker/designate/designate-base/extend_start.sh (renamed from docker/designate/designate-base/extend_start.sh)0
-rw-r--r--kolla/docker/designate/designate-central/Dockerfile.j2 (renamed from docker/designate/designate-central/Dockerfile.j2)0
-rw-r--r--kolla/docker/designate/designate-central/extend_start.sh (renamed from docker/designate/designate-central/extend_start.sh)0
-rw-r--r--kolla/docker/designate/designate-mdns/Dockerfile.j2 (renamed from docker/designate/designate-mdns/Dockerfile.j2)0
-rw-r--r--kolla/docker/designate/designate-producer/Dockerfile.j2 (renamed from docker/designate/designate-producer/Dockerfile.j2)0
-rw-r--r--kolla/docker/designate/designate-sink/Dockerfile.j2 (renamed from docker/designate/designate-sink/Dockerfile.j2)0
-rw-r--r--kolla/docker/designate/designate-worker/Dockerfile.j2 (renamed from docker/designate/designate-worker/Dockerfile.j2)0
-rw-r--r--kolla/docker/dnsmasq/Dockerfile.j2 (renamed from docker/dnsmasq/Dockerfile.j2)0
-rw-r--r--kolla/docker/dnsmasq/extend_start.sh (renamed from docker/dnsmasq/extend_start.sh)0
-rw-r--r--kolla/docker/etcd/Dockerfile.j2 (renamed from docker/etcd/Dockerfile.j2)0
-rw-r--r--kolla/docker/etcd/etcd_sudoers (renamed from docker/etcd/etcd_sudoers)0
-rw-r--r--kolla/docker/etcd/extend_start.sh (renamed from docker/etcd/extend_start.sh)0
-rw-r--r--kolla/docker/fluentd/Dockerfile.j2 (renamed from docker/fluentd/Dockerfile.j2)0
-rw-r--r--kolla/docker/fluentd/extend_start.sh (renamed from docker/fluentd/extend_start.sh)0
-rw-r--r--kolla/docker/fluentd/fluentd_sudoers (renamed from docker/fluentd/fluentd_sudoers)0
-rw-r--r--kolla/docker/glance/glance-api/Dockerfile.j2 (renamed from docker/glance/glance-api/Dockerfile.j2)0
-rw-r--r--kolla/docker/glance/glance-api/extend_start.sh (renamed from docker/glance/glance-api/extend_start.sh)0
-rw-r--r--kolla/docker/glance/glance-base/Dockerfile.j2 (renamed from docker/glance/glance-base/Dockerfile.j2)0
-rw-r--r--kolla/docker/glance/glance-base/etc/glance/rootwrap.conf (renamed from docker/glance/glance-base/etc/glance/rootwrap.conf)0
-rw-r--r--kolla/docker/glance/glance-base/etc/glance/rootwrap.d/glance_cinder_store.filters (renamed from docker/glance/glance-base/etc/glance/rootwrap.d/glance_cinder_store.filters)0
-rw-r--r--kolla/docker/glance/glance-base/extend_start.sh (renamed from docker/glance/glance-base/extend_start.sh)0
-rw-r--r--kolla/docker/glance/glance-base/glance_sudoers (renamed from docker/glance/glance-base/glance_sudoers)0
-rw-r--r--kolla/docker/gnocchi/gnocchi-api/Dockerfile.j2 (renamed from docker/gnocchi/gnocchi-api/Dockerfile.j2)0
-rw-r--r--kolla/docker/gnocchi/gnocchi-api/extend_start.sh (renamed from docker/gnocchi/gnocchi-api/extend_start.sh)0
-rw-r--r--kolla/docker/gnocchi/gnocchi-base/Dockerfile.j2 (renamed from docker/gnocchi/gnocchi-base/Dockerfile.j2)0
-rw-r--r--kolla/docker/gnocchi/gnocchi-base/extend_start.sh (renamed from docker/gnocchi/gnocchi-base/extend_start.sh)0
-rw-r--r--kolla/docker/gnocchi/gnocchi-base/gnocchi_sudoers (renamed from docker/gnocchi/gnocchi-base/gnocchi_sudoers)0
-rw-r--r--kolla/docker/gnocchi/gnocchi-metricd/Dockerfile.j2 (renamed from docker/gnocchi/gnocchi-metricd/Dockerfile.j2)0
-rw-r--r--kolla/docker/gnocchi/gnocchi-statsd/Dockerfile.j2 (renamed from docker/gnocchi/gnocchi-statsd/Dockerfile.j2)0
-rw-r--r--kolla/docker/grafana/Dockerfile.j2 (renamed from docker/grafana/Dockerfile.j2)0
-rw-r--r--kolla/docker/grafana/extend_start.sh (renamed from docker/grafana/extend_start.sh)0
-rw-r--r--kolla/docker/grafana/grafana_sudoers (renamed from docker/grafana/grafana_sudoers)0
-rw-r--r--kolla/docker/hacluster/hacluster-base/Dockerfile.j2 (renamed from docker/hacluster/hacluster-base/Dockerfile.j2)0
-rw-r--r--kolla/docker/hacluster/hacluster-base/extend_start.sh (renamed from docker/hacluster/hacluster-base/extend_start.sh)0
-rw-r--r--kolla/docker/hacluster/hacluster-corosync/Dockerfile.j2 (renamed from docker/hacluster/hacluster-corosync/Dockerfile.j2)0
-rw-r--r--kolla/docker/hacluster/hacluster-pacemaker-remote/Dockerfile.j2 (renamed from docker/hacluster/hacluster-pacemaker-remote/Dockerfile.j2)0
-rw-r--r--kolla/docker/hacluster/hacluster-pacemaker/Dockerfile.j2 (renamed from docker/hacluster/hacluster-pacemaker/Dockerfile.j2)0
-rw-r--r--kolla/docker/hacluster/hacluster-pcs/Dockerfile.j2 (renamed from docker/hacluster/hacluster-pcs/Dockerfile.j2)0
-rw-r--r--kolla/docker/haproxy/haproxy-ssh/Dockerfile.j2 (renamed from docker/haproxy/haproxy-ssh/Dockerfile.j2)0
-rw-r--r--kolla/docker/haproxy/haproxy-ssh/extend_start.sh (renamed from docker/haproxy/haproxy-ssh/extend_start.sh)0
-rwxr-xr-xkolla/docker/haproxy/haproxy-ssh/update-loadbalancer-cert.sh (renamed from docker/haproxy/haproxy-ssh/update-loadbalancer-cert.sh)0
-rw-r--r--kolla/docker/haproxy/haproxy/Dockerfile.j2 (renamed from docker/haproxy/haproxy/Dockerfile.j2)0
-rw-r--r--kolla/docker/haproxy/haproxy/ensure_latest_config.sh (renamed from docker/haproxy/haproxy/ensure_latest_config.sh)0
-rw-r--r--kolla/docker/heat/heat-api-cfn/Dockerfile.j2 (renamed from docker/heat/heat-api-cfn/Dockerfile.j2)0
-rw-r--r--kolla/docker/heat/heat-api/Dockerfile.j2 (renamed from docker/heat/heat-api/Dockerfile.j2)0
-rw-r--r--kolla/docker/heat/heat-api/extend_start.sh (renamed from docker/heat/heat-api/extend_start.sh)0
-rw-r--r--kolla/docker/heat/heat-base/Dockerfile.j2 (renamed from docker/heat/heat-base/Dockerfile.j2)0
-rw-r--r--kolla/docker/heat/heat-base/extend_start.sh (renamed from docker/heat/heat-base/extend_start.sh)0
-rw-r--r--kolla/docker/heat/heat-engine/Dockerfile.j2 (renamed from docker/heat/heat-engine/Dockerfile.j2)0
-rw-r--r--kolla/docker/horizon/Dockerfile.j2 (renamed from docker/horizon/Dockerfile.j2)0
-rw-r--r--kolla/docker/horizon/extend_start.sh (renamed from docker/horizon/extend_start.sh)0
-rw-r--r--kolla/docker/httpd/Dockerfile.j2 (renamed from docker/httpd/Dockerfile.j2)0
-rw-r--r--kolla/docker/httpd/extend_start.sh (renamed from docker/httpd/extend_start.sh)0
-rw-r--r--kolla/docker/httpd/httpd_setup.sh (renamed from docker/httpd/httpd_setup.sh)0
-rw-r--r--kolla/docker/ironic/ironic-api/Dockerfile.j2 (renamed from docker/ironic/ironic-api/Dockerfile.j2)0
-rw-r--r--kolla/docker/ironic/ironic-api/extend_start.sh (renamed from docker/ironic/ironic-api/extend_start.sh)0
-rw-r--r--kolla/docker/ironic/ironic-base/Dockerfile.j2 (renamed from docker/ironic/ironic-base/Dockerfile.j2)2
-rw-r--r--kolla/docker/ironic/ironic-base/extend_start.sh (renamed from docker/ironic/ironic-base/extend_start.sh)0
-rw-r--r--kolla/docker/ironic/ironic-base/ironic_sudoers (renamed from docker/ironic/ironic-base/ironic_sudoers)0
-rw-r--r--kolla/docker/ironic/ironic-conductor/Dockerfile.j2 (renamed from docker/ironic/ironic-conductor/Dockerfile.j2)1
-rw-r--r--kolla/docker/ironic/ironic-prometheus-exporter/Dockerfile.j2 (renamed from docker/ironic/ironic-prometheus-exporter/Dockerfile.j2)0
-rw-r--r--kolla/docker/ironic/ironic-pxe-filter/Dockerfile.j2 (renamed from docker/ironic/ironic-pxe-filter/Dockerfile.j2)0
-rw-r--r--kolla/docker/ironic/ironic-pxe-filter/extend_start.sh (renamed from docker/ironic/ironic-pxe-filter/extend_start.sh)0
-rw-r--r--kolla/docker/ironic/ironic-pxe/Dockerfile.j2 (renamed from docker/ironic/ironic-pxe/Dockerfile.j2)0
-rw-r--r--kolla/docker/ironic/ironic-pxe/extend_start.sh (renamed from docker/ironic/ironic-pxe/extend_start.sh)0
-rw-r--r--kolla/docker/ironic/ironic-pxe/tftp-map-file-template (renamed from docker/ironic/ironic-pxe/tftp-map-file-template)0
-rw-r--r--kolla/docker/iscsid/Dockerfile.j2 (renamed from docker/iscsid/Dockerfile.j2)0
-rw-r--r--kolla/docker/iscsid/extend_start.sh (renamed from docker/iscsid/extend_start.sh)0
-rw-r--r--kolla/docker/keepalived/Dockerfile.j2 (renamed from docker/keepalived/Dockerfile.j2)0
-rw-r--r--kolla/docker/keepalived/check_alive.sh (renamed from docker/keepalived/check_alive.sh)0
-rw-r--r--kolla/docker/keepalived/extend_start.sh (renamed from docker/keepalived/extend_start.sh)0
-rw-r--r--kolla/docker/kerbside/kerbside-api/Dockerfile.j2 (renamed from docker/kerbside/kerbside-api/Dockerfile.j2)0
-rw-r--r--kolla/docker/kerbside/kerbside-api/extend_start.sh (renamed from docker/kerbside/kerbside-api/extend_start.sh)0
-rw-r--r--kolla/docker/kerbside/kerbside-base/Dockerfile.j2 (renamed from docker/kerbside/kerbside-base/Dockerfile.j2)0
-rw-r--r--kolla/docker/kerbside/kerbside-proxy/Dockerfile.j2 (renamed from docker/kerbside/kerbside-proxy/Dockerfile.j2)0
-rw-r--r--kolla/docker/kerbside/kerbside-proxy/extend_start.sh (renamed from docker/kerbside/kerbside-proxy/extend_start.sh)0
-rw-r--r--kolla/docker/keystone/keystone-base/Dockerfile.j2 (renamed from docker/keystone/keystone-base/Dockerfile.j2)0
-rw-r--r--kolla/docker/keystone/keystone-fernet/Dockerfile.j2 (renamed from docker/keystone/keystone-fernet/Dockerfile.j2)0
-rw-r--r--kolla/docker/keystone/keystone-fernet/extend_start.sh (renamed from docker/keystone/keystone-fernet/extend_start.sh)0
-rw-r--r--kolla/docker/keystone/keystone-fernet/fetch_fernet_tokens.py (renamed from docker/keystone/keystone-fernet/fetch_fernet_tokens.py)0
-rw-r--r--kolla/docker/keystone/keystone-fernet/keystone_bootstrap.sh (renamed from docker/keystone/keystone-fernet/keystone_bootstrap.sh)0
-rw-r--r--kolla/docker/keystone/keystone-ssh/Dockerfile.j2 (renamed from docker/keystone/keystone-ssh/Dockerfile.j2)0
-rw-r--r--kolla/docker/keystone/keystone-ssh/extend_start.sh (renamed from docker/keystone/keystone-ssh/extend_start.sh)0
-rw-r--r--kolla/docker/keystone/keystone/Dockerfile.j2 (renamed from docker/keystone/keystone/Dockerfile.j2)0
-rw-r--r--kolla/docker/keystone/keystone/extend_start.sh (renamed from docker/keystone/keystone/extend_start.sh)0
-rw-r--r--kolla/docker/keystone/keystone/keystone_bootstrap.sh (renamed from docker/keystone/keystone/keystone_bootstrap.sh)0
-rw-r--r--kolla/docker/kolla-toolbox/Dockerfile.j2 (renamed from docker/kolla-toolbox/Dockerfile.j2)0
-rw-r--r--kolla/docker/kolla-toolbox/ansible.cfg (renamed from docker/kolla-toolbox/ansible.cfg)0
-rw-r--r--kolla/docker/kolla-toolbox/ansible_sudoers (renamed from docker/kolla-toolbox/ansible_sudoers)0
l---------kolla/docker/kolla-toolbox/apt_preferences_rabbitmq.debian (renamed from docker/kolla-toolbox/apt_preferences_rabbitmq.debian)0
l---------kolla/docker/kolla-toolbox/apt_preferences_rabbitmq.ubuntu (renamed from docker/kolla-toolbox/apt_preferences_rabbitmq.ubuntu)0
-rw-r--r--kolla/docker/kolla-toolbox/extend_start.sh (renamed from docker/kolla-toolbox/extend_start.sh)0
-rw-r--r--kolla/docker/kolla-toolbox/kolla_toolbox.sh (renamed from docker/kolla-toolbox/kolla_toolbox.sh)0
-rw-r--r--kolla/docker/kolla-toolbox/requirements.yml (renamed from docker/kolla-toolbox/requirements.yml)0
-rw-r--r--kolla/docker/letsencrypt/letsencrypt-base/Dockerfile.j2 (renamed from docker/letsencrypt/letsencrypt-base/Dockerfile.j2)0
-rw-r--r--kolla/docker/letsencrypt/letsencrypt-base/extend_start.sh (renamed from docker/letsencrypt/letsencrypt-base/extend_start.sh)0
-rwxr-xr-xkolla/docker/letsencrypt/letsencrypt-lego/Dockerfile.j2 (renamed from docker/letsencrypt/letsencrypt-lego/Dockerfile.j2)0
-rwxr-xr-xkolla/docker/letsencrypt/letsencrypt-lego/letsencrypt-certificates.sh (renamed from docker/letsencrypt/letsencrypt-lego/letsencrypt-certificates.sh)0
-rw-r--r--kolla/docker/letsencrypt/letsencrypt-lego/sync-and-update-certificate.sh (renamed from docker/letsencrypt/letsencrypt-lego/sync-and-update-certificate.sh)0
-rw-r--r--kolla/docker/macros.j2 (renamed from docker/macros.j2)0
-rw-r--r--kolla/docker/magnum/magnum-api/Dockerfile.j2 (renamed from docker/magnum/magnum-api/Dockerfile.j2)0
-rw-r--r--kolla/docker/magnum/magnum-api/extend_start.sh (renamed from docker/magnum/magnum-api/extend_start.sh)0
-rw-r--r--kolla/docker/magnum/magnum-base/Dockerfile.j2 (renamed from docker/magnum/magnum-base/Dockerfile.j2)0
-rw-r--r--kolla/docker/magnum/magnum-base/extend_start.sh (renamed from docker/magnum/magnum-base/extend_start.sh)0
-rw-r--r--kolla/docker/magnum/magnum-conductor/Dockerfile.j2 (renamed from docker/magnum/magnum-conductor/Dockerfile.j2)0
-rw-r--r--kolla/docker/manila/manila-api/Dockerfile.j2 (renamed from docker/manila/manila-api/Dockerfile.j2)0
-rw-r--r--kolla/docker/manila/manila-api/extend_start.sh (renamed from docker/manila/manila-api/extend_start.sh)0
-rw-r--r--kolla/docker/manila/manila-base/Dockerfile.j2 (renamed from docker/manila/manila-base/Dockerfile.j2)0
-rw-r--r--kolla/docker/manila/manila-base/extend_start.sh (renamed from docker/manila/manila-base/extend_start.sh)0
-rw-r--r--kolla/docker/manila/manila-base/manila_sudoers (renamed from docker/manila/manila-base/manila_sudoers)0
-rw-r--r--kolla/docker/manila/manila-data/Dockerfile.j2 (renamed from docker/manila/manila-data/Dockerfile.j2)0
-rw-r--r--kolla/docker/manila/manila-scheduler/Dockerfile.j2 (renamed from docker/manila/manila-scheduler/Dockerfile.j2)0
-rw-r--r--kolla/docker/manila/manila-share/Dockerfile.j2 (renamed from docker/manila/manila-share/Dockerfile.j2)0
-rw-r--r--kolla/docker/mariadb-server/Dockerfile.j2 (renamed from docker/mariadb-server/Dockerfile.j2)0
-rw-r--r--kolla/docker/mariadb-server/backup.sh (renamed from docker/mariadb-server/backup.sh)0
-rw-r--r--kolla/docker/mariadb-server/backup_replica.sh (renamed from docker/mariadb-server/backup_replica.sh)0
-rw-r--r--kolla/docker/mariadb-server/extend_start.sh (renamed from docker/mariadb-server/extend_start.sh)0
-rwxr-xr-xkolla/docker/mariadb-server/healthcheck_mariadb (renamed from docker/mariadb-server/healthcheck_mariadb)0
-rw-r--r--kolla/docker/mariadb-server/mariadb_sudoers (renamed from docker/mariadb-server/mariadb_sudoers)0
-rw-r--r--kolla/docker/mariadb-server/security_reset.expect (renamed from docker/mariadb-server/security_reset.expect)0
-rw-r--r--kolla/docker/masakari/masakari-api/Dockerfile.j2 (renamed from docker/masakari/masakari-api/Dockerfile.j2)0
-rwxr-xr-xkolla/docker/masakari/masakari-api/extend_start.sh (renamed from docker/masakari/masakari-api/extend_start.sh)0
-rw-r--r--kolla/docker/masakari/masakari-base/Dockerfile.j2 (renamed from docker/masakari/masakari-base/Dockerfile.j2)0
-rwxr-xr-xkolla/docker/masakari/masakari-base/extend_start.sh (renamed from docker/masakari/masakari-base/extend_start.sh)0
-rw-r--r--kolla/docker/masakari/masakari-engine/Dockerfile.j2 (renamed from docker/masakari/masakari-engine/Dockerfile.j2)0
-rw-r--r--kolla/docker/masakari/masakari-monitors/Dockerfile.j2 (renamed from docker/masakari/masakari-monitors/Dockerfile.j2)0
-rw-r--r--kolla/docker/masakari/masakari-monitors/masakari_monitors_sudoers (renamed from docker/masakari/masakari-monitors/masakari_monitors_sudoers)0
-rw-r--r--kolla/docker/memcached/Dockerfile.j2 (renamed from docker/memcached/Dockerfile.j2)0
-rw-r--r--kolla/docker/mistral/mistral-api/Dockerfile.j2 (renamed from docker/mistral/mistral-api/Dockerfile.j2)0
-rw-r--r--kolla/docker/mistral/mistral-api/extend_start.sh (renamed from docker/mistral/mistral-api/extend_start.sh)0
-rw-r--r--kolla/docker/mistral/mistral-base/Dockerfile.j2 (renamed from docker/mistral/mistral-base/Dockerfile.j2)0
-rw-r--r--kolla/docker/mistral/mistral-base/extend_start.sh (renamed from docker/mistral/mistral-base/extend_start.sh)0
-rw-r--r--kolla/docker/mistral/mistral-engine/Dockerfile.j2 (renamed from docker/mistral/mistral-engine/Dockerfile.j2)0
-rw-r--r--kolla/docker/mistral/mistral-event-engine/Dockerfile.j2 (renamed from docker/mistral/mistral-event-engine/Dockerfile.j2)0
-rw-r--r--kolla/docker/mistral/mistral-executor/Dockerfile.j2 (renamed from docker/mistral/mistral-executor/Dockerfile.j2)0
-rw-r--r--kolla/docker/multipathd/Dockerfile.j2 (renamed from docker/multipathd/Dockerfile.j2)0
-rw-r--r--kolla/docker/networking-baremetal/ironic-neutron-agent/Dockerfile.j2 (renamed from docker/networking-baremetal/ironic-neutron-agent/Dockerfile.j2)0
-rw-r--r--kolla/docker/neutron/neutron-base/Dockerfile.j2 (renamed from docker/neutron/neutron-base/Dockerfile.j2)0
-rw-r--r--kolla/docker/neutron/neutron-base/copy-wrappers (renamed from docker/neutron/neutron-base/copy-wrappers)0
-rw-r--r--kolla/docker/neutron/neutron-base/delete-wrappers (renamed from docker/neutron/neutron-base/delete-wrappers)0
-rw-r--r--kolla/docker/neutron/neutron-base/dnsmasq (renamed from docker/neutron/neutron-base/dnsmasq)0
-rw-r--r--kolla/docker/neutron/neutron-base/extend_start.sh (renamed from docker/neutron/neutron-base/extend_start.sh)0
-rw-r--r--kolla/docker/neutron/neutron-base/haproxy (renamed from docker/neutron/neutron-base/haproxy)0
-rw-r--r--kolla/docker/neutron/neutron-base/keepalived (renamed from docker/neutron/neutron-base/keepalived)0
-rw-r--r--kolla/docker/neutron/neutron-base/neutron-keepalived-state-change (renamed from docker/neutron/neutron-base/neutron-keepalived-state-change)0
-rw-r--r--kolla/docker/neutron/neutron-base/neutron_sudoers (renamed from docker/neutron/neutron-base/neutron_sudoers)0
-rw-r--r--kolla/docker/neutron/neutron-base/radvd (renamed from docker/neutron/neutron-base/radvd)0
-rw-r--r--kolla/docker/neutron/neutron-bgp-dragent/Dockerfile.j2 (renamed from docker/neutron/neutron-bgp-dragent/Dockerfile.j2)0
-rw-r--r--kolla/docker/neutron/neutron-dhcp-agent/Dockerfile.j2 (renamed from docker/neutron/neutron-dhcp-agent/Dockerfile.j2)0
-rw-r--r--kolla/docker/neutron/neutron-dhcp-agent/extend_start.sh (renamed from docker/neutron/neutron-dhcp-agent/extend_start.sh)0
-rw-r--r--kolla/docker/neutron/neutron-l3-agent/Dockerfile.j2 (renamed from docker/neutron/neutron-l3-agent/Dockerfile.j2)0
-rw-r--r--kolla/docker/neutron/neutron-l3-agent/extend_start.sh (renamed from docker/neutron/neutron-l3-agent/extend_start.sh)0
-rw-r--r--kolla/docker/neutron/neutron-metadata-agent/Dockerfile.j2 (renamed from docker/neutron/neutron-metadata-agent/Dockerfile.j2)0
-rw-r--r--kolla/docker/neutron/neutron-metadata-agent/extend_start.sh (renamed from docker/neutron/neutron-metadata-agent/extend_start.sh)0
-rw-r--r--kolla/docker/neutron/neutron-metering-agent/Dockerfile.j2 (renamed from docker/neutron/neutron-metering-agent/Dockerfile.j2)0
-rw-r--r--kolla/docker/neutron/neutron-mlnx-agent/Dockerfile.j2 (renamed from docker/neutron/neutron-mlnx-agent/Dockerfile.j2)0
-rw-r--r--kolla/docker/neutron/neutron-openvswitch-agent/Dockerfile.j2 (renamed from docker/neutron/neutron-openvswitch-agent/Dockerfile.j2)0
-rw-r--r--kolla/docker/neutron/neutron-ovn-agent/Dockerfile.j2 (renamed from docker/neutron/neutron-ovn-agent/Dockerfile.j2)0
-rw-r--r--kolla/docker/neutron/neutron-ovn-vpn-agent/Dockerfile.j2 (renamed from docker/neutron/neutron-ovn-vpn-agent/Dockerfile.j2)0
-rw-r--r--kolla/docker/neutron/neutron-server/Dockerfile.j2 (renamed from docker/neutron/neutron-server/Dockerfile.j2)0
-rw-r--r--kolla/docker/neutron/neutron-server/extend_start.sh (renamed from docker/neutron/neutron-server/extend_start.sh)0
-rw-r--r--kolla/docker/neutron/neutron-sriov-agent/Dockerfile.j2 (renamed from docker/neutron/neutron-sriov-agent/Dockerfile.j2)0
-rw-r--r--kolla/docker/nova/nova-api/Dockerfile.j2 (renamed from docker/nova/nova-api/Dockerfile.j2)0
-rw-r--r--kolla/docker/nova/nova-api/extend_start.sh (renamed from docker/nova/nova-api/extend_start.sh)0
-rw-r--r--kolla/docker/nova/nova-base/Dockerfile.j2 (renamed from docker/nova/nova-base/Dockerfile.j2)0
-rw-r--r--kolla/docker/nova/nova-base/extend_start.sh (renamed from docker/nova/nova-base/extend_start.sh)0
-rw-r--r--kolla/docker/nova/nova-base/nova_sudoers (renamed from docker/nova/nova-base/nova_sudoers)0
-rw-r--r--kolla/docker/nova/nova-compute-ironic/Dockerfile.j2 (renamed from docker/nova/nova-compute-ironic/Dockerfile.j2)0
-rw-r--r--kolla/docker/nova/nova-compute/Dockerfile.j2 (renamed from docker/nova/nova-compute/Dockerfile.j2)0
-rw-r--r--kolla/docker/nova/nova-compute/extend_start.sh (renamed from docker/nova/nova-compute/extend_start.sh)0
-rw-r--r--kolla/docker/nova/nova-conductor/Dockerfile.j2 (renamed from docker/nova/nova-conductor/Dockerfile.j2)0
-rw-r--r--kolla/docker/nova/nova-conductor/extend_start.sh (renamed from docker/nova/nova-conductor/extend_start.sh)0
-rw-r--r--kolla/docker/nova/nova-libvirt-spice/Dockerfile.j2 (renamed from docker/nova/nova-libvirt-spice/Dockerfile.j2)0
-rw-r--r--kolla/docker/nova/nova-libvirt-spice/extend_start.sh (renamed from docker/nova/nova-libvirt-spice/extend_start.sh)0
-rw-r--r--kolla/docker/nova/nova-libvirt-spice/kolla_nova_libvirt_start.sh (renamed from docker/nova/nova-libvirt-spice/kolla_nova_libvirt_start.sh)0
-rw-r--r--kolla/docker/nova/nova-libvirt/Dockerfile.j2 (renamed from docker/nova/nova-libvirt/Dockerfile.j2)0
-rw-r--r--kolla/docker/nova/nova-libvirt/extend_start.sh (renamed from docker/nova/nova-libvirt/extend_start.sh)0
-rw-r--r--kolla/docker/nova/nova-libvirt/kolla_nova_libvirt_start.sh (renamed from docker/nova/nova-libvirt/kolla_nova_libvirt_start.sh)0
-rw-r--r--kolla/docker/nova/nova-novncproxy/Dockerfile.j2 (renamed from docker/nova/nova-novncproxy/Dockerfile.j2)0
-rw-r--r--kolla/docker/nova/nova-scheduler/Dockerfile.j2 (renamed from docker/nova/nova-scheduler/Dockerfile.j2)0
-rw-r--r--kolla/docker/nova/nova-serialproxy/Dockerfile.j2 (renamed from docker/nova/nova-serialproxy/Dockerfile.j2)0
-rw-r--r--kolla/docker/nova/nova-spicehtml5proxy/Dockerfile.j2 (renamed from docker/nova/nova-spicehtml5proxy/Dockerfile.j2)0
-rw-r--r--kolla/docker/nova/nova-ssh/Dockerfile.j2 (renamed from docker/nova/nova-ssh/Dockerfile.j2)0
-rw-r--r--kolla/docker/nova/nova-ssh/extend_start.sh (renamed from docker/nova/nova-ssh/extend_start.sh)0
-rw-r--r--kolla/docker/octavia/octavia-api/Dockerfile.j2 (renamed from docker/octavia/octavia-api/Dockerfile.j2)0
-rw-r--r--kolla/docker/octavia/octavia-api/extend_start.sh (renamed from docker/octavia/octavia-api/extend_start.sh)0
-rw-r--r--kolla/docker/octavia/octavia-base/Dockerfile.j2 (renamed from docker/octavia/octavia-base/Dockerfile.j2)0
-rw-r--r--kolla/docker/octavia/octavia-base/extend_start.sh (renamed from docker/octavia/octavia-base/extend_start.sh)0
-rw-r--r--kolla/docker/octavia/octavia-driver-agent/Dockerfile.j2 (renamed from docker/octavia/octavia-driver-agent/Dockerfile.j2)0
-rw-r--r--kolla/docker/octavia/octavia-health-manager/Dockerfile.j2 (renamed from docker/octavia/octavia-health-manager/Dockerfile.j2)0
-rw-r--r--kolla/docker/octavia/octavia-housekeeping/Dockerfile.j2 (renamed from docker/octavia/octavia-housekeeping/Dockerfile.j2)0
-rw-r--r--kolla/docker/octavia/octavia-worker/Dockerfile.j2 (renamed from docker/octavia/octavia-worker/Dockerfile.j2)0
-rw-r--r--kolla/docker/opensearch/opensearch-dashboards/Dockerfile.j2 (renamed from docker/opensearch/opensearch-dashboards/Dockerfile.j2)0
-rw-r--r--kolla/docker/opensearch/opensearch-dashboards/extend_start.sh (renamed from docker/opensearch/opensearch-dashboards/extend_start.sh)0
-rw-r--r--kolla/docker/opensearch/opensearch/Dockerfile.j2 (renamed from docker/opensearch/opensearch/Dockerfile.j2)0
-rw-r--r--kolla/docker/opensearch/opensearch/extend_start.sh (renamed from docker/opensearch/opensearch/extend_start.sh)0
-rw-r--r--kolla/docker/openstack-base/Dockerfile.j2 (renamed from docker/openstack-base/Dockerfile.j2)0
-rw-r--r--kolla/docker/openvswitch/openvswitch-base/Dockerfile.j2 (renamed from docker/openvswitch/openvswitch-base/Dockerfile.j2)0
-rw-r--r--kolla/docker/openvswitch/openvswitch-base/extend_start.sh (renamed from docker/openvswitch/openvswitch-base/extend_start.sh)0
-rw-r--r--kolla/docker/openvswitch/openvswitch-base/ovs_wrapper.sh (renamed from docker/openvswitch/openvswitch-base/ovs_wrapper.sh)0
-rw-r--r--kolla/docker/openvswitch/openvswitch-db-server/Dockerfile.j2 (renamed from docker/openvswitch/openvswitch-db-server/Dockerfile.j2)0
-rw-r--r--kolla/docker/openvswitch/openvswitch-db-server/extend_start.sh (renamed from docker/openvswitch/openvswitch-db-server/extend_start.sh)0
-rw-r--r--kolla/docker/openvswitch/openvswitch-db-server/releasenotes/notes/drop-ovs-ensure-configured-7973d36969e157fa.yaml (renamed from docker/openvswitch/openvswitch-db-server/releasenotes/notes/drop-ovs-ensure-configured-7973d36969e157fa.yaml)0
-rw-r--r--kolla/docker/openvswitch/openvswitch-vswitchd/Dockerfile.j2 (renamed from docker/openvswitch/openvswitch-vswitchd/Dockerfile.j2)0
-rw-r--r--kolla/docker/openvswitch/openvswitch-vswitchd/extend_start.sh (renamed from docker/openvswitch/openvswitch-vswitchd/extend_start.sh)0
-rw-r--r--kolla/docker/ovn/ovn-base/Dockerfile.j2 (renamed from docker/ovn/ovn-base/Dockerfile.j2)0
-rw-r--r--kolla/docker/ovn/ovn-base/extend_start.sh (renamed from docker/ovn/ovn-base/extend_start.sh)0
-rw-r--r--kolla/docker/ovn/ovn-controller/Dockerfile.j2 (renamed from docker/ovn/ovn-controller/Dockerfile.j2)0
-rw-r--r--kolla/docker/ovn/ovn-controller/extend_start.sh (renamed from docker/ovn/ovn-controller/extend_start.sh)0
-rw-r--r--kolla/docker/ovn/ovn-nb-db-server/Dockerfile.j2 (renamed from docker/ovn/ovn-nb-db-server/Dockerfile.j2)0
-rw-r--r--kolla/docker/ovn/ovn-nb-db-server/extend_start.sh (renamed from docker/ovn/ovn-nb-db-server/extend_start.sh)0
-rwxr-xr-xkolla/docker/ovn/ovn-nb-db-server/start_nb_db_server.sh (renamed from docker/ovn/ovn-nb-db-server/start_nb_db_server.sh)0
-rw-r--r--kolla/docker/ovn/ovn-northd/Dockerfile.j2 (renamed from docker/ovn/ovn-northd/Dockerfile.j2)0
-rw-r--r--kolla/docker/ovn/ovn-northd/extend_start.sh (renamed from docker/ovn/ovn-northd/extend_start.sh)0
-rw-r--r--kolla/docker/ovn/ovn-sb-db-relay/Dockerfile.j2 (renamed from docker/ovn/ovn-sb-db-relay/Dockerfile.j2)0
-rw-r--r--kolla/docker/ovn/ovn-sb-db-relay/extend_start.sh (renamed from docker/ovn/ovn-sb-db-relay/extend_start.sh)0
-rw-r--r--kolla/docker/ovn/ovn-sb-db-server/Dockerfile.j2 (renamed from docker/ovn/ovn-sb-db-server/Dockerfile.j2)0
-rw-r--r--kolla/docker/ovn/ovn-sb-db-server/extend_start.sh (renamed from docker/ovn/ovn-sb-db-server/extend_start.sh)0
-rwxr-xr-xkolla/docker/ovn/ovn-sb-db-server/start_sb_db_server.sh (renamed from docker/ovn/ovn-sb-db-server/start_sb_db_server.sh)0
-rw-r--r--kolla/docker/ovsdpdk/ovsdpdk-db/Dockerfile.j2 (renamed from docker/ovsdpdk/ovsdpdk-db/Dockerfile.j2)0
-rw-r--r--kolla/docker/ovsdpdk/ovsdpdk-db/extend_start.sh (renamed from docker/ovsdpdk/ovsdpdk-db/extend_start.sh)0
-rwxr-xr-xkolla/docker/ovsdpdk/ovsdpdk-db/start_ovsdb_server.sh (renamed from docker/ovsdpdk/ovsdpdk-db/start_ovsdb_server.sh)0
-rw-r--r--kolla/docker/ovsdpdk/ovsdpdk-vswitchd/Dockerfile.j2 (renamed from docker/ovsdpdk/ovsdpdk-vswitchd/Dockerfile.j2)0
-rw-r--r--kolla/docker/ovsdpdk/ovsdpdk-vswitchd/extend_start.sh (renamed from docker/ovsdpdk/ovsdpdk-vswitchd/extend_start.sh)0
-rw-r--r--kolla/docker/ovsdpdk/ovsdpdk/Dockerfile.j2 (renamed from docker/ovsdpdk/ovsdpdk/Dockerfile.j2)0
-rw-r--r--kolla/docker/ovsdpdk/ovsdpdk/extend_start.sh (renamed from docker/ovsdpdk/ovsdpdk/extend_start.sh)0
-rw-r--r--kolla/docker/placement/placement-api/Dockerfile.j2 (renamed from docker/placement/placement-api/Dockerfile.j2)0
-rw-r--r--kolla/docker/placement/placement-api/extend_start.sh (renamed from docker/placement/placement-api/extend_start.sh)0
-rw-r--r--kolla/docker/placement/placement-base/Dockerfile.j2 (renamed from docker/placement/placement-base/Dockerfile.j2)0
-rw-r--r--kolla/docker/placement/placement-base/extend_start.sh (renamed from docker/placement/placement-base/extend_start.sh)0
-rw-r--r--kolla/docker/prometheus/prometheus-alertmanager/Dockerfile.j2 (renamed from docker/prometheus/prometheus-alertmanager/Dockerfile.j2)0
-rw-r--r--kolla/docker/prometheus/prometheus-base/Dockerfile.j2 (renamed from docker/prometheus/prometheus-base/Dockerfile.j2)0
-rw-r--r--kolla/docker/prometheus/prometheus-base/extend_start.sh (renamed from docker/prometheus/prometheus-base/extend_start.sh)0
-rw-r--r--kolla/docker/prometheus/prometheus-blackbox-exporter/Dockerfile.j2 (renamed from docker/prometheus/prometheus-blackbox-exporter/Dockerfile.j2)0
-rw-r--r--kolla/docker/prometheus/prometheus-cadvisor/Dockerfile.j2 (renamed from docker/prometheus/prometheus-cadvisor/Dockerfile.j2)0
-rw-r--r--kolla/docker/prometheus/prometheus-elasticsearch-exporter/Dockerfile.j2 (renamed from docker/prometheus/prometheus-elasticsearch-exporter/Dockerfile.j2)0
-rw-r--r--kolla/docker/prometheus/prometheus-libvirt-exporter/Dockerfile.j2 (renamed from docker/prometheus/prometheus-libvirt-exporter/Dockerfile.j2)0
-rw-r--r--kolla/docker/prometheus/prometheus-memcached-exporter/Dockerfile.j2 (renamed from docker/prometheus/prometheus-memcached-exporter/Dockerfile.j2)0
-rw-r--r--kolla/docker/prometheus/prometheus-mtail/Dockerfile.j2 (renamed from docker/prometheus/prometheus-mtail/Dockerfile.j2)0
-rw-r--r--kolla/docker/prometheus/prometheus-mysqld-exporter/Dockerfile.j2 (renamed from docker/prometheus/prometheus-mysqld-exporter/Dockerfile.j2)0
-rw-r--r--kolla/docker/prometheus/prometheus-node-exporter/Dockerfile.j2 (renamed from docker/prometheus/prometheus-node-exporter/Dockerfile.j2)0
-rw-r--r--kolla/docker/prometheus/prometheus-openstack-exporter/Dockerfile.j2 (renamed from docker/prometheus/prometheus-openstack-exporter/Dockerfile.j2)0
-rw-r--r--kolla/docker/prometheus/prometheus-openstack-network-exporter/Dockerfile.j2 (renamed from docker/prometheus/prometheus-openstack-network-exporter/Dockerfile.j2)0
-rw-r--r--kolla/docker/prometheus/prometheus-server/Dockerfile.j2 (renamed from docker/prometheus/prometheus-server/Dockerfile.j2)0
-rw-r--r--kolla/docker/prometheus/prometheus-valkey-exporter/Dockerfile.j2 (renamed from docker/prometheus/prometheus-valkey-exporter/Dockerfile.j2)0
-rw-r--r--kolla/docker/proxysql/Dockerfile.j2 (renamed from docker/proxysql/Dockerfile.j2)0
-rw-r--r--kolla/docker/proxysql/kolla_extend_start (renamed from docker/proxysql/kolla_extend_start)0
-rw-r--r--kolla/docker/proxysql/kolla_proxysql_config_sync (renamed from docker/proxysql/kolla_proxysql_config_sync)0
-rw-r--r--kolla/docker/rabbitmq/Dockerfile.j2 (renamed from docker/rabbitmq/Dockerfile.j2)0
-rw-r--r--kolla/docker/rabbitmq/apt_preferences_rabbitmq.debian (renamed from docker/rabbitmq/apt_preferences_rabbitmq.debian)0
-rw-r--r--kolla/docker/rabbitmq/apt_preferences_rabbitmq.ubuntu (renamed from docker/rabbitmq/apt_preferences_rabbitmq.ubuntu)0
-rw-r--r--kolla/docker/rabbitmq/extend_start.sh (renamed from docker/rabbitmq/extend_start.sh)0
-rw-r--r--kolla/docker/rabbitmq/healthcheck_rabbitmq (renamed from docker/rabbitmq/healthcheck_rabbitmq)0
-rw-r--r--kolla/docker/skyline/skyline-apiserver/Dockerfile.j2 (renamed from docker/skyline/skyline-apiserver/Dockerfile.j2)0
-rw-r--r--kolla/docker/skyline/skyline-apiserver/extend_start.sh (renamed from docker/skyline/skyline-apiserver/extend_start.sh)0
-rw-r--r--kolla/docker/skyline/skyline-base/Dockerfile.j2 (renamed from docker/skyline/skyline-base/Dockerfile.j2)0
-rw-r--r--kolla/docker/skyline/skyline-base/extend_start.sh (renamed from docker/skyline/skyline-base/extend_start.sh)0
-rw-r--r--kolla/docker/skyline/skyline-console/Dockerfile.j2 (renamed from docker/skyline/skyline-console/Dockerfile.j2)0
-rw-r--r--kolla/docker/tacker/tacker-base/Dockerfile.j2 (renamed from docker/tacker/tacker-base/Dockerfile.j2)0
-rw-r--r--kolla/docker/tacker/tacker-base/extend_start.sh (renamed from docker/tacker/tacker-base/extend_start.sh)0
-rw-r--r--kolla/docker/tacker/tacker-conductor/Dockerfile.j2 (renamed from docker/tacker/tacker-conductor/Dockerfile.j2)0
-rw-r--r--kolla/docker/tacker/tacker-server/Dockerfile.j2 (renamed from docker/tacker/tacker-server/Dockerfile.j2)0
-rw-r--r--kolla/docker/tacker/tacker-server/extend_start.sh (renamed from docker/tacker/tacker-server/extend_start.sh)0
-rw-r--r--kolla/docker/tgtd/Dockerfile.j2 (renamed from docker/tgtd/Dockerfile.j2)0
-rw-r--r--kolla/docker/trove/trove-api/Dockerfile.j2 (renamed from docker/trove/trove-api/Dockerfile.j2)0
-rw-r--r--kolla/docker/trove/trove-api/extend_start.sh (renamed from docker/trove/trove-api/extend_start.sh)0
-rw-r--r--kolla/docker/trove/trove-base/Dockerfile.j2 (renamed from docker/trove/trove-base/Dockerfile.j2)0
-rw-r--r--kolla/docker/trove/trove-base/extend_start.sh (renamed from docker/trove/trove-base/extend_start.sh)0
-rw-r--r--kolla/docker/trove/trove-conductor/Dockerfile.j2 (renamed from docker/trove/trove-conductor/Dockerfile.j2)0
-rw-r--r--kolla/docker/trove/trove-guestagent/Dockerfile.j2 (renamed from docker/trove/trove-guestagent/Dockerfile.j2)0
-rw-r--r--kolla/docker/trove/trove-taskmanager/Dockerfile.j2 (renamed from docker/trove/trove-taskmanager/Dockerfile.j2)0
-rw-r--r--kolla/docker/valkey/valkey-base/Dockerfile.j2 (renamed from docker/valkey/valkey-base/Dockerfile.j2)0
-rw-r--r--kolla/docker/valkey/valkey-base/extend_start.sh (renamed from docker/valkey/valkey-base/extend_start.sh)0
-rw-r--r--kolla/docker/valkey/valkey-sentinel/Dockerfile.j2 (renamed from docker/valkey/valkey-sentinel/Dockerfile.j2)0
-rw-r--r--kolla/docker/valkey/valkey-sentinel/extend_start.sh (renamed from docker/valkey/valkey-sentinel/extend_start.sh)0
-rw-r--r--kolla/docker/valkey/valkey-server/Dockerfile.j2 (renamed from docker/valkey/valkey-server/Dockerfile.j2)0
-rw-r--r--kolla/docker/watcher/watcher-api/Dockerfile.j2 (renamed from docker/watcher/watcher-api/Dockerfile.j2)0
-rw-r--r--kolla/docker/watcher/watcher-api/extend_start.sh (renamed from docker/watcher/watcher-api/extend_start.sh)0
-rw-r--r--kolla/docker/watcher/watcher-applier/Dockerfile.j2 (renamed from docker/watcher/watcher-applier/Dockerfile.j2)0
-rw-r--r--kolla/docker/watcher/watcher-base/Dockerfile.j2 (renamed from docker/watcher/watcher-base/Dockerfile.j2)0
-rw-r--r--kolla/docker/watcher/watcher-base/extend_start.sh (renamed from docker/watcher/watcher-base/extend_start.sh)0
-rw-r--r--kolla/docker/watcher/watcher-engine/Dockerfile.j2 (renamed from docker/watcher/watcher-engine/Dockerfile.j2)0
-rw-r--r--kolla/image/kolla_worker.py3
-rw-r--r--kolla/template/methods.py123
-rw-r--r--kolla/template/repos.yaml44
-rw-r--r--kolla/tests/test_methods.py212
-rw-r--r--lint-requirements.txt2
-rw-r--r--pyproject.toml43
-rw-r--r--releasenotes/notes/base-repos-in-yaml-f6a4a871da92c823.yaml23
-rw-r--r--roles/kolla-build/defaults/main.yml1
-rw-r--r--roles/kolla-build/tasks/main.yml9
-rw-r--r--setup.cfg41
-rw-r--r--tests/playbooks/run.yml10
-rw-r--r--tests/templates/repos.yaml.j263
-rw-r--r--tests/templates/template_overrides.j252
-rw-r--r--tests/test_set_config.py2
-rw-r--r--zuul.d/scenarios/aio.yaml46
-rw-r--r--zuul.d/scenarios/bifrost.yaml10
-rw-r--r--zuul.d/scenarios/cells.yaml10
-rw-r--r--zuul.d/scenarios/cephadm.yaml19
-rw-r--r--zuul.d/scenarios/ironic.yaml10
-rw-r--r--zuul.d/scenarios/mariadb.yaml10
-rw-r--r--zuul.d/scenarios/masakari.yaml10
-rw-r--r--zuul.d/scenarios/octavia.yaml7
-rw-r--r--zuul.d/scenarios/ovn.yaml10
-rw-r--r--zuul.d/scenarios/telemetry.yaml10
398 files changed, 693 insertions, 242 deletions
diff --git a/README.rst b/README.rst
index 3170ec726..034c15f88 100644
--- a/README.rst
+++ b/README.rst
@@ -152,15 +152,17 @@ Getting Involved
Need a feature? Find a bug? Let us know! Contributions are much
appreciated and should follow the standard `Gerrit
-workflow <https://docs.openstack.org/infra/manual/developers.html>`__.
+workflow <https://docs.openstack.org/contributors/common/setup-gerrit.html>`__.
-- We communicate using the #openstack-kolla irc channel.
+- We communicate using the #openstack-kolla IRC channel on OFTC.
- File bugs, blueprints, track releases, etc on
`Launchpad <https://launchpad.net/kolla>`__.
- Attend weekly
`meetings
<https://docs.openstack.org/kolla/latest/contributor/meeting.html>`__.
- Contribute `code <https://opendev.org/openstack/kolla>`__.
+- Please respect our `AI policy
+ <https://docs.openstack.org/kolla/latest/contributor/contributing.html#aipolicy>`__.
Notices
=======
diff --git a/doc/source/admin/image-building.rst b/doc/source/admin/image-building.rst
index af59e4a2e..4a2c6773b 100644
--- a/doc/source/admin/image-building.rst
+++ b/doc/source/admin/image-building.rst
@@ -679,6 +679,97 @@ Can I use the ``--template-override`` option for custom templates? Yes!
Custom repos
------------
+repos.yaml
+^^^^^^^^^^
+
+Kolla uses ``kolla/template/repos.yaml`` to define repositories used during
+image builds. Each entry is keyed by a logical name and contains the
+information needed to configure the repository.
+
+Repositories marked with ``distro: True`` are default repos that require no
+additional configuration. For RPM-based distros they are enabled via
+``dnf config-manager --enable``; for Debian-based distros they are a no-op
+as the sources are already provided by the base image. Examples include
+``crb``, ``extras``, and the base repos ``baseos`` and ``appstream`` for
+CentOS and Rocky Linux, as well as ``debian``, ``debian-security``,
+``ubuntu``, ``ubuntu-security``.
+
+Repositories without ``distro: True`` are fully templated into a new
+repository file and must provide at least one of ``baseurl``, ``metalink``,
+or ``mirrorlist`` (RPM), or ``url`` (Debian/Ubuntu).
+
+To override repositories (e.g. to point base repos at a local mirror),
+provide a custom ``repos.yaml`` via the ``--repos-yaml`` option and supply
+entries without ``distro: True`` and with the desired URL.
+
+Example for Rocky Linux:
+
+.. code-block:: yaml
+
+ rocky:
+ baseos:
+ name: "baseos"
+ baseurl: "https://my-mirror.example.com/rocky/10/BaseOS/$basearch/os/"
+ gpgkey: "file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-10"
+ appstream:
+ name: "appstream"
+ baseurl: "https://my-mirror.example.com/rocky/10/AppStream/$basearch/os/"
+ gpgkey: "file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-10"
+ crb:
+ name: "crb"
+ baseurl: "https://my-mirror.example.com/rocky/10/CRB/$basearch/os/"
+ gpgkey: "file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-10"
+
+Example for Debian:
+
+.. code-block:: yaml
+
+ debian:
+ debian:
+ component: "main"
+ gpg_key: "/usr/share/keyrings/debian-archive-keyring.gpg"
+ suite: "trixie trixie-updates trixie-backports"
+ url: "https://my-mirror.example.com/debian"
+ debian-security:
+ component: "main"
+ gpg_key: "/usr/share/keyrings/debian-archive-keyring.gpg"
+ suite: "trixie-security"
+ url: "https://my-mirror.example.com/debian-security"
+
+Example for Ubuntu:
+
+.. code-block:: yaml
+
+ ubuntu:
+ ubuntu:
+ component: "main universe"
+ gpg_key: "/usr/share/keyrings/ubuntu-archive-keyring.gpg"
+ suite: "noble noble-updates noble-backports"
+ url: "https://my-mirror.example.com/ubuntu/"
+ ubuntu-security:
+ component: "main universe"
+ gpg_key: "/usr/share/keyrings/ubuntu-archive-keyring.gpg"
+ suite: "noble-security"
+ url: "https://my-mirror.example.com/ubuntu/"
+
+.. code-block:: ini
+
+ repos_yaml = /path/to/custom-repos.yaml
+
+When overriding a base repo, any existing ``.repo`` file on the image
+containing that repository ID is automatically removed before the new one
+is created.
+
+Some distro repos share a single ``.repo`` file on disk (for example,
+``baseos``, ``appstream``, and ``crb`` all live in ``rocky.repo`` on Rocky
+Linux). These repos are annotated with a ``file_group`` field in
+``repos.yaml`` that names the shared file. If any repo in a ``file_group``
+is overridden, all other repos sharing that ``file_group`` must also be
+overridden — otherwise removing the shared file would silently disable them.
+Kolla validates this at build time and raises an error listing the missing
+overrides. For Rocky Linux this means overriding ``baseos`` or ``appstream``
+requires also overriding ``crb``.
+
Red Hat
^^^^^^^
diff --git a/doc/source/contributor/contributing.rst b/doc/source/contributor/contributing.rst
index 821d6ab88..d24c3b71f 100644
--- a/doc/source/contributor/contributing.rst
+++ b/doc/source/contributor/contributing.rst
@@ -18,6 +18,47 @@ The source repository for this project can be found at:
https://opendev.org/openstack/kolla
+.. _aicontent:
+
+AI-Generated Content
+~~~~~~~~~~~~~~~~~~~~
+
+In general, please do not submit AI generated content to the Kolla
+project, but some exceptions apply.
+
+The OpenInfra foundation has created a policy for AI Generated content
+at https://openinfra.org/legal/ai-policy which provides useful
+background to the Kolla project's policy, but the Kolla project policy
+differs somewhat.
+
+As a free software project, we are concerned with the copyright
+ownership of the project's source code. Because most commercially
+available LLMs are not able to indicate whether their output may
+include training data incompatible with Kolla's licences, accepting
+substantial contributions generated by them increases the risk to the
+project. And because LLM-generated output is not considered
+copyrightable in the United States and other regions, that further
+increases the risk to the project.
+
+In many cases, the code and documentation output from LLMs is not of
+sufficient quality for easy incorporation into Kolla. A community of
+contributors and reviewers with deep understanding of the project is
+healthier in the long run. Contributions generated by LLMs without
+that understanding creates more work for the maintainers.
+
+Nevertheless, if you use an LLM to create a very small patch (one that
+would likely not be subject to copyright protection even if generated
+by a human), that's fine, but you must annotate it with the
+`Assisted-By` or `Generated-By` labels.
+
+In short:
+
+* Please do not submit substantial AI-generated content (code or docs)
+* Very small/limited use may be okay if it's not copyrightable
+* Make sure you fully understand the code or docs you are changing
+* If you don't, engage with humans in the Kolla community
+* Any AI-Generated content must have `Assisted-By` or `Generated-By` labels
+
.. _communication:
Communication
diff --git a/kolla/common/config.py b/kolla/common/config.py
index d46de4095..245afce50 100644
--- a/kolla/common/config.py
+++ b/kolla/common/config.py
@@ -246,7 +246,8 @@ _CLI_OPTS = [
'kolla-toolbox image'),
cfg.StrOpt('openstack-release-codename',
default=OPENSTACK_RELEASE_CODENAME,
- help='OpenStack release codename for Debian OpenStack extrepo'),
+ help='OpenStack release codename for Debian OpenStack extrepo '
+ 'and Ubuntu Cloud Archive'),
cfg.StrOpt('openstack-branch',
help='Branch for source images (internal; with a dash; '
'please set openstack-release instead)'),
diff --git a/docker/aodh/aodh-api/Dockerfile.j2 b/kolla/docker/aodh/aodh-api/Dockerfile.j2
index b420df814..b420df814 100644
--- a/docker/aodh/aodh-api/Dockerfile.j2
+++ b/kolla/docker/aodh/aodh-api/Dockerfile.j2
diff --git a/docker/aodh/aodh-api/extend_start.sh b/kolla/docker/aodh/aodh-api/extend_start.sh
index 575b0e584..575b0e584 100644
--- a/docker/aodh/aodh-api/extend_start.sh
+++ b/kolla/docker/aodh/aodh-api/extend_start.sh
diff --git a/docker/aodh/aodh-base/Dockerfile.j2 b/kolla/docker/aodh/aodh-base/Dockerfile.j2
index 519537468..519537468 100644
--- a/docker/aodh/aodh-base/Dockerfile.j2
+++ b/kolla/docker/aodh/aodh-base/Dockerfile.j2
diff --git a/docker/aodh/aodh-base/aodh_sudoers b/kolla/docker/aodh/aodh-base/aodh_sudoers
index 2ec268c9d..2ec268c9d 100644
--- a/docker/aodh/aodh-base/aodh_sudoers
+++ b/kolla/docker/aodh/aodh-base/aodh_sudoers
diff --git a/docker/aodh/aodh-base/extend_start.sh b/kolla/docker/aodh/aodh-base/extend_start.sh
index f3b1d2d49..f3b1d2d49 100755
--- a/docker/aodh/aodh-base/extend_start.sh
+++ b/kolla/docker/aodh/aodh-base/extend_start.sh
diff --git a/docker/aodh/aodh-evaluator/Dockerfile.j2 b/kolla/docker/aodh/aodh-evaluator/Dockerfile.j2
index 3d1f6a8b4..3d1f6a8b4 100644
--- a/docker/aodh/aodh-evaluator/Dockerfile.j2
+++ b/kolla/docker/aodh/aodh-evaluator/Dockerfile.j2
diff --git a/docker/aodh/aodh-expirer/Dockerfile.j2 b/kolla/docker/aodh/aodh-expirer/Dockerfile.j2
index 9c426f82c..9c426f82c 100644
--- a/docker/aodh/aodh-expirer/Dockerfile.j2
+++ b/kolla/docker/aodh/aodh-expirer/Dockerfile.j2
diff --git a/docker/aodh/aodh-listener/Dockerfile.j2 b/kolla/docker/aodh/aodh-listener/Dockerfile.j2
index a6f4f3c0e..a6f4f3c0e 100644
--- a/docker/aodh/aodh-listener/Dockerfile.j2
+++ b/kolla/docker/aodh/aodh-listener/Dockerfile.j2
diff --git a/docker/aodh/aodh-notifier/Dockerfile.j2 b/kolla/docker/aodh/aodh-notifier/Dockerfile.j2
index c49f37441..c49f37441 100644
--- a/docker/aodh/aodh-notifier/Dockerfile.j2
+++ b/kolla/docker/aodh/aodh-notifier/Dockerfile.j2
diff --git a/docker/barbican/barbican-api/Dockerfile.j2 b/kolla/docker/barbican/barbican-api/Dockerfile.j2
index e78f3ea63..e78f3ea63 100644
--- a/docker/barbican/barbican-api/Dockerfile.j2
+++ b/kolla/docker/barbican/barbican-api/Dockerfile.j2
diff --git a/docker/barbican/barbican-api/extend_start.sh b/kolla/docker/barbican/barbican-api/extend_start.sh
index c541d0343..c541d0343 100755
--- a/docker/barbican/barbican-api/extend_start.sh
+++ b/kolla/docker/barbican/barbican-api/extend_start.sh
diff --git a/docker/barbican/barbican-base/Dockerfile.j2 b/kolla/docker/barbican/barbican-base/Dockerfile.j2
index 89c44ef9a..89c44ef9a 100644
--- a/docker/barbican/barbican-base/Dockerfile.j2
+++ b/kolla/docker/barbican/barbican-base/Dockerfile.j2
diff --git a/docker/barbican/barbican-base/barbican_sudoers b/kolla/docker/barbican/barbican-base/barbican_sudoers
index 26ae4710e..26ae4710e 100644
--- a/docker/barbican/barbican-base/barbican_sudoers
+++ b/kolla/docker/barbican/barbican-base/barbican_sudoers
diff --git a/docker/barbican/barbican-base/extend_start.sh b/kolla/docker/barbican/barbican-base/extend_start.sh
index 16b41ad09..16b41ad09 100755
--- a/docker/barbican/barbican-base/extend_start.sh
+++ b/kolla/docker/barbican/barbican-base/extend_start.sh
diff --git a/docker/barbican/barbican-keystone-listener/Dockerfile.j2 b/kolla/docker/barbican/barbican-keystone-listener/Dockerfile.j2
index 3329aed1b..3329aed1b 100644
--- a/docker/barbican/barbican-keystone-listener/Dockerfile.j2
+++ b/kolla/docker/barbican/barbican-keystone-listener/Dockerfile.j2
diff --git a/docker/barbican/barbican-worker/Dockerfile.j2 b/kolla/docker/barbican/barbican-worker/Dockerfile.j2
index 9cba55b6b..9cba55b6b 100644
--- a/docker/barbican/barbican-worker/Dockerfile.j2
+++ b/kolla/docker/barbican/barbican-worker/Dockerfile.j2
diff --git a/docker/base/Dockerfile.j2 b/kolla/docker/base/Dockerfile.j2
index 0e2f3c1ab..6c1022ece 100644
--- a/docker/base/Dockerfile.j2
+++ b/kolla/docker/base/Dockerfile.j2
@@ -34,10 +34,8 @@ RUN cat /tmp/kolla_bashrc >> /etc/skel/.bashrc \
ENV PS1="$(tput bold)($(printenv KOLLA_SERVICE_NAME))$(tput sgr0)[$(id -un)@$(hostname -s) $(pwd)]$ "
{% if base_package_type == 'rpm' %}
-# For RPM Variants, enable the correct repositories - this should all be done
-# in the base image so repos are consistent throughout the system. This also
-# enables to provide repo overrides at a later date in a simple fashion if we
-# desire such functionality. I think we will :)
+
+{{ macros.enable_extra_repos(['baseos', 'appstream']) }}
ENV KOLLA_RPM_OVS_VERSION=3.5 \
KOLLA_RPM_OVN_VERSION=26.03
@@ -154,6 +152,7 @@ RUN {{ macros.install_packages(base_centos_yum_repo_packages | customizable("cen
{# endif for base_package_type rpm #}
{% elif base_package_type == 'deb' %}
+
# This will prevent questions from being asked during the install
ENV DEBIAN_FRONTEND noninteractive
@@ -195,9 +194,16 @@ COPY {{ base_distro }}.sources.arm64 /etc/apt/sources.list.d/{{ base_distro }}.s
{% else %}
COPY {{ base_distro }}.sources /etc/apt/sources.list.d/
{% endif %}
+
COPY sources.list /etc/apt/sources.list.d/kolla-custom.list
{% endblock %}
+{% if base_distro == 'debian' %}
+{{ macros.enable_extra_repos(['debian', 'debian-security']) }}
+{% elif base_distro == 'ubuntu' %}
+{{ macros.enable_extra_repos(['ubuntu', 'ubuntu-security', 'ubuntu-cloud-archive']) }}
+{% endif %}
+
{% block base_debian_after_sources_list %}{% endblock %}
{# install Debian Openstack repos - they are not mirrored on CI #}
diff --git a/docker/base/apt_preferences b/kolla/docker/base/apt_preferences
index dc5b993f1..dc5b993f1 100644
--- a/docker/base/apt_preferences
+++ b/kolla/docker/base/apt_preferences
diff --git a/docker/base/apt_preferences.debian b/kolla/docker/base/apt_preferences.debian
index 08e21ff22..08e21ff22 100644
--- a/docker/base/apt_preferences.debian
+++ b/kolla/docker/base/apt_preferences.debian
diff --git a/docker/base/apt_preferences.ubuntu b/kolla/docker/base/apt_preferences.ubuntu
index 7cc49b4ad..7cc49b4ad 100644
--- a/docker/base/apt_preferences.ubuntu
+++ b/kolla/docker/base/apt_preferences.ubuntu
diff --git a/docker/base/ci-centos.repo b/kolla/docker/base/ci-centos.repo
index 4c08f1fea..4c08f1fea 100644
--- a/docker/base/ci-centos.repo
+++ b/kolla/docker/base/ci-centos.repo
diff --git a/docker/base/copy_cacerts.sh b/kolla/docker/base/copy_cacerts.sh
index 213033c0c..213033c0c 100644
--- a/docker/base/copy_cacerts.sh
+++ b/kolla/docker/base/copy_cacerts.sh
diff --git a/docker/base/curlrc b/kolla/docker/base/curlrc
index 3b1ecea06..3b1ecea06 100644
--- a/docker/base/curlrc
+++ b/kolla/docker/base/curlrc
diff --git a/docker/base/debian.sources b/kolla/docker/base/debian.sources
index 28c61c81d..28c61c81d 100644
--- a/docker/base/debian.sources
+++ b/kolla/docker/base/debian.sources
diff --git a/docker/base/dnf.conf b/kolla/docker/base/dnf.conf
index 6ca687545..6ca687545 100644
--- a/docker/base/dnf.conf
+++ b/kolla/docker/base/dnf.conf
diff --git a/docker/base/dpkg_reducing_disk_footprint b/kolla/docker/base/dpkg_reducing_disk_footprint
index 87b8255f9..87b8255f9 100644
--- a/docker/base/dpkg_reducing_disk_footprint
+++ b/kolla/docker/base/dpkg_reducing_disk_footprint
diff --git a/docker/base/healthcheck_curl b/kolla/docker/base/healthcheck_curl
index 6df232fe8..6df232fe8 100755
--- a/docker/base/healthcheck_curl
+++ b/kolla/docker/base/healthcheck_curl
diff --git a/docker/base/healthcheck_filemod b/kolla/docker/base/healthcheck_filemod
index 007643d9b..007643d9b 100755
--- a/docker/base/healthcheck_filemod
+++ b/kolla/docker/base/healthcheck_filemod
diff --git a/docker/base/healthcheck_listen b/kolla/docker/base/healthcheck_listen
index 70273339c..70273339c 100755
--- a/docker/base/healthcheck_listen
+++ b/kolla/docker/base/healthcheck_listen
diff --git a/docker/base/healthcheck_port b/kolla/docker/base/healthcheck_port
index 9531bd77a..9531bd77a 100755
--- a/docker/base/healthcheck_port
+++ b/kolla/docker/base/healthcheck_port
diff --git a/docker/base/healthcheck_socket b/kolla/docker/base/healthcheck_socket
index cd65bae69..cd65bae69 100755
--- a/docker/base/healthcheck_socket
+++ b/kolla/docker/base/healthcheck_socket
diff --git a/docker/base/install_projects.sh b/kolla/docker/base/install_projects.sh
index c3f7182b5..c3f7182b5 100644
--- a/docker/base/install_projects.sh
+++ b/kolla/docker/base/install_projects.sh
diff --git a/docker/base/kolla_bashrc b/kolla/docker/base/kolla_bashrc
index 09b19cc06..09b19cc06 100644
--- a/docker/base/kolla_bashrc
+++ b/kolla/docker/base/kolla_bashrc
diff --git a/docker/base/kolla_patch.sh b/kolla/docker/base/kolla_patch.sh
index b17a5b61d..b17a5b61d 100755
--- a/docker/base/kolla_patch.sh
+++ b/kolla/docker/base/kolla_patch.sh
diff --git a/docker/base/set_configs.py b/kolla/docker/base/set_configs.py
index 4b025d55a..4b025d55a 100644
--- a/docker/base/set_configs.py
+++ b/kolla/docker/base/set_configs.py
diff --git a/docker/base/sources.list b/kolla/docker/base/sources.list
index 1acbbcb59..1acbbcb59 100644
--- a/docker/base/sources.list
+++ b/kolla/docker/base/sources.list
diff --git a/docker/base/start.sh b/kolla/docker/base/start.sh
index 7ac505aea..7ac505aea 100644
--- a/docker/base/start.sh
+++ b/kolla/docker/base/start.sh
diff --git a/docker/base/sudoers b/kolla/docker/base/sudoers
index eb31bc98b..eb31bc98b 100644
--- a/docker/base/sudoers
+++ b/kolla/docker/base/sudoers
diff --git a/docker/base/ubuntu.sources b/kolla/docker/base/ubuntu.sources
index f8f609cee..46b817b7e 100644
--- a/docker/base/ubuntu.sources
+++ b/kolla/docker/base/ubuntu.sources
@@ -12,13 +12,6 @@ Suites: noble-security
Components: main universe
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
-## Ubuntu Cloud Archive
-Types: deb
-URIs: http://ubuntu-cloud.archive.canonical.com/ubuntu
-Suites: noble-updates/gazpacho
-Components: main
-Signed-By: /usr/share/keyrings/ubuntu-cloud-keyring.gpg
-
# NOTE(hrw): extra repositories are added into image when they are needed as
# separate files in /etc/apt/sources.list.d/ directory. For that purpose they
# are defined in kolla/template/repos.yaml file.
diff --git a/docker/base/ubuntu.sources.arm64 b/kolla/docker/base/ubuntu.sources.arm64
index 751af7ccf..751af7ccf 100644
--- a/docker/base/ubuntu.sources.arm64
+++ b/kolla/docker/base/ubuntu.sources.arm64
diff --git a/docker/bifrost/bifrost-base/Dockerfile.j2 b/kolla/docker/bifrost/bifrost-base/Dockerfile.j2
index 3e82a9fd3..3e82a9fd3 100644
--- a/docker/bifrost/bifrost-base/Dockerfile.j2
+++ b/kolla/docker/bifrost/bifrost-base/Dockerfile.j2
diff --git a/docker/bifrost/bifrost-base/bifrost_sudoers b/kolla/docker/bifrost/bifrost-base/bifrost_sudoers
index 6c343a956..6c343a956 100644
--- a/docker/bifrost/bifrost-base/bifrost_sudoers
+++ b/kolla/docker/bifrost/bifrost-base/bifrost_sudoers
diff --git a/docker/bifrost/bifrost-base/build_arg.yml b/kolla/docker/bifrost/bifrost-base/build_arg.yml
index 8c810f133..8c810f133 100644
--- a/docker/bifrost/bifrost-base/build_arg.yml
+++ b/kolla/docker/bifrost/bifrost-base/build_arg.yml
diff --git a/docker/bifrost/bifrost-deploy/Dockerfile.j2 b/kolla/docker/bifrost/bifrost-deploy/Dockerfile.j2
index 04fc733fc..04fc733fc 100644
--- a/docker/bifrost/bifrost-deploy/Dockerfile.j2
+++ b/kolla/docker/bifrost/bifrost-deploy/Dockerfile.j2
diff --git a/docker/blazar/blazar-api/Dockerfile.j2 b/kolla/docker/blazar/blazar-api/Dockerfile.j2
index 70d6ba22a..70d6ba22a 100644
--- a/docker/blazar/blazar-api/Dockerfile.j2
+++ b/kolla/docker/blazar/blazar-api/Dockerfile.j2
diff --git a/docker/blazar/blazar-api/extend_start.sh b/kolla/docker/blazar/blazar-api/extend_start.sh
index ff4f2b801..ff4f2b801 100644
--- a/docker/blazar/blazar-api/extend_start.sh
+++ b/kolla/docker/blazar/blazar-api/extend_start.sh
diff --git a/docker/blazar/blazar-base/Dockerfile.j2 b/kolla/docker/blazar/blazar-base/Dockerfile.j2
index 433842e41..433842e41 100644
--- a/docker/blazar/blazar-base/Dockerfile.j2
+++ b/kolla/docker/blazar/blazar-base/Dockerfile.j2
diff --git a/docker/blazar/blazar-base/extend_start.sh b/kolla/docker/blazar/blazar-base/extend_start.sh
index a96a4c113..a96a4c113 100644
--- a/docker/blazar/blazar-base/extend_start.sh
+++ b/kolla/docker/blazar/blazar-base/extend_start.sh
diff --git a/docker/blazar/blazar-manager/Dockerfile.j2 b/kolla/docker/blazar/blazar-manager/Dockerfile.j2
index 5cde3db3b..5cde3db3b 100644
--- a/docker/blazar/blazar-manager/Dockerfile.j2
+++ b/kolla/docker/blazar/blazar-manager/Dockerfile.j2
diff --git a/docker/ceilometer/ceilometer-base/Dockerfile.j2 b/kolla/docker/ceilometer/ceilometer-base/Dockerfile.j2
index 18bd7600a..18bd7600a 100644
--- a/docker/ceilometer/ceilometer-base/Dockerfile.j2
+++ b/kolla/docker/ceilometer/ceilometer-base/Dockerfile.j2
diff --git a/docker/ceilometer/ceilometer-base/ceilometer_sudoers b/kolla/docker/ceilometer/ceilometer-base/ceilometer_sudoers
index dd861bb58..dd861bb58 100644
--- a/docker/ceilometer/ceilometer-base/ceilometer_sudoers
+++ b/kolla/docker/ceilometer/ceilometer-base/ceilometer_sudoers
diff --git a/docker/ceilometer/ceilometer-base/extend_start.sh b/kolla/docker/ceilometer/ceilometer-base/extend_start.sh
index 4d3fe6b61..4d3fe6b61 100644
--- a/docker/ceilometer/ceilometer-base/extend_start.sh
+++ b/kolla/docker/ceilometer/ceilometer-base/extend_start.sh
diff --git a/docker/ceilometer/ceilometer-central/Dockerfile.j2 b/kolla/docker/ceilometer/ceilometer-central/Dockerfile.j2
index df96d8ed3..df96d8ed3 100644
--- a/docker/ceilometer/ceilometer-central/Dockerfile.j2
+++ b/kolla/docker/ceilometer/ceilometer-central/Dockerfile.j2
diff --git a/docker/ceilometer/ceilometer-compute/Dockerfile.j2 b/kolla/docker/ceilometer/ceilometer-compute/Dockerfile.j2
index 879c4fb01..879c4fb01 100644
--- a/docker/ceilometer/ceilometer-compute/Dockerfile.j2
+++ b/kolla/docker/ceilometer/ceilometer-compute/Dockerfile.j2
diff --git a/docker/ceilometer/ceilometer-ipmi/Dockerfile.j2 b/kolla/docker/ceilometer/ceilometer-ipmi/Dockerfile.j2
index a767dc842..a767dc842 100644
--- a/docker/ceilometer/ceilometer-ipmi/Dockerfile.j2
+++ b/kolla/docker/ceilometer/ceilometer-ipmi/Dockerfile.j2
diff --git a/docker/ceilometer/ceilometer-notification/Dockerfile.j2 b/kolla/docker/ceilometer/ceilometer-notification/Dockerfile.j2
index 1fc03ffc4..1fc03ffc4 100644
--- a/docker/ceilometer/ceilometer-notification/Dockerfile.j2
+++ b/kolla/docker/ceilometer/ceilometer-notification/Dockerfile.j2
diff --git a/docker/ceilometer/ceilometer-notification/extend_start.sh b/kolla/docker/ceilometer/ceilometer-notification/extend_start.sh
index 0abeeb1e1..0abeeb1e1 100644
--- a/docker/ceilometer/ceilometer-notification/extend_start.sh
+++ b/kolla/docker/ceilometer/ceilometer-notification/extend_start.sh
diff --git a/docker/cinder/cinder-api/Dockerfile.j2 b/kolla/docker/cinder/cinder-api/Dockerfile.j2
index b82fba6d3..b82fba6d3 100644
--- a/docker/cinder/cinder-api/Dockerfile.j2
+++ b/kolla/docker/cinder/cinder-api/Dockerfile.j2
diff --git a/docker/cinder/cinder-api/extend_start.sh b/kolla/docker/cinder/cinder-api/extend_start.sh
index 94b0fe875..94b0fe875 100644
--- a/docker/cinder/cinder-api/extend_start.sh
+++ b/kolla/docker/cinder/cinder-api/extend_start.sh
diff --git a/docker/cinder/cinder-backup/Dockerfile.j2 b/kolla/docker/cinder/cinder-backup/Dockerfile.j2
index 15be355dd..15be355dd 100644
--- a/docker/cinder/cinder-backup/Dockerfile.j2
+++ b/kolla/docker/cinder/cinder-backup/Dockerfile.j2
diff --git a/docker/cinder/cinder-base/Dockerfile.j2 b/kolla/docker/cinder/cinder-base/Dockerfile.j2
index bd25d9b18..bd25d9b18 100644
--- a/docker/cinder/cinder-base/Dockerfile.j2
+++ b/kolla/docker/cinder/cinder-base/Dockerfile.j2
diff --git a/docker/cinder/cinder-base/cinder_sudoers b/kolla/docker/cinder/cinder-base/cinder_sudoers
index 3750f31a0..3750f31a0 100644
--- a/docker/cinder/cinder-base/cinder_sudoers
+++ b/kolla/docker/cinder/cinder-base/cinder_sudoers
diff --git a/docker/cinder/cinder-base/extend_start.sh b/kolla/docker/cinder/cinder-base/extend_start.sh
index ddf1469c9..ddf1469c9 100644
--- a/docker/cinder/cinder-base/extend_start.sh
+++ b/kolla/docker/cinder/cinder-base/extend_start.sh
diff --git a/docker/cinder/cinder-scheduler/Dockerfile.j2 b/kolla/docker/cinder/cinder-scheduler/Dockerfile.j2
index c43792dcc..c43792dcc 100644
--- a/docker/cinder/cinder-scheduler/Dockerfile.j2
+++ b/kolla/docker/cinder/cinder-scheduler/Dockerfile.j2
diff --git a/docker/cinder/cinder-volume/Dockerfile.j2 b/kolla/docker/cinder/cinder-volume/Dockerfile.j2
index 0e4f38a6e..0e4f38a6e 100644
--- a/docker/cinder/cinder-volume/Dockerfile.j2
+++ b/kolla/docker/cinder/cinder-volume/Dockerfile.j2
diff --git a/docker/cinder/cinder-volume/cinder_sudoers b/kolla/docker/cinder/cinder-volume/cinder_sudoers
index f3bec8b13..f3bec8b13 100644
--- a/docker/cinder/cinder-volume/cinder_sudoers
+++ b/kolla/docker/cinder/cinder-volume/cinder_sudoers
diff --git a/docker/cinder/cinder-volume/extend_start.sh b/kolla/docker/cinder/cinder-volume/extend_start.sh
index 67e866143..67e866143 100644
--- a/docker/cinder/cinder-volume/extend_start.sh
+++ b/kolla/docker/cinder/cinder-volume/extend_start.sh
diff --git a/docker/cloudkitty/cloudkitty-api/Dockerfile.j2 b/kolla/docker/cloudkitty/cloudkitty-api/Dockerfile.j2
index fd3d124f3..fd3d124f3 100644
--- a/docker/cloudkitty/cloudkitty-api/Dockerfile.j2
+++ b/kolla/docker/cloudkitty/cloudkitty-api/Dockerfile.j2
diff --git a/docker/cloudkitty/cloudkitty-api/extend_start.sh b/kolla/docker/cloudkitty/cloudkitty-api/extend_start.sh
index 26d4a8c36..26d4a8c36 100644
--- a/docker/cloudkitty/cloudkitty-api/extend_start.sh
+++ b/kolla/docker/cloudkitty/cloudkitty-api/extend_start.sh
diff --git a/docker/cloudkitty/cloudkitty-base/Dockerfile.j2 b/kolla/docker/cloudkitty/cloudkitty-base/Dockerfile.j2
index b545d4adf..b545d4adf 100644
--- a/docker/cloudkitty/cloudkitty-base/Dockerfile.j2
+++ b/kolla/docker/cloudkitty/cloudkitty-base/Dockerfile.j2
diff --git a/docker/cloudkitty/cloudkitty-base/extend_start.sh b/kolla/docker/cloudkitty/cloudkitty-base/extend_start.sh
index cf49f9caf..cf49f9caf 100644
--- a/docker/cloudkitty/cloudkitty-base/extend_start.sh
+++ b/kolla/docker/cloudkitty/cloudkitty-base/extend_start.sh
diff --git a/docker/cloudkitty/cloudkitty-processor/Dockerfile.j2 b/kolla/docker/cloudkitty/cloudkitty-processor/Dockerfile.j2
index 33f30fd33..33f30fd33 100644
--- a/docker/cloudkitty/cloudkitty-processor/Dockerfile.j2
+++ b/kolla/docker/cloudkitty/cloudkitty-processor/Dockerfile.j2
diff --git a/docker/collectd/Dockerfile.j2 b/kolla/docker/collectd/Dockerfile.j2
index 32ded377e..32ded377e 100644
--- a/docker/collectd/Dockerfile.j2
+++ b/kolla/docker/collectd/Dockerfile.j2
diff --git a/docker/collectd/extend_start.sh b/kolla/docker/collectd/extend_start.sh
index 80ef63db3..80ef63db3 100644
--- a/docker/collectd/extend_start.sh
+++ b/kolla/docker/collectd/extend_start.sh
diff --git a/docker/cron/Dockerfile.j2 b/kolla/docker/cron/Dockerfile.j2
index d3a9213ac..d3a9213ac 100644
--- a/docker/cron/Dockerfile.j2
+++ b/kolla/docker/cron/Dockerfile.j2
diff --git a/docker/cron/extend_start.sh b/kolla/docker/cron/extend_start.sh
index 3476302e1..3476302e1 100644
--- a/docker/cron/extend_start.sh
+++ b/kolla/docker/cron/extend_start.sh
diff --git a/docker/cron/logrotate b/kolla/docker/cron/logrotate
index 1ac157001..1ac157001 100755
--- a/docker/cron/logrotate
+++ b/kolla/docker/cron/logrotate
diff --git a/docker/cyborg/cyborg-agent/Dockerfile.j2 b/kolla/docker/cyborg/cyborg-agent/Dockerfile.j2
index dfc1adc0b..dfc1adc0b 100644
--- a/docker/cyborg/cyborg-agent/Dockerfile.j2
+++ b/kolla/docker/cyborg/cyborg-agent/Dockerfile.j2
diff --git a/docker/cyborg/cyborg-api/Dockerfile.j2 b/kolla/docker/cyborg/cyborg-api/Dockerfile.j2
index d67cdeb28..d67cdeb28 100644
--- a/docker/cyborg/cyborg-api/Dockerfile.j2
+++ b/kolla/docker/cyborg/cyborg-api/Dockerfile.j2
diff --git a/docker/cyborg/cyborg-api/extend_start.sh b/kolla/docker/cyborg/cyborg-api/extend_start.sh
index b1c7af7af..b1c7af7af 100644
--- a/docker/cyborg/cyborg-api/extend_start.sh
+++ b/kolla/docker/cyborg/cyborg-api/extend_start.sh
diff --git a/docker/cyborg/cyborg-base/Dockerfile.j2 b/kolla/docker/cyborg/cyborg-base/Dockerfile.j2
index c3f3e602a..c3f3e602a 100644
--- a/docker/cyborg/cyborg-base/Dockerfile.j2
+++ b/kolla/docker/cyborg/cyborg-base/Dockerfile.j2
diff --git a/docker/cyborg/cyborg-base/cyborg_sudoers b/kolla/docker/cyborg/cyborg-base/cyborg_sudoers
index 63440026d..63440026d 100644
--- a/docker/cyborg/cyborg-base/cyborg_sudoers
+++ b/kolla/docker/cyborg/cyborg-base/cyborg_sudoers
diff --git a/docker/cyborg/cyborg-base/extend_start.sh b/kolla/docker/cyborg/cyborg-base/extend_start.sh
index 10a58c626..10a58c626 100755
--- a/docker/cyborg/cyborg-base/extend_start.sh
+++ b/kolla/docker/cyborg/cyborg-base/extend_start.sh
diff --git a/docker/cyborg/cyborg-conductor/Dockerfile.j2 b/kolla/docker/cyborg/cyborg-conductor/Dockerfile.j2
index d17d1cacd..d17d1cacd 100644
--- a/docker/cyborg/cyborg-conductor/Dockerfile.j2
+++ b/kolla/docker/cyborg/cyborg-conductor/Dockerfile.j2
diff --git a/docker/designate/designate-api/Dockerfile.j2 b/kolla/docker/designate/designate-api/Dockerfile.j2
index 6ca9ac180..6ca9ac180 100644
--- a/docker/designate/designate-api/Dockerfile.j2
+++ b/kolla/docker/designate/designate-api/Dockerfile.j2
diff --git a/docker/designate/designate-backend-bind9/Dockerfile.j2 b/kolla/docker/designate/designate-backend-bind9/Dockerfile.j2
index cf1277aeb..cf1277aeb 100644
--- a/docker/designate/designate-backend-bind9/Dockerfile.j2
+++ b/kolla/docker/designate/designate-backend-bind9/Dockerfile.j2
diff --git a/docker/designate/designate-base/Dockerfile.j2 b/kolla/docker/designate/designate-base/Dockerfile.j2
index 26a0beca1..26a0beca1 100644
--- a/docker/designate/designate-base/Dockerfile.j2
+++ b/kolla/docker/designate/designate-base/Dockerfile.j2
diff --git a/docker/designate/designate-base/designate_sudoers b/kolla/docker/designate/designate-base/designate_sudoers
index d06679fe2..d06679fe2 100644
--- a/docker/designate/designate-base/designate_sudoers
+++ b/kolla/docker/designate/designate-base/designate_sudoers
diff --git a/docker/designate/designate-base/extend_start.sh b/kolla/docker/designate/designate-base/extend_start.sh
index 66b376c30..66b376c30 100644
--- a/docker/designate/designate-base/extend_start.sh
+++ b/kolla/docker/designate/designate-base/extend_start.sh
diff --git a/docker/designate/designate-central/Dockerfile.j2 b/kolla/docker/designate/designate-central/Dockerfile.j2
index 81c3c901f..81c3c901f 100644
--- a/docker/designate/designate-central/Dockerfile.j2
+++ b/kolla/docker/designate/designate-central/Dockerfile.j2
diff --git a/docker/designate/designate-central/extend_start.sh b/kolla/docker/designate/designate-central/extend_start.sh
index 8e90f55fc..8e90f55fc 100644
--- a/docker/designate/designate-central/extend_start.sh
+++ b/kolla/docker/designate/designate-central/extend_start.sh
diff --git a/docker/designate/designate-mdns/Dockerfile.j2 b/kolla/docker/designate/designate-mdns/Dockerfile.j2
index dd2e6df75..dd2e6df75 100644
--- a/docker/designate/designate-mdns/Dockerfile.j2
+++ b/kolla/docker/designate/designate-mdns/Dockerfile.j2
diff --git a/docker/designate/designate-producer/Dockerfile.j2 b/kolla/docker/designate/designate-producer/Dockerfile.j2
index bd1ce4e1d..bd1ce4e1d 100644
--- a/docker/designate/designate-producer/Dockerfile.j2
+++ b/kolla/docker/designate/designate-producer/Dockerfile.j2
diff --git a/docker/designate/designate-sink/Dockerfile.j2 b/kolla/docker/designate/designate-sink/Dockerfile.j2
index 8b8e50adf..8b8e50adf 100644
--- a/docker/designate/designate-sink/Dockerfile.j2
+++ b/kolla/docker/designate/designate-sink/Dockerfile.j2
diff --git a/docker/designate/designate-worker/Dockerfile.j2 b/kolla/docker/designate/designate-worker/Dockerfile.j2
index b4e190df6..b4e190df6 100644
--- a/docker/designate/designate-worker/Dockerfile.j2
+++ b/kolla/docker/designate/designate-worker/Dockerfile.j2
diff --git a/docker/dnsmasq/Dockerfile.j2 b/kolla/docker/dnsmasq/Dockerfile.j2
index 882613be7..882613be7 100644
--- a/docker/dnsmasq/Dockerfile.j2
+++ b/kolla/docker/dnsmasq/Dockerfile.j2
diff --git a/docker/dnsmasq/extend_start.sh b/kolla/docker/dnsmasq/extend_start.sh
index 0c9734fa1..0c9734fa1 100644
--- a/docker/dnsmasq/extend_start.sh
+++ b/kolla/docker/dnsmasq/extend_start.sh
diff --git a/docker/etcd/Dockerfile.j2 b/kolla/docker/etcd/Dockerfile.j2
index aafcd8666..aafcd8666 100644
--- a/docker/etcd/Dockerfile.j2
+++ b/kolla/docker/etcd/Dockerfile.j2
diff --git a/docker/etcd/etcd_sudoers b/kolla/docker/etcd/etcd_sudoers
index d3e244be0..d3e244be0 100644
--- a/docker/etcd/etcd_sudoers
+++ b/kolla/docker/etcd/etcd_sudoers
diff --git a/docker/etcd/extend_start.sh b/kolla/docker/etcd/extend_start.sh
index c54023299..c54023299 100644
--- a/docker/etcd/extend_start.sh
+++ b/kolla/docker/etcd/extend_start.sh
diff --git a/docker/fluentd/Dockerfile.j2 b/kolla/docker/fluentd/Dockerfile.j2
index c63e1b990..c63e1b990 100644
--- a/docker/fluentd/Dockerfile.j2
+++ b/kolla/docker/fluentd/Dockerfile.j2
diff --git a/docker/fluentd/extend_start.sh b/kolla/docker/fluentd/extend_start.sh
index 6b304b92c..6b304b92c 100644
--- a/docker/fluentd/extend_start.sh
+++ b/kolla/docker/fluentd/extend_start.sh
diff --git a/docker/fluentd/fluentd_sudoers b/kolla/docker/fluentd/fluentd_sudoers
index 25ca93f5a..25ca93f5a 100644
--- a/docker/fluentd/fluentd_sudoers
+++ b/kolla/docker/fluentd/fluentd_sudoers
diff --git a/docker/glance/glance-api/Dockerfile.j2 b/kolla/docker/glance/glance-api/Dockerfile.j2
index e3efbfef3..e3efbfef3 100644
--- a/docker/glance/glance-api/Dockerfile.j2
+++ b/kolla/docker/glance/glance-api/Dockerfile.j2
diff --git a/docker/glance/glance-api/extend_start.sh b/kolla/docker/glance/glance-api/extend_start.sh
index 3363539a5..3363539a5 100644
--- a/docker/glance/glance-api/extend_start.sh
+++ b/kolla/docker/glance/glance-api/extend_start.sh
diff --git a/docker/glance/glance-base/Dockerfile.j2 b/kolla/docker/glance/glance-base/Dockerfile.j2
index 885cc4353..885cc4353 100644
--- a/docker/glance/glance-base/Dockerfile.j2
+++ b/kolla/docker/glance/glance-base/Dockerfile.j2
diff --git a/docker/glance/glance-base/etc/glance/rootwrap.conf b/kolla/docker/glance/glance-base/etc/glance/rootwrap.conf
index 56e7529af..56e7529af 100644
--- a/docker/glance/glance-base/etc/glance/rootwrap.conf
+++ b/kolla/docker/glance/glance-base/etc/glance/rootwrap.conf
diff --git a/docker/glance/glance-base/etc/glance/rootwrap.d/glance_cinder_store.filters b/kolla/docker/glance/glance-base/etc/glance/rootwrap.d/glance_cinder_store.filters
index 46c389b7e..46c389b7e 100644
--- a/docker/glance/glance-base/etc/glance/rootwrap.d/glance_cinder_store.filters
+++ b/kolla/docker/glance/glance-base/etc/glance/rootwrap.d/glance_cinder_store.filters
diff --git a/docker/glance/glance-base/extend_start.sh b/kolla/docker/glance/glance-base/extend_start.sh
index 4f5f5ecaf..4f5f5ecaf 100644
--- a/docker/glance/glance-base/extend_start.sh
+++ b/kolla/docker/glance/glance-base/extend_start.sh
diff --git a/docker/glance/glance-base/glance_sudoers b/kolla/docker/glance/glance-base/glance_sudoers
index 9af870983..9af870983 100644
--- a/docker/glance/glance-base/glance_sudoers
+++ b/kolla/docker/glance/glance-base/glance_sudoers
diff --git a/docker/gnocchi/gnocchi-api/Dockerfile.j2 b/kolla/docker/gnocchi/gnocchi-api/Dockerfile.j2
index c0cc2cc33..c0cc2cc33 100644
--- a/docker/gnocchi/gnocchi-api/Dockerfile.j2
+++ b/kolla/docker/gnocchi/gnocchi-api/Dockerfile.j2
diff --git a/docker/gnocchi/gnocchi-api/extend_start.sh b/kolla/docker/gnocchi/gnocchi-api/extend_start.sh
index dda0461c6..dda0461c6 100644
--- a/docker/gnocchi/gnocchi-api/extend_start.sh
+++ b/kolla/docker/gnocchi/gnocchi-api/extend_start.sh
diff --git a/docker/gnocchi/gnocchi-base/Dockerfile.j2 b/kolla/docker/gnocchi/gnocchi-base/Dockerfile.j2
index 91199ac39..91199ac39 100644
--- a/docker/gnocchi/gnocchi-base/Dockerfile.j2
+++ b/kolla/docker/gnocchi/gnocchi-base/Dockerfile.j2
diff --git a/docker/gnocchi/gnocchi-base/extend_start.sh b/kolla/docker/gnocchi/gnocchi-base/extend_start.sh
index adc05b1b3..adc05b1b3 100644
--- a/docker/gnocchi/gnocchi-base/extend_start.sh
+++ b/kolla/docker/gnocchi/gnocchi-base/extend_start.sh
diff --git a/docker/gnocchi/gnocchi-base/gnocchi_sudoers b/kolla/docker/gnocchi/gnocchi-base/gnocchi_sudoers
index c2a01d709..c2a01d709 100644
--- a/docker/gnocchi/gnocchi-base/gnocchi_sudoers
+++ b/kolla/docker/gnocchi/gnocchi-base/gnocchi_sudoers
diff --git a/docker/gnocchi/gnocchi-metricd/Dockerfile.j2 b/kolla/docker/gnocchi/gnocchi-metricd/Dockerfile.j2
index fe9978fa2..fe9978fa2 100644
--- a/docker/gnocchi/gnocchi-metricd/Dockerfile.j2
+++ b/kolla/docker/gnocchi/gnocchi-metricd/Dockerfile.j2
diff --git a/docker/gnocchi/gnocchi-statsd/Dockerfile.j2 b/kolla/docker/gnocchi/gnocchi-statsd/Dockerfile.j2
index 8f1574946..8f1574946 100644
--- a/docker/gnocchi/gnocchi-statsd/Dockerfile.j2
+++ b/kolla/docker/gnocchi/gnocchi-statsd/Dockerfile.j2
diff --git a/docker/grafana/Dockerfile.j2 b/kolla/docker/grafana/Dockerfile.j2
index e401d91b6..e401d91b6 100644
--- a/docker/grafana/Dockerfile.j2
+++ b/kolla/docker/grafana/Dockerfile.j2
diff --git a/docker/grafana/extend_start.sh b/kolla/docker/grafana/extend_start.sh
index 5ed4dc56d..5ed4dc56d 100644
--- a/docker/grafana/extend_start.sh
+++ b/kolla/docker/grafana/extend_start.sh
diff --git a/docker/grafana/grafana_sudoers b/kolla/docker/grafana/grafana_sudoers
index 386829969..386829969 100644
--- a/docker/grafana/grafana_sudoers
+++ b/kolla/docker/grafana/grafana_sudoers
diff --git a/docker/hacluster/hacluster-base/Dockerfile.j2 b/kolla/docker/hacluster/hacluster-base/Dockerfile.j2
index 045f21e1e..045f21e1e 100644
--- a/docker/hacluster/hacluster-base/Dockerfile.j2
+++ b/kolla/docker/hacluster/hacluster-base/Dockerfile.j2
diff --git a/docker/hacluster/hacluster-base/extend_start.sh b/kolla/docker/hacluster/hacluster-base/extend_start.sh
index c0e9301d0..c0e9301d0 100644
--- a/docker/hacluster/hacluster-base/extend_start.sh
+++ b/kolla/docker/hacluster/hacluster-base/extend_start.sh
diff --git a/docker/hacluster/hacluster-corosync/Dockerfile.j2 b/kolla/docker/hacluster/hacluster-corosync/Dockerfile.j2
index 74d47c380..74d47c380 100644
--- a/docker/hacluster/hacluster-corosync/Dockerfile.j2
+++ b/kolla/docker/hacluster/hacluster-corosync/Dockerfile.j2
diff --git a/docker/hacluster/hacluster-pacemaker-remote/Dockerfile.j2 b/kolla/docker/hacluster/hacluster-pacemaker-remote/Dockerfile.j2
index 64c381e1f..64c381e1f 100644
--- a/docker/hacluster/hacluster-pacemaker-remote/Dockerfile.j2
+++ b/kolla/docker/hacluster/hacluster-pacemaker-remote/Dockerfile.j2
diff --git a/docker/hacluster/hacluster-pacemaker/Dockerfile.j2 b/kolla/docker/hacluster/hacluster-pacemaker/Dockerfile.j2
index 33eeb3144..33eeb3144 100644
--- a/docker/hacluster/hacluster-pacemaker/Dockerfile.j2
+++ b/kolla/docker/hacluster/hacluster-pacemaker/Dockerfile.j2
diff --git a/docker/hacluster/hacluster-pcs/Dockerfile.j2 b/kolla/docker/hacluster/hacluster-pcs/Dockerfile.j2
index a146d0d4b..a146d0d4b 100644
--- a/docker/hacluster/hacluster-pcs/Dockerfile.j2
+++ b/kolla/docker/hacluster/hacluster-pcs/Dockerfile.j2
diff --git a/docker/haproxy/haproxy-ssh/Dockerfile.j2 b/kolla/docker/haproxy/haproxy-ssh/Dockerfile.j2
index a674cc75e..a674cc75e 100644
--- a/docker/haproxy/haproxy-ssh/Dockerfile.j2
+++ b/kolla/docker/haproxy/haproxy-ssh/Dockerfile.j2
diff --git a/docker/haproxy/haproxy-ssh/extend_start.sh b/kolla/docker/haproxy/haproxy-ssh/extend_start.sh
index 4b2239100..4b2239100 100644
--- a/docker/haproxy/haproxy-ssh/extend_start.sh
+++ b/kolla/docker/haproxy/haproxy-ssh/extend_start.sh
diff --git a/docker/haproxy/haproxy-ssh/update-loadbalancer-cert.sh b/kolla/docker/haproxy/haproxy-ssh/update-loadbalancer-cert.sh
index 7e4122c65..7e4122c65 100755
--- a/docker/haproxy/haproxy-ssh/update-loadbalancer-cert.sh
+++ b/kolla/docker/haproxy/haproxy-ssh/update-loadbalancer-cert.sh
diff --git a/docker/haproxy/haproxy/Dockerfile.j2 b/kolla/docker/haproxy/haproxy/Dockerfile.j2
index 36c7ca943..36c7ca943 100644
--- a/docker/haproxy/haproxy/Dockerfile.j2
+++ b/kolla/docker/haproxy/haproxy/Dockerfile.j2
diff --git a/docker/haproxy/haproxy/ensure_latest_config.sh b/kolla/docker/haproxy/haproxy/ensure_latest_config.sh
index 4b84f3aed..4b84f3aed 100644
--- a/docker/haproxy/haproxy/ensure_latest_config.sh
+++ b/kolla/docker/haproxy/haproxy/ensure_latest_config.sh
diff --git a/docker/heat/heat-api-cfn/Dockerfile.j2 b/kolla/docker/heat/heat-api-cfn/Dockerfile.j2
index db3030c8d..db3030c8d 100644
--- a/docker/heat/heat-api-cfn/Dockerfile.j2
+++ b/kolla/docker/heat/heat-api-cfn/Dockerfile.j2
diff --git a/docker/heat/heat-api/Dockerfile.j2 b/kolla/docker/heat/heat-api/Dockerfile.j2
index af2471279..af2471279 100644
--- a/docker/heat/heat-api/Dockerfile.j2
+++ b/kolla/docker/heat/heat-api/Dockerfile.j2
diff --git a/docker/heat/heat-api/extend_start.sh b/kolla/docker/heat/heat-api/extend_start.sh
index ddf4f81f4..ddf4f81f4 100644
--- a/docker/heat/heat-api/extend_start.sh
+++ b/kolla/docker/heat/heat-api/extend_start.sh
diff --git a/docker/heat/heat-base/Dockerfile.j2 b/kolla/docker/heat/heat-base/Dockerfile.j2
index a06ea6f0d..a06ea6f0d 100644
--- a/docker/heat/heat-base/Dockerfile.j2
+++ b/kolla/docker/heat/heat-base/Dockerfile.j2
diff --git a/docker/heat/heat-base/extend_start.sh b/kolla/docker/heat/heat-base/extend_start.sh
index 1c1e86b8e..1c1e86b8e 100644
--- a/docker/heat/heat-base/extend_start.sh
+++ b/kolla/docker/heat/heat-base/extend_start.sh
diff --git a/docker/heat/heat-engine/Dockerfile.j2 b/kolla/docker/heat/heat-engine/Dockerfile.j2
index 86c943582..86c943582 100644
--- a/docker/heat/heat-engine/Dockerfile.j2
+++ b/kolla/docker/heat/heat-engine/Dockerfile.j2
diff --git a/docker/horizon/Dockerfile.j2 b/kolla/docker/horizon/Dockerfile.j2
index 73dc65dd1..73dc65dd1 100644
--- a/docker/horizon/Dockerfile.j2
+++ b/kolla/docker/horizon/Dockerfile.j2
diff --git a/docker/horizon/extend_start.sh b/kolla/docker/horizon/extend_start.sh
index d1198adb4..d1198adb4 100644
--- a/docker/horizon/extend_start.sh
+++ b/kolla/docker/horizon/extend_start.sh
diff --git a/docker/httpd/Dockerfile.j2 b/kolla/docker/httpd/Dockerfile.j2
index ec5637283..ec5637283 100644
--- a/docker/httpd/Dockerfile.j2
+++ b/kolla/docker/httpd/Dockerfile.j2
diff --git a/docker/httpd/extend_start.sh b/kolla/docker/httpd/extend_start.sh
index d47af64b9..d47af64b9 100644
--- a/docker/httpd/extend_start.sh
+++ b/kolla/docker/httpd/extend_start.sh
diff --git a/docker/httpd/httpd_setup.sh b/kolla/docker/httpd/httpd_setup.sh
index 35f7b5b1e..35f7b5b1e 100644
--- a/docker/httpd/httpd_setup.sh
+++ b/kolla/docker/httpd/httpd_setup.sh
diff --git a/docker/ironic/ironic-api/Dockerfile.j2 b/kolla/docker/ironic/ironic-api/Dockerfile.j2
index 1c10d0372..1c10d0372 100644
--- a/docker/ironic/ironic-api/Dockerfile.j2
+++ b/kolla/docker/ironic/ironic-api/Dockerfile.j2
diff --git a/docker/ironic/ironic-api/extend_start.sh b/kolla/docker/ironic/ironic-api/extend_start.sh
index ce2f7fb3e..ce2f7fb3e 100644
--- a/docker/ironic/ironic-api/extend_start.sh
+++ b/kolla/docker/ironic/ironic-api/extend_start.sh
diff --git a/docker/ironic/ironic-base/Dockerfile.j2 b/kolla/docker/ironic/ironic-base/Dockerfile.j2
index e2f7871f6..39265cf80 100644
--- a/docker/ironic/ironic-base/Dockerfile.j2
+++ b/kolla/docker/ironic/ironic-base/Dockerfile.j2
@@ -13,7 +13,7 @@ ADD ironic-base-archive /ironic-base-source
ADD ironic_sudoers /etc/sudoers.d/kolla_ironic_sudoers
{% set ironic_base_pip_packages = [
- '/ironic'
+ '/ironic[ansible,networking-generic-switch]'
] %}
COPY extend_start.sh /usr/local/bin/kolla_extend_start
diff --git a/docker/ironic/ironic-base/extend_start.sh b/kolla/docker/ironic/ironic-base/extend_start.sh
index dc6b05caa..dc6b05caa 100644
--- a/docker/ironic/ironic-base/extend_start.sh
+++ b/kolla/docker/ironic/ironic-base/extend_start.sh
diff --git a/docker/ironic/ironic-base/ironic_sudoers b/kolla/docker/ironic/ironic-base/ironic_sudoers
index 9b9deed4d..9b9deed4d 100644
--- a/docker/ironic/ironic-base/ironic_sudoers
+++ b/kolla/docker/ironic/ironic-base/ironic_sudoers
diff --git a/docker/ironic/ironic-conductor/Dockerfile.j2 b/kolla/docker/ironic/ironic-conductor/Dockerfile.j2
index bce981fb0..15a07e4b9 100644
--- a/docker/ironic/ironic-conductor/Dockerfile.j2
+++ b/kolla/docker/ironic/ironic-conductor/Dockerfile.j2
@@ -52,7 +52,6 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}"
{% endif %}
{% set ironic_conductor_pip_packages = [
- '-r /ironic/driver-requirements.txt',
'ironic-staging-drivers',
] %}
diff --git a/docker/ironic/ironic-prometheus-exporter/Dockerfile.j2 b/kolla/docker/ironic/ironic-prometheus-exporter/Dockerfile.j2
index 2ac448dfd..2ac448dfd 100644
--- a/docker/ironic/ironic-prometheus-exporter/Dockerfile.j2
+++ b/kolla/docker/ironic/ironic-prometheus-exporter/Dockerfile.j2
diff --git a/docker/ironic/ironic-pxe-filter/Dockerfile.j2 b/kolla/docker/ironic/ironic-pxe-filter/Dockerfile.j2
index 5b593e9f0..5b593e9f0 100644
--- a/docker/ironic/ironic-pxe-filter/Dockerfile.j2
+++ b/kolla/docker/ironic/ironic-pxe-filter/Dockerfile.j2
diff --git a/docker/ironic/ironic-pxe-filter/extend_start.sh b/kolla/docker/ironic/ironic-pxe-filter/extend_start.sh
index c7a807c8d..c7a807c8d 100644
--- a/docker/ironic/ironic-pxe-filter/extend_start.sh
+++ b/kolla/docker/ironic/ironic-pxe-filter/extend_start.sh
diff --git a/docker/ironic/ironic-pxe/Dockerfile.j2 b/kolla/docker/ironic/ironic-pxe/Dockerfile.j2
index 0475a5b05..0475a5b05 100644
--- a/docker/ironic/ironic-pxe/Dockerfile.j2
+++ b/kolla/docker/ironic/ironic-pxe/Dockerfile.j2
diff --git a/docker/ironic/ironic-pxe/extend_start.sh b/kolla/docker/ironic/ironic-pxe/extend_start.sh
index 06a8312b4..06a8312b4 100644
--- a/docker/ironic/ironic-pxe/extend_start.sh
+++ b/kolla/docker/ironic/ironic-pxe/extend_start.sh
diff --git a/docker/ironic/ironic-pxe/tftp-map-file-template b/kolla/docker/ironic/ironic-pxe/tftp-map-file-template
index 5d3243a7e..5d3243a7e 100644
--- a/docker/ironic/ironic-pxe/tftp-map-file-template
+++ b/kolla/docker/ironic/ironic-pxe/tftp-map-file-template
diff --git a/docker/iscsid/Dockerfile.j2 b/kolla/docker/iscsid/Dockerfile.j2
index a1e4bba61..a1e4bba61 100644
--- a/docker/iscsid/Dockerfile.j2
+++ b/kolla/docker/iscsid/Dockerfile.j2
diff --git a/docker/iscsid/extend_start.sh b/kolla/docker/iscsid/extend_start.sh
index 78f2317d2..78f2317d2 100644
--- a/docker/iscsid/extend_start.sh
+++ b/kolla/docker/iscsid/extend_start.sh
diff --git a/docker/keepalived/Dockerfile.j2 b/kolla/docker/keepalived/Dockerfile.j2
index 2dcdeccd7..2dcdeccd7 100644
--- a/docker/keepalived/Dockerfile.j2
+++ b/kolla/docker/keepalived/Dockerfile.j2
diff --git a/docker/keepalived/check_alive.sh b/kolla/docker/keepalived/check_alive.sh
index 857131123..857131123 100644
--- a/docker/keepalived/check_alive.sh
+++ b/kolla/docker/keepalived/check_alive.sh
diff --git a/docker/keepalived/extend_start.sh b/kolla/docker/keepalived/extend_start.sh
index 889da64fd..889da64fd 100644
--- a/docker/keepalived/extend_start.sh
+++ b/kolla/docker/keepalived/extend_start.sh
diff --git a/docker/kerbside/kerbside-api/Dockerfile.j2 b/kolla/docker/kerbside/kerbside-api/Dockerfile.j2
index 6ea99eb7a..6ea99eb7a 100644
--- a/docker/kerbside/kerbside-api/Dockerfile.j2
+++ b/kolla/docker/kerbside/kerbside-api/Dockerfile.j2
diff --git a/docker/kerbside/kerbside-api/extend_start.sh b/kolla/docker/kerbside/kerbside-api/extend_start.sh
index 92ef80a22..92ef80a22 100644
--- a/docker/kerbside/kerbside-api/extend_start.sh
+++ b/kolla/docker/kerbside/kerbside-api/extend_start.sh
diff --git a/docker/kerbside/kerbside-base/Dockerfile.j2 b/kolla/docker/kerbside/kerbside-base/Dockerfile.j2
index 77f881399..77f881399 100644
--- a/docker/kerbside/kerbside-base/Dockerfile.j2
+++ b/kolla/docker/kerbside/kerbside-base/Dockerfile.j2
diff --git a/docker/kerbside/kerbside-proxy/Dockerfile.j2 b/kolla/docker/kerbside/kerbside-proxy/Dockerfile.j2
index 6ea99eb7a..6ea99eb7a 100644
--- a/docker/kerbside/kerbside-proxy/Dockerfile.j2
+++ b/kolla/docker/kerbside/kerbside-proxy/Dockerfile.j2
diff --git a/docker/kerbside/kerbside-proxy/extend_start.sh b/kolla/docker/kerbside/kerbside-proxy/extend_start.sh
index 92ef80a22..92ef80a22 100644
--- a/docker/kerbside/kerbside-proxy/extend_start.sh
+++ b/kolla/docker/kerbside/kerbside-proxy/extend_start.sh
diff --git a/docker/keystone/keystone-base/Dockerfile.j2 b/kolla/docker/keystone/keystone-base/Dockerfile.j2
index faa424fa7..faa424fa7 100644
--- a/docker/keystone/keystone-base/Dockerfile.j2
+++ b/kolla/docker/keystone/keystone-base/Dockerfile.j2
diff --git a/docker/keystone/keystone-fernet/Dockerfile.j2 b/kolla/docker/keystone/keystone-fernet/Dockerfile.j2
index da32ddb86..da32ddb86 100644
--- a/docker/keystone/keystone-fernet/Dockerfile.j2
+++ b/kolla/docker/keystone/keystone-fernet/Dockerfile.j2
diff --git a/docker/keystone/keystone-fernet/extend_start.sh b/kolla/docker/keystone/keystone-fernet/extend_start.sh
index cf356949f..cf356949f 100644
--- a/docker/keystone/keystone-fernet/extend_start.sh
+++ b/kolla/docker/keystone/keystone-fernet/extend_start.sh
diff --git a/docker/keystone/keystone-fernet/fetch_fernet_tokens.py b/kolla/docker/keystone/keystone-fernet/fetch_fernet_tokens.py
index c57943630..c57943630 100644
--- a/docker/keystone/keystone-fernet/fetch_fernet_tokens.py
+++ b/kolla/docker/keystone/keystone-fernet/fetch_fernet_tokens.py
diff --git a/docker/keystone/keystone-fernet/keystone_bootstrap.sh b/kolla/docker/keystone/keystone-fernet/keystone_bootstrap.sh
index d361767bb..d361767bb 100644
--- a/docker/keystone/keystone-fernet/keystone_bootstrap.sh
+++ b/kolla/docker/keystone/keystone-fernet/keystone_bootstrap.sh
diff --git a/docker/keystone/keystone-ssh/Dockerfile.j2 b/kolla/docker/keystone/keystone-ssh/Dockerfile.j2
index af290bd5f..af290bd5f 100644
--- a/docker/keystone/keystone-ssh/Dockerfile.j2
+++ b/kolla/docker/keystone/keystone-ssh/Dockerfile.j2
diff --git a/docker/keystone/keystone-ssh/extend_start.sh b/kolla/docker/keystone/keystone-ssh/extend_start.sh
index 559cd65a9..559cd65a9 100644
--- a/docker/keystone/keystone-ssh/extend_start.sh
+++ b/kolla/docker/keystone/keystone-ssh/extend_start.sh
diff --git a/docker/keystone/keystone/Dockerfile.j2 b/kolla/docker/keystone/keystone/Dockerfile.j2
index 742626c05..742626c05 100644
--- a/docker/keystone/keystone/Dockerfile.j2
+++ b/kolla/docker/keystone/keystone/Dockerfile.j2
diff --git a/docker/keystone/keystone/extend_start.sh b/kolla/docker/keystone/keystone/extend_start.sh
index b45c94d0d..b45c94d0d 100644
--- a/docker/keystone/keystone/extend_start.sh
+++ b/kolla/docker/keystone/keystone/extend_start.sh
diff --git a/docker/keystone/keystone/keystone_bootstrap.sh b/kolla/docker/keystone/keystone/keystone_bootstrap.sh
index 1b04d99b6..1b04d99b6 100644
--- a/docker/keystone/keystone/keystone_bootstrap.sh
+++ b/kolla/docker/keystone/keystone/keystone_bootstrap.sh
diff --git a/docker/kolla-toolbox/Dockerfile.j2 b/kolla/docker/kolla-toolbox/Dockerfile.j2
index eac78905d..eac78905d 100644
--- a/docker/kolla-toolbox/Dockerfile.j2
+++ b/kolla/docker/kolla-toolbox/Dockerfile.j2
diff --git a/docker/kolla-toolbox/ansible.cfg b/kolla/docker/kolla-toolbox/ansible.cfg
index ec505f4a4..ec505f4a4 100644
--- a/docker/kolla-toolbox/ansible.cfg
+++ b/kolla/docker/kolla-toolbox/ansible.cfg
diff --git a/docker/kolla-toolbox/ansible_sudoers b/kolla/docker/kolla-toolbox/ansible_sudoers
index 5a3f109b4..5a3f109b4 100644
--- a/docker/kolla-toolbox/ansible_sudoers
+++ b/kolla/docker/kolla-toolbox/ansible_sudoers
diff --git a/docker/kolla-toolbox/apt_preferences_rabbitmq.debian b/kolla/docker/kolla-toolbox/apt_preferences_rabbitmq.debian
index f1cc84d9b..f1cc84d9b 120000
--- a/docker/kolla-toolbox/apt_preferences_rabbitmq.debian
+++ b/kolla/docker/kolla-toolbox/apt_preferences_rabbitmq.debian
diff --git a/docker/kolla-toolbox/apt_preferences_rabbitmq.ubuntu b/kolla/docker/kolla-toolbox/apt_preferences_rabbitmq.ubuntu
index 977ded074..977ded074 120000
--- a/docker/kolla-toolbox/apt_preferences_rabbitmq.ubuntu
+++ b/kolla/docker/kolla-toolbox/apt_preferences_rabbitmq.ubuntu
diff --git a/docker/kolla-toolbox/extend_start.sh b/kolla/docker/kolla-toolbox/extend_start.sh
index 198587145..198587145 100644
--- a/docker/kolla-toolbox/extend_start.sh
+++ b/kolla/docker/kolla-toolbox/extend_start.sh
diff --git a/docker/kolla-toolbox/kolla_toolbox.sh b/kolla/docker/kolla-toolbox/kolla_toolbox.sh
index 5dfd65338..5dfd65338 100644
--- a/docker/kolla-toolbox/kolla_toolbox.sh
+++ b/kolla/docker/kolla-toolbox/kolla_toolbox.sh
diff --git a/docker/kolla-toolbox/requirements.yml b/kolla/docker/kolla-toolbox/requirements.yml
index 83c795142..83c795142 100644
--- a/docker/kolla-toolbox/requirements.yml
+++ b/kolla/docker/kolla-toolbox/requirements.yml
diff --git a/docker/letsencrypt/letsencrypt-base/Dockerfile.j2 b/kolla/docker/letsencrypt/letsencrypt-base/Dockerfile.j2
index 8e9e60db9..8e9e60db9 100644
--- a/docker/letsencrypt/letsencrypt-base/Dockerfile.j2
+++ b/kolla/docker/letsencrypt/letsencrypt-base/Dockerfile.j2
diff --git a/docker/letsencrypt/letsencrypt-base/extend_start.sh b/kolla/docker/letsencrypt/letsencrypt-base/extend_start.sh
index 0300f0b44..0300f0b44 100644
--- a/docker/letsencrypt/letsencrypt-base/extend_start.sh
+++ b/kolla/docker/letsencrypt/letsencrypt-base/extend_start.sh
diff --git a/docker/letsencrypt/letsencrypt-lego/Dockerfile.j2 b/kolla/docker/letsencrypt/letsencrypt-lego/Dockerfile.j2
index b7cda214e..b7cda214e 100755
--- a/docker/letsencrypt/letsencrypt-lego/Dockerfile.j2
+++ b/kolla/docker/letsencrypt/letsencrypt-lego/Dockerfile.j2
diff --git a/docker/letsencrypt/letsencrypt-lego/letsencrypt-certificates.sh b/kolla/docker/letsencrypt/letsencrypt-lego/letsencrypt-certificates.sh
index 83bdede87..83bdede87 100755
--- a/docker/letsencrypt/letsencrypt-lego/letsencrypt-certificates.sh
+++ b/kolla/docker/letsencrypt/letsencrypt-lego/letsencrypt-certificates.sh
diff --git a/docker/letsencrypt/letsencrypt-lego/sync-and-update-certificate.sh b/kolla/docker/letsencrypt/letsencrypt-lego/sync-and-update-certificate.sh
index e1e421c46..e1e421c46 100644
--- a/docker/letsencrypt/letsencrypt-lego/sync-and-update-certificate.sh
+++ b/kolla/docker/letsencrypt/letsencrypt-lego/sync-and-update-certificate.sh
diff --git a/docker/macros.j2 b/kolla/docker/macros.j2
index 34d67335c..34d67335c 100644
--- a/docker/macros.j2
+++ b/kolla/docker/macros.j2
diff --git a/docker/magnum/magnum-api/Dockerfile.j2 b/kolla/docker/magnum/magnum-api/Dockerfile.j2
index 304b54e20..304b54e20 100644
--- a/docker/magnum/magnum-api/Dockerfile.j2
+++ b/kolla/docker/magnum/magnum-api/Dockerfile.j2
diff --git a/docker/magnum/magnum-api/extend_start.sh b/kolla/docker/magnum/magnum-api/extend_start.sh
index 0f92f6e7b..0f92f6e7b 100644
--- a/docker/magnum/magnum-api/extend_start.sh
+++ b/kolla/docker/magnum/magnum-api/extend_start.sh
diff --git a/docker/magnum/magnum-base/Dockerfile.j2 b/kolla/docker/magnum/magnum-base/Dockerfile.j2
index ac17b94b4..ac17b94b4 100644
--- a/docker/magnum/magnum-base/Dockerfile.j2
+++ b/kolla/docker/magnum/magnum-base/Dockerfile.j2
diff --git a/docker/magnum/magnum-base/extend_start.sh b/kolla/docker/magnum/magnum-base/extend_start.sh
index 2e58c9776..2e58c9776 100644
--- a/docker/magnum/magnum-base/extend_start.sh
+++ b/kolla/docker/magnum/magnum-base/extend_start.sh
diff --git a/docker/magnum/magnum-conductor/Dockerfile.j2 b/kolla/docker/magnum/magnum-conductor/Dockerfile.j2
index 6e2df8fed..6e2df8fed 100644
--- a/docker/magnum/magnum-conductor/Dockerfile.j2
+++ b/kolla/docker/magnum/magnum-conductor/Dockerfile.j2
diff --git a/docker/manila/manila-api/Dockerfile.j2 b/kolla/docker/manila/manila-api/Dockerfile.j2
index d7b75d388..d7b75d388 100644
--- a/docker/manila/manila-api/Dockerfile.j2
+++ b/kolla/docker/manila/manila-api/Dockerfile.j2
diff --git a/docker/manila/manila-api/extend_start.sh b/kolla/docker/manila/manila-api/extend_start.sh
index bea77dbba..bea77dbba 100644
--- a/docker/manila/manila-api/extend_start.sh
+++ b/kolla/docker/manila/manila-api/extend_start.sh
diff --git a/docker/manila/manila-base/Dockerfile.j2 b/kolla/docker/manila/manila-base/Dockerfile.j2
index a236a20df..a236a20df 100644
--- a/docker/manila/manila-base/Dockerfile.j2
+++ b/kolla/docker/manila/manila-base/Dockerfile.j2
diff --git a/docker/manila/manila-base/extend_start.sh b/kolla/docker/manila/manila-base/extend_start.sh
index c018416a3..c018416a3 100644
--- a/docker/manila/manila-base/extend_start.sh
+++ b/kolla/docker/manila/manila-base/extend_start.sh
diff --git a/docker/manila/manila-base/manila_sudoers b/kolla/docker/manila/manila-base/manila_sudoers
index 623e6789b..623e6789b 100644
--- a/docker/manila/manila-base/manila_sudoers
+++ b/kolla/docker/manila/manila-base/manila_sudoers
diff --git a/docker/manila/manila-data/Dockerfile.j2 b/kolla/docker/manila/manila-data/Dockerfile.j2
index 06e1d9dc9..06e1d9dc9 100644
--- a/docker/manila/manila-data/Dockerfile.j2
+++ b/kolla/docker/manila/manila-data/Dockerfile.j2
diff --git a/docker/manila/manila-scheduler/Dockerfile.j2 b/kolla/docker/manila/manila-scheduler/Dockerfile.j2
index 12f7860f4..12f7860f4 100644
--- a/docker/manila/manila-scheduler/Dockerfile.j2
+++ b/kolla/docker/manila/manila-scheduler/Dockerfile.j2
diff --git a/docker/manila/manila-share/Dockerfile.j2 b/kolla/docker/manila/manila-share/Dockerfile.j2
index 161b6865a..161b6865a 100644
--- a/docker/manila/manila-share/Dockerfile.j2
+++ b/kolla/docker/manila/manila-share/Dockerfile.j2
diff --git a/docker/mariadb-server/Dockerfile.j2 b/kolla/docker/mariadb-server/Dockerfile.j2
index 612b37330..612b37330 100644
--- a/docker/mariadb-server/Dockerfile.j2
+++ b/kolla/docker/mariadb-server/Dockerfile.j2
diff --git a/docker/mariadb-server/backup.sh b/kolla/docker/mariadb-server/backup.sh
index be63cd938..be63cd938 100644
--- a/docker/mariadb-server/backup.sh
+++ b/kolla/docker/mariadb-server/backup.sh
diff --git a/docker/mariadb-server/backup_replica.sh b/kolla/docker/mariadb-server/backup_replica.sh
index fe10bc61b..fe10bc61b 100644
--- a/docker/mariadb-server/backup_replica.sh
+++ b/kolla/docker/mariadb-server/backup_replica.sh
diff --git a/docker/mariadb-server/extend_start.sh b/kolla/docker/mariadb-server/extend_start.sh
index f14c85949..f14c85949 100644
--- a/docker/mariadb-server/extend_start.sh
+++ b/kolla/docker/mariadb-server/extend_start.sh
diff --git a/docker/mariadb-server/healthcheck_mariadb b/kolla/docker/mariadb-server/healthcheck_mariadb
index 0d9f59a95..0d9f59a95 100755
--- a/docker/mariadb-server/healthcheck_mariadb
+++ b/kolla/docker/mariadb-server/healthcheck_mariadb
diff --git a/docker/mariadb-server/mariadb_sudoers b/kolla/docker/mariadb-server/mariadb_sudoers
index 150534e16..150534e16 100644
--- a/docker/mariadb-server/mariadb_sudoers
+++ b/kolla/docker/mariadb-server/mariadb_sudoers
diff --git a/docker/mariadb-server/security_reset.expect b/kolla/docker/mariadb-server/security_reset.expect
index 06f1d5c8e..06f1d5c8e 100644
--- a/docker/mariadb-server/security_reset.expect
+++ b/kolla/docker/mariadb-server/security_reset.expect
diff --git a/docker/masakari/masakari-api/Dockerfile.j2 b/kolla/docker/masakari/masakari-api/Dockerfile.j2
index 5285c6a36..5285c6a36 100644
--- a/docker/masakari/masakari-api/Dockerfile.j2
+++ b/kolla/docker/masakari/masakari-api/Dockerfile.j2
diff --git a/docker/masakari/masakari-api/extend_start.sh b/kolla/docker/masakari/masakari-api/extend_start.sh
index 549759f49..549759f49 100755
--- a/docker/masakari/masakari-api/extend_start.sh
+++ b/kolla/docker/masakari/masakari-api/extend_start.sh
diff --git a/docker/masakari/masakari-base/Dockerfile.j2 b/kolla/docker/masakari/masakari-base/Dockerfile.j2
index 97e31247e..97e31247e 100644
--- a/docker/masakari/masakari-base/Dockerfile.j2
+++ b/kolla/docker/masakari/masakari-base/Dockerfile.j2
diff --git a/docker/masakari/masakari-base/extend_start.sh b/kolla/docker/masakari/masakari-base/extend_start.sh
index 4f13d3e8b..4f13d3e8b 100755
--- a/docker/masakari/masakari-base/extend_start.sh
+++ b/kolla/docker/masakari/masakari-base/extend_start.sh
diff --git a/docker/masakari/masakari-engine/Dockerfile.j2 b/kolla/docker/masakari/masakari-engine/Dockerfile.j2
index 8dfb3175c..8dfb3175c 100644
--- a/docker/masakari/masakari-engine/Dockerfile.j2
+++ b/kolla/docker/masakari/masakari-engine/Dockerfile.j2
diff --git a/docker/masakari/masakari-monitors/Dockerfile.j2 b/kolla/docker/masakari/masakari-monitors/Dockerfile.j2
index 92b8c3947..92b8c3947 100644
--- a/docker/masakari/masakari-monitors/Dockerfile.j2
+++ b/kolla/docker/masakari/masakari-monitors/Dockerfile.j2
diff --git a/docker/masakari/masakari-monitors/masakari_monitors_sudoers b/kolla/docker/masakari/masakari-monitors/masakari_monitors_sudoers
index be3867b5c..be3867b5c 100644
--- a/docker/masakari/masakari-monitors/masakari_monitors_sudoers
+++ b/kolla/docker/masakari/masakari-monitors/masakari_monitors_sudoers
diff --git a/docker/memcached/Dockerfile.j2 b/kolla/docker/memcached/Dockerfile.j2
index dfe90b18e..dfe90b18e 100644
--- a/docker/memcached/Dockerfile.j2
+++ b/kolla/docker/memcached/Dockerfile.j2
diff --git a/docker/mistral/mistral-api/Dockerfile.j2 b/kolla/docker/mistral/mistral-api/Dockerfile.j2
index be3e431e1..be3e431e1 100644
--- a/docker/mistral/mistral-api/Dockerfile.j2
+++ b/kolla/docker/mistral/mistral-api/Dockerfile.j2
diff --git a/docker/mistral/mistral-api/extend_start.sh b/kolla/docker/mistral/mistral-api/extend_start.sh
index 113adb8a2..113adb8a2 100644
--- a/docker/mistral/mistral-api/extend_start.sh
+++ b/kolla/docker/mistral/mistral-api/extend_start.sh
diff --git a/docker/mistral/mistral-base/Dockerfile.j2 b/kolla/docker/mistral/mistral-base/Dockerfile.j2
index 1d72c1cac..1d72c1cac 100644
--- a/docker/mistral/mistral-base/Dockerfile.j2
+++ b/kolla/docker/mistral/mistral-base/Dockerfile.j2
diff --git a/docker/mistral/mistral-base/extend_start.sh b/kolla/docker/mistral/mistral-base/extend_start.sh
index ac2980d6c..ac2980d6c 100644
--- a/docker/mistral/mistral-base/extend_start.sh
+++ b/kolla/docker/mistral/mistral-base/extend_start.sh
diff --git a/docker/mistral/mistral-engine/Dockerfile.j2 b/kolla/docker/mistral/mistral-engine/Dockerfile.j2
index c5fd5eb0d..c5fd5eb0d 100644
--- a/docker/mistral/mistral-engine/Dockerfile.j2
+++ b/kolla/docker/mistral/mistral-engine/Dockerfile.j2
diff --git a/docker/mistral/mistral-event-engine/Dockerfile.j2 b/kolla/docker/mistral/mistral-event-engine/Dockerfile.j2
index 2a05ecf76..2a05ecf76 100644
--- a/docker/mistral/mistral-event-engine/Dockerfile.j2
+++ b/kolla/docker/mistral/mistral-event-engine/Dockerfile.j2
diff --git a/docker/mistral/mistral-executor/Dockerfile.j2 b/kolla/docker/mistral/mistral-executor/Dockerfile.j2
index aeae9ed06..aeae9ed06 100644
--- a/docker/mistral/mistral-executor/Dockerfile.j2
+++ b/kolla/docker/mistral/mistral-executor/Dockerfile.j2
diff --git a/docker/multipathd/Dockerfile.j2 b/kolla/docker/multipathd/Dockerfile.j2
index 1341c62a7..1341c62a7 100644
--- a/docker/multipathd/Dockerfile.j2
+++ b/kolla/docker/multipathd/Dockerfile.j2
diff --git a/docker/networking-baremetal/ironic-neutron-agent/Dockerfile.j2 b/kolla/docker/networking-baremetal/ironic-neutron-agent/Dockerfile.j2
index a7ae6ccb4..a7ae6ccb4 100644
--- a/docker/networking-baremetal/ironic-neutron-agent/Dockerfile.j2
+++ b/kolla/docker/networking-baremetal/ironic-neutron-agent/Dockerfile.j2
diff --git a/docker/neutron/neutron-base/Dockerfile.j2 b/kolla/docker/neutron/neutron-base/Dockerfile.j2
index e91c1e6e6..e91c1e6e6 100644
--- a/docker/neutron/neutron-base/Dockerfile.j2
+++ b/kolla/docker/neutron/neutron-base/Dockerfile.j2
diff --git a/docker/neutron/neutron-base/copy-wrappers b/kolla/docker/neutron/neutron-base/copy-wrappers
index e03bdfdf7..e03bdfdf7 100644
--- a/docker/neutron/neutron-base/copy-wrappers
+++ b/kolla/docker/neutron/neutron-base/copy-wrappers
diff --git a/docker/neutron/neutron-base/delete-wrappers b/kolla/docker/neutron/neutron-base/delete-wrappers
index 239d977f2..239d977f2 100644
--- a/docker/neutron/neutron-base/delete-wrappers
+++ b/kolla/docker/neutron/neutron-base/delete-wrappers
diff --git a/docker/neutron/neutron-base/dnsmasq b/kolla/docker/neutron/neutron-base/dnsmasq
index 44b73f0b2..44b73f0b2 100644
--- a/docker/neutron/neutron-base/dnsmasq
+++ b/kolla/docker/neutron/neutron-base/dnsmasq
diff --git a/docker/neutron/neutron-base/extend_start.sh b/kolla/docker/neutron/neutron-base/extend_start.sh
index e2a2dfca4..e2a2dfca4 100644
--- a/docker/neutron/neutron-base/extend_start.sh
+++ b/kolla/docker/neutron/neutron-base/extend_start.sh
diff --git a/docker/neutron/neutron-base/haproxy b/kolla/docker/neutron/neutron-base/haproxy
index 43b9ef9d2..43b9ef9d2 100644
--- a/docker/neutron/neutron-base/haproxy
+++ b/kolla/docker/neutron/neutron-base/haproxy
diff --git a/docker/neutron/neutron-base/keepalived b/kolla/docker/neutron/neutron-base/keepalived
index 6bb2b4d3d..6bb2b4d3d 100644
--- a/docker/neutron/neutron-base/keepalived
+++ b/kolla/docker/neutron/neutron-base/keepalived
diff --git a/docker/neutron/neutron-base/neutron-keepalived-state-change b/kolla/docker/neutron/neutron-base/neutron-keepalived-state-change
index 0b30d88cf..0b30d88cf 100644
--- a/docker/neutron/neutron-base/neutron-keepalived-state-change
+++ b/kolla/docker/neutron/neutron-base/neutron-keepalived-state-change
diff --git a/docker/neutron/neutron-base/neutron_sudoers b/kolla/docker/neutron/neutron-base/neutron_sudoers
index d0de94f0e..d0de94f0e 100644
--- a/docker/neutron/neutron-base/neutron_sudoers
+++ b/kolla/docker/neutron/neutron-base/neutron_sudoers
diff --git a/docker/neutron/neutron-base/radvd b/kolla/docker/neutron/neutron-base/radvd
index 3f5dd1cfa..3f5dd1cfa 100644
--- a/docker/neutron/neutron-base/radvd
+++ b/kolla/docker/neutron/neutron-base/radvd
diff --git a/docker/neutron/neutron-bgp-dragent/Dockerfile.j2 b/kolla/docker/neutron/neutron-bgp-dragent/Dockerfile.j2
index 3ad2ab596..3ad2ab596 100644
--- a/docker/neutron/neutron-bgp-dragent/Dockerfile.j2
+++ b/kolla/docker/neutron/neutron-bgp-dragent/Dockerfile.j2
diff --git a/docker/neutron/neutron-dhcp-agent/Dockerfile.j2 b/kolla/docker/neutron/neutron-dhcp-agent/Dockerfile.j2
index 035433bf2..035433bf2 100644
--- a/docker/neutron/neutron-dhcp-agent/Dockerfile.j2
+++ b/kolla/docker/neutron/neutron-dhcp-agent/Dockerfile.j2
diff --git a/docker/neutron/neutron-dhcp-agent/extend_start.sh b/kolla/docker/neutron/neutron-dhcp-agent/extend_start.sh
index edaad2a3a..edaad2a3a 100644
--- a/docker/neutron/neutron-dhcp-agent/extend_start.sh
+++ b/kolla/docker/neutron/neutron-dhcp-agent/extend_start.sh
diff --git a/docker/neutron/neutron-l3-agent/Dockerfile.j2 b/kolla/docker/neutron/neutron-l3-agent/Dockerfile.j2
index ae0457c18..ae0457c18 100644
--- a/docker/neutron/neutron-l3-agent/Dockerfile.j2
+++ b/kolla/docker/neutron/neutron-l3-agent/Dockerfile.j2
diff --git a/docker/neutron/neutron-l3-agent/extend_start.sh b/kolla/docker/neutron/neutron-l3-agent/extend_start.sh
index f95c1eda2..f95c1eda2 100644
--- a/docker/neutron/neutron-l3-agent/extend_start.sh
+++ b/kolla/docker/neutron/neutron-l3-agent/extend_start.sh
diff --git a/docker/neutron/neutron-metadata-agent/Dockerfile.j2 b/kolla/docker/neutron/neutron-metadata-agent/Dockerfile.j2
index 3736f70c8..3736f70c8 100644
--- a/docker/neutron/neutron-metadata-agent/Dockerfile.j2
+++ b/kolla/docker/neutron/neutron-metadata-agent/Dockerfile.j2
diff --git a/docker/neutron/neutron-metadata-agent/extend_start.sh b/kolla/docker/neutron/neutron-metadata-agent/extend_start.sh
index 001898f68..001898f68 100644
--- a/docker/neutron/neutron-metadata-agent/extend_start.sh
+++ b/kolla/docker/neutron/neutron-metadata-agent/extend_start.sh
diff --git a/docker/neutron/neutron-metering-agent/Dockerfile.j2 b/kolla/docker/neutron/neutron-metering-agent/Dockerfile.j2
index e9d7f74e0..e9d7f74e0 100644
--- a/docker/neutron/neutron-metering-agent/Dockerfile.j2
+++ b/kolla/docker/neutron/neutron-metering-agent/Dockerfile.j2
diff --git a/docker/neutron/neutron-mlnx-agent/Dockerfile.j2 b/kolla/docker/neutron/neutron-mlnx-agent/Dockerfile.j2
index 4ee89c19a..4ee89c19a 100644
--- a/docker/neutron/neutron-mlnx-agent/Dockerfile.j2
+++ b/kolla/docker/neutron/neutron-mlnx-agent/Dockerfile.j2
diff --git a/docker/neutron/neutron-openvswitch-agent/Dockerfile.j2 b/kolla/docker/neutron/neutron-openvswitch-agent/Dockerfile.j2
index b9499e6f7..b9499e6f7 100644
--- a/docker/neutron/neutron-openvswitch-agent/Dockerfile.j2
+++ b/kolla/docker/neutron/neutron-openvswitch-agent/Dockerfile.j2
diff --git a/docker/neutron/neutron-ovn-agent/Dockerfile.j2 b/kolla/docker/neutron/neutron-ovn-agent/Dockerfile.j2
index fe4e352ac..fe4e352ac 100644
--- a/docker/neutron/neutron-ovn-agent/Dockerfile.j2
+++ b/kolla/docker/neutron/neutron-ovn-agent/Dockerfile.j2
diff --git a/docker/neutron/neutron-ovn-vpn-agent/Dockerfile.j2 b/kolla/docker/neutron/neutron-ovn-vpn-agent/Dockerfile.j2
index 4fbaaa78f..4fbaaa78f 100644
--- a/docker/neutron/neutron-ovn-vpn-agent/Dockerfile.j2
+++ b/kolla/docker/neutron/neutron-ovn-vpn-agent/Dockerfile.j2
diff --git a/docker/neutron/neutron-server/Dockerfile.j2 b/kolla/docker/neutron/neutron-server/Dockerfile.j2
index bda0d3dcf..bda0d3dcf 100644
--- a/docker/neutron/neutron-server/Dockerfile.j2
+++ b/kolla/docker/neutron/neutron-server/Dockerfile.j2
diff --git a/docker/neutron/neutron-server/extend_start.sh b/kolla/docker/neutron/neutron-server/extend_start.sh
index 630eb6e1f..630eb6e1f 100644
--- a/docker/neutron/neutron-server/extend_start.sh
+++ b/kolla/docker/neutron/neutron-server/extend_start.sh
diff --git a/docker/neutron/neutron-sriov-agent/Dockerfile.j2 b/kolla/docker/neutron/neutron-sriov-agent/Dockerfile.j2
index c5d74fbb2..c5d74fbb2 100644
--- a/docker/neutron/neutron-sriov-agent/Dockerfile.j2
+++ b/kolla/docker/neutron/neutron-sriov-agent/Dockerfile.j2
diff --git a/docker/nova/nova-api/Dockerfile.j2 b/kolla/docker/nova/nova-api/Dockerfile.j2
index 57846af79..57846af79 100644
--- a/docker/nova/nova-api/Dockerfile.j2
+++ b/kolla/docker/nova/nova-api/Dockerfile.j2
diff --git a/docker/nova/nova-api/extend_start.sh b/kolla/docker/nova/nova-api/extend_start.sh
index ead6c252b..ead6c252b 100644
--- a/docker/nova/nova-api/extend_start.sh
+++ b/kolla/docker/nova/nova-api/extend_start.sh
diff --git a/docker/nova/nova-base/Dockerfile.j2 b/kolla/docker/nova/nova-base/Dockerfile.j2
index 423a9760a..423a9760a 100644
--- a/docker/nova/nova-base/Dockerfile.j2
+++ b/kolla/docker/nova/nova-base/Dockerfile.j2
diff --git a/docker/nova/nova-base/extend_start.sh b/kolla/docker/nova/nova-base/extend_start.sh
index eee0f16a1..eee0f16a1 100644
--- a/docker/nova/nova-base/extend_start.sh
+++ b/kolla/docker/nova/nova-base/extend_start.sh
diff --git a/docker/nova/nova-base/nova_sudoers b/kolla/docker/nova/nova-base/nova_sudoers
index 6d73da6d3..6d73da6d3 100644
--- a/docker/nova/nova-base/nova_sudoers
+++ b/kolla/docker/nova/nova-base/nova_sudoers
diff --git a/docker/nova/nova-compute-ironic/Dockerfile.j2 b/kolla/docker/nova/nova-compute-ironic/Dockerfile.j2
index 3c455e2ec..3c455e2ec 100644
--- a/docker/nova/nova-compute-ironic/Dockerfile.j2
+++ b/kolla/docker/nova/nova-compute-ironic/Dockerfile.j2
diff --git a/docker/nova/nova-compute/Dockerfile.j2 b/kolla/docker/nova/nova-compute/Dockerfile.j2
index 8b3c1bcfe..8b3c1bcfe 100644
--- a/docker/nova/nova-compute/Dockerfile.j2
+++ b/kolla/docker/nova/nova-compute/Dockerfile.j2
diff --git a/docker/nova/nova-compute/extend_start.sh b/kolla/docker/nova/nova-compute/extend_start.sh
index a458625ec..a458625ec 100644
--- a/docker/nova/nova-compute/extend_start.sh
+++ b/kolla/docker/nova/nova-compute/extend_start.sh
diff --git a/docker/nova/nova-conductor/Dockerfile.j2 b/kolla/docker/nova/nova-conductor/Dockerfile.j2
index b14000400..b14000400 100644
--- a/docker/nova/nova-conductor/Dockerfile.j2
+++ b/kolla/docker/nova/nova-conductor/Dockerfile.j2
diff --git a/docker/nova/nova-conductor/extend_start.sh b/kolla/docker/nova/nova-conductor/extend_start.sh
index 72c9493f5..72c9493f5 100644
--- a/docker/nova/nova-conductor/extend_start.sh
+++ b/kolla/docker/nova/nova-conductor/extend_start.sh
diff --git a/docker/nova/nova-libvirt-spice/Dockerfile.j2 b/kolla/docker/nova/nova-libvirt-spice/Dockerfile.j2
index 4c7ded894..4c7ded894 100644
--- a/docker/nova/nova-libvirt-spice/Dockerfile.j2
+++ b/kolla/docker/nova/nova-libvirt-spice/Dockerfile.j2
diff --git a/docker/nova/nova-libvirt-spice/extend_start.sh b/kolla/docker/nova/nova-libvirt-spice/extend_start.sh
index cc41b480b..cc41b480b 100644
--- a/docker/nova/nova-libvirt-spice/extend_start.sh
+++ b/kolla/docker/nova/nova-libvirt-spice/extend_start.sh
diff --git a/docker/nova/nova-libvirt-spice/kolla_nova_libvirt_start.sh b/kolla/docker/nova/nova-libvirt-spice/kolla_nova_libvirt_start.sh
index f06a63d9e..f06a63d9e 100644
--- a/docker/nova/nova-libvirt-spice/kolla_nova_libvirt_start.sh
+++ b/kolla/docker/nova/nova-libvirt-spice/kolla_nova_libvirt_start.sh
diff --git a/docker/nova/nova-libvirt/Dockerfile.j2 b/kolla/docker/nova/nova-libvirt/Dockerfile.j2
index fb82401b3..fb82401b3 100644
--- a/docker/nova/nova-libvirt/Dockerfile.j2
+++ b/kolla/docker/nova/nova-libvirt/Dockerfile.j2
diff --git a/docker/nova/nova-libvirt/extend_start.sh b/kolla/docker/nova/nova-libvirt/extend_start.sh
index cc41b480b..cc41b480b 100644
--- a/docker/nova/nova-libvirt/extend_start.sh
+++ b/kolla/docker/nova/nova-libvirt/extend_start.sh
diff --git a/docker/nova/nova-libvirt/kolla_nova_libvirt_start.sh b/kolla/docker/nova/nova-libvirt/kolla_nova_libvirt_start.sh
index f06a63d9e..f06a63d9e 100644
--- a/docker/nova/nova-libvirt/kolla_nova_libvirt_start.sh
+++ b/kolla/docker/nova/nova-libvirt/kolla_nova_libvirt_start.sh
diff --git a/docker/nova/nova-novncproxy/Dockerfile.j2 b/kolla/docker/nova/nova-novncproxy/Dockerfile.j2
index 4952ed734..4952ed734 100644
--- a/docker/nova/nova-novncproxy/Dockerfile.j2
+++ b/kolla/docker/nova/nova-novncproxy/Dockerfile.j2
diff --git a/docker/nova/nova-scheduler/Dockerfile.j2 b/kolla/docker/nova/nova-scheduler/Dockerfile.j2
index 5b0b0b98e..5b0b0b98e 100644
--- a/docker/nova/nova-scheduler/Dockerfile.j2
+++ b/kolla/docker/nova/nova-scheduler/Dockerfile.j2
diff --git a/docker/nova/nova-serialproxy/Dockerfile.j2 b/kolla/docker/nova/nova-serialproxy/Dockerfile.j2
index c63e925d5..c63e925d5 100644
--- a/docker/nova/nova-serialproxy/Dockerfile.j2
+++ b/kolla/docker/nova/nova-serialproxy/Dockerfile.j2
diff --git a/docker/nova/nova-spicehtml5proxy/Dockerfile.j2 b/kolla/docker/nova/nova-spicehtml5proxy/Dockerfile.j2
index f3a90b0c5..f3a90b0c5 100644
--- a/docker/nova/nova-spicehtml5proxy/Dockerfile.j2
+++ b/kolla/docker/nova/nova-spicehtml5proxy/Dockerfile.j2
diff --git a/docker/nova/nova-ssh/Dockerfile.j2 b/kolla/docker/nova/nova-ssh/Dockerfile.j2
index 0d9e36b65..0d9e36b65 100644
--- a/docker/nova/nova-ssh/Dockerfile.j2
+++ b/kolla/docker/nova/nova-ssh/Dockerfile.j2
diff --git a/docker/nova/nova-ssh/extend_start.sh b/kolla/docker/nova/nova-ssh/extend_start.sh
index b80114c0a..b80114c0a 100644
--- a/docker/nova/nova-ssh/extend_start.sh
+++ b/kolla/docker/nova/nova-ssh/extend_start.sh
diff --git a/docker/octavia/octavia-api/Dockerfile.j2 b/kolla/docker/octavia/octavia-api/Dockerfile.j2
index ccb7bad11..ccb7bad11 100644
--- a/docker/octavia/octavia-api/Dockerfile.j2
+++ b/kolla/docker/octavia/octavia-api/Dockerfile.j2
diff --git a/docker/octavia/octavia-api/extend_start.sh b/kolla/docker/octavia/octavia-api/extend_start.sh
index b05d8abf1..b05d8abf1 100644
--- a/docker/octavia/octavia-api/extend_start.sh
+++ b/kolla/docker/octavia/octavia-api/extend_start.sh
diff --git a/docker/octavia/octavia-base/Dockerfile.j2 b/kolla/docker/octavia/octavia-base/Dockerfile.j2
index 81a589a09..81a589a09 100644
--- a/docker/octavia/octavia-base/Dockerfile.j2
+++ b/kolla/docker/octavia/octavia-base/Dockerfile.j2
diff --git a/docker/octavia/octavia-base/extend_start.sh b/kolla/docker/octavia/octavia-base/extend_start.sh
index b27a88a31..b27a88a31 100644
--- a/docker/octavia/octavia-base/extend_start.sh
+++ b/kolla/docker/octavia/octavia-base/extend_start.sh
diff --git a/docker/octavia/octavia-driver-agent/Dockerfile.j2 b/kolla/docker/octavia/octavia-driver-agent/Dockerfile.j2
index b3519922a..b3519922a 100644
--- a/docker/octavia/octavia-driver-agent/Dockerfile.j2
+++ b/kolla/docker/octavia/octavia-driver-agent/Dockerfile.j2
diff --git a/docker/octavia/octavia-health-manager/Dockerfile.j2 b/kolla/docker/octavia/octavia-health-manager/Dockerfile.j2
index 1ffbe2050..1ffbe2050 100644
--- a/docker/octavia/octavia-health-manager/Dockerfile.j2
+++ b/kolla/docker/octavia/octavia-health-manager/Dockerfile.j2
diff --git a/docker/octavia/octavia-housekeeping/Dockerfile.j2 b/kolla/docker/octavia/octavia-housekeeping/Dockerfile.j2
index 775797cca..775797cca 100644
--- a/docker/octavia/octavia-housekeeping/Dockerfile.j2
+++ b/kolla/docker/octavia/octavia-housekeeping/Dockerfile.j2
diff --git a/docker/octavia/octavia-worker/Dockerfile.j2 b/kolla/docker/octavia/octavia-worker/Dockerfile.j2
index 85d4727b7..85d4727b7 100644
--- a/docker/octavia/octavia-worker/Dockerfile.j2
+++ b/kolla/docker/octavia/octavia-worker/Dockerfile.j2
diff --git a/docker/opensearch/opensearch-dashboards/Dockerfile.j2 b/kolla/docker/opensearch/opensearch-dashboards/Dockerfile.j2
index 3249b62d2..3249b62d2 100644
--- a/docker/opensearch/opensearch-dashboards/Dockerfile.j2
+++ b/kolla/docker/opensearch/opensearch-dashboards/Dockerfile.j2
diff --git a/docker/opensearch/opensearch-dashboards/extend_start.sh b/kolla/docker/opensearch/opensearch-dashboards/extend_start.sh
index 608bb34bf..608bb34bf 100644
--- a/docker/opensearch/opensearch-dashboards/extend_start.sh
+++ b/kolla/docker/opensearch/opensearch-dashboards/extend_start.sh
diff --git a/docker/opensearch/opensearch/Dockerfile.j2 b/kolla/docker/opensearch/opensearch/Dockerfile.j2
index 6ad8fb29a..6ad8fb29a 100644
--- a/docker/opensearch/opensearch/Dockerfile.j2
+++ b/kolla/docker/opensearch/opensearch/Dockerfile.j2
diff --git a/docker/opensearch/opensearch/extend_start.sh b/kolla/docker/opensearch/opensearch/extend_start.sh
index 5855b1be2..5855b1be2 100644
--- a/docker/opensearch/opensearch/extend_start.sh
+++ b/kolla/docker/opensearch/opensearch/extend_start.sh
diff --git a/docker/openstack-base/Dockerfile.j2 b/kolla/docker/openstack-base/Dockerfile.j2
index b8ed2e465..b8ed2e465 100644
--- a/docker/openstack-base/Dockerfile.j2
+++ b/kolla/docker/openstack-base/Dockerfile.j2
diff --git a/docker/openvswitch/openvswitch-base/Dockerfile.j2 b/kolla/docker/openvswitch/openvswitch-base/Dockerfile.j2
index 44d8df41c..44d8df41c 100644
--- a/docker/openvswitch/openvswitch-base/Dockerfile.j2
+++ b/kolla/docker/openvswitch/openvswitch-base/Dockerfile.j2
diff --git a/docker/openvswitch/openvswitch-base/extend_start.sh b/kolla/docker/openvswitch/openvswitch-base/extend_start.sh
index 1b0ed1300..1b0ed1300 100644
--- a/docker/openvswitch/openvswitch-base/extend_start.sh
+++ b/kolla/docker/openvswitch/openvswitch-base/extend_start.sh
diff --git a/docker/openvswitch/openvswitch-base/ovs_wrapper.sh b/kolla/docker/openvswitch/openvswitch-base/ovs_wrapper.sh
index 552c496ac..552c496ac 100644
--- a/docker/openvswitch/openvswitch-base/ovs_wrapper.sh
+++ b/kolla/docker/openvswitch/openvswitch-base/ovs_wrapper.sh
diff --git a/docker/openvswitch/openvswitch-db-server/Dockerfile.j2 b/kolla/docker/openvswitch/openvswitch-db-server/Dockerfile.j2
index 869dbabb6..869dbabb6 100644
--- a/docker/openvswitch/openvswitch-db-server/Dockerfile.j2
+++ b/kolla/docker/openvswitch/openvswitch-db-server/Dockerfile.j2
diff --git a/docker/openvswitch/openvswitch-db-server/extend_start.sh b/kolla/docker/openvswitch/openvswitch-db-server/extend_start.sh
index d25038bdd..d25038bdd 100644
--- a/docker/openvswitch/openvswitch-db-server/extend_start.sh
+++ b/kolla/docker/openvswitch/openvswitch-db-server/extend_start.sh
diff --git a/docker/openvswitch/openvswitch-db-server/releasenotes/notes/drop-ovs-ensure-configured-7973d36969e157fa.yaml b/kolla/docker/openvswitch/openvswitch-db-server/releasenotes/notes/drop-ovs-ensure-configured-7973d36969e157fa.yaml
index cc8daf1f4..cc8daf1f4 100644
--- a/docker/openvswitch/openvswitch-db-server/releasenotes/notes/drop-ovs-ensure-configured-7973d36969e157fa.yaml
+++ b/kolla/docker/openvswitch/openvswitch-db-server/releasenotes/notes/drop-ovs-ensure-configured-7973d36969e157fa.yaml
diff --git a/docker/openvswitch/openvswitch-vswitchd/Dockerfile.j2 b/kolla/docker/openvswitch/openvswitch-vswitchd/Dockerfile.j2
index fe6dd4347..fe6dd4347 100644
--- a/docker/openvswitch/openvswitch-vswitchd/Dockerfile.j2
+++ b/kolla/docker/openvswitch/openvswitch-vswitchd/Dockerfile.j2
diff --git a/docker/openvswitch/openvswitch-vswitchd/extend_start.sh b/kolla/docker/openvswitch/openvswitch-vswitchd/extend_start.sh
index fde542130..fde542130 100644
--- a/docker/openvswitch/openvswitch-vswitchd/extend_start.sh
+++ b/kolla/docker/openvswitch/openvswitch-vswitchd/extend_start.sh
diff --git a/docker/ovn/ovn-base/Dockerfile.j2 b/kolla/docker/ovn/ovn-base/Dockerfile.j2
index 3efd001a3..3efd001a3 100644
--- a/docker/ovn/ovn-base/Dockerfile.j2
+++ b/kolla/docker/ovn/ovn-base/Dockerfile.j2
diff --git a/docker/ovn/ovn-base/extend_start.sh b/kolla/docker/ovn/ovn-base/extend_start.sh
index eae4ab9e1..eae4ab9e1 100644
--- a/docker/ovn/ovn-base/extend_start.sh
+++ b/kolla/docker/ovn/ovn-base/extend_start.sh
diff --git a/docker/ovn/ovn-controller/Dockerfile.j2 b/kolla/docker/ovn/ovn-controller/Dockerfile.j2
index f95e61fee..f95e61fee 100644
--- a/docker/ovn/ovn-controller/Dockerfile.j2
+++ b/kolla/docker/ovn/ovn-controller/Dockerfile.j2
diff --git a/docker/ovn/ovn-controller/extend_start.sh b/kolla/docker/ovn/ovn-controller/extend_start.sh
index 8080ea7c8..8080ea7c8 100644
--- a/docker/ovn/ovn-controller/extend_start.sh
+++ b/kolla/docker/ovn/ovn-controller/extend_start.sh
diff --git a/docker/ovn/ovn-nb-db-server/Dockerfile.j2 b/kolla/docker/ovn/ovn-nb-db-server/Dockerfile.j2
index ea6a53249..ea6a53249 100644
--- a/docker/ovn/ovn-nb-db-server/Dockerfile.j2
+++ b/kolla/docker/ovn/ovn-nb-db-server/Dockerfile.j2
diff --git a/docker/ovn/ovn-nb-db-server/extend_start.sh b/kolla/docker/ovn/ovn-nb-db-server/extend_start.sh
index 4c0e742f5..4c0e742f5 100644
--- a/docker/ovn/ovn-nb-db-server/extend_start.sh
+++ b/kolla/docker/ovn/ovn-nb-db-server/extend_start.sh
diff --git a/docker/ovn/ovn-nb-db-server/start_nb_db_server.sh b/kolla/docker/ovn/ovn-nb-db-server/start_nb_db_server.sh
index d08dd2890..d08dd2890 100755
--- a/docker/ovn/ovn-nb-db-server/start_nb_db_server.sh
+++ b/kolla/docker/ovn/ovn-nb-db-server/start_nb_db_server.sh
diff --git a/docker/ovn/ovn-northd/Dockerfile.j2 b/kolla/docker/ovn/ovn-northd/Dockerfile.j2
index 4a15e10eb..4a15e10eb 100644
--- a/docker/ovn/ovn-northd/Dockerfile.j2
+++ b/kolla/docker/ovn/ovn-northd/Dockerfile.j2
diff --git a/docker/ovn/ovn-northd/extend_start.sh b/kolla/docker/ovn/ovn-northd/extend_start.sh
index c832c5383..c832c5383 100644
--- a/docker/ovn/ovn-northd/extend_start.sh
+++ b/kolla/docker/ovn/ovn-northd/extend_start.sh
diff --git a/docker/ovn/ovn-sb-db-relay/Dockerfile.j2 b/kolla/docker/ovn/ovn-sb-db-relay/Dockerfile.j2
index 427b6f7f1..427b6f7f1 100644
--- a/docker/ovn/ovn-sb-db-relay/Dockerfile.j2
+++ b/kolla/docker/ovn/ovn-sb-db-relay/Dockerfile.j2
diff --git a/docker/ovn/ovn-sb-db-relay/extend_start.sh b/kolla/docker/ovn/ovn-sb-db-relay/extend_start.sh
index 04b6c5357..04b6c5357 100644
--- a/docker/ovn/ovn-sb-db-relay/extend_start.sh
+++ b/kolla/docker/ovn/ovn-sb-db-relay/extend_start.sh
diff --git a/docker/ovn/ovn-sb-db-server/Dockerfile.j2 b/kolla/docker/ovn/ovn-sb-db-server/Dockerfile.j2
index afceb8173..afceb8173 100644
--- a/docker/ovn/ovn-sb-db-server/Dockerfile.j2
+++ b/kolla/docker/ovn/ovn-sb-db-server/Dockerfile.j2
diff --git a/docker/ovn/ovn-sb-db-server/extend_start.sh b/kolla/docker/ovn/ovn-sb-db-server/extend_start.sh
index 07bcd1b45..07bcd1b45 100644
--- a/docker/ovn/ovn-sb-db-server/extend_start.sh
+++ b/kolla/docker/ovn/ovn-sb-db-server/extend_start.sh
diff --git a/docker/ovn/ovn-sb-db-server/start_sb_db_server.sh b/kolla/docker/ovn/ovn-sb-db-server/start_sb_db_server.sh
index ef39b8d25..ef39b8d25 100755
--- a/docker/ovn/ovn-sb-db-server/start_sb_db_server.sh
+++ b/kolla/docker/ovn/ovn-sb-db-server/start_sb_db_server.sh
diff --git a/docker/ovsdpdk/ovsdpdk-db/Dockerfile.j2 b/kolla/docker/ovsdpdk/ovsdpdk-db/Dockerfile.j2
index 2527fa0e6..2527fa0e6 100644
--- a/docker/ovsdpdk/ovsdpdk-db/Dockerfile.j2
+++ b/kolla/docker/ovsdpdk/ovsdpdk-db/Dockerfile.j2
diff --git a/docker/ovsdpdk/ovsdpdk-db/extend_start.sh b/kolla/docker/ovsdpdk/ovsdpdk-db/extend_start.sh
index 3883b50ed..3883b50ed 100644
--- a/docker/ovsdpdk/ovsdpdk-db/extend_start.sh
+++ b/kolla/docker/ovsdpdk/ovsdpdk-db/extend_start.sh
diff --git a/docker/ovsdpdk/ovsdpdk-db/start_ovsdb_server.sh b/kolla/docker/ovsdpdk/ovsdpdk-db/start_ovsdb_server.sh
index 5c92fba78..5c92fba78 100755
--- a/docker/ovsdpdk/ovsdpdk-db/start_ovsdb_server.sh
+++ b/kolla/docker/ovsdpdk/ovsdpdk-db/start_ovsdb_server.sh
diff --git a/docker/ovsdpdk/ovsdpdk-vswitchd/Dockerfile.j2 b/kolla/docker/ovsdpdk/ovsdpdk-vswitchd/Dockerfile.j2
index 059efd46b..059efd46b 100644
--- a/docker/ovsdpdk/ovsdpdk-vswitchd/Dockerfile.j2
+++ b/kolla/docker/ovsdpdk/ovsdpdk-vswitchd/Dockerfile.j2
diff --git a/docker/ovsdpdk/ovsdpdk-vswitchd/extend_start.sh b/kolla/docker/ovsdpdk/ovsdpdk-vswitchd/extend_start.sh
index cf9d733e8..cf9d733e8 100644
--- a/docker/ovsdpdk/ovsdpdk-vswitchd/extend_start.sh
+++ b/kolla/docker/ovsdpdk/ovsdpdk-vswitchd/extend_start.sh
diff --git a/docker/ovsdpdk/ovsdpdk/Dockerfile.j2 b/kolla/docker/ovsdpdk/ovsdpdk/Dockerfile.j2
index eab4f5474..eab4f5474 100644
--- a/docker/ovsdpdk/ovsdpdk/Dockerfile.j2
+++ b/kolla/docker/ovsdpdk/ovsdpdk/Dockerfile.j2
diff --git a/docker/ovsdpdk/ovsdpdk/extend_start.sh b/kolla/docker/ovsdpdk/ovsdpdk/extend_start.sh
index 60ab0c088..60ab0c088 100644
--- a/docker/ovsdpdk/ovsdpdk/extend_start.sh
+++ b/kolla/docker/ovsdpdk/ovsdpdk/extend_start.sh
diff --git a/docker/placement/placement-api/Dockerfile.j2 b/kolla/docker/placement/placement-api/Dockerfile.j2
index a13f65bdf..a13f65bdf 100644
--- a/docker/placement/placement-api/Dockerfile.j2
+++ b/kolla/docker/placement/placement-api/Dockerfile.j2
diff --git a/docker/placement/placement-api/extend_start.sh b/kolla/docker/placement/placement-api/extend_start.sh
index e468cbcaf..e468cbcaf 100644
--- a/docker/placement/placement-api/extend_start.sh
+++ b/kolla/docker/placement/placement-api/extend_start.sh
diff --git a/docker/placement/placement-base/Dockerfile.j2 b/kolla/docker/placement/placement-base/Dockerfile.j2
index 6454da748..6454da748 100644
--- a/docker/placement/placement-base/Dockerfile.j2
+++ b/kolla/docker/placement/placement-base/Dockerfile.j2
diff --git a/docker/placement/placement-base/extend_start.sh b/kolla/docker/placement/placement-base/extend_start.sh
index 900ea8447..900ea8447 100644
--- a/docker/placement/placement-base/extend_start.sh
+++ b/kolla/docker/placement/placement-base/extend_start.sh
diff --git a/docker/prometheus/prometheus-alertmanager/Dockerfile.j2 b/kolla/docker/prometheus/prometheus-alertmanager/Dockerfile.j2
index 8f2df0492..8f2df0492 100644
--- a/docker/prometheus/prometheus-alertmanager/Dockerfile.j2
+++ b/kolla/docker/prometheus/prometheus-alertmanager/Dockerfile.j2
diff --git a/docker/prometheus/prometheus-base/Dockerfile.j2 b/kolla/docker/prometheus/prometheus-base/Dockerfile.j2
index 123bd4ba3..123bd4ba3 100644
--- a/docker/prometheus/prometheus-base/Dockerfile.j2
+++ b/kolla/docker/prometheus/prometheus-base/Dockerfile.j2
diff --git a/docker/prometheus/prometheus-base/extend_start.sh b/kolla/docker/prometheus/prometheus-base/extend_start.sh
index 8613330c6..8613330c6 100644
--- a/docker/prometheus/prometheus-base/extend_start.sh
+++ b/kolla/docker/prometheus/prometheus-base/extend_start.sh
diff --git a/docker/prometheus/prometheus-blackbox-exporter/Dockerfile.j2 b/kolla/docker/prometheus/prometheus-blackbox-exporter/Dockerfile.j2
index 95018facf..95018facf 100644
--- a/docker/prometheus/prometheus-blackbox-exporter/Dockerfile.j2
+++ b/kolla/docker/prometheus/prometheus-blackbox-exporter/Dockerfile.j2
diff --git a/docker/prometheus/prometheus-cadvisor/Dockerfile.j2 b/kolla/docker/prometheus/prometheus-cadvisor/Dockerfile.j2
index 884f4acd2..884f4acd2 100644
--- a/docker/prometheus/prometheus-cadvisor/Dockerfile.j2
+++ b/kolla/docker/prometheus/prometheus-cadvisor/Dockerfile.j2
diff --git a/docker/prometheus/prometheus-elasticsearch-exporter/Dockerfile.j2 b/kolla/docker/prometheus/prometheus-elasticsearch-exporter/Dockerfile.j2
index 63d09409c..63d09409c 100644
--- a/docker/prometheus/prometheus-elasticsearch-exporter/Dockerfile.j2
+++ b/kolla/docker/prometheus/prometheus-elasticsearch-exporter/Dockerfile.j2
diff --git a/docker/prometheus/prometheus-libvirt-exporter/Dockerfile.j2 b/kolla/docker/prometheus/prometheus-libvirt-exporter/Dockerfile.j2
index c32b2f8c7..c32b2f8c7 100644
--- a/docker/prometheus/prometheus-libvirt-exporter/Dockerfile.j2
+++ b/kolla/docker/prometheus/prometheus-libvirt-exporter/Dockerfile.j2
diff --git a/docker/prometheus/prometheus-memcached-exporter/Dockerfile.j2 b/kolla/docker/prometheus/prometheus-memcached-exporter/Dockerfile.j2
index cb50c2095..cb50c2095 100644
--- a/docker/prometheus/prometheus-memcached-exporter/Dockerfile.j2
+++ b/kolla/docker/prometheus/prometheus-memcached-exporter/Dockerfile.j2
diff --git a/docker/prometheus/prometheus-mtail/Dockerfile.j2 b/kolla/docker/prometheus/prometheus-mtail/Dockerfile.j2
index a562bfd71..a562bfd71 100644
--- a/docker/prometheus/prometheus-mtail/Dockerfile.j2
+++ b/kolla/docker/prometheus/prometheus-mtail/Dockerfile.j2
diff --git a/docker/prometheus/prometheus-mysqld-exporter/Dockerfile.j2 b/kolla/docker/prometheus/prometheus-mysqld-exporter/Dockerfile.j2
index f8d2abaa6..f8d2abaa6 100644
--- a/docker/prometheus/prometheus-mysqld-exporter/Dockerfile.j2
+++ b/kolla/docker/prometheus/prometheus-mysqld-exporter/Dockerfile.j2
diff --git a/docker/prometheus/prometheus-node-exporter/Dockerfile.j2 b/kolla/docker/prometheus/prometheus-node-exporter/Dockerfile.j2
index 3250d3d7a..3250d3d7a 100644
--- a/docker/prometheus/prometheus-node-exporter/Dockerfile.j2
+++ b/kolla/docker/prometheus/prometheus-node-exporter/Dockerfile.j2
diff --git a/docker/prometheus/prometheus-openstack-exporter/Dockerfile.j2 b/kolla/docker/prometheus/prometheus-openstack-exporter/Dockerfile.j2
index 437f3a6cd..437f3a6cd 100644
--- a/docker/prometheus/prometheus-openstack-exporter/Dockerfile.j2
+++ b/kolla/docker/prometheus/prometheus-openstack-exporter/Dockerfile.j2
diff --git a/docker/prometheus/prometheus-openstack-network-exporter/Dockerfile.j2 b/kolla/docker/prometheus/prometheus-openstack-network-exporter/Dockerfile.j2
index 3d4d9197b..3d4d9197b 100644
--- a/docker/prometheus/prometheus-openstack-network-exporter/Dockerfile.j2
+++ b/kolla/docker/prometheus/prometheus-openstack-network-exporter/Dockerfile.j2
diff --git a/docker/prometheus/prometheus-server/Dockerfile.j2 b/kolla/docker/prometheus/prometheus-server/Dockerfile.j2
index a3b227d7e..a3b227d7e 100644
--- a/docker/prometheus/prometheus-server/Dockerfile.j2
+++ b/kolla/docker/prometheus/prometheus-server/Dockerfile.j2
diff --git a/docker/prometheus/prometheus-valkey-exporter/Dockerfile.j2 b/kolla/docker/prometheus/prometheus-valkey-exporter/Dockerfile.j2
index c6cf79ac3..c6cf79ac3 100644
--- a/docker/prometheus/prometheus-valkey-exporter/Dockerfile.j2
+++ b/kolla/docker/prometheus/prometheus-valkey-exporter/Dockerfile.j2
diff --git a/docker/proxysql/Dockerfile.j2 b/kolla/docker/proxysql/Dockerfile.j2
index a76dbcda8..a76dbcda8 100644
--- a/docker/proxysql/Dockerfile.j2
+++ b/kolla/docker/proxysql/Dockerfile.j2
diff --git a/docker/proxysql/kolla_extend_start b/kolla/docker/proxysql/kolla_extend_start
index 229e8ada2..229e8ada2 100644
--- a/docker/proxysql/kolla_extend_start
+++ b/kolla/docker/proxysql/kolla_extend_start
diff --git a/docker/proxysql/kolla_proxysql_config_sync b/kolla/docker/proxysql/kolla_proxysql_config_sync
index 094642c8a..094642c8a 100644
--- a/docker/proxysql/kolla_proxysql_config_sync
+++ b/kolla/docker/proxysql/kolla_proxysql_config_sync
diff --git a/docker/rabbitmq/Dockerfile.j2 b/kolla/docker/rabbitmq/Dockerfile.j2
index a167356a7..a167356a7 100644
--- a/docker/rabbitmq/Dockerfile.j2
+++ b/kolla/docker/rabbitmq/Dockerfile.j2
diff --git a/docker/rabbitmq/apt_preferences_rabbitmq.debian b/kolla/docker/rabbitmq/apt_preferences_rabbitmq.debian
index cc6404b3e..cc6404b3e 100644
--- a/docker/rabbitmq/apt_preferences_rabbitmq.debian
+++ b/kolla/docker/rabbitmq/apt_preferences_rabbitmq.debian
diff --git a/docker/rabbitmq/apt_preferences_rabbitmq.ubuntu b/kolla/docker/rabbitmq/apt_preferences_rabbitmq.ubuntu
index cc6404b3e..cc6404b3e 100644
--- a/docker/rabbitmq/apt_preferences_rabbitmq.ubuntu
+++ b/kolla/docker/rabbitmq/apt_preferences_rabbitmq.ubuntu
diff --git a/docker/rabbitmq/extend_start.sh b/kolla/docker/rabbitmq/extend_start.sh
index ef28d2b5f..ef28d2b5f 100644
--- a/docker/rabbitmq/extend_start.sh
+++ b/kolla/docker/rabbitmq/extend_start.sh
diff --git a/docker/rabbitmq/healthcheck_rabbitmq b/kolla/docker/rabbitmq/healthcheck_rabbitmq
index 277ab098c..277ab098c 100644
--- a/docker/rabbitmq/healthcheck_rabbitmq
+++ b/kolla/docker/rabbitmq/healthcheck_rabbitmq
diff --git a/docker/skyline/skyline-apiserver/Dockerfile.j2 b/kolla/docker/skyline/skyline-apiserver/Dockerfile.j2
index 85b40d51c..85b40d51c 100644
--- a/docker/skyline/skyline-apiserver/Dockerfile.j2
+++ b/kolla/docker/skyline/skyline-apiserver/Dockerfile.j2
diff --git a/docker/skyline/skyline-apiserver/extend_start.sh b/kolla/docker/skyline/skyline-apiserver/extend_start.sh
index e1802937b..e1802937b 100644
--- a/docker/skyline/skyline-apiserver/extend_start.sh
+++ b/kolla/docker/skyline/skyline-apiserver/extend_start.sh
diff --git a/docker/skyline/skyline-base/Dockerfile.j2 b/kolla/docker/skyline/skyline-base/Dockerfile.j2
index 815fa504f..815fa504f 100644
--- a/docker/skyline/skyline-base/Dockerfile.j2
+++ b/kolla/docker/skyline/skyline-base/Dockerfile.j2
diff --git a/docker/skyline/skyline-base/extend_start.sh b/kolla/docker/skyline/skyline-base/extend_start.sh
index 34362ad04..34362ad04 100644
--- a/docker/skyline/skyline-base/extend_start.sh
+++ b/kolla/docker/skyline/skyline-base/extend_start.sh
diff --git a/docker/skyline/skyline-console/Dockerfile.j2 b/kolla/docker/skyline/skyline-console/Dockerfile.j2
index ba62f5041..ba62f5041 100644
--- a/docker/skyline/skyline-console/Dockerfile.j2
+++ b/kolla/docker/skyline/skyline-console/Dockerfile.j2
diff --git a/docker/tacker/tacker-base/Dockerfile.j2 b/kolla/docker/tacker/tacker-base/Dockerfile.j2
index c24c8d87c..c24c8d87c 100644
--- a/docker/tacker/tacker-base/Dockerfile.j2
+++ b/kolla/docker/tacker/tacker-base/Dockerfile.j2
diff --git a/docker/tacker/tacker-base/extend_start.sh b/kolla/docker/tacker/tacker-base/extend_start.sh
index a3b7db8d3..a3b7db8d3 100644
--- a/docker/tacker/tacker-base/extend_start.sh
+++ b/kolla/docker/tacker/tacker-base/extend_start.sh
diff --git a/docker/tacker/tacker-conductor/Dockerfile.j2 b/kolla/docker/tacker/tacker-conductor/Dockerfile.j2
index 676c90106..676c90106 100644
--- a/docker/tacker/tacker-conductor/Dockerfile.j2
+++ b/kolla/docker/tacker/tacker-conductor/Dockerfile.j2
diff --git a/docker/tacker/tacker-server/Dockerfile.j2 b/kolla/docker/tacker/tacker-server/Dockerfile.j2
index 659b70bea..659b70bea 100644
--- a/docker/tacker/tacker-server/Dockerfile.j2
+++ b/kolla/docker/tacker/tacker-server/Dockerfile.j2
diff --git a/docker/tacker/tacker-server/extend_start.sh b/kolla/docker/tacker/tacker-server/extend_start.sh
index 311d21f71..311d21f71 100644
--- a/docker/tacker/tacker-server/extend_start.sh
+++ b/kolla/docker/tacker/tacker-server/extend_start.sh
diff --git a/docker/tgtd/Dockerfile.j2 b/kolla/docker/tgtd/Dockerfile.j2
index b8cbbaaf5..b8cbbaaf5 100644
--- a/docker/tgtd/Dockerfile.j2
+++ b/kolla/docker/tgtd/Dockerfile.j2
diff --git a/docker/trove/trove-api/Dockerfile.j2 b/kolla/docker/trove/trove-api/Dockerfile.j2
index 8d2885b86..8d2885b86 100644
--- a/docker/trove/trove-api/Dockerfile.j2
+++ b/kolla/docker/trove/trove-api/Dockerfile.j2
diff --git a/docker/trove/trove-api/extend_start.sh b/kolla/docker/trove/trove-api/extend_start.sh
index 76839e2d4..76839e2d4 100644
--- a/docker/trove/trove-api/extend_start.sh
+++ b/kolla/docker/trove/trove-api/extend_start.sh
diff --git a/docker/trove/trove-base/Dockerfile.j2 b/kolla/docker/trove/trove-base/Dockerfile.j2
index a675b2b72..a675b2b72 100644
--- a/docker/trove/trove-base/Dockerfile.j2
+++ b/kolla/docker/trove/trove-base/Dockerfile.j2
diff --git a/docker/trove/trove-base/extend_start.sh b/kolla/docker/trove/trove-base/extend_start.sh
index 581a83d7b..581a83d7b 100644
--- a/docker/trove/trove-base/extend_start.sh
+++ b/kolla/docker/trove/trove-base/extend_start.sh
diff --git a/docker/trove/trove-conductor/Dockerfile.j2 b/kolla/docker/trove/trove-conductor/Dockerfile.j2
index 4a038c7f9..4a038c7f9 100644
--- a/docker/trove/trove-conductor/Dockerfile.j2
+++ b/kolla/docker/trove/trove-conductor/Dockerfile.j2
diff --git a/docker/trove/trove-guestagent/Dockerfile.j2 b/kolla/docker/trove/trove-guestagent/Dockerfile.j2
index 178260cae..178260cae 100644
--- a/docker/trove/trove-guestagent/Dockerfile.j2
+++ b/kolla/docker/trove/trove-guestagent/Dockerfile.j2
diff --git a/docker/trove/trove-taskmanager/Dockerfile.j2 b/kolla/docker/trove/trove-taskmanager/Dockerfile.j2
index cef0a0ce9..cef0a0ce9 100644
--- a/docker/trove/trove-taskmanager/Dockerfile.j2
+++ b/kolla/docker/trove/trove-taskmanager/Dockerfile.j2
diff --git a/docker/valkey/valkey-base/Dockerfile.j2 b/kolla/docker/valkey/valkey-base/Dockerfile.j2
index bc17c0cbb..bc17c0cbb 100644
--- a/docker/valkey/valkey-base/Dockerfile.j2
+++ b/kolla/docker/valkey/valkey-base/Dockerfile.j2
diff --git a/docker/valkey/valkey-base/extend_start.sh b/kolla/docker/valkey/valkey-base/extend_start.sh
index 3a3a321d4..3a3a321d4 100644
--- a/docker/valkey/valkey-base/extend_start.sh
+++ b/kolla/docker/valkey/valkey-base/extend_start.sh
diff --git a/docker/valkey/valkey-sentinel/Dockerfile.j2 b/kolla/docker/valkey/valkey-sentinel/Dockerfile.j2
index 94828a38f..94828a38f 100644
--- a/docker/valkey/valkey-sentinel/Dockerfile.j2
+++ b/kolla/docker/valkey/valkey-sentinel/Dockerfile.j2
diff --git a/docker/valkey/valkey-sentinel/extend_start.sh b/kolla/docker/valkey/valkey-sentinel/extend_start.sh
index e6af42ef6..e6af42ef6 100644
--- a/docker/valkey/valkey-sentinel/extend_start.sh
+++ b/kolla/docker/valkey/valkey-sentinel/extend_start.sh
diff --git a/docker/valkey/valkey-server/Dockerfile.j2 b/kolla/docker/valkey/valkey-server/Dockerfile.j2
index be157d89e..be157d89e 100644
--- a/docker/valkey/valkey-server/Dockerfile.j2
+++ b/kolla/docker/valkey/valkey-server/Dockerfile.j2
diff --git a/docker/watcher/watcher-api/Dockerfile.j2 b/kolla/docker/watcher/watcher-api/Dockerfile.j2
index f31b53ecf..f31b53ecf 100644
--- a/docker/watcher/watcher-api/Dockerfile.j2
+++ b/kolla/docker/watcher/watcher-api/Dockerfile.j2
diff --git a/docker/watcher/watcher-api/extend_start.sh b/kolla/docker/watcher/watcher-api/extend_start.sh
index 629ea6355..629ea6355 100644
--- a/docker/watcher/watcher-api/extend_start.sh
+++ b/kolla/docker/watcher/watcher-api/extend_start.sh
diff --git a/docker/watcher/watcher-applier/Dockerfile.j2 b/kolla/docker/watcher/watcher-applier/Dockerfile.j2
index db28d81d9..db28d81d9 100644
--- a/docker/watcher/watcher-applier/Dockerfile.j2
+++ b/kolla/docker/watcher/watcher-applier/Dockerfile.j2
diff --git a/docker/watcher/watcher-base/Dockerfile.j2 b/kolla/docker/watcher/watcher-base/Dockerfile.j2
index 8de6ceb9d..8de6ceb9d 100644
--- a/docker/watcher/watcher-base/Dockerfile.j2
+++ b/kolla/docker/watcher/watcher-base/Dockerfile.j2
diff --git a/docker/watcher/watcher-base/extend_start.sh b/kolla/docker/watcher/watcher-base/extend_start.sh
index 9e27a9cf0..9e27a9cf0 100644
--- a/docker/watcher/watcher-base/extend_start.sh
+++ b/kolla/docker/watcher/watcher-base/extend_start.sh
diff --git a/docker/watcher/watcher-engine/Dockerfile.j2 b/kolla/docker/watcher/watcher-engine/Dockerfile.j2
index 2518a92b6..2518a92b6 100644
--- a/docker/watcher/watcher-engine/Dockerfile.j2
+++ b/kolla/docker/watcher/watcher-engine/Dockerfile.j2
diff --git a/kolla/image/kolla_worker.py b/kolla/image/kolla_worker.py
index 1c704d1cf..1dc37e2a6 100644
--- a/kolla/image/kolla_worker.py
+++ b/kolla/image/kolla_worker.py
@@ -40,6 +40,8 @@ from oslo_config import cfg
PROJECT_ROOT = os.path.abspath(os.path.join(
os.path.dirname(os.path.realpath(__file__)), '../..'))
+KOLLA_PACKAGE_DIR = os.path.abspath(os.path.join(
+ os.path.dirname(os.path.realpath(__file__)), '..'))
class Image(object):
@@ -213,6 +215,7 @@ class KollaWorker(object):
def _get_images_dir(self):
possible_paths = (
+ KOLLA_PACKAGE_DIR,
PROJECT_ROOT,
os.path.join(sys.prefix, 'share/kolla'),
os.path.join(sys.prefix, 'local/share/kolla'),
diff --git a/kolla/template/methods.py b/kolla/template/methods.py
index 5dbf8da1b..8bb7a7fc3 100644
--- a/kolla/template/methods.py
+++ b/kolla/template/methods.py
@@ -24,7 +24,9 @@ APT_REPO = "echo 'Uris: {url}' >/etc/apt/sources.list.d/{repo}.sources && \
echo 'Components: {component}' >>/etc/apt/sources.list.d/{repo}.sources && \
echo 'Types: deb' >>/etc/apt/sources.list.d/{repo}.sources && \
echo 'Suites: {suite}' >>/etc/apt/sources.list.d/{repo}.sources && \
-echo 'Signed-By: /etc/kolla/apt-keys/{gpg_key}' \
+echo 'Signed-By: {signed_by}' \
+>>/etc/apt/sources.list.d/{repo}.sources"
+APT_TRUSTED = " && echo 'Trusted: yes' \
>>/etc/apt/sources.list.d/{repo}.sources"
DNF_BASEURL = " && echo 'baseurl={baseurl}' >>/etc/yum.repos.d/{repo}.repo"
DNF_DISABLE = "dnf config-manager --disable {name} || true"
@@ -35,6 +37,8 @@ DNF_GPGKEY_ADD = " && echo ' {gpgkey}' >>/etc/yum.repos.d/{repo}.repo"
DNF_METALINK = " && echo 'metalink={metalink}' >>/etc/yum.repos.d/{repo}.repo"
DNF_MIRRORLIST = " && \
echo 'mirrorlist={mirrorlist}' >>/etc/yum.repos.d/{repo}.repo"
+DNF_REMOVE_EXISTING = \
+ "grep -rlF '[{name}]' /etc/yum.repos.d/ 2>/dev/null | xargs -r rm -f"
DNF_REPO = "echo '[{name}]' >/etc/yum.repos.d/{repo}.repo && \
echo 'name={name}' >>/etc/yum.repos.d/{repo}.repo && \
echo 'enabled=1' >>/etc/yum.repos.d/{repo}.repo"
@@ -97,12 +101,20 @@ def debian_package_install(packages, clean_package_cache=True):
@pass_context
def handle_repos(context, reponames, mode):
- """NOTE(hrw): we need to handle CentOS, Debian and Ubuntu with one macro.
+ """Generate Dockerfile RUN commands to enable or disable package repos.
+
+ Takes a list of logical repo names (e.g. 'ceph', 'grafana') and a mode
+ ('enable' or 'disable'), looks them up in repos.yaml (merging any
+ user-supplied repos_yaml override), and returns a shell command string
+ suitable for use in a Dockerfile RUN instruction.
+
+ Repo names are distro/arch-agnostic aliases that map to the real repo
+ name and URL for the target platform. So 'ceph' becomes
+ 'centos-ceph-squid' on CentOS, uses UCA on Ubuntu, and so on.
+ Distro/arch sections are not required to have all entries - missing ones
+ are silently ignored.
- Repo names have to be simple names mapped to proper ones. So 'ceph' ==
- 'centos-ceph-pacific' for CentOS, UCA for Ubuntu (enabled by default) and
- something else for Debian.
- Distro/arch are not required to have all entries - we ignore missing ones.
+ NOTE(hrw): we need to handle CentOS, Debian and Ubuntu with one macro.
"""
if not isinstance(reponames, list):
@@ -112,6 +124,7 @@ def handle_repos(context, reponames, mode):
os.path.realpath(__file__)) + '/repos.yaml'
with open(default_repofile, 'r') as repos_file:
repo_data = yaml.safe_load(repos_file)
+ default_repo_data = {k: dict(v) for k, v in repo_data.items()}
if context.get('repos_yaml'):
with open(context.get('repos_yaml'), 'r') as repos_file:
@@ -125,23 +138,63 @@ def handle_repos(context, reponames, mode):
base_distro = context.get('base_distro')
base_arch = context.get('base_arch')
image_name = context.get('image_name')
+ openstack_release_codename = context.get('openstack_release_codename')
commands = ''
+ def _build_repo_list(data):
+ result = {}
+ for section in (base_package_type, base_distro,
+ '%s-%s' % (base_distro, base_arch)):
+ for repo_name, repo_info in data.get(section, {}).items():
+ if repo_name in result:
+ merged = {**result[repo_name], **repo_info}
+ if any(k in merged for k in
+ ('baseurl', 'metalink', 'mirrorlist', 'url')):
+ merged.pop('distro', None)
+ result[repo_name] = merged
+ else:
+ result[repo_name] = repo_info
+ return result
+
try:
- repo_list = repo_data.get(base_package_type, dict()) | \
- repo_data.get(base_distro, dict()) | \
- repo_data.get('%s-%s' % (base_distro, base_arch), dict())
+ repo_list = _build_repo_list(repo_data)
except KeyError:
# NOTE(hrw): Fallback to distro list
repo_list = repo_data[base_distro]
+ if base_package_type == 'rpm' and context.get('repos_yaml'):
+ default_repo_list = _build_repo_list(default_repo_data)
+ distro_overridden = {r for r, d in repo_list.items()
+ if not d.get('distro')
+ and default_repo_list.get(r, {}).get('distro')}
+ if distro_overridden:
+ overridden_groups = {
+ default_repo_list[r].get('file_group')
+ for r in distro_overridden
+ if default_repo_list.get(r, {}).get('file_group')}
+ distro_not_overridden = sorted(
+ r for r, d in repo_list.items()
+ if d.get('distro')
+ and r not in distro_overridden
+ and d.get('file_group') in overridden_groups)
+ if distro_not_overridden:
+ raise ValueError(
+ "Repositories %s override distro-provided repos and will "
+ "remove their .repo file. Repositories %s are still using "
+ "distro defaults and share the same file. Please also "
+ "override them in your repos.yaml."
+ % (sorted(distro_overridden), distro_not_overridden))
+
for index, repo in enumerate(reponames):
try:
_repo = repo_list[repo]
if base_package_type == 'rpm':
if mode == 'enable':
if not _repo.get('distro'):
+ commands += DNF_REMOVE_EXISTING.format(
+ name=_repo['name'])
+ commands += " && "
commands += DNF_REPO.format(
name=_repo['name'],
repo=repo,
@@ -156,6 +209,14 @@ def handle_repos(context, reponames, mode):
repo_gpgcheck=_repo['repo_gpgcheck'],
repo=repo)
+ if not any(k in _repo for k in
+ ('baseurl', 'metalink', 'mirrorlist')):
+ raise ValueError(
+ "Repository '%s' has no baseurl, metalink,"
+ " or mirrorlist" % repo)
+ if 'gpgkey' not in _repo:
+ raise ValueError(
+ "Repository '%s' has no gpgkey" % repo)
# NOTE(mnasiadka): Support multiple gpgkeys
gpgkeys = _repo['gpgkey'].splitlines()
for _, gpgkey in enumerate(gpgkeys):
@@ -166,25 +227,23 @@ def handle_repos(context, reponames, mode):
commands += DNF_GPGKEY_ADD.format(
gpgkey=gpgkey,
repo=repo)
+ if 'baseurl' in _repo:
+ # NOTE(mnasiadka): Support multiple baseurls
+ baseurl = _repo['baseurl'].splitlines()
+ for url in baseurl:
+ commands += DNF_BASEURL.format(baseurl=url,
+ repo=repo)
+ elif 'metalink' in _repo:
+ commands += DNF_METALINK.format(
+ metalink=_repo['metalink'], repo=repo
+ )
+ elif 'mirrorlist' in _repo:
+ commands += DNF_MIRRORLIST.format(
+ mirrorlist=_repo['mirrorlist'], repo=repo
+ )
else:
commands += DNF_ENABLE.format(name=_repo['name'])
- if 'baseurl' in _repo:
- # NOTE(mnasiadka): Support multiple baseurls
- baseurl = _repo['baseurl'].splitlines()
- for url in baseurl:
- commands += DNF_BASEURL.format(baseurl=url,
- repo=repo)
- elif 'metalink' in _repo:
- commands += DNF_METALINK.format(
- metalink=_repo['metalink'], repo=repo
- )
-
- elif 'mirrorlist' in _repo:
- commands += DNF_MIRRORLIST.format(
- mirrorlist=_repo['mirrorlist'], repo=repo
- )
-
if index != len(reponames) - 1:
commands += " && "
@@ -192,14 +251,22 @@ def handle_repos(context, reponames, mode):
commands += DNF_DISABLE.format(name=_repo['name'])
elif base_package_type == "deb":
- if mode == "enable":
+ if mode == "enable" and not _repo.get('distro'):
+ gpg_key = _repo['gpg_key']
+ signed_by = gpg_key if gpg_key.startswith('/') \
+ else '/etc/kolla/apt-keys/' + gpg_key
+ suite = _repo['suite'].replace(
+ '{openstack_release_codename}',
+ openstack_release_codename.lower())
commands += APT_REPO.format(
component=_repo['component'],
- gpg_key=_repo['gpg_key'],
- suite=_repo['suite'],
+ signed_by=signed_by,
+ suite=suite,
url=_repo['url'],
repo=repo,
)
+ if _repo.get('trusted'):
+ commands += APT_TRUSTED.format(repo=repo)
if 'arch' in _repo:
commands += APT_ARCH.format(
diff --git a/kolla/template/repos.yaml b/kolla/template/repos.yaml
index 508d82990..42e0185c4 100644
--- a/kolla/template/repos.yaml
+++ b/kolla/template/repos.yaml
@@ -20,6 +20,10 @@ deb:
gpg_key: "opensearch.asc"
debian:
+ debian:
+ distro: True
+ debian-security:
+ distro: True
erlang:
url: "https://ppa.launchpadcontent.net/rabbitmq/rabbitmq-erlang/ubuntu"
suite: "noble"
@@ -63,6 +67,15 @@ debian-aarch64:
gpg_key: "rabbitmq.gpg"
ubuntu:
+ ubuntu:
+ distro: True
+ ubuntu-security:
+ distro: True
+ ubuntu-cloud-archive:
+ url: "http://ubuntu-cloud.archive.canonical.com/ubuntu"
+ suite: "noble-updates/{openstack_release_codename}"
+ component: "main"
+ gpg_key: "/usr/share/keyrings/ubuntu-cloud-keyring.gpg"
erlang:
url: "https://ppa.launchpadcontent.net/rabbitmq/rabbitmq-erlang/ubuntu"
suite: "noble"
@@ -95,6 +108,10 @@ ubuntu:
gpg_key: "rabbitmq.gpg"
ubuntu-aarch64:
+ ubuntu:
+ distro: True
+ ubuntu-security:
+ distro: True
rabbitmq:
url: "https://deb1.rabbitmq.com/rabbitmq-server/ubuntu/noble"
suite: "noble"
@@ -106,8 +123,7 @@ ubuntu-aarch64:
rpm:
ceph:
- gpgkey: "https://www.centos.org/keys/RPM-GPG-KEY-CentOS-SIG-Storage"
- metalink: "https://mirrors.centos.org/metalink?repo=centos-storage-sig-ceph-squid-10-stream&arch=$basearch"
+ distro: True
name: "centos-ceph-squid"
crb:
distro: True
@@ -179,12 +195,36 @@ rpm:
https://github.com/rabbitmq/signing-keys/releases/download/3.0/rabbitmq-release-signing-key.asc
name: "rabbitmq_rabbitmq-server"
+centos:
+ appstream:
+ distro: True
+ file_group: "centos.repo"
+ name: "appstream"
+ baseos:
+ distro: True
+ file_group: "centos.repo"
+ name: "baseos"
+ crb:
+ file_group: "centos.repo"
+
centos-aarch64:
erlang:
baseurl: "https://download.copr.fedorainfracloud.org/results/@openstack-kolla/rabbitmq-erlang-27/rhel-$releasever-aarch64/"
gpgkey: "https://download.copr.fedorainfracloud.org/results/@openstack-kolla/rabbitmq-erlang-27/pubkey.gpg"
name: "copr-rabbitmq-erlang"
+rocky:
+ appstream:
+ distro: True
+ file_group: "rocky.repo"
+ name: "appstream"
+ baseos:
+ distro: True
+ file_group: "rocky.repo"
+ name: "baseos"
+ crb:
+ file_group: "rocky.repo"
+
rocky-aarch64:
erlang:
baseurl: "https://download.copr.fedorainfracloud.org/results/@openstack-kolla/rabbitmq-erlang-27/rhel-$releasever-aarch64/"
diff --git a/kolla/tests/test_methods.py b/kolla/tests/test_methods.py
index e1dc810d1..8a577aead 100644
--- a/kolla/tests/test_methods.py
+++ b/kolla/tests/test_methods.py
@@ -10,6 +10,10 @@
# See the License for the specific language governing permissions and
# limitations under the License.
+import tempfile
+
+import yaml
+
from kolla.template import methods
from kolla.tests import base
@@ -30,7 +34,9 @@ class MethodsTest(base.TestCase):
}
result = methods.handle_repos(template_vars, ["grafana"], "enable")
- expectCmd = "RUN echo '[grafana]' "
+ expectCmd = "RUN grep -rlF '[grafana]' /etc/yum.repos.d/ "
+ expectCmd += "2>/dev/null | xargs -r rm -f && "
+ expectCmd += "echo '[grafana]' "
expectCmd += ">/etc/yum.repos.d/grafana.repo && "
expectCmd += "echo 'name=grafana' "
expectCmd += ">>/etc/yum.repos.d/grafana.repo && "
@@ -42,7 +48,7 @@ class MethodsTest(base.TestCase):
expectCmd += ">>/etc/yum.repos.d/grafana.repo"
self.assertEqual(expectCmd, result)
- def test_enable_repos_centos_metalink(self):
+ def test_enable_repos_centos_ceph_distro(self):
template_vars = {
'base_arch': 'x86_64',
'base_distro': 'centos',
@@ -50,16 +56,7 @@ class MethodsTest(base.TestCase):
}
result = methods.handle_repos(template_vars, ["ceph"], "enable")
- expectCmd = "RUN echo '[centos-ceph-squid]' "
- expectCmd += ">/etc/yum.repos.d/ceph.repo && "
- expectCmd += "echo 'name=centos-ceph-squid' "
- expectCmd += ">>/etc/yum.repos.d/ceph.repo && "
- expectCmd += "echo 'enabled=1' "
- expectCmd += ">>/etc/yum.repos.d/ceph.repo && "
- expectCmd += "echo 'gpgkey=https://www.centos.org/keys/RPM-GPG-KEY-CentOS-SIG-Storage' " # noqa: E501
- expectCmd += ">>/etc/yum.repos.d/ceph.repo && "
- expectCmd += "echo 'metalink=https://mirrors.centos.org/metalink?repo=centos-storage-sig-ceph-squid-10-stream&arch=$basearch' " # noqa: E501
- expectCmd += ">>/etc/yum.repos.d/ceph.repo"
+ expectCmd = "RUN dnf config-manager --enable centos-ceph-squid || true"
self.assertEqual(expectCmd, result)
def test_enable_repos_centos_arch(self):
@@ -70,7 +67,9 @@ class MethodsTest(base.TestCase):
}
result = methods.handle_repos(template_vars, ["grafana"], "enable")
- expectCmd = "RUN echo '[grafana]' "
+ expectCmd = "RUN grep -rlF '[grafana]' /etc/yum.repos.d/ "
+ expectCmd += "2>/dev/null | xargs -r rm -f && "
+ expectCmd += "echo '[grafana]' "
expectCmd += ">/etc/yum.repos.d/grafana.repo && "
expectCmd += "echo 'name=grafana' "
expectCmd += ">>/etc/yum.repos.d/grafana.repo && "
@@ -91,7 +90,9 @@ class MethodsTest(base.TestCase):
result = methods.handle_repos(template_vars,
["grafana", "rabbitmq"], "enable")
- expectCmd = "RUN echo '[grafana]' "
+ expectCmd = "RUN grep -rlF '[grafana]' /etc/yum.repos.d/ "
+ expectCmd += "2>/dev/null | xargs -r rm -f && "
+ expectCmd += "echo '[grafana]' "
expectCmd += ">/etc/yum.repos.d/grafana.repo && "
expectCmd += "echo 'name=grafana' "
expectCmd += ">>/etc/yum.repos.d/grafana.repo && "
@@ -102,6 +103,8 @@ class MethodsTest(base.TestCase):
expectCmd += "echo 'baseurl=https://rpm.grafana.com' "
expectCmd += ">>/etc/yum.repos.d/grafana.repo && "
+ expectCmd += "grep -rlF '[rabbitmq_rabbitmq-server]' "
+ expectCmd += "/etc/yum.repos.d/ 2>/dev/null | xargs -r rm -f && "
expectCmd += "echo '[rabbitmq_rabbitmq-server]' "
expectCmd += ">/etc/yum.repos.d/rabbitmq.repo && "
expectCmd += "echo 'name=rabbitmq_rabbitmq-server' "
@@ -151,6 +154,8 @@ class MethodsTest(base.TestCase):
result = methods.handle_repos(template_vars,
['crb', 'grafana'], 'enable')
expectCmd = "RUN dnf config-manager --enable crb || true && "
+ expectCmd += "grep -rlF '[grafana]' /etc/yum.repos.d/ "
+ expectCmd += "2>/dev/null | xargs -r rm -f && "
expectCmd += "echo '[grafana]' "
expectCmd += ">/etc/yum.repos.d/grafana.repo && "
expectCmd += "echo 'name=grafana' "
@@ -168,6 +173,7 @@ class MethodsTest(base.TestCase):
"base_arch": "x86_64",
"base_distro": "debian",
"base_package_type": "deb",
+ "openstack_release_codename": "Gazpacho",
}
result = methods.handle_repos(template_vars, ["grafana"], "enable")
@@ -188,6 +194,7 @@ class MethodsTest(base.TestCase):
'base_arch': 'aarch64',
'base_distro': 'debian',
'base_package_type': 'deb',
+ 'openstack_release_codename': 'Gazpacho',
}
result = methods.handle_repos(template_vars, ["rabbitmq"], "enable")
@@ -220,6 +227,7 @@ class MethodsTest(base.TestCase):
'base_arch': 'x86_64',
'base_distro': 'debian',
'base_package_type': 'deb',
+ 'openstack_release_codename': 'Gazpacho',
}
result = methods.handle_repos(template_vars,
@@ -273,3 +281,179 @@ class MethodsTest(base.TestCase):
r'repositories',
methods.handle_repos, template_vars, 'grafana',
'disable')
+
+ def test_enable_repos_debian_distro_noop(self):
+ template_vars = {
+ 'base_arch': 'x86_64',
+ 'base_distro': 'debian',
+ 'base_package_type': 'deb',
+ }
+
+ result = methods.handle_repos(template_vars, ['debian'], 'enable')
+ self.assertEqual('', result)
+
+ def test_enable_repos_deb_absolute_signed_by(self):
+ repos = {'debian': {'test-repo': {
+ 'url': 'http://example.com/debian',
+ 'suite': 'trixie',
+ 'component': 'main',
+ 'gpg_key': '/usr/share/keyrings/test.gpg',
+ }}}
+ with tempfile.NamedTemporaryFile(mode='w', suffix='.yaml') as f:
+ yaml.dump(repos, f)
+ f.flush()
+ template_vars = {
+ 'base_arch': 'x86_64',
+ 'base_distro': 'debian',
+ 'base_package_type': 'deb',
+ 'openstack_release_codename': 'Gazpacho',
+ 'repos_yaml': f.name,
+ }
+ result = methods.handle_repos(
+ template_vars, ['test-repo'], 'enable')
+ self.assertIn(
+ 'Signed-By: /usr/share/keyrings/test.gpg', result)
+
+ def test_repos_yaml_merge_keeps_default_repos(self):
+ repos = {'rocky': {'baseos': {
+ 'name': 'baseos',
+ 'baseurl': 'http://mirror.example.com/rocky/10/BaseOS/$basearch/',
+ 'gpgkey': 'file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-10',
+ }}}
+ with tempfile.NamedTemporaryFile(mode='w', suffix='.yaml') as f:
+ yaml.dump(repos, f)
+ f.flush()
+ template_vars = {
+ 'base_arch': 'x86_64',
+ 'base_distro': 'centos',
+ 'base_package_type': 'rpm',
+ 'repos_yaml': f.name,
+ }
+ expected_commands = methods.handle_repos(
+ template_vars, ['grafana'], 'enable')
+ self.assertIn(
+ "echo 'gpgkey=https://rpm.grafana.com/gpg.key' "
+ ">>/etc/yum.repos.d/grafana.repo",
+ expected_commands)
+
+ def test_repos_yaml_distro_override_validation(self):
+ """Overriding baseos and appstream would delete rocky.repo.
+
+ crb is a distro repo that also uses that file group. Verify a
+ ValueError is raised so the user knows to override crb as well.
+ """
+ repos = {'rocky': {
+ 'baseos': {
+ 'name': 'baseos',
+ 'baseurl': 'http://mirror.example.com/rocky/10/BaseOS/',
+ 'gpgkey': 'file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-10',
+ },
+ 'appstream': {
+ 'name': 'appstream',
+ 'baseurl': 'http://mirror.example.com/rocky/10/AppStream/',
+ 'gpgkey': 'file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-10',
+ },
+ }}
+ with tempfile.NamedTemporaryFile(mode='w', suffix='.yaml') as f:
+ yaml.dump(repos, f)
+ f.flush()
+ template_vars = {
+ 'base_arch': 'x86_64',
+ 'base_distro': 'rocky',
+ 'base_package_type': 'rpm',
+ 'repos_yaml': f.name,
+ }
+ self.assertRaisesRegex(
+ ValueError, "still using distro defaults and share the same",
+ methods.handle_repos, template_vars, ['baseos'], 'enable')
+
+ def test_enable_repos_rpm_missing_url_raises(self):
+ repos = {'rpm': {'test-repo': {'name': 'test-repo'}}}
+ with tempfile.NamedTemporaryFile(mode='w', suffix='.yaml') as f:
+ yaml.dump(repos, f)
+ f.flush()
+ template_vars = {
+ 'base_arch': 'x86_64',
+ 'base_distro': 'centos',
+ 'base_package_type': 'rpm',
+ 'repos_yaml': f.name,
+ }
+ self.assertRaises(ValueError, methods.handle_repos,
+ template_vars, ['test-repo'], 'enable')
+
+ def test_enable_repos_rpm_missing_gpgkey_raises(self):
+ repos = {'rpm': {'test-repo': {
+ 'name': 'test-repo',
+ 'baseurl': 'http://mirror.example.com/repo/',
+ }}}
+ with tempfile.NamedTemporaryFile(mode='w', suffix='.yaml') as f:
+ yaml.dump(repos, f)
+ f.flush()
+ template_vars = {
+ 'base_arch': 'x86_64',
+ 'base_distro': 'centos',
+ 'base_package_type': 'rpm',
+ 'repos_yaml': f.name,
+ }
+ self.assertRaises(ValueError, methods.handle_repos,
+ template_vars, ['test-repo'], 'enable')
+
+ def test_repos_yaml_rpm_section_override_not_blocked_by_distro_section(
+ self):
+ """Overriding distro repos in 'rpm' section must not be undone.
+
+ The more-specific distro section must not merge distro:True back
+ on top of a URL-bearing override from the generic 'rpm' section.
+ """
+ base = 'http://mirror.example.com/centos/10'
+ gpgkey = 'file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial'
+ repos = {'rpm': {
+ 'baseos': {
+ 'name': 'baseos',
+ 'baseurl': base + '/BaseOS/$basearch/',
+ 'gpgkey': gpgkey,
+ },
+ 'appstream': {
+ 'name': 'appstream',
+ 'baseurl': base + '/AppStream/$basearch/',
+ 'gpgkey': gpgkey,
+ },
+ 'crb': {
+ 'name': 'crb',
+ 'baseurl': base + '/CRB/$basearch/',
+ 'gpgkey': gpgkey,
+ },
+ }}
+ with tempfile.NamedTemporaryFile(mode='w', suffix='.yaml') as f:
+ yaml.dump(repos, f)
+ f.flush()
+ template_vars = {
+ 'base_arch': 'x86_64',
+ 'base_distro': 'centos',
+ 'base_package_type': 'rpm',
+ 'repos_yaml': f.name,
+ }
+ result = methods.handle_repos(
+ template_vars, ['baseos', 'appstream', 'crb'], 'enable')
+ self.assertIn('mirror.example.com', result)
+
+ def test_enable_repos_openstack_release_codename_substitution(self):
+ repos = {'ubuntu': {'ubuntu-cloud-archive': {
+ 'url': 'http://ubuntu-cloud.archive.canonical.com/ubuntu',
+ 'suite': 'noble-updates/{openstack_release_codename}',
+ 'component': 'main',
+ 'gpg_key': '/usr/share/keyrings/ubuntu-cloud-keyring.gpg',
+ }}}
+ with tempfile.NamedTemporaryFile(mode='w', suffix='.yaml') as f:
+ yaml.dump(repos, f)
+ f.flush()
+ template_vars = {
+ 'base_arch': 'x86_64',
+ 'base_distro': 'ubuntu',
+ 'base_package_type': 'deb',
+ 'openstack_release_codename': 'Gazpacho',
+ 'repos_yaml': f.name,
+ }
+ result = methods.handle_repos(
+ template_vars, ['ubuntu-cloud-archive'], 'enable')
+ self.assertIn('noble-updates/gazpacho', result)
diff --git a/lint-requirements.txt b/lint-requirements.txt
index 3a87b7a7b..25e3687fa 100644
--- a/lint-requirements.txt
+++ b/lint-requirements.txt
@@ -1 +1 @@
-ansible-lint===26.4.0 # MIT
+ansible-lint===26.6.0 # MIT
diff --git a/pyproject.toml b/pyproject.toml
new file mode 100644
index 000000000..25628706c
--- /dev/null
+++ b/pyproject.toml
@@ -0,0 +1,43 @@
+[build-system]
+requires = ["pbr>=6.1.1"]
+build-backend = "pbr.build"
+
+[project]
+name = "kolla"
+description = "Tool for building production-ready OpenStack and infrastructure containers"
+authors = [
+ {name = "OpenStack", email = "openstack-discuss@lists.openstack.org"},
+]
+readme = {file = "README.rst", content-type = "text/x-rst"}
+license = "Apache-2.0"
+dynamic = ["version", "dependencies"]
+requires-python = ">=3.10"
+classifiers = [
+ "Environment :: OpenStack",
+ "Intended Audience :: Information Technology",
+ "Intended Audience :: System Administrators",
+ "Operating System :: POSIX :: Linux",
+ "Programming Language :: Python",
+ "Programming Language :: Python :: Implementation :: CPython",
+ "Programming Language :: Python :: 3 :: Only",
+ "Programming Language :: Python :: 3",
+ "Programming Language :: Python :: 3.10",
+ "Programming Language :: Python :: 3.11",
+ "Programming Language :: Python :: 3.12",
+ "Programming Language :: Python :: 3.13",
+]
+
+[project.urls]
+Homepage = "https://docs.openstack.org/kolla/latest/"
+
+[project.scripts]
+kolla-build = "kolla.cmd.build:main"
+
+[project.entry-points."oslo.config.opts"]
+kolla = "kolla.opts:list_opts"
+
+[tool.setuptools.packages.find]
+include = ["kolla*"]
+
+[tool.setuptools.package-data]
+kolla = ["docker/**"]
diff --git a/releasenotes/notes/base-repos-in-yaml-f6a4a871da92c823.yaml b/releasenotes/notes/base-repos-in-yaml-f6a4a871da92c823.yaml
new file mode 100644
index 000000000..1f98f7d60
--- /dev/null
+++ b/releasenotes/notes/base-repos-in-yaml-f6a4a871da92c823.yaml
@@ -0,0 +1,23 @@
+---
+features:
+ - |
+ Base OS repositories for CentOS Stream and Rocky Linux (``baseos``,
+ ``appstream``, ``crb``) are now defined in ``repos.yaml`` and can be
+ overridden via ``--repos-yaml`` to point at local mirrors. When
+ overriding any of these repositories, all others sharing the same
+ ``.repo`` file (identified by the ``file_group`` field) must also be
+ overridden to avoid silently disabling them.
+ - |
+ Base OS repositories for Debian and Ubuntu are now defined in
+ ``repos.yaml`` with ``distro: True``. They can be overridden via
+ ``--repos-yaml`` to point at local mirrors. The ``gpg_key`` field for
+ Debian/Ubuntu repositories now supports absolute paths, allowing use of
+ distro-provided keyrings such as
+ ``/usr/share/keyrings/debian-archive-keyring.gpg``.
+ - |
+ When overriding an RPM base repository, any existing ``.repo`` file on
+ the image containing that repository ID is automatically removed before
+ the new one is created.
+ - |
+ User-provided ``repos.yaml`` is now merged with upstream default instead of
+ requiring a full copy of stock file.
diff --git a/roles/kolla-build/defaults/main.yml b/roles/kolla-build/defaults/main.yml
index fe7c33a33..98051c97b 100644
--- a/roles/kolla-build/defaults/main.yml
+++ b/roles/kolla-build/defaults/main.yml
@@ -1,4 +1,5 @@
---
kolla_build_logs_dir: "{{ zuul_output_dir }}/logs/kolla/build"
+kolla_build_repos_yaml_path: ""
kolla_build_template_overrides_path: ""
kolla_build_venv_path: "/tmp/kolla-virtualenv"
diff --git a/roles/kolla-build/tasks/main.yml b/roles/kolla-build/tasks/main.yml
index e5529f381..927bb1309 100644
--- a/roles/kolla-build/tasks/main.yml
+++ b/roles/kolla-build/tasks/main.yml
@@ -1,4 +1,13 @@
---
+- name: Template repos.yaml
+ ansible.builtin.template:
+ src: "{{ kolla_build_repos_yaml_path }}"
+ dest: /etc/kolla/repos.yaml
+ mode: "0660"
+ owner: zuul
+ group: zuul
+ when: kolla_build_repos_yaml_path | length > 0
+
- name: Template template_overrides.j2
ansible.builtin.template:
src: "{{ kolla_build_template_overrides_path }}"
diff --git a/setup.cfg b/setup.cfg
index 2634ee512..f75aa848d 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -1,43 +1,2 @@
[metadata]
name = kolla
-summary = Kolla OpenStack Deployment
-description_file =
- README.rst
-author = OpenStack
-author_email = openstack-discuss@lists.openstack.org
-home_page = https://docs.openstack.org/kolla/latest/
-python_requires = >=3.10
-license = Apache License, Version 2.0
-classifier =
- Environment :: OpenStack
- Intended Audience :: Information Technology
- Intended Audience :: System Administrators
- License :: OSI Approved :: Apache Software License
- Operating System :: POSIX :: Linux
- Programming Language :: Python
- Programming Language :: Python :: Implementation :: CPython
- Programming Language :: Python :: 3 :: Only
- Programming Language :: Python :: 3
- Programming Language :: Python :: 3.10
- Programming Language :: Python :: 3.11
- Programming Language :: Python :: 3.12
- Programming Language :: Python :: 3.13
-
-[files]
-packages =
- kolla
-data_files =
- share/kolla/docker = docker/*
- share/kolla/tools = tools/validate-docker-execute.sh
- share/kolla/tools = tools/cleanup-images
- share/kolla/tools = tools/start-registry
- share/kolla/doc = doc/*
- share/kolla/etc_examples = etc/*
- share/kolla/contrib = contrib/*
- share/kolla = setup.cfg
-
-[entry_points]
-console_scripts =
- kolla-build = kolla.cmd.build:main
-oslo.config.opts =
- kolla = kolla.opts:list_opts
diff --git a/tests/playbooks/run.yml b/tests/playbooks/run.yml
index ad3c80075..99791da0f 100644
--- a/tests/playbooks/run.yml
+++ b/tests/playbooks/run.yml
@@ -62,6 +62,16 @@
when:
- not publisher
+ - name: Set up base repo overrides
+ vars:
+ kolla_repos_yaml_config:
+ DEFAULT:
+ repos_yaml: /etc/kolla/repos.yaml
+ ansible.builtin.set_fact:
+ kolla_build_config: "{{ kolla_build_config | combine(kolla_repos_yaml_config, recursive=True) }}"
+ kolla_build_repos_yaml_path: "{{ zuul.executor.work_root }}/{{ zuul.projects['opendev.org/openstack/kolla'].src_dir }}/tests/templates/repos.yaml.j2"
+ when: base_distro in ['debian', 'rocky', 'ubuntu']
+
- name: Import kolla-build-config role
import_role:
name: kolla-build-config
diff --git a/tests/templates/repos.yaml.j2 b/tests/templates/repos.yaml.j2
new file mode 100644
index 000000000..42c6724f9
--- /dev/null
+++ b/tests/templates/repos.yaml.j2
@@ -0,0 +1,63 @@
+---
+{% if base_distro == 'debian' %}
+debian:
+ debian:
+ component: "main"
+ gpg_key: "/usr/share/keyrings/debian-archive-keyring.gpg"
+ suite: "trixie trixie-updates trixie-backports"
+ trusted: True
+ url: "http://{{ nodepool_mirror_host }}/debian"
+ debian-security:
+ component: "main"
+ gpg_key: "/usr/share/keyrings/debian-archive-keyring.gpg"
+ suite: "trixie-security"
+ trusted: True
+ url: "http://{{ nodepool_mirror_host }}/debian-security"
+{% elif base_distro == 'rocky' %}
+rocky:
+ appstream:
+ baseurl: "http://dl.rockylinux.org/$contentdir/$releasever/AppStream/$basearch/os/"
+ gpgkey: "file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-10"
+ name: "appstream"
+ baseos:
+ baseurl: "http://dl.rockylinux.org/$contentdir/$releasever/BaseOS/$basearch/os/"
+ gpgkey: "file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-10"
+ name: "baseos"
+ crb:
+ baseurl: "http://dl.rockylinux.org/$contentdir/$releasever/CRB/$basearch/os/"
+ gpgkey: "file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-10"
+ name: "crb"
+{% elif base_distro == 'ubuntu' %}
+ubuntu:
+ ubuntu:
+ component: "main universe"
+ gpg_key: "/usr/share/keyrings/ubuntu-archive-keyring.gpg"
+ suite: "noble noble-updates noble-backports"
+ trusted: True
+ url: "http://{{ nodepool_mirror_host }}/ubuntu/"
+ ubuntu-security:
+ component: "main universe"
+ gpg_key: "/usr/share/keyrings/ubuntu-archive-keyring.gpg"
+ suite: "noble-security"
+ trusted: True
+ url: "http://{{ nodepool_mirror_host }}/ubuntu/"
+ ubuntu-cloud-archive:
+ component: "main"
+ gpg_key: "/usr/share/keyrings/ubuntu-cloud-keyring.gpg"
+ suite: "noble-updates/gazpacho"
+ trusted: True
+ url: "http://{{ nodepool_mirror_host }}/ubuntu-cloud-archive"
+ubuntu-aarch64:
+ ubuntu:
+ component: "main universe"
+ gpg_key: "/usr/share/keyrings/ubuntu-archive-keyring.gpg"
+ suite: "noble noble-updates noble-backports"
+ trusted: True
+ url: "http://{{ nodepool_mirror_host }}/ubuntu-ports/"
+ ubuntu-security:
+ component: "main universe"
+ gpg_key: "/usr/share/keyrings/ubuntu-archive-keyring.gpg"
+ suite: "noble-security"
+ trusted: True
+ url: "http://{{ nodepool_mirror_host }}/ubuntu-ports/"
+{% endif %}
diff --git a/tests/templates/template_overrides.j2 b/tests/templates/template_overrides.j2
index 481795cd6..3baa8d704 100644
--- a/tests/templates/template_overrides.j2
+++ b/tests/templates/template_overrides.j2
@@ -10,50 +10,13 @@ ENV PIP_TRUSTED_HOST {{ nodepool_mirror_host }}
ENV PIP_EXTRA_INDEX_URL {{ nodepool_wheel_mirror }}
{% endif %}
-RUN echo registry={{ nodepool_npmjs_proxy }} > /etc/npmrc \
- && mkdir -p /usr/etc \
- && ln -s /etc/npmrc /usr/etc/npmrc
-
-{% raw %}
-{% endblock %}
-{% endraw %}
-
-{% if base_distro == 'rocky' %}
-{% raw %}
-{% block base_centos_repo_overrides_post_copy %}
-{% endraw %}
-RUN sed -i -e "s/^mirrorlist/#mirrorlist/g" -e "s/^#baseurl/baseurl/g" \
- /etc/yum.repos.d/rocky.repo
{% raw %}
{% endblock %}
{% endraw %}
-{% endif %}
-
-{% raw %}
-{% block base_debian_after_sources_list %}
-{% endraw %}
-{% if base_distro == "debian" %}
-
-RUN cp /etc/apt/sources.list.d/debian.sources /tmp/ && \
- sed -i -e "s|^URIs: http://deb.debian.org/debian$|URIs: http://{{ nodepool_mirror_host }}/debian\nTrusted: yes|" \
- -e "s|^URIs: http://deb.debian.org/debian-security|URIs: http://{{ nodepool_mirror_host }}/debian-security\nTrusted: yes|" \
- /etc/apt/sources.list.d/debian.sources
-
-{% elif base_distro == "ubuntu" %}
-
-RUN cp /etc/apt/sources.list.d/ubuntu.sources /tmp/ && \
- sed -i -e "s|^URIs: http://archive.ubuntu.com/ubuntu/$|URIs: http://{{ nodepool_mirror_host }}/ubuntu/\nTrusted: yes|" \
- -e "s|^URIs: http://security.ubuntu.com/ubuntu/$|URIs: http://{{ nodepool_mirror_host }}/ubuntu/\nTrusted: yes|" \
- -e "s|^URIs: http://ports.ubuntu.com/ubuntu-ports/$|URIs: http://{{ nodepool_mirror_host }}/ubuntu-ports/\nTrusted: yes|" \
- -e "s|^URIs: http://ubuntu-cloud.archive.canonical.com/ubuntu$|URIs: http://{{ nodepool_mirror_host }}/ubuntu-cloud-archive\nTrusted: yes|" \
- /etc/apt/sources.list.d/ubuntu.sources
-
-{% endif %}
-{% raw %}
-{% endblock %}
{# Revert to upstream mirrors after build is complete #}
+{% raw %}
{% block footer %}
{% endraw %}
@@ -62,20 +25,7 @@ ENV PIP_TRUSTED_HOST=
{% if use_infra_wheels_mirror | default(true) %}
ENV PIP_EXTRA_INDEX_URL=
{% endif %}
-RUN if [ -f /usr/etc/npmrc ]; then \
- unlink /usr/etc/npmrc; \
- fi \
- && rm -f /etc/npmrc
-{% if base_distro == "debian" %}
-RUN if [ -f /tmp/debian.sources ]; then \
- mv -f /tmp/debian.sources /etc/apt/sources.list.d/debian.sources; \
- fi
-{% elif base_distro == "ubuntu" %}
-RUN if [ -f /tmp/ubuntu.sources ]; then \
- mv -f /tmp/ubuntu.sources /etc/apt/sources.list.d/ubuntu.sources; \
- fi
-{% endif %}
{% raw %}
{% endblock %}
{% endraw %}
diff --git a/tests/test_set_config.py b/tests/test_set_config.py
index bf78ed4aa..831850b0a 100644
--- a/tests/test_set_config.py
+++ b/tests/test_set_config.py
@@ -32,7 +32,7 @@ def load_module(name, path):
# nasty: to import set_config (not a part of the kolla package)
this_dir = os.path.dirname(sys.modules[__name__].__file__)
set_configs_file = os.path.abspath(
- os.path.join(this_dir, '..',
+ os.path.join(this_dir, '..', 'kolla',
'docker', 'base', 'set_configs.py'))
set_configs = load_module('set_configs', set_configs_file)
diff --git a/zuul.d/scenarios/aio.yaml b/zuul.d/scenarios/aio.yaml
index f7ed01d31..4a8a324ea 100644
--- a/zuul.d/scenarios/aio.yaml
+++ b/zuul.d/scenarios/aio.yaml
@@ -5,37 +5,23 @@
Runs Kolla-Ansible AIO jobs on all Kolla changes.
check:
jobs:
- - kolla-ansible-centos-10s:
- files: ^docker/
- - kolla-ansible-debian-trixie:
- files: ^docker/
- - kolla-ansible-debian-trixie-upgrade:
- files: ^docker/
- - kolla-ansible-rocky-10:
- files: ^docker/
- - kolla-ansible-rocky-10-upgrade:
- files: ^docker/
- - kolla-ansible-ubuntu-noble:
- files: ^docker/
- - kolla-ansible-ubuntu-noble-upgrade:
- files: ^docker/
+ - kolla-ansible-centos-10s: &files
+ files: ^kolla/docker/
+ - kolla-ansible-debian-trixie: *files
+ - kolla-ansible-debian-trixie-upgrade: *files
+ - kolla-ansible-rocky-10: *files
+ - kolla-ansible-rocky-10-upgrade: *files
+ - kolla-ansible-ubuntu-noble: *files
+ - kolla-ansible-ubuntu-noble-upgrade: *files
check-arm64:
jobs:
- - kolla-ansible-centos-10s-aarch64:
- files: ^docker/
- - kolla-ansible-debian-trixie-aarch64:
- files: ^docker/
+ - kolla-ansible-centos-10s-aarch64: *files
+ - kolla-ansible-debian-trixie-aarch64: *files
gate:
jobs:
- - kolla-ansible-debian-trixie:
- files: ^docker/
- - kolla-ansible-debian-trixie-upgrade:
- files: ^docker/
- - kolla-ansible-rocky-10:
- files: ^docker/
- - kolla-ansible-rocky-10-upgrade:
- files: ^docker/
- - kolla-ansible-ubuntu-noble:
- files: ^docker/
- - kolla-ansible-ubuntu-noble-upgrade:
- files: ^docker/
+ - kolla-ansible-debian-trixie: *files
+ - kolla-ansible-debian-trixie-upgrade: *files
+ - kolla-ansible-rocky-10: *files
+ - kolla-ansible-rocky-10-upgrade: *files
+ - kolla-ansible-ubuntu-noble: *files
+ - kolla-ansible-ubuntu-noble-upgrade: *files
diff --git a/zuul.d/scenarios/bifrost.yaml b/zuul.d/scenarios/bifrost.yaml
index 9a507ec17..a8eeb4154 100644
--- a/zuul.d/scenarios/bifrost.yaml
+++ b/zuul.d/scenarios/bifrost.yaml
@@ -5,9 +5,7 @@
Runs Kolla-Ansible Bifrost scenario jobs on particular Kolla changes.
check:
jobs:
- - kolla-ansible-debian-trixie-bifrost:
- files: ^docker/bifrost/
- - kolla-ansible-rocky-10-bifrost:
- files: ^docker/bifrost/
- - kolla-ansible-ubuntu-noble-bifrost:
- files: ^docker/bifrost/
+ - kolla-ansible-debian-trixie-bifrost: &files
+ files: ^kolla/docker/bifrost/
+ - kolla-ansible-rocky-10-bifrost: *files
+ - kolla-ansible-ubuntu-noble-bifrost: *files
diff --git a/zuul.d/scenarios/cells.yaml b/zuul.d/scenarios/cells.yaml
index 541d6777f..ed0ad5f7a 100644
--- a/zuul.d/scenarios/cells.yaml
+++ b/zuul.d/scenarios/cells.yaml
@@ -5,9 +5,7 @@
Runs Kolla-Ansible Nova Cells scenario jobs on particular Kolla changes.
check:
jobs:
- - kolla-ansible-debian-trixie-cells:
- files: ^docker/proxysql/
- - kolla-ansible-rocky-10-cells:
- files: ^docker/proxysql/
- - kolla-ansible-ubuntu-noble-cells:
- files: ^docker/proxysql/
+ - kolla-ansible-debian-trixie-cells: &files
+ files: ^docker/docker/proxysql/
+ - kolla-ansible-rocky-10-cells: *files
+ - kolla-ansible-ubuntu-noble-cells: *files
diff --git a/zuul.d/scenarios/cephadm.yaml b/zuul.d/scenarios/cephadm.yaml
index 66f173ff5..06f48209b 100644
--- a/zuul.d/scenarios/cephadm.yaml
+++ b/zuul.d/scenarios/cephadm.yaml
@@ -5,15 +5,10 @@
Runs Kolla-Ansible CephAdm scenario jobs on particular Kolla changes.
check:
jobs:
- - kolla-ansible-debian-trixie-cephadm:
- files: ^docker\/(base|cinder|glance|mariadb-server|openstack-base|rabbitmq)\/.*
- - kolla-ansible-debian-bookworm-cephadm-upgrade:
- files: ^docker\/(base|cinder|glance|mariadb-server|openstack-base|rabbitmq)\/.*
- - kolla-ansible-rocky-10-cephadm:
- files: ^docker\/(base|cinder|glance|mariadb-server|openstack-base|rabbitmq)\/.*
- - kolla-ansible-rocky-10-cephadm-upgrade:
- files: ^docker\/(base|cinder|glance|mariadb-server|openstack-base|rabbitmq)\/.*
- - kolla-ansible-ubuntu-noble-cephadm:
- files: ^docker\/(base|cinder|glance|mariadb-server|openstack-base|rabbitmq)\/.*
- - kolla-ansible-ubuntu-noble-cephadm-upgrade:
- files: ^docker\/(base|cinder|glance|mariadb-server|openstack-base|rabbitmq)\/.*
+ - kolla-ansible-debian-trixie-cephadm: &files
+ files: ^kolla/docker\/(base|cinder|glance|mariadb-server|openstack-base|rabbitmq)\/.*
+ - kolla-ansible-debian-bookworm-cephadm-upgrade: *files
+ - kolla-ansible-rocky-10-cephadm: *files
+ - kolla-ansible-rocky-10-cephadm-upgrade: *files
+ - kolla-ansible-ubuntu-noble-cephadm: *files
+ - kolla-ansible-ubuntu-noble-cephadm-upgrade: *files
diff --git a/zuul.d/scenarios/ironic.yaml b/zuul.d/scenarios/ironic.yaml
index f6528ef98..72a9bf66e 100644
--- a/zuul.d/scenarios/ironic.yaml
+++ b/zuul.d/scenarios/ironic.yaml
@@ -5,9 +5,7 @@
Runs Kolla-Ansible Ironic scenario jobs on particular Kolla changes.
check:
jobs:
- - kolla-ansible-debian-trixie-ironic:
- files: ^docker\/(base|dnsmasq|ironic|iscsid|openstack-base)\/.*
- - kolla-ansible-rocky-10-ironic:
- files: ^docker\/(base|dnsmasq|ironic|iscsid|openstack-base)\/.*
- - kolla-ansible-ubuntu-noble-ironic:
- files: ^docker\/(base|dnsmasq|ironic|iscsid|openstack-base)\/.*
+ - kolla-ansible-debian-trixie-ironic: &files
+ files: ^kolla/docker\/(base|dnsmasq|ironic|iscsid|openstack-base)\/.*
+ - kolla-ansible-rocky-10-ironic: *files
+ - kolla-ansible-ubuntu-noble-ironic: *files
diff --git a/zuul.d/scenarios/mariadb.yaml b/zuul.d/scenarios/mariadb.yaml
index 5905a1057..882e1338e 100644
--- a/zuul.d/scenarios/mariadb.yaml
+++ b/zuul.d/scenarios/mariadb.yaml
@@ -5,9 +5,7 @@
Runs Kolla-Ansible MariaDB scenario jobs on particular Kolla changes.
check:
jobs:
- - kolla-ansible-debian-trixie-mariadb:
- files: ^docker/(base|mariadb-server)/
- - kolla-ansible-rocky-10-mariadb:
- files: ^docker/(base|mariadb-server)/
- - kolla-ansible-ubuntu-noble-mariadb:
- files: ^docker/(base|mariadb-server)/
+ - kolla-ansible-debian-trixie-mariadb: &files
+ files: ^kolla/docker/(base|mariadb-server)/
+ - kolla-ansible-rocky-10-mariadb: *files
+ - kolla-ansible-ubuntu-noble-mariadb: *files
diff --git a/zuul.d/scenarios/masakari.yaml b/zuul.d/scenarios/masakari.yaml
index dc7744853..1a6d355e9 100644
--- a/zuul.d/scenarios/masakari.yaml
+++ b/zuul.d/scenarios/masakari.yaml
@@ -5,9 +5,7 @@
Runs Kolla-Ansible Masakari scenario jobs on particular Kolla changes.
check:
jobs:
- - kolla-ansible-debian-trixie-masakari:
- files: ^docker/(base|masakari|openstack-base)/
- - kolla-ansible-rocky-10-masakari:
- files: ^docker/(base|masakari|openstack-base)/
- - kolla-ansible-ubuntu-noble-masakari:
- files: ^docker/(base|masakari|openstack-base)/
+ - kolla-ansible-debian-trixie-masakari: &files
+ files: ^kolla/docker/(base|masakari|openstack-base)/
+ - kolla-ansible-rocky-10-masakari: *files
+ - kolla-ansible-ubuntu-noble-masakari: *files
diff --git a/zuul.d/scenarios/octavia.yaml b/zuul.d/scenarios/octavia.yaml
index ddfb1e0e8..c899cc93f 100644
--- a/zuul.d/scenarios/octavia.yaml
+++ b/zuul.d/scenarios/octavia.yaml
@@ -5,7 +5,6 @@
Runs Kolla-Ansible Octavia scenario jobs on particular Kolla changes.
check:
jobs:
- - kolla-ansible-debian-trixie-octavia:
- files: ^docker/(base|neutron|octavia|openstack-base|openvswitch|ovn)/
- - kolla-ansible-ubuntu-noble-octavia:
- files: ^docker/(base|neutron|octavia|openstack-base|openvswitch|ovn)/
+ - kolla-ansible-debian-trixie-octavia: &files
+ files: ^kolla/docker/(base|neutron|octavia|openstack-base|openvswitch|ovn)/
+ - kolla-ansible-ubuntu-noble-octavia: *files
diff --git a/zuul.d/scenarios/ovn.yaml b/zuul.d/scenarios/ovn.yaml
index 1bd5e7e1e..dee5480c5 100644
--- a/zuul.d/scenarios/ovn.yaml
+++ b/zuul.d/scenarios/ovn.yaml
@@ -5,9 +5,7 @@
Runs Kolla-Ansible OVN scenario jobs on particular Kolla changes.
check:
jobs:
- - kolla-ansible-debian-trixie-ovn:
- files: ^docker/(base|neutron|openstack-base|openvswitch|ovn|prometheus/prometheus-openstack-network-exporter)/
- - kolla-ansible-rocky-10-ovn:
- files: ^docker/(base|neutron|openstack-base|openvswitch|ovn|prometheus/prometheus-openstack-network-exporter)/
- - kolla-ansible-ubuntu-noble-ovn:
- files: ^docker/(base|neutron|openstack-base|openvswitch|ovn|prometheus/prometheus-openstack-network-exporter)/
+ - kolla-ansible-debian-trixie-ovn: &files
+ files: ^kolla/docker/(base|neutron|openstack-base|openvswitch|ovn|prometheus/prometheus-openstack-network-exporter)/
+ - kolla-ansible-rocky-10-ovn: *files
+ - kolla-ansible-ubuntu-noble-ovn: *files
diff --git a/zuul.d/scenarios/telemetry.yaml b/zuul.d/scenarios/telemetry.yaml
index ef90c34af..04ab2b0f8 100644
--- a/zuul.d/scenarios/telemetry.yaml
+++ b/zuul.d/scenarios/telemetry.yaml
@@ -5,9 +5,7 @@
Runs Kolla-Ansible Telemetry scenario jobs on particular Kolla changes.
check:
jobs:
- - kolla-ansible-debian-trixie-telemetry:
- files: ^docker\/(base|aodh|ceilometer|gnocchi|valkey|openstack-base)\/.*
- - kolla-ansible-rocky-10-telemetry:
- files: ^docker\/(base|aodh|ceilometer|gnocchi|valkey|openstack-base)\/.*
- - kolla-ansible-ubuntu-noble-telemetry:
- files: ^docker\/(base|aodh|ceilometer|gnocchi|valkey|openstack-base)\/.*
+ - kolla-ansible-debian-trixie-telemetry: &files
+ files: ^kolla/docker\/(base|aodh|ceilometer|gnocchi|valkey|openstack-base)\/.*
+ - kolla-ansible-rocky-10-telemetry: *files
+ - kolla-ansible-ubuntu-noble-telemetry: *files