diff --git a/README.rst b/README.rst index 3170ec7265..034c15f883 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 `__. +workflow `__. -- 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 `__. - Attend weekly `meetings `__. - Contribute `code `__. +- Please respect our `AI policy + `__. Notices ======= diff --git a/doc/source/admin/image-building.rst b/doc/source/admin/image-building.rst index af59e4a2ef..4a2c6773b2 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 821d6ab882..d24c3b71f6 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/doc/source/support_matrix.rst b/doc/source/support_matrix.rst index bec1aa0bd1..c14c719548 100644 --- a/doc/source/support_matrix.rst +++ b/doc/source/support_matrix.rst @@ -110,8 +110,22 @@ For a list of currently unbuildable images please look into SPICE limitations ================= -The new OpenStack Compute console type ``spice-direct`` requires that -SPICE support be compiled into the qemu running the instance. Sadly, -Red Hat chose to remove SPICE support from qemu in RHEL9, and Rocky -Linux has followed along. You therefore _must_ run the Debian or Ubuntu -container images if you wish to use the ``spice-direct`` console type. +The OpenStack Compute console type ``spice-direct`` requires that +SPICE support be compiled into the qemu running the instance. Red Hat +removed SPICE support from qemu in RHEL9 onwards, and Rocky Linux has +followed suit, so the stock Rocky Linux container images do not support +``spice-direct`` out of the box. + +As a solution, Kolla builds two copies of the ``nova-libvirt`` container +regardless of container distribution. These containers are identical on +other distributions, but for Rocky Linux the community-maintained +`ligenix/enterprise-qemu-spice +`__ +COPR repository is installed as it provides a rebuilt ``qemu-kvm`` +with SPICE re-enabled for EPEL 9 and EPEL 10. Because this COPR is a +third-party rebuild without a vendor support contract, it is recommended +only for proof-of-concept deployments. + +Which container to use for ``nova-libvirt`` is then determined at +``kolla-ansible deploy`` time based on the value of the ``enable_kerbside`` +flag. diff --git a/kolla/common/config.py b/kolla/common/config.py index d46de40953..245afce508 100644 --- a/kolla/common/config.py +++ b/kolla/common/config.py @@ -246,7 +246,8 @@ '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 similarity index 100% rename from docker/aodh/aodh-api/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/aodh/aodh-api/extend_start.sh rename to 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 similarity index 100% rename from docker/aodh/aodh-base/Dockerfile.j2 rename to kolla/docker/aodh/aodh-base/Dockerfile.j2 diff --git a/docker/aodh/aodh-base/aodh_sudoers b/kolla/docker/aodh/aodh-base/aodh_sudoers similarity index 100% rename from docker/aodh/aodh-base/aodh_sudoers rename to 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 similarity index 100% rename from docker/aodh/aodh-base/extend_start.sh rename to 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 similarity index 100% rename from docker/aodh/aodh-evaluator/Dockerfile.j2 rename to kolla/docker/aodh/aodh-evaluator/Dockerfile.j2 diff --git a/docker/aodh/aodh-expirer/Dockerfile.j2 b/kolla/docker/aodh/aodh-expirer/Dockerfile.j2 similarity index 100% rename from docker/aodh/aodh-expirer/Dockerfile.j2 rename to kolla/docker/aodh/aodh-expirer/Dockerfile.j2 diff --git a/docker/aodh/aodh-listener/Dockerfile.j2 b/kolla/docker/aodh/aodh-listener/Dockerfile.j2 similarity index 100% rename from docker/aodh/aodh-listener/Dockerfile.j2 rename to kolla/docker/aodh/aodh-listener/Dockerfile.j2 diff --git a/docker/aodh/aodh-notifier/Dockerfile.j2 b/kolla/docker/aodh/aodh-notifier/Dockerfile.j2 similarity index 100% rename from docker/aodh/aodh-notifier/Dockerfile.j2 rename to kolla/docker/aodh/aodh-notifier/Dockerfile.j2 diff --git a/docker/barbican/barbican-api/Dockerfile.j2 b/kolla/docker/barbican/barbican-api/Dockerfile.j2 similarity index 100% rename from docker/barbican/barbican-api/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/barbican/barbican-api/extend_start.sh rename to 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 similarity index 100% rename from docker/barbican/barbican-base/Dockerfile.j2 rename to kolla/docker/barbican/barbican-base/Dockerfile.j2 diff --git a/docker/barbican/barbican-base/barbican_sudoers b/kolla/docker/barbican/barbican-base/barbican_sudoers similarity index 100% rename from docker/barbican/barbican-base/barbican_sudoers rename to 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 similarity index 100% rename from docker/barbican/barbican-base/extend_start.sh rename to 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 similarity index 100% rename from docker/barbican/barbican-keystone-listener/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/barbican/barbican-worker/Dockerfile.j2 rename to kolla/docker/barbican/barbican-worker/Dockerfile.j2 diff --git a/docker/base/Dockerfile.j2 b/kolla/docker/base/Dockerfile.j2 similarity index 97% rename from docker/base/Dockerfile.j2 rename to kolla/docker/base/Dockerfile.j2 index 0e2f3c1abe..6c1022ece3 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 similarity index 100% rename from docker/base/apt_preferences rename to kolla/docker/base/apt_preferences diff --git a/docker/base/apt_preferences.debian b/kolla/docker/base/apt_preferences.debian similarity index 100% rename from docker/base/apt_preferences.debian rename to kolla/docker/base/apt_preferences.debian diff --git a/docker/base/apt_preferences.ubuntu b/kolla/docker/base/apt_preferences.ubuntu similarity index 100% rename from docker/base/apt_preferences.ubuntu rename to kolla/docker/base/apt_preferences.ubuntu diff --git a/docker/base/ci-centos.repo b/kolla/docker/base/ci-centos.repo similarity index 100% rename from docker/base/ci-centos.repo rename to kolla/docker/base/ci-centos.repo diff --git a/docker/base/copy_cacerts.sh b/kolla/docker/base/copy_cacerts.sh similarity index 100% rename from docker/base/copy_cacerts.sh rename to kolla/docker/base/copy_cacerts.sh diff --git a/docker/base/curlrc b/kolla/docker/base/curlrc similarity index 100% rename from docker/base/curlrc rename to kolla/docker/base/curlrc diff --git a/docker/base/debian.sources b/kolla/docker/base/debian.sources similarity index 100% rename from docker/base/debian.sources rename to kolla/docker/base/debian.sources diff --git a/docker/base/dnf.conf b/kolla/docker/base/dnf.conf similarity index 100% rename from docker/base/dnf.conf rename to kolla/docker/base/dnf.conf diff --git a/docker/base/dpkg_reducing_disk_footprint b/kolla/docker/base/dpkg_reducing_disk_footprint similarity index 100% rename from docker/base/dpkg_reducing_disk_footprint rename to kolla/docker/base/dpkg_reducing_disk_footprint diff --git a/docker/base/healthcheck_curl b/kolla/docker/base/healthcheck_curl similarity index 100% rename from docker/base/healthcheck_curl rename to kolla/docker/base/healthcheck_curl diff --git a/docker/base/healthcheck_filemod b/kolla/docker/base/healthcheck_filemod similarity index 100% rename from docker/base/healthcheck_filemod rename to kolla/docker/base/healthcheck_filemod diff --git a/docker/base/healthcheck_listen b/kolla/docker/base/healthcheck_listen similarity index 100% rename from docker/base/healthcheck_listen rename to kolla/docker/base/healthcheck_listen diff --git a/docker/base/healthcheck_port b/kolla/docker/base/healthcheck_port similarity index 100% rename from docker/base/healthcheck_port rename to kolla/docker/base/healthcheck_port diff --git a/docker/base/healthcheck_socket b/kolla/docker/base/healthcheck_socket similarity index 100% rename from docker/base/healthcheck_socket rename to kolla/docker/base/healthcheck_socket diff --git a/docker/base/install_projects.sh b/kolla/docker/base/install_projects.sh similarity index 100% rename from docker/base/install_projects.sh rename to kolla/docker/base/install_projects.sh diff --git a/docker/base/kolla_bashrc b/kolla/docker/base/kolla_bashrc similarity index 100% rename from docker/base/kolla_bashrc rename to kolla/docker/base/kolla_bashrc diff --git a/docker/base/kolla_patch.sh b/kolla/docker/base/kolla_patch.sh similarity index 100% rename from docker/base/kolla_patch.sh rename to kolla/docker/base/kolla_patch.sh diff --git a/docker/base/set_configs.py b/kolla/docker/base/set_configs.py similarity index 100% rename from docker/base/set_configs.py rename to kolla/docker/base/set_configs.py diff --git a/docker/base/sources.list b/kolla/docker/base/sources.list similarity index 100% rename from docker/base/sources.list rename to kolla/docker/base/sources.list diff --git a/docker/base/start.sh b/kolla/docker/base/start.sh similarity index 100% rename from docker/base/start.sh rename to kolla/docker/base/start.sh diff --git a/docker/base/sudoers b/kolla/docker/base/sudoers similarity index 100% rename from docker/base/sudoers rename to kolla/docker/base/sudoers diff --git a/docker/base/ubuntu.sources b/kolla/docker/base/ubuntu.sources similarity index 77% rename from docker/base/ubuntu.sources rename to kolla/docker/base/ubuntu.sources index f8f609ceed..46b817b7e1 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 similarity index 100% rename from docker/base/ubuntu.sources.arm64 rename to kolla/docker/base/ubuntu.sources.arm64 diff --git a/docker/bifrost/bifrost-base/Dockerfile.j2 b/kolla/docker/bifrost/bifrost-base/Dockerfile.j2 similarity index 100% rename from docker/bifrost/bifrost-base/Dockerfile.j2 rename to kolla/docker/bifrost/bifrost-base/Dockerfile.j2 diff --git a/docker/bifrost/bifrost-base/bifrost_sudoers b/kolla/docker/bifrost/bifrost-base/bifrost_sudoers similarity index 100% rename from docker/bifrost/bifrost-base/bifrost_sudoers rename to 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 similarity index 100% rename from docker/bifrost/bifrost-base/build_arg.yml rename to 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 similarity index 100% rename from docker/bifrost/bifrost-deploy/Dockerfile.j2 rename to kolla/docker/bifrost/bifrost-deploy/Dockerfile.j2 diff --git a/docker/blazar/blazar-api/Dockerfile.j2 b/kolla/docker/blazar/blazar-api/Dockerfile.j2 similarity index 100% rename from docker/blazar/blazar-api/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/blazar/blazar-api/extend_start.sh rename to 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 similarity index 100% rename from docker/blazar/blazar-base/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/blazar/blazar-base/extend_start.sh rename to 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 similarity index 100% rename from docker/blazar/blazar-manager/Dockerfile.j2 rename to kolla/docker/blazar/blazar-manager/Dockerfile.j2 diff --git a/docker/ceilometer/ceilometer-base/Dockerfile.j2 b/kolla/docker/ceilometer/ceilometer-base/Dockerfile.j2 similarity index 100% rename from docker/ceilometer/ceilometer-base/Dockerfile.j2 rename to kolla/docker/ceilometer/ceilometer-base/Dockerfile.j2 diff --git a/docker/ceilometer/ceilometer-base/ceilometer_sudoers b/kolla/docker/ceilometer/ceilometer-base/ceilometer_sudoers similarity index 100% rename from docker/ceilometer/ceilometer-base/ceilometer_sudoers rename to 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 similarity index 100% rename from docker/ceilometer/ceilometer-base/extend_start.sh rename to 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 similarity index 100% rename from docker/ceilometer/ceilometer-central/Dockerfile.j2 rename to kolla/docker/ceilometer/ceilometer-central/Dockerfile.j2 diff --git a/docker/ceilometer/ceilometer-compute/Dockerfile.j2 b/kolla/docker/ceilometer/ceilometer-compute/Dockerfile.j2 similarity index 100% rename from docker/ceilometer/ceilometer-compute/Dockerfile.j2 rename to kolla/docker/ceilometer/ceilometer-compute/Dockerfile.j2 diff --git a/docker/ceilometer/ceilometer-ipmi/Dockerfile.j2 b/kolla/docker/ceilometer/ceilometer-ipmi/Dockerfile.j2 similarity index 100% rename from docker/ceilometer/ceilometer-ipmi/Dockerfile.j2 rename to kolla/docker/ceilometer/ceilometer-ipmi/Dockerfile.j2 diff --git a/docker/ceilometer/ceilometer-notification/Dockerfile.j2 b/kolla/docker/ceilometer/ceilometer-notification/Dockerfile.j2 similarity index 100% rename from docker/ceilometer/ceilometer-notification/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/ceilometer/ceilometer-notification/extend_start.sh rename to 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 similarity index 100% rename from docker/cinder/cinder-api/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/cinder/cinder-api/extend_start.sh rename to 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 similarity index 100% rename from docker/cinder/cinder-backup/Dockerfile.j2 rename to kolla/docker/cinder/cinder-backup/Dockerfile.j2 diff --git a/docker/cinder/cinder-base/Dockerfile.j2 b/kolla/docker/cinder/cinder-base/Dockerfile.j2 similarity index 100% rename from docker/cinder/cinder-base/Dockerfile.j2 rename to kolla/docker/cinder/cinder-base/Dockerfile.j2 diff --git a/docker/cinder/cinder-base/cinder_sudoers b/kolla/docker/cinder/cinder-base/cinder_sudoers similarity index 100% rename from docker/cinder/cinder-base/cinder_sudoers rename to 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 similarity index 100% rename from docker/cinder/cinder-base/extend_start.sh rename to 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 similarity index 100% rename from docker/cinder/cinder-scheduler/Dockerfile.j2 rename to kolla/docker/cinder/cinder-scheduler/Dockerfile.j2 diff --git a/docker/cinder/cinder-volume/Dockerfile.j2 b/kolla/docker/cinder/cinder-volume/Dockerfile.j2 similarity index 100% rename from docker/cinder/cinder-volume/Dockerfile.j2 rename to kolla/docker/cinder/cinder-volume/Dockerfile.j2 diff --git a/docker/cinder/cinder-volume/cinder_sudoers b/kolla/docker/cinder/cinder-volume/cinder_sudoers similarity index 100% rename from docker/cinder/cinder-volume/cinder_sudoers rename to 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 similarity index 100% rename from docker/cinder/cinder-volume/extend_start.sh rename to 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 similarity index 100% rename from docker/cloudkitty/cloudkitty-api/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/cloudkitty/cloudkitty-api/extend_start.sh rename to 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 similarity index 100% rename from docker/cloudkitty/cloudkitty-base/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/cloudkitty/cloudkitty-base/extend_start.sh rename to 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 similarity index 100% rename from docker/cloudkitty/cloudkitty-processor/Dockerfile.j2 rename to kolla/docker/cloudkitty/cloudkitty-processor/Dockerfile.j2 diff --git a/docker/collectd/Dockerfile.j2 b/kolla/docker/collectd/Dockerfile.j2 similarity index 100% rename from docker/collectd/Dockerfile.j2 rename to kolla/docker/collectd/Dockerfile.j2 diff --git a/docker/collectd/extend_start.sh b/kolla/docker/collectd/extend_start.sh similarity index 100% rename from docker/collectd/extend_start.sh rename to kolla/docker/collectd/extend_start.sh diff --git a/docker/cron/Dockerfile.j2 b/kolla/docker/cron/Dockerfile.j2 similarity index 100% rename from docker/cron/Dockerfile.j2 rename to kolla/docker/cron/Dockerfile.j2 diff --git a/docker/cron/extend_start.sh b/kolla/docker/cron/extend_start.sh similarity index 100% rename from docker/cron/extend_start.sh rename to kolla/docker/cron/extend_start.sh diff --git a/docker/cron/logrotate b/kolla/docker/cron/logrotate similarity index 100% rename from docker/cron/logrotate rename to kolla/docker/cron/logrotate diff --git a/docker/cyborg/cyborg-agent/Dockerfile.j2 b/kolla/docker/cyborg/cyborg-agent/Dockerfile.j2 similarity index 100% rename from docker/cyborg/cyborg-agent/Dockerfile.j2 rename to kolla/docker/cyborg/cyborg-agent/Dockerfile.j2 diff --git a/docker/cyborg/cyborg-api/Dockerfile.j2 b/kolla/docker/cyborg/cyborg-api/Dockerfile.j2 similarity index 100% rename from docker/cyborg/cyborg-api/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/cyborg/cyborg-api/extend_start.sh rename to 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 similarity index 100% rename from docker/cyborg/cyborg-base/Dockerfile.j2 rename to kolla/docker/cyborg/cyborg-base/Dockerfile.j2 diff --git a/docker/cyborg/cyborg-base/cyborg_sudoers b/kolla/docker/cyborg/cyborg-base/cyborg_sudoers similarity index 100% rename from docker/cyborg/cyborg-base/cyborg_sudoers rename to 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 similarity index 100% rename from docker/cyborg/cyborg-base/extend_start.sh rename to 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 similarity index 100% rename from docker/cyborg/cyborg-conductor/Dockerfile.j2 rename to kolla/docker/cyborg/cyborg-conductor/Dockerfile.j2 diff --git a/docker/designate/designate-api/Dockerfile.j2 b/kolla/docker/designate/designate-api/Dockerfile.j2 similarity index 100% rename from docker/designate/designate-api/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/designate/designate-backend-bind9/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/designate/designate-base/Dockerfile.j2 rename to kolla/docker/designate/designate-base/Dockerfile.j2 diff --git a/docker/designate/designate-base/designate_sudoers b/kolla/docker/designate/designate-base/designate_sudoers similarity index 100% rename from docker/designate/designate-base/designate_sudoers rename to 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 similarity index 100% rename from docker/designate/designate-base/extend_start.sh rename to 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 similarity index 100% rename from docker/designate/designate-central/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/designate/designate-central/extend_start.sh rename to 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 similarity index 100% rename from docker/designate/designate-mdns/Dockerfile.j2 rename to kolla/docker/designate/designate-mdns/Dockerfile.j2 diff --git a/docker/designate/designate-producer/Dockerfile.j2 b/kolla/docker/designate/designate-producer/Dockerfile.j2 similarity index 100% rename from docker/designate/designate-producer/Dockerfile.j2 rename to kolla/docker/designate/designate-producer/Dockerfile.j2 diff --git a/docker/designate/designate-sink/Dockerfile.j2 b/kolla/docker/designate/designate-sink/Dockerfile.j2 similarity index 100% rename from docker/designate/designate-sink/Dockerfile.j2 rename to kolla/docker/designate/designate-sink/Dockerfile.j2 diff --git a/docker/designate/designate-worker/Dockerfile.j2 b/kolla/docker/designate/designate-worker/Dockerfile.j2 similarity index 100% rename from docker/designate/designate-worker/Dockerfile.j2 rename to kolla/docker/designate/designate-worker/Dockerfile.j2 diff --git a/docker/dnsmasq/Dockerfile.j2 b/kolla/docker/dnsmasq/Dockerfile.j2 similarity index 100% rename from docker/dnsmasq/Dockerfile.j2 rename to kolla/docker/dnsmasq/Dockerfile.j2 diff --git a/docker/dnsmasq/extend_start.sh b/kolla/docker/dnsmasq/extend_start.sh similarity index 100% rename from docker/dnsmasq/extend_start.sh rename to kolla/docker/dnsmasq/extend_start.sh diff --git a/docker/etcd/Dockerfile.j2 b/kolla/docker/etcd/Dockerfile.j2 similarity index 100% rename from docker/etcd/Dockerfile.j2 rename to kolla/docker/etcd/Dockerfile.j2 diff --git a/docker/etcd/etcd_sudoers b/kolla/docker/etcd/etcd_sudoers similarity index 100% rename from docker/etcd/etcd_sudoers rename to kolla/docker/etcd/etcd_sudoers diff --git a/docker/etcd/extend_start.sh b/kolla/docker/etcd/extend_start.sh similarity index 100% rename from docker/etcd/extend_start.sh rename to kolla/docker/etcd/extend_start.sh diff --git a/docker/fluentd/Dockerfile.j2 b/kolla/docker/fluentd/Dockerfile.j2 similarity index 100% rename from docker/fluentd/Dockerfile.j2 rename to kolla/docker/fluentd/Dockerfile.j2 diff --git a/docker/fluentd/extend_start.sh b/kolla/docker/fluentd/extend_start.sh similarity index 100% rename from docker/fluentd/extend_start.sh rename to kolla/docker/fluentd/extend_start.sh diff --git a/docker/fluentd/fluentd_sudoers b/kolla/docker/fluentd/fluentd_sudoers similarity index 100% rename from docker/fluentd/fluentd_sudoers rename to kolla/docker/fluentd/fluentd_sudoers diff --git a/docker/glance/glance-api/Dockerfile.j2 b/kolla/docker/glance/glance-api/Dockerfile.j2 similarity index 100% rename from docker/glance/glance-api/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/glance/glance-api/extend_start.sh rename to 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 similarity index 100% rename from docker/glance/glance-base/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/glance/glance-base/etc/glance/rootwrap.conf rename to 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 similarity index 100% rename from docker/glance/glance-base/etc/glance/rootwrap.d/glance_cinder_store.filters rename to 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 similarity index 100% rename from docker/glance/glance-base/extend_start.sh rename to 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 similarity index 100% rename from docker/glance/glance-base/glance_sudoers rename to kolla/docker/glance/glance-base/glance_sudoers diff --git a/docker/gnocchi/gnocchi-api/Dockerfile.j2 b/kolla/docker/gnocchi/gnocchi-api/Dockerfile.j2 similarity index 100% rename from docker/gnocchi/gnocchi-api/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/gnocchi/gnocchi-api/extend_start.sh rename to 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 similarity index 100% rename from docker/gnocchi/gnocchi-base/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/gnocchi/gnocchi-base/extend_start.sh rename to 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 similarity index 100% rename from docker/gnocchi/gnocchi-base/gnocchi_sudoers rename to kolla/docker/gnocchi/gnocchi-base/gnocchi_sudoers diff --git a/docker/gnocchi/gnocchi-metricd/Dockerfile.j2 b/kolla/docker/gnocchi/gnocchi-metricd/Dockerfile.j2 similarity index 100% rename from docker/gnocchi/gnocchi-metricd/Dockerfile.j2 rename to kolla/docker/gnocchi/gnocchi-metricd/Dockerfile.j2 diff --git a/docker/gnocchi/gnocchi-statsd/Dockerfile.j2 b/kolla/docker/gnocchi/gnocchi-statsd/Dockerfile.j2 similarity index 100% rename from docker/gnocchi/gnocchi-statsd/Dockerfile.j2 rename to kolla/docker/gnocchi/gnocchi-statsd/Dockerfile.j2 diff --git a/docker/grafana/Dockerfile.j2 b/kolla/docker/grafana/Dockerfile.j2 similarity index 100% rename from docker/grafana/Dockerfile.j2 rename to kolla/docker/grafana/Dockerfile.j2 diff --git a/docker/grafana/extend_start.sh b/kolla/docker/grafana/extend_start.sh similarity index 100% rename from docker/grafana/extend_start.sh rename to kolla/docker/grafana/extend_start.sh diff --git a/docker/grafana/grafana_sudoers b/kolla/docker/grafana/grafana_sudoers similarity index 100% rename from docker/grafana/grafana_sudoers rename to kolla/docker/grafana/grafana_sudoers diff --git a/docker/hacluster/hacluster-base/Dockerfile.j2 b/kolla/docker/hacluster/hacluster-base/Dockerfile.j2 similarity index 100% rename from docker/hacluster/hacluster-base/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/hacluster/hacluster-base/extend_start.sh rename to 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 similarity index 100% rename from docker/hacluster/hacluster-corosync/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/hacluster/hacluster-pacemaker-remote/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/hacluster/hacluster-pacemaker/Dockerfile.j2 rename to kolla/docker/hacluster/hacluster-pacemaker/Dockerfile.j2 diff --git a/docker/hacluster/hacluster-pcs/Dockerfile.j2 b/kolla/docker/hacluster/hacluster-pcs/Dockerfile.j2 similarity index 100% rename from docker/hacluster/hacluster-pcs/Dockerfile.j2 rename to kolla/docker/hacluster/hacluster-pcs/Dockerfile.j2 diff --git a/docker/haproxy/haproxy-ssh/Dockerfile.j2 b/kolla/docker/haproxy/haproxy-ssh/Dockerfile.j2 similarity index 100% rename from docker/haproxy/haproxy-ssh/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/haproxy/haproxy-ssh/extend_start.sh rename to 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 similarity index 100% rename from docker/haproxy/haproxy-ssh/update-loadbalancer-cert.sh rename to kolla/docker/haproxy/haproxy-ssh/update-loadbalancer-cert.sh diff --git a/docker/haproxy/haproxy/Dockerfile.j2 b/kolla/docker/haproxy/haproxy/Dockerfile.j2 similarity index 100% rename from docker/haproxy/haproxy/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/haproxy/haproxy/ensure_latest_config.sh rename to 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 similarity index 100% rename from docker/heat/heat-api-cfn/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/heat/heat-api/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/heat/heat-api/extend_start.sh rename to 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 similarity index 100% rename from docker/heat/heat-base/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/heat/heat-base/extend_start.sh rename to 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 similarity index 100% rename from docker/heat/heat-engine/Dockerfile.j2 rename to kolla/docker/heat/heat-engine/Dockerfile.j2 diff --git a/docker/horizon/Dockerfile.j2 b/kolla/docker/horizon/Dockerfile.j2 similarity index 100% rename from docker/horizon/Dockerfile.j2 rename to kolla/docker/horizon/Dockerfile.j2 diff --git a/docker/horizon/extend_start.sh b/kolla/docker/horizon/extend_start.sh similarity index 100% rename from docker/horizon/extend_start.sh rename to kolla/docker/horizon/extend_start.sh diff --git a/docker/httpd/Dockerfile.j2 b/kolla/docker/httpd/Dockerfile.j2 similarity index 100% rename from docker/httpd/Dockerfile.j2 rename to kolla/docker/httpd/Dockerfile.j2 diff --git a/docker/httpd/extend_start.sh b/kolla/docker/httpd/extend_start.sh similarity index 100% rename from docker/httpd/extend_start.sh rename to kolla/docker/httpd/extend_start.sh diff --git a/docker/httpd/httpd_setup.sh b/kolla/docker/httpd/httpd_setup.sh similarity index 100% rename from docker/httpd/httpd_setup.sh rename to kolla/docker/httpd/httpd_setup.sh diff --git a/docker/ironic/ironic-api/Dockerfile.j2 b/kolla/docker/ironic/ironic-api/Dockerfile.j2 similarity index 100% rename from docker/ironic/ironic-api/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/ironic/ironic-api/extend_start.sh rename to 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 similarity index 100% rename from docker/ironic/ironic-base/Dockerfile.j2 rename to kolla/docker/ironic/ironic-base/Dockerfile.j2 diff --git a/docker/ironic/ironic-base/extend_start.sh b/kolla/docker/ironic/ironic-base/extend_start.sh similarity index 100% rename from docker/ironic/ironic-base/extend_start.sh rename to 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 similarity index 100% rename from docker/ironic/ironic-base/ironic_sudoers rename to kolla/docker/ironic/ironic-base/ironic_sudoers diff --git a/docker/ironic/ironic-conductor/Dockerfile.j2 b/kolla/docker/ironic/ironic-conductor/Dockerfile.j2 similarity index 100% rename from docker/ironic/ironic-conductor/Dockerfile.j2 rename to kolla/docker/ironic/ironic-conductor/Dockerfile.j2 diff --git a/docker/ironic/ironic-prometheus-exporter/Dockerfile.j2 b/kolla/docker/ironic/ironic-prometheus-exporter/Dockerfile.j2 similarity index 100% rename from docker/ironic/ironic-prometheus-exporter/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/ironic/ironic-pxe-filter/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/ironic/ironic-pxe-filter/extend_start.sh rename to 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 similarity index 100% rename from docker/ironic/ironic-pxe/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/ironic/ironic-pxe/extend_start.sh rename to 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 similarity index 100% rename from docker/ironic/ironic-pxe/tftp-map-file-template rename to kolla/docker/ironic/ironic-pxe/tftp-map-file-template diff --git a/docker/iscsid/Dockerfile.j2 b/kolla/docker/iscsid/Dockerfile.j2 similarity index 100% rename from docker/iscsid/Dockerfile.j2 rename to kolla/docker/iscsid/Dockerfile.j2 diff --git a/docker/iscsid/extend_start.sh b/kolla/docker/iscsid/extend_start.sh similarity index 100% rename from docker/iscsid/extend_start.sh rename to kolla/docker/iscsid/extend_start.sh diff --git a/docker/keepalived/Dockerfile.j2 b/kolla/docker/keepalived/Dockerfile.j2 similarity index 100% rename from docker/keepalived/Dockerfile.j2 rename to kolla/docker/keepalived/Dockerfile.j2 diff --git a/docker/keepalived/check_alive.sh b/kolla/docker/keepalived/check_alive.sh similarity index 100% rename from docker/keepalived/check_alive.sh rename to kolla/docker/keepalived/check_alive.sh diff --git a/docker/keepalived/extend_start.sh b/kolla/docker/keepalived/extend_start.sh similarity index 100% rename from docker/keepalived/extend_start.sh rename to kolla/docker/keepalived/extend_start.sh diff --git a/docker/kerbside/kerbside-api/Dockerfile.j2 b/kolla/docker/kerbside/kerbside-api/Dockerfile.j2 similarity index 100% rename from docker/kerbside/kerbside-api/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/kerbside/kerbside-api/extend_start.sh rename to 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 similarity index 100% rename from docker/kerbside/kerbside-base/Dockerfile.j2 rename to kolla/docker/kerbside/kerbside-base/Dockerfile.j2 diff --git a/docker/kerbside/kerbside-proxy/Dockerfile.j2 b/kolla/docker/kerbside/kerbside-proxy/Dockerfile.j2 similarity index 100% rename from docker/kerbside/kerbside-proxy/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/kerbside/kerbside-proxy/extend_start.sh rename to 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 similarity index 100% rename from docker/keystone/keystone-base/Dockerfile.j2 rename to kolla/docker/keystone/keystone-base/Dockerfile.j2 diff --git a/docker/keystone/keystone-fernet/Dockerfile.j2 b/kolla/docker/keystone/keystone-fernet/Dockerfile.j2 similarity index 100% rename from docker/keystone/keystone-fernet/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/keystone/keystone-fernet/extend_start.sh rename to 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 similarity index 100% rename from docker/keystone/keystone-fernet/fetch_fernet_tokens.py rename to 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 similarity index 100% rename from docker/keystone/keystone-fernet/keystone_bootstrap.sh rename to 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 similarity index 100% rename from docker/keystone/keystone-ssh/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/keystone/keystone-ssh/extend_start.sh rename to kolla/docker/keystone/keystone-ssh/extend_start.sh diff --git a/docker/keystone/keystone/Dockerfile.j2 b/kolla/docker/keystone/keystone/Dockerfile.j2 similarity index 100% rename from docker/keystone/keystone/Dockerfile.j2 rename to kolla/docker/keystone/keystone/Dockerfile.j2 diff --git a/docker/keystone/keystone/extend_start.sh b/kolla/docker/keystone/keystone/extend_start.sh similarity index 100% rename from docker/keystone/keystone/extend_start.sh rename to kolla/docker/keystone/keystone/extend_start.sh diff --git a/docker/keystone/keystone/keystone_bootstrap.sh b/kolla/docker/keystone/keystone/keystone_bootstrap.sh similarity index 100% rename from docker/keystone/keystone/keystone_bootstrap.sh rename to kolla/docker/keystone/keystone/keystone_bootstrap.sh diff --git a/docker/kolla-toolbox/Dockerfile.j2 b/kolla/docker/kolla-toolbox/Dockerfile.j2 similarity index 100% rename from docker/kolla-toolbox/Dockerfile.j2 rename to kolla/docker/kolla-toolbox/Dockerfile.j2 diff --git a/docker/kolla-toolbox/ansible.cfg b/kolla/docker/kolla-toolbox/ansible.cfg similarity index 100% rename from docker/kolla-toolbox/ansible.cfg rename to kolla/docker/kolla-toolbox/ansible.cfg diff --git a/docker/kolla-toolbox/ansible_sudoers b/kolla/docker/kolla-toolbox/ansible_sudoers similarity index 100% rename from docker/kolla-toolbox/ansible_sudoers rename to 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 similarity index 100% rename from docker/kolla-toolbox/apt_preferences_rabbitmq.debian rename to 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 similarity index 100% rename from docker/kolla-toolbox/apt_preferences_rabbitmq.ubuntu rename to 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 similarity index 100% rename from docker/kolla-toolbox/extend_start.sh rename to kolla/docker/kolla-toolbox/extend_start.sh diff --git a/docker/kolla-toolbox/kolla_toolbox.sh b/kolla/docker/kolla-toolbox/kolla_toolbox.sh similarity index 100% rename from docker/kolla-toolbox/kolla_toolbox.sh rename to kolla/docker/kolla-toolbox/kolla_toolbox.sh diff --git a/docker/kolla-toolbox/requirements.yml b/kolla/docker/kolla-toolbox/requirements.yml similarity index 100% rename from docker/kolla-toolbox/requirements.yml rename to kolla/docker/kolla-toolbox/requirements.yml diff --git a/docker/letsencrypt/letsencrypt-base/Dockerfile.j2 b/kolla/docker/letsencrypt/letsencrypt-base/Dockerfile.j2 similarity index 100% rename from docker/letsencrypt/letsencrypt-base/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/letsencrypt/letsencrypt-base/extend_start.sh rename to 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 similarity index 100% rename from docker/letsencrypt/letsencrypt-lego/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/letsencrypt/letsencrypt-lego/letsencrypt-certificates.sh rename to 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 similarity index 100% rename from docker/letsencrypt/letsencrypt-lego/sync-and-update-certificate.sh rename to kolla/docker/letsencrypt/letsencrypt-lego/sync-and-update-certificate.sh diff --git a/docker/macros.j2 b/kolla/docker/macros.j2 similarity index 100% rename from docker/macros.j2 rename to kolla/docker/macros.j2 diff --git a/docker/magnum/magnum-api/Dockerfile.j2 b/kolla/docker/magnum/magnum-api/Dockerfile.j2 similarity index 100% rename from docker/magnum/magnum-api/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/magnum/magnum-api/extend_start.sh rename to 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 similarity index 100% rename from docker/magnum/magnum-base/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/magnum/magnum-base/extend_start.sh rename to 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 similarity index 100% rename from docker/magnum/magnum-conductor/Dockerfile.j2 rename to kolla/docker/magnum/magnum-conductor/Dockerfile.j2 diff --git a/docker/manila/manila-api/Dockerfile.j2 b/kolla/docker/manila/manila-api/Dockerfile.j2 similarity index 100% rename from docker/manila/manila-api/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/manila/manila-api/extend_start.sh rename to 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 similarity index 100% rename from docker/manila/manila-base/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/manila/manila-base/extend_start.sh rename to 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 similarity index 100% rename from docker/manila/manila-base/manila_sudoers rename to kolla/docker/manila/manila-base/manila_sudoers diff --git a/docker/manila/manila-data/Dockerfile.j2 b/kolla/docker/manila/manila-data/Dockerfile.j2 similarity index 100% rename from docker/manila/manila-data/Dockerfile.j2 rename to kolla/docker/manila/manila-data/Dockerfile.j2 diff --git a/docker/manila/manila-scheduler/Dockerfile.j2 b/kolla/docker/manila/manila-scheduler/Dockerfile.j2 similarity index 100% rename from docker/manila/manila-scheduler/Dockerfile.j2 rename to kolla/docker/manila/manila-scheduler/Dockerfile.j2 diff --git a/docker/manila/manila-share/Dockerfile.j2 b/kolla/docker/manila/manila-share/Dockerfile.j2 similarity index 100% rename from docker/manila/manila-share/Dockerfile.j2 rename to kolla/docker/manila/manila-share/Dockerfile.j2 diff --git a/docker/mariadb-server/Dockerfile.j2 b/kolla/docker/mariadb-server/Dockerfile.j2 similarity index 100% rename from docker/mariadb-server/Dockerfile.j2 rename to kolla/docker/mariadb-server/Dockerfile.j2 diff --git a/docker/mariadb-server/backup.sh b/kolla/docker/mariadb-server/backup.sh similarity index 100% rename from docker/mariadb-server/backup.sh rename to kolla/docker/mariadb-server/backup.sh diff --git a/docker/mariadb-server/backup_replica.sh b/kolla/docker/mariadb-server/backup_replica.sh similarity index 100% rename from docker/mariadb-server/backup_replica.sh rename to kolla/docker/mariadb-server/backup_replica.sh diff --git a/docker/mariadb-server/extend_start.sh b/kolla/docker/mariadb-server/extend_start.sh similarity index 100% rename from docker/mariadb-server/extend_start.sh rename to kolla/docker/mariadb-server/extend_start.sh diff --git a/docker/mariadb-server/healthcheck_mariadb b/kolla/docker/mariadb-server/healthcheck_mariadb similarity index 100% rename from docker/mariadb-server/healthcheck_mariadb rename to kolla/docker/mariadb-server/healthcheck_mariadb diff --git a/docker/mariadb-server/mariadb_sudoers b/kolla/docker/mariadb-server/mariadb_sudoers similarity index 100% rename from docker/mariadb-server/mariadb_sudoers rename to kolla/docker/mariadb-server/mariadb_sudoers diff --git a/docker/mariadb-server/security_reset.expect b/kolla/docker/mariadb-server/security_reset.expect similarity index 100% rename from docker/mariadb-server/security_reset.expect rename to kolla/docker/mariadb-server/security_reset.expect diff --git a/docker/masakari/masakari-api/Dockerfile.j2 b/kolla/docker/masakari/masakari-api/Dockerfile.j2 similarity index 100% rename from docker/masakari/masakari-api/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/masakari/masakari-api/extend_start.sh rename to 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 similarity index 100% rename from docker/masakari/masakari-base/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/masakari/masakari-base/extend_start.sh rename to 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 similarity index 100% rename from docker/masakari/masakari-engine/Dockerfile.j2 rename to kolla/docker/masakari/masakari-engine/Dockerfile.j2 diff --git a/docker/masakari/masakari-monitors/Dockerfile.j2 b/kolla/docker/masakari/masakari-monitors/Dockerfile.j2 similarity index 100% rename from docker/masakari/masakari-monitors/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/masakari/masakari-monitors/masakari_monitors_sudoers rename to kolla/docker/masakari/masakari-monitors/masakari_monitors_sudoers diff --git a/docker/memcached/Dockerfile.j2 b/kolla/docker/memcached/Dockerfile.j2 similarity index 100% rename from docker/memcached/Dockerfile.j2 rename to kolla/docker/memcached/Dockerfile.j2 diff --git a/docker/mistral/mistral-api/Dockerfile.j2 b/kolla/docker/mistral/mistral-api/Dockerfile.j2 similarity index 100% rename from docker/mistral/mistral-api/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/mistral/mistral-api/extend_start.sh rename to 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 similarity index 100% rename from docker/mistral/mistral-base/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/mistral/mistral-base/extend_start.sh rename to 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 similarity index 100% rename from docker/mistral/mistral-engine/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/mistral/mistral-event-engine/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/mistral/mistral-executor/Dockerfile.j2 rename to kolla/docker/mistral/mistral-executor/Dockerfile.j2 diff --git a/docker/multipathd/Dockerfile.j2 b/kolla/docker/multipathd/Dockerfile.j2 similarity index 100% rename from docker/multipathd/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/networking-baremetal/ironic-neutron-agent/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/neutron/neutron-base/Dockerfile.j2 rename to kolla/docker/neutron/neutron-base/Dockerfile.j2 diff --git a/docker/neutron/neutron-base/copy-wrappers b/kolla/docker/neutron/neutron-base/copy-wrappers similarity index 100% rename from docker/neutron/neutron-base/copy-wrappers rename to kolla/docker/neutron/neutron-base/copy-wrappers diff --git a/docker/neutron/neutron-base/delete-wrappers b/kolla/docker/neutron/neutron-base/delete-wrappers similarity index 100% rename from docker/neutron/neutron-base/delete-wrappers rename to kolla/docker/neutron/neutron-base/delete-wrappers diff --git a/docker/neutron/neutron-base/dnsmasq b/kolla/docker/neutron/neutron-base/dnsmasq similarity index 100% rename from docker/neutron/neutron-base/dnsmasq rename to 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 similarity index 100% rename from docker/neutron/neutron-base/extend_start.sh rename to kolla/docker/neutron/neutron-base/extend_start.sh diff --git a/docker/neutron/neutron-base/haproxy b/kolla/docker/neutron/neutron-base/haproxy similarity index 100% rename from docker/neutron/neutron-base/haproxy rename to kolla/docker/neutron/neutron-base/haproxy diff --git a/docker/neutron/neutron-base/keepalived b/kolla/docker/neutron/neutron-base/keepalived similarity index 100% rename from docker/neutron/neutron-base/keepalived rename to 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 similarity index 100% rename from docker/neutron/neutron-base/neutron-keepalived-state-change rename to 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 similarity index 100% rename from docker/neutron/neutron-base/neutron_sudoers rename to kolla/docker/neutron/neutron-base/neutron_sudoers diff --git a/docker/neutron/neutron-base/radvd b/kolla/docker/neutron/neutron-base/radvd similarity index 100% rename from docker/neutron/neutron-base/radvd rename to 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 similarity index 100% rename from docker/neutron/neutron-bgp-dragent/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/neutron/neutron-dhcp-agent/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/neutron/neutron-dhcp-agent/extend_start.sh rename to 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 similarity index 100% rename from docker/neutron/neutron-l3-agent/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/neutron/neutron-l3-agent/extend_start.sh rename to 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 similarity index 100% rename from docker/neutron/neutron-metadata-agent/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/neutron/neutron-metadata-agent/extend_start.sh rename to 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 similarity index 100% rename from docker/neutron/neutron-metering-agent/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/neutron/neutron-mlnx-agent/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/neutron/neutron-openvswitch-agent/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/neutron/neutron-ovn-agent/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/neutron/neutron-ovn-vpn-agent/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/neutron/neutron-server/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/neutron/neutron-server/extend_start.sh rename to 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 similarity index 100% rename from docker/neutron/neutron-sriov-agent/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/nova/nova-api/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/nova/nova-api/extend_start.sh rename to 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 similarity index 100% rename from docker/nova/nova-base/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/nova/nova-base/extend_start.sh rename to 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 similarity index 100% rename from docker/nova/nova-base/nova_sudoers rename to 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 similarity index 100% rename from docker/nova/nova-compute-ironic/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/nova/nova-compute/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/nova/nova-compute/extend_start.sh rename to 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 similarity index 100% rename from docker/nova/nova-conductor/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/nova/nova-conductor/extend_start.sh rename to kolla/docker/nova/nova-conductor/extend_start.sh diff --git a/kolla/docker/nova/nova-libvirt-spice/Dockerfile.j2 b/kolla/docker/nova/nova-libvirt-spice/Dockerfile.j2 new file mode 100644 index 0000000000..4c7ded8944 --- /dev/null +++ b/kolla/docker/nova/nova-libvirt-spice/Dockerfile.j2 @@ -0,0 +1,120 @@ +FROM {{ namespace }}/{{ image_prefix }}base:{{ tag }} +{% block labels %} +LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}" +{% endblock %} + +{% block nova_libvirt_header %}{% endblock %} + +{% import "macros.j2" as macros with context %} + +{{ macros.configure_user(name='nova', groups='qemu') }} + +{% if base_package_type == 'rpm' %} + + {% set nova_libvirt_extra_repos = ['ceph', 'crb', 'epel', 'openvswitch'] %} + {% if base_distro == 'rocky' %} + {# + The stock Rocky qemu-kvm has SPICE compiled out. To enable + Kerbside and the nova ``spice-direct`` console we therefore + layer the ligenix COPR in so that qemu-kvm and spice-server + are available with SPICE re-enabled. The repo definition + lives in kolla/template/repos.yaml so deployers can override + it like any other extra repo. + #} + {% set nova_libvirt_extra_repos = nova_libvirt_extra_repos + ['ligenix-qemu-spice'] %} + {% endif %} + +{{ macros.enable_extra_repos(nova_libvirt_extra_repos) }} + + {% set nova_libvirt_packages = [ + 'ceph-common', + 'cyrus-sasl-md5', + 'cyrus-sasl-scram', + 'libguestfs', + 'libvirt-client', + 'libvirt-daemon', + 'libvirt-daemon-log', + 'libvirt-daemon-config-nwfilter', + 'libvirt-daemon-driver-nwfilter', + 'libvirt-daemon-driver-nodedev', + 'openvswitch${KOLLA_RPM_OVS_VERSION}', + 'qemu-img', + 'qemu-kvm', + 'swtpm', + ] %} + {% if base_arch == 'x86_64' %} + {% set nova_libvirt_packages = nova_libvirt_packages + [ + 'edk2-ovmf' + ] %} + {% elif base_arch == 'aarch64' %} + {% set nova_libvirt_packages = nova_libvirt_packages + [ + 'edk2-aarch64' + ] %} + {% endif %} + + {% if use_ligenix_qemu | default(false) and base_distro == 'rocky' %} + {% set nova_libvirt_packages = nova_libvirt_packages + [ + 'qemu-kvm-ui-spice', + 'spice-server', + ] %} + {% endif %} + +{% elif base_package_type == 'deb' %} + + {% set nova_libvirt_packages = [ + 'ceph-common', + 'ebtables', + 'libsasl2-modules-gssapi-mit', + 'libvirt-clients', + 'libvirt-daemon-system', + 'mdevctl', + 'openvswitch-switch', + 'pm-utils', + 'python3-cephfs', + 'python3-rados', + 'python3-rbd', + 'qemu-block-extra', + 'qemu-system', + 'qemu-system-modules-spice', + 'qemu-utils', + 'sasl2-bin', + 'swtpm', + 'swtpm-tools', + 'tpm2-tools', + 'trousers' + ] %} + + {% if base_arch == "aarch64" %} + {% set nova_libvirt_packages = nova_libvirt_packages + [ + 'qemu-efi-aarch64' + ] %} + {% elif base_arch == "x86_64" %} + {% set nova_libvirt_packages = nova_libvirt_packages + [ + 'ovmf', + ] %} + {% endif %} + + {% if base_distro in ['debian'] %} + {% set nova_libvirt_packages = nova_libvirt_packages + [ + 'libvirt-daemon-log', + 'usermode' + ] %} + {% endif %} +{% endif %} + +{{ macros.install_packages(nova_libvirt_packages | customizable("packages")) }} + +{% if base_package_type == 'deb' %} + +RUN rm -f /etc/libvirt/qemu/networks/default.xml /etc/libvirt/qemu/networks/autostart/default.xml + +{% endif %} + +COPY extend_start.sh /usr/local/bin/kolla_extend_start +COPY kolla_nova_libvirt_start.sh /usr/local/bin/kolla_nova_libvirt_start +RUN chmod 644 /usr/local/bin/kolla_extend_start && chmod 744 /usr/local/bin/kolla_nova_libvirt_start + +{{ macros.kolla_patch_sources() }} + +{% block nova_libvirt_footer %}{% endblock %} +{% block footer %}{% endblock %} diff --git a/docker/nova/nova-libvirt/extend_start.sh b/kolla/docker/nova/nova-libvirt-spice/extend_start.sh similarity index 100% rename from docker/nova/nova-libvirt/extend_start.sh rename to kolla/docker/nova/nova-libvirt-spice/extend_start.sh diff --git a/docker/nova/nova-libvirt/kolla_nova_libvirt_start.sh b/kolla/docker/nova/nova-libvirt-spice/kolla_nova_libvirt_start.sh similarity index 100% rename from docker/nova/nova-libvirt/kolla_nova_libvirt_start.sh rename to 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 similarity index 100% rename from docker/nova/nova-libvirt/Dockerfile.j2 rename to kolla/docker/nova/nova-libvirt/Dockerfile.j2 diff --git a/kolla/docker/nova/nova-libvirt/extend_start.sh b/kolla/docker/nova/nova-libvirt/extend_start.sh new file mode 100644 index 0000000000..cc41b480b2 --- /dev/null +++ b/kolla/docker/nova/nova-libvirt/extend_start.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +if [[ ! -e "/var/log/kolla/libvirt/libvirtd.log" ]]; then + mkdir -p /var/log/kolla/libvirt + touch /var/log/kolla/libvirt/libvirtd.log + chmod 644 /var/log/kolla/libvirt/libvirtd.log +fi +if [[ $(stat -c %a /var/log/kolla/libvirt) != "755" ]]; then + chmod 755 /var/log/kolla/libvirt + chmod 644 /var/log/kolla/libvirt/libvirtd.log +fi diff --git a/kolla/docker/nova/nova-libvirt/kolla_nova_libvirt_start.sh b/kolla/docker/nova/nova-libvirt/kolla_nova_libvirt_start.sh new file mode 100644 index 0000000000..f06a63d9ed --- /dev/null +++ b/kolla/docker/nova/nova-libvirt/kolla_nova_libvirt_start.sh @@ -0,0 +1,12 @@ +#!/bin/bash +set -euo pipefail + +# NOTE(mikal): Start virtlogd as a sidecar. We need this for +# nova instance console logs to rotate. Otherwise they will +# consume unbounded amounts of disk. +# +# No exec here: libvirtd will be the "main" process. +/usr/sbin/virtlogd & + +# Now hand over PID 1's direct child role to libvirtd. +exec /usr/sbin/libvirtd --listen diff --git a/docker/nova/nova-novncproxy/Dockerfile.j2 b/kolla/docker/nova/nova-novncproxy/Dockerfile.j2 similarity index 100% rename from docker/nova/nova-novncproxy/Dockerfile.j2 rename to kolla/docker/nova/nova-novncproxy/Dockerfile.j2 diff --git a/docker/nova/nova-scheduler/Dockerfile.j2 b/kolla/docker/nova/nova-scheduler/Dockerfile.j2 similarity index 100% rename from docker/nova/nova-scheduler/Dockerfile.j2 rename to kolla/docker/nova/nova-scheduler/Dockerfile.j2 diff --git a/docker/nova/nova-serialproxy/Dockerfile.j2 b/kolla/docker/nova/nova-serialproxy/Dockerfile.j2 similarity index 100% rename from docker/nova/nova-serialproxy/Dockerfile.j2 rename to kolla/docker/nova/nova-serialproxy/Dockerfile.j2 diff --git a/docker/nova/nova-spicehtml5proxy/Dockerfile.j2 b/kolla/docker/nova/nova-spicehtml5proxy/Dockerfile.j2 similarity index 100% rename from docker/nova/nova-spicehtml5proxy/Dockerfile.j2 rename to kolla/docker/nova/nova-spicehtml5proxy/Dockerfile.j2 diff --git a/docker/nova/nova-ssh/Dockerfile.j2 b/kolla/docker/nova/nova-ssh/Dockerfile.j2 similarity index 100% rename from docker/nova/nova-ssh/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/nova/nova-ssh/extend_start.sh rename to 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 similarity index 100% rename from docker/octavia/octavia-api/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/octavia/octavia-api/extend_start.sh rename to 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 similarity index 100% rename from docker/octavia/octavia-base/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/octavia/octavia-base/extend_start.sh rename to 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 similarity index 100% rename from docker/octavia/octavia-driver-agent/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/octavia/octavia-health-manager/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/octavia/octavia-housekeeping/Dockerfile.j2 rename to kolla/docker/octavia/octavia-housekeeping/Dockerfile.j2 diff --git a/docker/octavia/octavia-worker/Dockerfile.j2 b/kolla/docker/octavia/octavia-worker/Dockerfile.j2 similarity index 100% rename from docker/octavia/octavia-worker/Dockerfile.j2 rename to kolla/docker/octavia/octavia-worker/Dockerfile.j2 diff --git a/docker/opensearch/opensearch-dashboards/Dockerfile.j2 b/kolla/docker/opensearch/opensearch-dashboards/Dockerfile.j2 similarity index 100% rename from docker/opensearch/opensearch-dashboards/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/opensearch/opensearch-dashboards/extend_start.sh rename to kolla/docker/opensearch/opensearch-dashboards/extend_start.sh diff --git a/docker/opensearch/opensearch/Dockerfile.j2 b/kolla/docker/opensearch/opensearch/Dockerfile.j2 similarity index 100% rename from docker/opensearch/opensearch/Dockerfile.j2 rename to kolla/docker/opensearch/opensearch/Dockerfile.j2 diff --git a/docker/opensearch/opensearch/extend_start.sh b/kolla/docker/opensearch/opensearch/extend_start.sh similarity index 100% rename from docker/opensearch/opensearch/extend_start.sh rename to kolla/docker/opensearch/opensearch/extend_start.sh diff --git a/docker/openstack-base/Dockerfile.j2 b/kolla/docker/openstack-base/Dockerfile.j2 similarity index 100% rename from docker/openstack-base/Dockerfile.j2 rename to kolla/docker/openstack-base/Dockerfile.j2 diff --git a/docker/openvswitch/openvswitch-base/Dockerfile.j2 b/kolla/docker/openvswitch/openvswitch-base/Dockerfile.j2 similarity index 100% rename from docker/openvswitch/openvswitch-base/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/openvswitch/openvswitch-base/extend_start.sh rename to 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 similarity index 100% rename from docker/openvswitch/openvswitch-base/ovs_wrapper.sh rename to 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 similarity index 100% rename from docker/openvswitch/openvswitch-db-server/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/openvswitch/openvswitch-db-server/extend_start.sh rename to 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 similarity index 100% rename from docker/openvswitch/openvswitch-db-server/releasenotes/notes/drop-ovs-ensure-configured-7973d36969e157fa.yaml rename to 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 similarity index 100% rename from docker/openvswitch/openvswitch-vswitchd/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/openvswitch/openvswitch-vswitchd/extend_start.sh rename to 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 similarity index 100% rename from docker/ovn/ovn-base/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/ovn/ovn-base/extend_start.sh rename to 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 similarity index 100% rename from docker/ovn/ovn-controller/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/ovn/ovn-controller/extend_start.sh rename to 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 similarity index 100% rename from docker/ovn/ovn-nb-db-server/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/ovn/ovn-nb-db-server/extend_start.sh rename to 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 similarity index 100% rename from docker/ovn/ovn-nb-db-server/start_nb_db_server.sh rename to 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 similarity index 100% rename from docker/ovn/ovn-northd/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/ovn/ovn-northd/extend_start.sh rename to 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 similarity index 100% rename from docker/ovn/ovn-sb-db-relay/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/ovn/ovn-sb-db-relay/extend_start.sh rename to 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 similarity index 100% rename from docker/ovn/ovn-sb-db-server/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/ovn/ovn-sb-db-server/extend_start.sh rename to 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 similarity index 100% rename from docker/ovn/ovn-sb-db-server/start_sb_db_server.sh rename to 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 similarity index 100% rename from docker/ovsdpdk/ovsdpdk-db/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/ovsdpdk/ovsdpdk-db/extend_start.sh rename to 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 similarity index 100% rename from docker/ovsdpdk/ovsdpdk-db/start_ovsdb_server.sh rename to 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 similarity index 100% rename from docker/ovsdpdk/ovsdpdk-vswitchd/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/ovsdpdk/ovsdpdk-vswitchd/extend_start.sh rename to kolla/docker/ovsdpdk/ovsdpdk-vswitchd/extend_start.sh diff --git a/docker/ovsdpdk/ovsdpdk/Dockerfile.j2 b/kolla/docker/ovsdpdk/ovsdpdk/Dockerfile.j2 similarity index 100% rename from docker/ovsdpdk/ovsdpdk/Dockerfile.j2 rename to kolla/docker/ovsdpdk/ovsdpdk/Dockerfile.j2 diff --git a/docker/ovsdpdk/ovsdpdk/extend_start.sh b/kolla/docker/ovsdpdk/ovsdpdk/extend_start.sh similarity index 100% rename from docker/ovsdpdk/ovsdpdk/extend_start.sh rename to kolla/docker/ovsdpdk/ovsdpdk/extend_start.sh diff --git a/docker/placement/placement-api/Dockerfile.j2 b/kolla/docker/placement/placement-api/Dockerfile.j2 similarity index 100% rename from docker/placement/placement-api/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/placement/placement-api/extend_start.sh rename to 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 similarity index 100% rename from docker/placement/placement-base/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/placement/placement-base/extend_start.sh rename to 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 similarity index 100% rename from docker/prometheus/prometheus-alertmanager/Dockerfile.j2 rename to kolla/docker/prometheus/prometheus-alertmanager/Dockerfile.j2 diff --git a/docker/prometheus/prometheus-base/Dockerfile.j2 b/kolla/docker/prometheus/prometheus-base/Dockerfile.j2 similarity index 100% rename from docker/prometheus/prometheus-base/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/prometheus/prometheus-base/extend_start.sh rename to 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 similarity index 100% rename from docker/prometheus/prometheus-blackbox-exporter/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/prometheus/prometheus-cadvisor/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/prometheus/prometheus-elasticsearch-exporter/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/prometheus/prometheus-libvirt-exporter/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/prometheus/prometheus-memcached-exporter/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/prometheus/prometheus-mtail/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/prometheus/prometheus-mysqld-exporter/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/prometheus/prometheus-node-exporter/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/prometheus/prometheus-openstack-exporter/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/prometheus/prometheus-openstack-network-exporter/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/prometheus/prometheus-server/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/prometheus/prometheus-valkey-exporter/Dockerfile.j2 rename to kolla/docker/prometheus/prometheus-valkey-exporter/Dockerfile.j2 diff --git a/docker/proxysql/Dockerfile.j2 b/kolla/docker/proxysql/Dockerfile.j2 similarity index 100% rename from docker/proxysql/Dockerfile.j2 rename to kolla/docker/proxysql/Dockerfile.j2 diff --git a/docker/proxysql/kolla_extend_start b/kolla/docker/proxysql/kolla_extend_start similarity index 100% rename from docker/proxysql/kolla_extend_start rename to kolla/docker/proxysql/kolla_extend_start diff --git a/docker/proxysql/kolla_proxysql_config_sync b/kolla/docker/proxysql/kolla_proxysql_config_sync similarity index 100% rename from docker/proxysql/kolla_proxysql_config_sync rename to kolla/docker/proxysql/kolla_proxysql_config_sync diff --git a/docker/rabbitmq/Dockerfile.j2 b/kolla/docker/rabbitmq/Dockerfile.j2 similarity index 100% rename from docker/rabbitmq/Dockerfile.j2 rename to kolla/docker/rabbitmq/Dockerfile.j2 diff --git a/docker/rabbitmq/apt_preferences_rabbitmq.debian b/kolla/docker/rabbitmq/apt_preferences_rabbitmq.debian similarity index 100% rename from docker/rabbitmq/apt_preferences_rabbitmq.debian rename to kolla/docker/rabbitmq/apt_preferences_rabbitmq.debian diff --git a/docker/rabbitmq/apt_preferences_rabbitmq.ubuntu b/kolla/docker/rabbitmq/apt_preferences_rabbitmq.ubuntu similarity index 100% rename from docker/rabbitmq/apt_preferences_rabbitmq.ubuntu rename to kolla/docker/rabbitmq/apt_preferences_rabbitmq.ubuntu diff --git a/docker/rabbitmq/extend_start.sh b/kolla/docker/rabbitmq/extend_start.sh similarity index 100% rename from docker/rabbitmq/extend_start.sh rename to kolla/docker/rabbitmq/extend_start.sh diff --git a/docker/rabbitmq/healthcheck_rabbitmq b/kolla/docker/rabbitmq/healthcheck_rabbitmq similarity index 100% rename from docker/rabbitmq/healthcheck_rabbitmq rename to kolla/docker/rabbitmq/healthcheck_rabbitmq diff --git a/docker/skyline/skyline-apiserver/Dockerfile.j2 b/kolla/docker/skyline/skyline-apiserver/Dockerfile.j2 similarity index 100% rename from docker/skyline/skyline-apiserver/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/skyline/skyline-apiserver/extend_start.sh rename to 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 similarity index 100% rename from docker/skyline/skyline-base/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/skyline/skyline-base/extend_start.sh rename to 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 similarity index 100% rename from docker/skyline/skyline-console/Dockerfile.j2 rename to kolla/docker/skyline/skyline-console/Dockerfile.j2 diff --git a/docker/tacker/tacker-base/Dockerfile.j2 b/kolla/docker/tacker/tacker-base/Dockerfile.j2 similarity index 100% rename from docker/tacker/tacker-base/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/tacker/tacker-base/extend_start.sh rename to 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 similarity index 100% rename from docker/tacker/tacker-conductor/Dockerfile.j2 rename to kolla/docker/tacker/tacker-conductor/Dockerfile.j2 diff --git a/docker/tacker/tacker-server/Dockerfile.j2 b/kolla/docker/tacker/tacker-server/Dockerfile.j2 similarity index 100% rename from docker/tacker/tacker-server/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/tacker/tacker-server/extend_start.sh rename to kolla/docker/tacker/tacker-server/extend_start.sh diff --git a/docker/tgtd/Dockerfile.j2 b/kolla/docker/tgtd/Dockerfile.j2 similarity index 100% rename from docker/tgtd/Dockerfile.j2 rename to kolla/docker/tgtd/Dockerfile.j2 diff --git a/docker/trove/trove-api/Dockerfile.j2 b/kolla/docker/trove/trove-api/Dockerfile.j2 similarity index 100% rename from docker/trove/trove-api/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/trove/trove-api/extend_start.sh rename to 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 similarity index 100% rename from docker/trove/trove-base/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/trove/trove-base/extend_start.sh rename to 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 similarity index 100% rename from docker/trove/trove-conductor/Dockerfile.j2 rename to kolla/docker/trove/trove-conductor/Dockerfile.j2 diff --git a/docker/trove/trove-guestagent/Dockerfile.j2 b/kolla/docker/trove/trove-guestagent/Dockerfile.j2 similarity index 100% rename from docker/trove/trove-guestagent/Dockerfile.j2 rename to kolla/docker/trove/trove-guestagent/Dockerfile.j2 diff --git a/docker/trove/trove-taskmanager/Dockerfile.j2 b/kolla/docker/trove/trove-taskmanager/Dockerfile.j2 similarity index 100% rename from docker/trove/trove-taskmanager/Dockerfile.j2 rename to kolla/docker/trove/trove-taskmanager/Dockerfile.j2 diff --git a/docker/valkey/valkey-base/Dockerfile.j2 b/kolla/docker/valkey/valkey-base/Dockerfile.j2 similarity index 100% rename from docker/valkey/valkey-base/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/valkey/valkey-base/extend_start.sh rename to 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 similarity index 100% rename from docker/valkey/valkey-sentinel/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/valkey/valkey-sentinel/extend_start.sh rename to 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 similarity index 100% rename from docker/valkey/valkey-server/Dockerfile.j2 rename to kolla/docker/valkey/valkey-server/Dockerfile.j2 diff --git a/docker/watcher/watcher-api/Dockerfile.j2 b/kolla/docker/watcher/watcher-api/Dockerfile.j2 similarity index 100% rename from docker/watcher/watcher-api/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/watcher/watcher-api/extend_start.sh rename to 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 similarity index 100% rename from docker/watcher/watcher-applier/Dockerfile.j2 rename to kolla/docker/watcher/watcher-applier/Dockerfile.j2 diff --git a/docker/watcher/watcher-base/Dockerfile.j2 b/kolla/docker/watcher/watcher-base/Dockerfile.j2 similarity index 100% rename from docker/watcher/watcher-base/Dockerfile.j2 rename to 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 similarity index 100% rename from docker/watcher/watcher-base/extend_start.sh rename to 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 similarity index 100% rename from docker/watcher/watcher-engine/Dockerfile.j2 rename to kolla/docker/watcher/watcher-engine/Dockerfile.j2 diff --git a/kolla/image/kolla_worker.py b/kolla/image/kolla_worker.py index 1c704d1cf6..1dc37e2a60 100644 --- a/kolla/image/kolla_worker.py +++ b/kolla/image/kolla_worker.py @@ -40,6 +40,8 @@ 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 @@ def _get_scm_labels(self): 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/image/tasks.py b/kolla/image/tasks.py index 93ba918359..f8d07e2212 100644 --- a/kolla/image/tasks.py +++ b/kolla/image/tasks.py @@ -201,6 +201,7 @@ def process_source(self, image, source): def reset_userinfo(tarinfo): tarinfo.uid = tarinfo.gid = 0 tarinfo.uname = tarinfo.gname = "root" + tarinfo.mtime = 0 return tarinfo if source.get('type') == 'url': @@ -355,10 +356,12 @@ def make_an_archive(items, arcname, item_child_path=None): def reset_userinfo(tarinfo): tarinfo.uid = tarinfo.gid = 0 tarinfo.uname = tarinfo.gname = "root" + tarinfo.mtime = 0 return tarinfo with tarfile.open(arc_path, 'w') as tar: tar.add(items_path, arcname=arcname, filter=reset_userinfo) + os.utime(arc_path, (0, 0)) return len(os.listdir(items_path)) self.logger.debug('Processing') diff --git a/kolla/template/methods.py b/kolla/template/methods.py index 5dbf8da1bb..8bb7a7fc3d 100644 --- a/kolla/template/methods.py +++ b/kolla/template/methods.py @@ -24,7 +24,9 @@ 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_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 f23c18eed3..42e0185c47 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 @@ -140,6 +156,11 @@ rpm: hacluster: name: "highavailability" distro: true + ligenix-qemu-spice: + baseurl: "https://download.copr.fedorainfracloud.org/results/ligenix/enterprise-qemu-spice/epel-$releasever-$basearch/" + gpgkey: "https://download.copr.fedorainfracloud.org/results/ligenix/enterprise-qemu-spice/pubkey.gpg" + gpgcheck: 1 + name: "ligenix-qemu-spice" mariadb: baseurl: "https://dlm.mariadb.com/repo/mariadb-server/11.4/yum/rhel/$releasever/$basearch" gpgkey: "https://downloads.mariadb.com/MariaDB/RPM-GPG-KEY-MariaDB" @@ -174,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 e1dc810d1d..8a577aead0 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 @@ def test_enable_repos_centos_baseurl(self): } 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 @@ def test_enable_repos_centos_baseurl(self): 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 @@ def test_enable_repos_centos_metalink(self): } 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 @@ def test_enable_repos_centos_arch(self): } 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 @@ def test_enable_repos_centos_multiple(self): 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 @@ def test_enable_repos_centos_multiple(self): 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 @@ def test_enable_repos_centos_distro_enable_multiple(self): 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 @@ def test_enable_repos_debian(self): "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 @@ def test_enable_repos_debian_arch(self): '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 @@ def test_enable_repos_debian_multiple(self): '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 @@ def test_handle_repos_string(self): 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/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000000..25628706c5 --- /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 0000000000..1f98f7d60c --- /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/releasenotes/notes/rocky-kerbside-spice-copr-9a3f4d7c2b1e8a50.yaml b/releasenotes/notes/rocky-kerbside-spice-copr-9a3f4d7c2b1e8a50.yaml new file mode 100644 index 0000000000..2bb5307ff2 --- /dev/null +++ b/releasenotes/notes/rocky-kerbside-spice-copr-9a3f4d7c2b1e8a50.yaml @@ -0,0 +1,24 @@ +--- +features: + - | + Kolla now builds two ``nova-libvirt`` containers: ``nova-libvirt`` + and ``nova-libvirt-spice``. This second container is used by + ``kolla-ansible`` deployments which set ``enable_kerbside: true`` + in their ``globals.yml``. The two containers are identical, except + on Rocky Linux where the community-maintained + `ligenix/enterprise-qemu-spice + `__ + COPR repository which rebuilds ``qemu-kvm`` with SPICE support + re-enabled is used. The COPR is a third-party rebuild with no vendor + support contract and is recommended only for proof-of-concept + deployments. +issues: + - | + The ligenix/enterprise-qemu-spice COPR builds ship qemu-kvm without + the ``usb-audio`` device. Guests configured with + ``hw_sound_model=usb`` (the recommended default in the Kerbside + ``hw:sound_model`` documentation) will fail to start on Rocky with + ``unsupported configuration: usb-audio controller is not supported + by this QEMU binary``. Use a different model such as ``ich9`` or + ``ac97`` on Rocky deployments until the COPR rebuild ships + usb-audio. diff --git a/roles/kolla-build/defaults/main.yml b/roles/kolla-build/defaults/main.yml index fe7c33a339..98051c97bb 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 e5529f381d..927bb13099 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 2634ee512e..f75aa848db 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 ad3c80075d..99791da0f1 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 0000000000..42c6724f92 --- /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 481795cd65..3baa8d7048 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 bf78ed4aa1..831850b0a7 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 f7ed01d31d..4a8a324ea2 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 9a507ec17d..a8eeb4154e 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 541d6777f3..ed0ad5f7a1 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 66f173ff5a..06f48209bd 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 f6528ef98e..72a9bf66e4 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 5905a10577..882e1338e2 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 dc7744853f..1a6d355e9c 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 ddfb1e0e8b..c899cc93fc 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 1bd5e7e1e1..dee5480c5d 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 ef90c34af3..04ab2b0f80 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