From 536dccaf5b2f9d97ff9a95a88e9aed38992ff3f8 Mon Sep 17 00:00:00 2001 From: Vladimir Kozhukalov Date: Fri, 21 Mar 2025 12:49:18 -0500 Subject: [PATCH] Improvements for tests This is to align test scripts and playbooks with the recent merger with the osh-infra repo. * Get rid of OSH_INFRA_* env variables and use OSH_* variables wherever necessary * Update linter job so that playbook runs the linting commands directly not involving tox and additional shell script * Move tools/gate/playbooks/* to playbooks/* * Cleanup unused playbooks * Cleanup unused shell scripts Change-Id: I1913ed613025457d97cf1a4eeca6c2fbda0b72f6 --- README.rst | 7 +- ...ra-collect-logs.yaml => collect-logs.yaml} | 16 +- .../deploy-env-kubespray.yaml | 0 playbooks/deploy-env.yaml | 1 - playbooks/lint.yaml | 83 ++++++++ playbooks/lint.yml | 89 -------- .../playbooks => playbooks}/osh-bandit.yaml | 0 playbooks/osh-infra-deploy-docker.yaml | 43 ---- playbooks/osh-infra-deploy-selenium.yaml | 26 --- playbooks/osh-infra-gate-runner.yaml | 47 ----- playbooks/osh-infra-upgrade-host.yaml | 53 ----- playbooks/prepare-hosts.yaml | 15 +- playbooks/run-scripts.yaml | 34 ++- playbooks/vars.yaml | 17 -- roles/osh-run-script-set/defaults/main.yaml | 2 +- roles/osh-run-script-set/tasks/main.yaml | 3 - roles/osh-run-script/defaults/main.yaml | 2 +- roles/osh-run-script/tasks/main.yaml | 3 - tools/deployment/baremetal/005-setup-nodes.sh | 12 +- tools/deployment/ceph/ceph-adapter-rook.sh | 6 +- tools/deployment/ceph/ceph-ns-activate.sh | 12 +- tools/deployment/ceph/ceph-radosgw.sh | 8 +- tools/deployment/ceph/ceph.sh | 10 +- tools/deployment/ceph/ceph_legacy.sh | 10 +- .../deployment/common/daemonjob-controller.sh | 8 +- .../common/deploy-docker-registry.sh | 8 +- tools/deployment/common/falco.sh | 4 +- .../deployment/common/infra-prepare-charts.sh | 23 -- tools/deployment/common/ldap.sh | 12 +- tools/deployment/common/lockdown-netpol.sh | 8 +- tools/deployment/common/memcached.sh | 12 +- tools/deployment/common/metacontroller.sh | 8 +- tools/deployment/common/namespace-config.sh | 4 +- tools/deployment/common/nfs-provisioner.sh | 4 +- tools/deployment/common/openstack-exporter.sh | 8 +- tools/deployment/common/prepare-charts.sh | 6 - .../common/prepare-helm-repos-local.sh | 10 +- .../common/prepare-helm-repos-public.sh | 1 - tools/deployment/common/pull-images.sh | 12 +- tools/deployment/common/push-images.sh | 18 -- tools/deployment/common/rabbitmq.sh | 12 +- .../component/ceph/ceph-adapter-rook.sh | 17 -- .../component/ceph/ceph-ns-activate.sh | 56 ----- tools/deployment/component/ceph/ceph-rook.sh | 17 -- tools/deployment/component/ceph/ceph.sh | 196 ------------------ tools/deployment/component/common/ldap.sh | 8 +- tools/deployment/component/common/mariadb.sh | 8 +- .../deployment/component/common/memcached.sh | 8 +- tools/deployment/component/common/rabbitmq.sh | 8 +- .../component/compute-kit/libvirt.sh | 8 +- .../component/compute-kit/openvswitch.sh | 8 +- .../nfs-provisioner/nfs-provisioner.sh | 8 +- tools/deployment/component/ovn/ovn.sh | 8 +- tools/deployment/db/mariadb-backup.sh | 12 +- .../deployment/db/mariadb-operator-cluster.sh | 18 +- tools/deployment/db/mariadb.sh | 12 +- tools/deployment/db/postgresql.sh | 14 +- tools/deployment/logging/elasticsearch.sh | 12 +- tools/deployment/logging/fluentbit.sh | 12 +- tools/deployment/logging/fluentd.sh | 12 +- tools/deployment/logging/kibana.sh | 12 +- tools/deployment/monitoring/alertmanager.sh | 4 +- .../monitoring/blackbox-exporter.sh | 4 +- tools/deployment/monitoring/grafana.sh | 12 +- .../monitoring/kube-state-metrics.sh | 10 +- tools/deployment/monitoring/mysql-exporter.sh | 12 +- tools/deployment/monitoring/nagios.sh | 12 +- tools/deployment/monitoring/node-exporter.sh | 10 +- .../monitoring/node-problem-detector.sh | 4 +- .../monitoring/openstack-exporter.sh | 10 +- .../deployment/monitoring/process-exporter.sh | 10 +- tools/deployment/monitoring/prometheus.sh | 12 +- tools/gate/lint.sh | 35 ---- tools/gate/playbooks/deploy-env.yaml | 7 - tools/gate/playbooks/inject-keys.yaml | 11 - .../playbooks/osh-infra-collect-logs.yaml | 58 ------ tools/gate/playbooks/prepare-hosts.yaml | 8 - tools/gate/playbooks/run-scripts.yaml | 98 --------- tools/gate/reno-check.sh | 17 -- tools/pull-images.sh | 29 --- tox.ini | 14 -- zuul.d/2024.1.yaml | 26 +++ zuul.d/base.yaml | 111 +++++----- zuul.d/infra_jobs.yaml | 46 ---- zuul.d/infra_project.yaml | 33 --- zuul.d/project.yaml | 30 ++- 86 files changed, 449 insertions(+), 1285 deletions(-) rename playbooks/{osh-infra-collect-logs.yaml => collect-logs.yaml} (66%) rename {tools/gate/playbooks => playbooks}/deploy-env-kubespray.yaml (100%) create mode 100644 playbooks/lint.yaml delete mode 100644 playbooks/lint.yml rename {tools/gate/playbooks => playbooks}/osh-bandit.yaml (100%) delete mode 100644 playbooks/osh-infra-deploy-docker.yaml delete mode 100644 playbooks/osh-infra-deploy-selenium.yaml delete mode 100644 playbooks/osh-infra-gate-runner.yaml delete mode 100644 playbooks/osh-infra-upgrade-host.yaml delete mode 100644 playbooks/vars.yaml delete mode 100755 tools/deployment/common/infra-prepare-charts.sh delete mode 100755 tools/deployment/common/push-images.sh delete mode 100755 tools/deployment/component/ceph/ceph-adapter-rook.sh delete mode 100755 tools/deployment/component/ceph/ceph-ns-activate.sh delete mode 100755 tools/deployment/component/ceph/ceph-rook.sh delete mode 100755 tools/deployment/component/ceph/ceph.sh delete mode 100755 tools/gate/lint.sh delete mode 100644 tools/gate/playbooks/deploy-env.yaml delete mode 100644 tools/gate/playbooks/inject-keys.yaml delete mode 100644 tools/gate/playbooks/osh-infra-collect-logs.yaml delete mode 100644 tools/gate/playbooks/prepare-hosts.yaml delete mode 100644 tools/gate/playbooks/run-scripts.yaml delete mode 100755 tools/gate/reno-check.sh delete mode 100755 tools/pull-images.sh delete mode 100644 zuul.d/infra_project.yaml diff --git a/README.rst b/README.rst index c1cceec8ec..e64cc0289e 100644 --- a/README.rst +++ b/README.rst @@ -71,15 +71,14 @@ Other links Our documentation is available `here `_. This project is under active development. We encourage anyone interested in -OpenStack-Helm to review the `code changes `_ +OpenStack-Helm to review the `code changes `_ Our repositories: * OpenStack charts `openstack-helm `_ -* Infra charts `openstack-helm-infra `_ * OpenStack-Helm plugin `openstack-helm-plugin `_ -* Building images `openstack-helm-images `_ -* Building Openstack images framework `loci `_ +* Build non-OpenStack images `openstack-helm-images `_ +* Build Openstack images `loci `_ We welcome contributions in any form: code review, code changes, usage feedback, updating documentation. diff --git a/playbooks/osh-infra-collect-logs.yaml b/playbooks/collect-logs.yaml similarity index 66% rename from playbooks/osh-infra-collect-logs.yaml rename to playbooks/collect-logs.yaml index 83e768877e..b86855e5f4 100644 --- a/playbooks/osh-infra-collect-logs.yaml +++ b/playbooks/collect-logs.yaml @@ -12,21 +12,15 @@ --- - hosts: all - vars_files: - - vars.yaml vars: - work_dir: "{{ zuul.project.src_dir }}/{{ zuul_osh_infra_relative_path | default('') }}" + work_dir: "{{ zuul.project.src_dir }}" logs_dir: "/tmp/logs" roles: - gather-host-logs - tags: - - gather-host-logs - hosts: primary - vars_files: - - vars.yaml vars: - work_dir: "{{ zuul.project.src_dir }}/{{ zuul_osh_infra_relative_path | default('') }}" + work_dir: "{{ zuul.project.src_dir }}" logs_dir: "/tmp/logs" roles: - helm-release-status @@ -34,10 +28,4 @@ - gather-pod-logs - gather-prom-metrics - gather-selenium-data - tags: - - helm-release-status - - describe-kubernetes-objects - - gather-pod-logs - - gather-prom-metrics - - gather-selenium-data ... diff --git a/tools/gate/playbooks/deploy-env-kubespray.yaml b/playbooks/deploy-env-kubespray.yaml similarity index 100% rename from tools/gate/playbooks/deploy-env-kubespray.yaml rename to playbooks/deploy-env-kubespray.yaml diff --git a/playbooks/deploy-env.yaml b/playbooks/deploy-env.yaml index dd26203b27..4ded099c6a 100644 --- a/playbooks/deploy-env.yaml +++ b/playbooks/deploy-env.yaml @@ -9,7 +9,6 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. - --- - hosts: all strategy: linear diff --git a/playbooks/lint.yaml b/playbooks/lint.yaml new file mode 100644 index 0000000000..40890bcc6e --- /dev/null +++ b/playbooks/lint.yaml @@ -0,0 +1,83 @@ +--- +# Copyright 2018 SUSE LINUX GmbH. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +- hosts: all + roles: + - ensure-python + - ensure-pip + - name: ensure-helm + helm_version: "3.16.4" + - name: ensure-chart-testing + chart_testing_version: "3.11.0" + - name: chart-testing + chart_testing_options: "--target-branch=master --chart-dirs=. --validate-maintainers=false --check-version-increment=false" + zuul_work_dir: "{{ work_dir }}" + vars: + work_dir: "{{ zuul.project.src_dir }}" + + tasks: + - name: Install reno + pip: + name: reno>=4.1.0 + extra_args: "--ignore-installed" + become: yes + + # - name: make all + # make: + # chdir: "{{ work_dir }}" + # target: all + + - name: Prevent trailing whitespaces + shell: find . \! \( -path "*/\.*" -o -path "*/doc/build/*" -o -name "*.tgz" -o -name "*.png" -o -name "*.jpg" \) -type f -exec grep -El " +$" {} \; + register: _found_whitespaces + failed_when: _found_whitespaces.stdout != "" + args: + chdir: "{{ work_dir }}" + + - name: Install yamllint + shell: pip3 install -U yq yamllint + become: yes + + - name: Run yamllint + shell: | + cat > /tmp/yamllint.sh <&1 > /dev/null + done + find .yamllint -type f -exec sed -i 's/%%%.*/XXX/g' {} + + + shopt -s globstar extglob + # Lint all yaml files except templates + yamllint -c yamllint.conf .yamllint/*{,/!(templates)/**}/*.y*ml yamllint*.conf + # Lint templates + yamllint -c yamllint-templates.conf .yamllint/*/templates/*.yaml + EOF + chmod +x /tmp/yamllint.sh + /tmp/yamllint.sh + args: + chdir: "{{ work_dir }}" + executable: /bin/bash +... diff --git a/playbooks/lint.yml b/playbooks/lint.yml deleted file mode 100644 index 3f310e50c6..0000000000 --- a/playbooks/lint.yml +++ /dev/null @@ -1,89 +0,0 @@ ---- -# Copyright 2018 SUSE LINUX GmbH. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -- hosts: all - roles: - - ensure-python - - ensure-pip - - name: ensure-helm - helm_version: "3.16.4" - - name: ensure-chart-testing - chart_testing_version: "3.11.0" - - name: chart-testing - chart_testing_options: "--target-branch=master --chart-dirs=. --validate-maintainers=false --check-version-increment=false" - zuul_work_dir: "{{ work_dir }}" - vars: - work_dir: "{{ zuul.project.src_dir }}/{{ zuul_osh_infra_relative_path | default('') }}" - - tasks: - - name: Install reno - pip: - name: reno>=4.1.0 - extra_args: "--ignore-installed" - become: yes - - - name: make all - make: - chdir: "{{ zuul.project.src_dir }}" - target: all - - - name: make all osh - make: - chdir: "{{ zuul.project.src_dir }}/{{ zuul_osh_relative_path | default('../openstack-helm/') }}" - target: all - when: lint_osh is defined - - - name: Prevent trailing whitespaces - shell: find . \! \( -path "*/\.*" -o -path "*/doc/build/*" -o -name "*.tgz" -o -name "*.png" -o -name "*.jpg" \) -type f -exec grep -El " +$" {} \; - register: _found_whitespaces - failed_when: _found_whitespaces.stdout != "" - args: - chdir: "{{ ansible_user_dir }}/src/{{ zuul.project.canonical_name }}" - - - name: Check release note version matches - shell: ../openstack-helm/tools/gate/reno-check.sh - args: - chdir: "{{ ansible_user_dir }}/src/{{ zuul.project.canonical_name }}" - - - name: Check if yamllint.conf exists - stat: - path: "{{ ansible_user_dir }}/src/{{ zuul.project.canonical_name }}/yamllint.conf" - register: yamllintconf - - - name: Install jq and pip - apt: - pkg: - - jq - - python3-pip - become: yes - when: yamllintconf.stat.exists == True - - - name: Install tox - shell: pip3 install -U tox - become: yes - when: yamllintconf.stat.exists == True - - - name: Execute yamllint check for values* yaml files - command: tox -e lint - args: - chdir: "{{ ansible_user_dir }}/src/{{ zuul.project.canonical_name }}" - when: yamllintconf.stat.exists == True - - - name: Execute yamllint check for osh values* yaml files - command: tox -e lint - args: - chdir: "{{ zuul.project.src_dir }}/{{ zuul_osh_relative_path | default('../openstack-helm/') }}" - when: yamllintconf.stat.exists == True and lint_osh is defined -... diff --git a/tools/gate/playbooks/osh-bandit.yaml b/playbooks/osh-bandit.yaml similarity index 100% rename from tools/gate/playbooks/osh-bandit.yaml rename to playbooks/osh-bandit.yaml diff --git a/playbooks/osh-infra-deploy-docker.yaml b/playbooks/osh-infra-deploy-docker.yaml deleted file mode 100644 index 785617dbe6..0000000000 --- a/playbooks/osh-infra-deploy-docker.yaml +++ /dev/null @@ -1,43 +0,0 @@ -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - ---- -- hosts: all - vars_files: - - vars.yaml - vars: - work_dir: "{{ zuul.project.src_dir }}/{{ zuul_osh_infra_relative_path | default('') }}" - gather_facts: False - become: yes - roles: - - deploy-python - tags: - - deploy-python - -- hosts: all - vars_files: - - vars.yaml - vars: - work_dir: "{{ zuul.project.src_dir }}/{{ zuul_osh_infra_relative_path | default('') }}" - gather_facts: True - become: yes - roles: - - setup-firewall - - deploy-python-pip - - deploy-docker - - deploy-jq - tags: - - setup-firewall - - deploy-python-pip - - deploy-docker - - deploy-jq -... diff --git a/playbooks/osh-infra-deploy-selenium.yaml b/playbooks/osh-infra-deploy-selenium.yaml deleted file mode 100644 index 650507b95e..0000000000 --- a/playbooks/osh-infra-deploy-selenium.yaml +++ /dev/null @@ -1,26 +0,0 @@ -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - ---- -- hosts: primary - vars_files: - - vars.yaml - vars: - work_dir: "{{ zuul.project.src_dir }}/{{ zuul_osh_infra_relative_path | default('') }}" - gather_facts: True - become: yes - roles: - - ensure-pip - - deploy-selenium - tags: - - deploy-selenium -... diff --git a/playbooks/osh-infra-gate-runner.yaml b/playbooks/osh-infra-gate-runner.yaml deleted file mode 100644 index cecd684a4c..0000000000 --- a/playbooks/osh-infra-gate-runner.yaml +++ /dev/null @@ -1,47 +0,0 @@ -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - ---- -- hosts: primary - tasks: - - name: Ensure pip - include_role: - name: ensure-pip - - name: Clear firewall - include_role: - name: clear-firewall - - name: Override images - include_role: - name: override-images - when: buildset_registry is defined - - name: Use docker mirror - include_role: - name: use-docker-mirror - - name: "creating directory for run artifacts" - file: - path: "/tmp/artifacts" - state: directory - - - name: Run gate scripts - include_role: - name: "{{ ([item] | flatten | length == 1) | ternary('osh-run-script', 'osh-run-script-set') }}" - vars: - workload: "{{ [item] | flatten }}" - loop: "{{ gate_scripts }}" - - - name: "Downloads artifacts to executor" - synchronize: - src: "/tmp/artifacts" - dest: "{{ zuul.executor.log_root }}/{{ inventory_hostname }}" - mode: pull - ignore_errors: True -... diff --git a/playbooks/osh-infra-upgrade-host.yaml b/playbooks/osh-infra-upgrade-host.yaml deleted file mode 100644 index 0807eae5e3..0000000000 --- a/playbooks/osh-infra-upgrade-host.yaml +++ /dev/null @@ -1,53 +0,0 @@ -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - ---- -- hosts: all - vars_files: - - vars.yaml - vars: - work_dir: "{{ zuul.project.src_dir }}/{{ zuul_osh_infra_relative_path | default('') }}" - gather_facts: False - become: yes - roles: - - deploy-python - tags: - - deploy-python - -- hosts: all - vars_files: - - vars.yaml - vars: - work_dir: "{{ zuul.project.src_dir }}/{{ zuul_osh_infra_relative_path | default('') }}" - gather_facts: True - become: yes - roles: - - upgrade-host - - start-zuul-console - - disable-local-nameserver - tags: - - upgrade-host - - start-zuul-console - - disable-local-nameserver - -- hosts: all - vars_files: - - vars.yaml - vars: - work_dir: "{{ zuul.project.src_dir }}/{{ zuul_osh_infra_relative_path | default('') }}" - gather_facts: False - become: yes - roles: - - deploy-apparmor - tags: - - deploy-apparmor -... diff --git a/playbooks/prepare-hosts.yaml b/playbooks/prepare-hosts.yaml index c64aa0d655..2855c024fd 100644 --- a/playbooks/prepare-hosts.yaml +++ b/playbooks/prepare-hosts.yaml @@ -1,17 +1,8 @@ -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - --- - hosts: all roles: - start-zuul-console + - ensure-python + - ensure-pip + - clear-firewall ... diff --git a/playbooks/run-scripts.yaml b/playbooks/run-scripts.yaml index c847df262d..99fcba3f84 100644 --- a/playbooks/run-scripts.yaml +++ b/playbooks/run-scripts.yaml @@ -11,6 +11,20 @@ # limitations under the License. --- +- hosts: all + become: true + tasks: + - name: Configure /etc/hosts for buildset_registry to workaround docker not understanding ipv6 addresses + lineinfile: + path: /etc/hosts + state: present + regex: "^{{ buildset_registry.host }}\tzuul-jobs.buildset-registry$" + line: "{{ buildset_registry.host }}\tzuul-jobs.buildset-registry" + insertafter: EOF + when: + - buildset_registry is defined + - buildset_registry.host | ipaddr + - hosts: primary tasks: - name: Override images @@ -18,10 +32,17 @@ vars: work_dir: "{{ zuul.project.src_dir }}" block: - - name: Buildset registry alias - include_role: - name: deploy-env - tasks_from: buildset_registry_alias + - name: Set buildset_registry alias variable when using ip + set_fact: + buildset_registry_alias: zuul-jobs.buildset-registry + when: + - buildset_registry.host | ipaddr + + - name: Set buildset_registry alias variable when using name + set_fact: + buildset_registry_alias: "{{ buildset_registry.host }}" + when: + - not ( buildset_registry.host | ipaddr ) - name: Print zuul debug: @@ -30,7 +51,7 @@ - name: Override proposed images from artifacts shell: > find {{ override_paths | join(" ") }} -type f -exec sed -Ei - "s#['\"]?docker\.io/({{ repo }}):({{ tag }})['\"]?\$#{{ buildset_registry_alias }}:{{ buildset_registry.port }}/\1:\2#g" {} + + "s#['\"]?docker\.io/(openstackhelm|loci)/({{ repo }}):({{ tag }})['\"]?\$#{{ buildset_registry_alias }}:{{ buildset_registry.port }}/{{ repo_org }}/{{ repo }}:\3#g" {} + loop: "{{ zuul.artifacts | default([]) }}" args: chdir: "{{ work_dir }}" @@ -39,7 +60,8 @@ when: "'metadata' in zj_zuul_artifact and zj_zuul_artifact.metadata.type | default('') == 'container_image'" vars: tag: "{{ zj_zuul_artifact.metadata.tag }}" - repo: "{{ zj_zuul_artifact.metadata.repository }}" + repo_org: "{{ zj_zuul_artifact.metadata.repository | dirname }}" + repo: "{{ zj_zuul_artifact.metadata.repository | basename }}" override_paths: - ../openstack-helm*/values_overrides - ../openstack-helm*/*/values* diff --git a/playbooks/vars.yaml b/playbooks/vars.yaml deleted file mode 100644 index 8f6d99e7fa..0000000000 --- a/playbooks/vars.yaml +++ /dev/null @@ -1,17 +0,0 @@ -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# NOTE(portdirect): for use in the dev-deploy scripts, a valid vars.yaml is -# required, so provide some nonsense, yet harmless input. ---- -ansible_python_interpreter: python3 -... diff --git a/roles/osh-run-script-set/defaults/main.yaml b/roles/osh-run-script-set/defaults/main.yaml index 43ad5b8938..f0b7eb84fb 100644 --- a/roles/osh-run-script-set/defaults/main.yaml +++ b/roles/osh-run-script-set/defaults/main.yaml @@ -18,5 +18,5 @@ osh_params: container_distro_name: ubuntu container_distro_version: jammy osh_values_overrides_path: "../openstack-helm/values_overrides" -osh_infra_values_overrides_path: "../openstack-helm/values_overrides" +gate_scripts_relative_path: "." ... diff --git a/roles/osh-run-script-set/tasks/main.yaml b/roles/osh-run-script-set/tasks/main.yaml index 65e5496386..d1d3f8fc24 100644 --- a/roles/osh-run-script-set/tasks/main.yaml +++ b/roles/osh-run-script-set/tasks/main.yaml @@ -29,12 +29,9 @@ zuul_site_mirror_fqdn: "{{ zuul_site_mirror_fqdn }}" OSH_EXTRA_HELM_ARGS: "{{ zuul_osh_extra_helm_args_relative_path | default('') }}" OSH_HELM_REPO: "{{ osh_helm_repo | default('../openstack-helm/') }}" - OSH_INFRA_HELM_REPO: "{{ osh_infra_helm_repo | default('../openstack-helm/') }}" DOWNLOAD_OVERRIDES: "{{ download_overrides | default('') }}" OSH_PATH: "{{ zuul_osh_relative_path | default('../openstack-helm/') }}" - OSH_INFRA_PATH: "{{ zuul_osh_infra_relative_path | default('../openstack-helm/') }}" OSH_VALUES_OVERRIDES_PATH: "{{ osh_values_overrides_path }}" - OSH_INFRA_VALUES_OVERRIDES_PATH: "{{ osh_infra_values_overrides_path }}" OPENSTACK_RELEASE: "{{ osh_params.openstack_release | default('') }}" CONTAINER_DISTRO_NAME: "{{ osh_params.container_distro_name | default('') }}" CONTAINER_DISTRO_VERSION: "{{ osh_params.container_distro_version | default('') }}" diff --git a/roles/osh-run-script/defaults/main.yaml b/roles/osh-run-script/defaults/main.yaml index 43ad5b8938..f0b7eb84fb 100644 --- a/roles/osh-run-script/defaults/main.yaml +++ b/roles/osh-run-script/defaults/main.yaml @@ -18,5 +18,5 @@ osh_params: container_distro_name: ubuntu container_distro_version: jammy osh_values_overrides_path: "../openstack-helm/values_overrides" -osh_infra_values_overrides_path: "../openstack-helm/values_overrides" +gate_scripts_relative_path: "." ... diff --git a/roles/osh-run-script/tasks/main.yaml b/roles/osh-run-script/tasks/main.yaml index f8697923e2..8d2319cd37 100644 --- a/roles/osh-run-script/tasks/main.yaml +++ b/roles/osh-run-script/tasks/main.yaml @@ -26,12 +26,9 @@ zuul_site_mirror_fqdn: "{{ zuul_site_mirror_fqdn }}" OSH_EXTRA_HELM_ARGS: "{{ zuul_osh_extra_helm_args_relative_path | default('') }}" OSH_HELM_REPO: "{{ osh_helm_repo | default('../openstack-helm') }}" - OSH_INFRA_HELM_REPO: "{{ osh_infra_helm_repo | default('../openstack-helm') }}" DOWNLOAD_OVERRIDES: "{{ download_overrides | default('') }}" OSH_PATH: "{{ zuul_osh_relative_path | default('../openstack-helm/') }}" - OSH_INFRA_PATH: "{{ zuul_osh_infra_relative_path | default('../openstack-helm/') }}" OSH_VALUES_OVERRIDES_PATH: "{{ osh_values_overrides_path }}" - OSH_INFRA_VALUES_OVERRIDES_PATH: "{{ osh_infra_values_overrides_path }}" OPENSTACK_RELEASE: "{{ osh_params.openstack_release | default('') }}" CONTAINER_DISTRO_NAME: "{{ osh_params.container_distro_name | default('') }}" CONTAINER_DISTRO_VERSION: "{{ osh_params.container_distro_version | default('') }}" diff --git a/tools/deployment/baremetal/005-setup-nodes.sh b/tools/deployment/baremetal/005-setup-nodes.sh index 6f495ea584..7cf6c5600b 100755 --- a/tools/deployment/baremetal/005-setup-nodes.sh +++ b/tools/deployment/baremetal/005-setup-nodes.sh @@ -25,9 +25,9 @@ done make all #NOTE: Deploy libvirt with vbmc then define domains to use as baremetal nodes -: "${OSH_INFRA_PATH:="../openstack-helm-infra"}" -make -C ${OSH_INFRA_PATH} libvirt -helm install ${OSH_INFRA_PATH}/libvirt \ +: "${OSH_PATH:="../openstack-helm"}" +make -C ${OSH_PATH} libvirt +helm install ${OSH_PATH}/libvirt \ --namespace=libvirt \ --name=libvirt \ --set network.backend=null \ @@ -65,10 +65,10 @@ for LIBVIRT_POD in ${LIBVIRT_PODS}; do done #NOTE: Deploy OvS to connect nodes to the deployment host -: ${OSH_INFRA_PATH:="../openstack-helm-infra"} -make -C ${OSH_INFRA_PATH} openvswitch +: ${OSH_PATH:="../openstack-helm"} +make -C ${OSH_PATH} openvswitch -helm install ${OSH_INFRA_PATH}/openvswitch \ +helm install ${OSH_PATH}/openvswitch \ --namespace=openstack \ --name=openvswitch diff --git a/tools/deployment/ceph/ceph-adapter-rook.sh b/tools/deployment/ceph/ceph-adapter-rook.sh index bdf2bd0c92..822ec5b641 100755 --- a/tools/deployment/ceph/ceph-adapter-rook.sh +++ b/tools/deployment/ceph/ceph-adapter-rook.sh @@ -16,10 +16,10 @@ set -xe #NOTE: Define variables -: ${OSH_INFRA_HELM_REPO:="../openstack-helm-infra"} -: ${OSH_INFRA_VALUES_OVERRIDES_PATH:="../openstack-helm-infra/values_overrides"} +: ${OSH_HELM_REPO:="../openstack-helm"} +: ${OSH_VALUES_OVERRIDES_PATH:="../openstack-helm/values_overrides"} -helm upgrade --install ceph-adapter-rook ${OSH_INFRA_HELM_REPO}/ceph-adapter-rook \ +helm upgrade --install ceph-adapter-rook ${OSH_HELM_REPO}/ceph-adapter-rook \ --namespace=openstack #NOTE: Wait for deploy diff --git a/tools/deployment/ceph/ceph-ns-activate.sh b/tools/deployment/ceph/ceph-ns-activate.sh index 4e7bd33b66..53b64f1b10 100755 --- a/tools/deployment/ceph/ceph-ns-activate.sh +++ b/tools/deployment/ceph/ceph-ns-activate.sh @@ -14,8 +14,8 @@ set -xe -: ${OSH_INFRA_HELM_REPO:="../openstack-helm-infra"} -: ${OSH_INFRA_VALUES_OVERRIDES_PATH:="../openstack-helm-infra/values_overrides"} +: ${OSH_HELM_REPO:="../openstack-helm"} +: ${OSH_VALUES_OVERRIDES_PATH:="../openstack-helm/values_overrides"} #NOTE: Deploy command tee /tmp/ceph-openstack-config.yaml </dev/null|| sudo docker pull $IMAGE - echo $IMAGE - done - fi -done \ No newline at end of file diff --git a/tools/deployment/common/rabbitmq.sh b/tools/deployment/common/rabbitmq.sh index 228f69e921..90bd285aa1 100755 --- a/tools/deployment/common/rabbitmq.sh +++ b/tools/deployment/common/rabbitmq.sh @@ -15,19 +15,19 @@ set -xe #NOTE: Define variables -: ${OSH_INFRA_HELM_REPO:="../openstack-helm-infra"} -: ${OSH_INFRA_VALUES_OVERRIDES_PATH:="../openstack-helm-infra/values_overrides"} -: ${OSH_INFRA_EXTRA_HELM_ARGS_RABBITMQ:="$(helm osh get-values-overrides ${DOWNLOAD_OVERRIDES:-} -p ${OSH_INFRA_VALUES_OVERRIDES_PATH} -c rabbitmq ${FEATURES})"} +: ${OSH_HELM_REPO:="../openstack-helm"} +: ${OSH_VALUES_OVERRIDES_PATH:="../openstack-helm/values_overrides"} +: ${OSH_EXTRA_HELM_ARGS_RABBITMQ:="$(helm osh get-values-overrides ${DOWNLOAD_OVERRIDES:-} -p ${OSH_VALUES_OVERRIDES_PATH} -c rabbitmq ${FEATURES})"} : ${NAMESPACE:=openstack} #NOTE: Deploy command -helm upgrade --install rabbitmq ${OSH_INFRA_HELM_REPO}/rabbitmq \ +helm upgrade --install rabbitmq ${OSH_HELM_REPO}/rabbitmq \ --namespace=${NAMESPACE} \ --set pod.replicas.server=1 \ --timeout=600s \ ${VOLUME_HELM_ARGS:="--set volume.enabled=false --set volume.use_local_path.enabled=true"} \ - ${OSH_INFRA_EXTRA_HELM_ARGS:=} \ - ${OSH_INFRA_EXTRA_HELM_ARGS_RABBITMQ} + ${OSH_EXTRA_HELM_ARGS:=} \ + ${OSH_EXTRA_HELM_ARGS_RABBITMQ} #NOTE: Wait for deploy helm osh wait-for-pods ${NAMESPACE} diff --git a/tools/deployment/component/ceph/ceph-adapter-rook.sh b/tools/deployment/component/ceph/ceph-adapter-rook.sh deleted file mode 100755 index 8749402280..0000000000 --- a/tools/deployment/component/ceph/ceph-adapter-rook.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash - -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. - -set -xe - -cd ${OSH_INFRA_PATH:-"../openstack-helm-infra/"}; ./tools/deployment/ceph/ceph-adapter-rook.sh; cd - diff --git a/tools/deployment/component/ceph/ceph-ns-activate.sh b/tools/deployment/component/ceph/ceph-ns-activate.sh deleted file mode 100755 index 7baea2987c..0000000000 --- a/tools/deployment/component/ceph/ceph-ns-activate.sh +++ /dev/null @@ -1,56 +0,0 @@ -#!/bin/bash - -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. - -set -xe - -#NOTE: Define variables -: ${OSH_INFRA_HELM_REPO:="../openstack-helm-infra"} -: ${OSH_INFRA_VALUES_OVERRIDES_PATH:="../openstack-helm-infra/values_overrides"} -: ${OSH_EXTRA_HELM_ARGS_CEPH_NS_ACTIVATE:="$(helm osh get-values-overrides ${DOWNLOAD_OVERRIDES:-} -p ${OSH_INFRA_VALUES_OVERRIDES_PATH} -c ceph-provisioners ${FEATURES})"} - -#NOTE: Deploy command -tee /tmp/ceph-openstack-config.yaml < /tmp/ceph-fs-uuid.txt -CEPH_FS_ID="$(cat /tmp/ceph-fs-uuid.txt)" -#NOTE(portdirect): to use RBD devices with Ubuntu kernels < 4.5 this -# should be set to 'hammer' -. /etc/os-release -if [ "x${ID}" == "xcentos" ] || \ - ([ "x${ID}" == "xubuntu" ] && \ - dpkg --compare-versions "$(uname -r)" "lt" "4.5"); then - CRUSH_TUNABLES=hammer -else - CRUSH_TUNABLES=null -fi -tee /tmp/ceph.yaml < EOF -helm upgrade --install fluentd ${OSH_INFRA_HELM_REPO}/fluentd \ +helm upgrade --install fluentd ${OSH_HELM_REPO}/fluentd \ --namespace=osh-infra \ --values=/tmp/fluentd.yaml \ - ${OSH_INFRA_EXTRA_HELM_ARGS} \ - ${OSH_INFRA_EXTRA_HELM_ARGS_FLUENTD} + ${OSH_EXTRA_HELM_ARGS} \ + ${OSH_EXTRA_HELM_ARGS_FLUENTD} #NOTE: Wait for deploy helm osh wait-for-pods osh-infra diff --git a/tools/deployment/logging/kibana.sh b/tools/deployment/logging/kibana.sh index dfbe90c32a..99f67a6128 100755 --- a/tools/deployment/logging/kibana.sh +++ b/tools/deployment/logging/kibana.sh @@ -14,16 +14,16 @@ set -xe -: ${OSH_INFRA_HELM_REPO:="../openstack-helm-infra"} -: ${OSH_INFRA_VALUES_OVERRIDES_PATH:="../openstack-helm-infra/values_overrides"} -: ${OSH_INFRA_EXTRA_HELM_ARGS_KIBANA:="$(helm osh get-values-overrides -p ${OSH_INFRA_VALUES_OVERRIDES_PATH} -c kibana ${FEATURES})"} +: ${OSH_HELM_REPO:="../openstack-helm"} +: ${OSH_VALUES_OVERRIDES_PATH:="../openstack-helm/values_overrides"} +: ${OSH_EXTRA_HELM_ARGS_KIBANA:="$(helm osh get-values-overrides -p ${OSH_VALUES_OVERRIDES_PATH} -c kibana ${FEATURES})"} #NOTE: Deploy command -helm upgrade --install kibana ${OSH_INFRA_HELM_REPO}/kibana \ +helm upgrade --install kibana ${OSH_HELM_REPO}/kibana \ --namespace=osh-infra \ --set network.kibana.ingress.classes.namespace=nginx-osh-infra \ - ${OSH_INFRA_EXTRA_HELM_ARGS} \ - ${OSH_INFRA_EXTRA_HELM_ARGS_KIBANA} + ${OSH_EXTRA_HELM_ARGS} \ + ${OSH_EXTRA_HELM_ARGS_KIBANA} #NOTE: Wait for deploy helm osh wait-for-pods osh-infra diff --git a/tools/deployment/monitoring/alertmanager.sh b/tools/deployment/monitoring/alertmanager.sh index e2cbc8db56..1446a499d1 100755 --- a/tools/deployment/monitoring/alertmanager.sh +++ b/tools/deployment/monitoring/alertmanager.sh @@ -14,10 +14,10 @@ set -xe -: ${OSH_INFRA_HELM_REPO:="../openstack-helm-infra"} +: ${OSH_HELM_REPO:="../openstack-helm"} #NOTE: Deploy command -helm upgrade --install prometheus-alertmanager ${OSH_INFRA_HELM_REPO}/prometheus-alertmanager \ +helm upgrade --install prometheus-alertmanager ${OSH_HELM_REPO}/prometheus-alertmanager \ --namespace=osh-infra \ --set pod.replicas.alertmanager=1 diff --git a/tools/deployment/monitoring/blackbox-exporter.sh b/tools/deployment/monitoring/blackbox-exporter.sh index 85fb496ebf..21ba57d830 100755 --- a/tools/deployment/monitoring/blackbox-exporter.sh +++ b/tools/deployment/monitoring/blackbox-exporter.sh @@ -14,11 +14,11 @@ set -xe -: ${OSH_INFRA_HELM_REPO:="../openstack-helm-infra"} +: ${OSH_HELM_REPO:="../openstack-helm"} #NOTE: Deploy command helm upgrade --install prometheus-blackbox-exporter \ - ${OSH_INFRA_HELM_REPO}/prometheus-blackbox-exporter --namespace=osh-infra + ${OSH_HELM_REPO}/prometheus-blackbox-exporter --namespace=osh-infra #NOTE: Wait for deploy helm osh wait-for-pods osh-infra diff --git a/tools/deployment/monitoring/grafana.sh b/tools/deployment/monitoring/grafana.sh index 73f6e2da2b..b9f1bfd84a 100755 --- a/tools/deployment/monitoring/grafana.sh +++ b/tools/deployment/monitoring/grafana.sh @@ -14,16 +14,16 @@ set -xe -: ${OSH_INFRA_HELM_REPO:="../openstack-helm-infra"} -: ${OSH_INFRA_VALUES_OVERRIDES_PATH:="../openstack-helm-infra/values_overrides"} +: ${OSH_HELM_REPO:="../openstack-helm"} +: ${OSH_VALUES_OVERRIDES_PATH:="../openstack-helm/values_overrides"} FEATURES="calico ceph containers coredns elasticsearch kubernetes nginx nodes openstack prometheus home_dashboard persistentvolume apparmor ${FEATURES}" -: ${OSH_INFRA_EXTRA_HELM_ARGS_GRAFANA:=$(helm osh get-values-overrides -p ${OSH_INFRA_VALUES_OVERRIDES_PATH} -c grafana ${FEATURES} 2>/dev/null)} +: ${OSH_EXTRA_HELM_ARGS_GRAFANA:=$(helm osh get-values-overrides -p ${OSH_VALUES_OVERRIDES_PATH} -c grafana ${FEATURES} 2>/dev/null)} #NOTE: Deploy command -helm upgrade --install grafana ${OSH_INFRA_HELM_REPO}/grafana \ +helm upgrade --install grafana ${OSH_HELM_REPO}/grafana \ --namespace=osh-infra \ - ${OSH_INFRA_EXTRA_HELM_ARGS:=} \ - ${OSH_INFRA_EXTRA_HELM_ARGS_GRAFANA} + ${OSH_EXTRA_HELM_ARGS:=} \ + ${OSH_EXTRA_HELM_ARGS_GRAFANA} #NOTE: Wait for deploy helm osh wait-for-pods osh-infra diff --git a/tools/deployment/monitoring/kube-state-metrics.sh b/tools/deployment/monitoring/kube-state-metrics.sh index c917877300..983424084a 100755 --- a/tools/deployment/monitoring/kube-state-metrics.sh +++ b/tools/deployment/monitoring/kube-state-metrics.sh @@ -14,14 +14,14 @@ set -xe -: ${OSH_INFRA_HELM_REPO:="../openstack-helm-infra"} -: ${OSH_INFRA_VALUES_OVERRIDES_PATH:="../openstack-helm-infra/values_overrides"} -: ${OSH_INFRA_EXTRA_HELM_ARGS_KUBE_STATE_METRICS:="$(helm osh get-values-overrides -p ${OSH_INFRA_VALUES_OVERRIDES_PATH} -c prometheus-kube-state-metrics ${FEATURES})"} +: ${OSH_HELM_REPO:="../openstack-helm"} +: ${OSH_VALUES_OVERRIDES_PATH:="../openstack-helm/values_overrides"} +: ${OSH_EXTRA_HELM_ARGS_KUBE_STATE_METRICS:="$(helm osh get-values-overrides -p ${OSH_VALUES_OVERRIDES_PATH} -c prometheus-kube-state-metrics ${FEATURES})"} #NOTE: Deploy command helm upgrade --install prometheus-kube-state-metrics \ - ${OSH_INFRA_HELM_REPO}/prometheus-kube-state-metrics --namespace=kube-system \ - ${OSH_INFRA_EXTRA_HELM_ARGS_KUBE_STATE_METRICS} + ${OSH_HELM_REPO}/prometheus-kube-state-metrics --namespace=kube-system \ + ${OSH_EXTRA_HELM_ARGS_KUBE_STATE_METRICS} #NOTE: Wait for deploy helm osh wait-for-pods kube-system diff --git a/tools/deployment/monitoring/mysql-exporter.sh b/tools/deployment/monitoring/mysql-exporter.sh index 280d76bf8f..f4cf855603 100755 --- a/tools/deployment/monitoring/mysql-exporter.sh +++ b/tools/deployment/monitoring/mysql-exporter.sh @@ -14,17 +14,17 @@ set -xe -: ${OSH_INFRA_HELM_REPO:="../openstack-helm-infra"} -: ${OSH_INFRA_VALUES_OVERRIDES_PATH:="../openstack-helm-infra/values_overrides"} -: ${OSH_INFRA_EXTRA_HELM_ARGS_MARIADB_MYSQL_EXPORTER:="$(helm osh get-values-overrides -p ${OSH_INFRA_VALUES_OVERRIDES_PATH} -c prometheus-mysql-exporter ${FEATURES})"} +: ${OSH_HELM_REPO:="../openstack-helm"} +: ${OSH_VALUES_OVERRIDES_PATH:="../openstack-helm/values_overrides"} +: ${OSH_EXTRA_HELM_ARGS_MARIADB_MYSQL_EXPORTER:="$(helm osh get-values-overrides -p ${OSH_VALUES_OVERRIDES_PATH} -c prometheus-mysql-exporter ${FEATURES})"} #NOTE: Deploy command -helm upgrade --install prometheus-mysql-exporter ${OSH_INFRA_HELM_REPO}/prometheus-mysql-exporter \ +helm upgrade --install prometheus-mysql-exporter ${OSH_HELM_REPO}/prometheus-mysql-exporter \ --namespace=openstack \ --wait \ --timeout 900s \ - ${OSH_INFRA_EXTRA_HELM_ARGS:=} \ - ${OSH_INFRA_EXTRA_HELM_ARGS_MARIADB_MYSQL_EXPORTER} + ${OSH_EXTRA_HELM_ARGS:=} \ + ${OSH_EXTRA_HELM_ARGS_MARIADB_MYSQL_EXPORTER} #NOTE: Wait for deploy diff --git a/tools/deployment/monitoring/nagios.sh b/tools/deployment/monitoring/nagios.sh index c43f8cfc8c..71a7a16f5f 100755 --- a/tools/deployment/monitoring/nagios.sh +++ b/tools/deployment/monitoring/nagios.sh @@ -14,15 +14,15 @@ set -xe -: ${OSH_INFRA_HELM_REPO:="../openstack-helm-infra"} -: ${OSH_INFRA_VALUES_OVERRIDES_PATH:="../openstack-helm-infra/values_overrides"} -: ${OSH_INFRA_EXTRA_HELM_ARGS_NAGIOS:="$(helm osh get-values-overrides -p ${OSH_INFRA_VALUES_OVERRIDES_PATH} -c nagios ${FEATURES})"} +: ${OSH_HELM_REPO:="../openstack-helm"} +: ${OSH_VALUES_OVERRIDES_PATH:="../openstack-helm/values_overrides"} +: ${OSH_EXTRA_HELM_ARGS_NAGIOS:="$(helm osh get-values-overrides -p ${OSH_VALUES_OVERRIDES_PATH} -c nagios ${FEATURES})"} #NOTE: Deploy command -helm upgrade --install nagios ${OSH_INFRA_HELM_REPO}/nagios \ +helm upgrade --install nagios ${OSH_HELM_REPO}/nagios \ --namespace=osh-infra \ - ${OSH_INFRA_EXTRA_HELM_ARGS:=} \ - ${OSH_INFRA_EXTRA_HELM_ARGS_NAGIOS} + ${OSH_EXTRA_HELM_ARGS:=} \ + ${OSH_EXTRA_HELM_ARGS_NAGIOS} #NOTE: Wait for deploy helm osh wait-for-pods osh-infra diff --git a/tools/deployment/monitoring/node-exporter.sh b/tools/deployment/monitoring/node-exporter.sh index 704605325d..d62a4e57b8 100755 --- a/tools/deployment/monitoring/node-exporter.sh +++ b/tools/deployment/monitoring/node-exporter.sh @@ -14,14 +14,14 @@ set -xe -: ${OSH_INFRA_HELM_REPO:="../openstack-helm-infra"} -: ${OSH_INFRA_VALUES_OVERRIDES_PATH:="../openstack-helm-infra/values_overrides"} -: ${OSH_INFRA_EXTRA_HELM_ARGS_NODE_EXPORTER:="$(helm osh get-values-overrides -p ${OSH_INFRA_VALUES_OVERRIDES_PATH} -c prometheus-node-exporter ${FEATURES})"} +: ${OSH_HELM_REPO:="../openstack-helm"} +: ${OSH_VALUES_OVERRIDES_PATH:="../openstack-helm/values_overrides"} +: ${OSH_EXTRA_HELM_ARGS_NODE_EXPORTER:="$(helm osh get-values-overrides -p ${OSH_VALUES_OVERRIDES_PATH} -c prometheus-node-exporter ${FEATURES})"} #NOTE: Deploy command helm upgrade --install prometheus-node-exporter \ - ${OSH_INFRA_HELM_REPO}/prometheus-node-exporter --namespace=kube-system \ - ${OSH_INFRA_EXTRA_HELM_ARGS_NODE_EXPORTER} + ${OSH_HELM_REPO}/prometheus-node-exporter --namespace=kube-system \ + ${OSH_EXTRA_HELM_ARGS_NODE_EXPORTER} #NOTE: Wait for deploy helm osh wait-for-pods kube-system diff --git a/tools/deployment/monitoring/node-problem-detector.sh b/tools/deployment/monitoring/node-problem-detector.sh index 6dc08a4f3f..d34cfa6f54 100755 --- a/tools/deployment/monitoring/node-problem-detector.sh +++ b/tools/deployment/monitoring/node-problem-detector.sh @@ -13,7 +13,7 @@ set -xe -: ${OSH_INFRA_HELM_REPO:="../openstack-helm-infra"} +: ${OSH_HELM_REPO:="../openstack-helm"} #NOTE: Deploy command tee /tmp/kubernetes-node-problem-detector.yaml << EOF @@ -27,7 +27,7 @@ manifests: service: true EOF helm upgrade --install kubernetes-node-problem-detector \ - ${OSH_INFRA_HELM_REPO}/kubernetes-node-problem-detector --namespace=kube-system \ + ${OSH_HELM_REPO}/kubernetes-node-problem-detector --namespace=kube-system \ --values=/tmp/kubernetes-node-problem-detector.yaml #NOTE: Wait for deploy diff --git a/tools/deployment/monitoring/openstack-exporter.sh b/tools/deployment/monitoring/openstack-exporter.sh index 004348b457..522163fc77 100755 --- a/tools/deployment/monitoring/openstack-exporter.sh +++ b/tools/deployment/monitoring/openstack-exporter.sh @@ -14,9 +14,9 @@ set -xe -: ${OSH_INFRA_HELM_REPO:="../openstack-helm-infra"} -: ${OSH_INFRA_VALUES_OVERRIDES_PATH:="../openstack-helm-infra/values_overrides"} -: ${OSH_INFRA_EXTRA_HELM_ARGS_OS_EXPORTER:="$(helm osh get-values-overrides -p ${OSH_INFRA_VALUES_OVERRIDES_PATH} -c prometheus-openstack-exporter ${FEATURES})"} +: ${OSH_HELM_REPO:="../openstack-helm"} +: ${OSH_VALUES_OVERRIDES_PATH:="../openstack-helm/values_overrides"} +: ${OSH_EXTRA_HELM_ARGS_OS_EXPORTER:="$(helm osh get-values-overrides -p ${OSH_VALUES_OVERRIDES_PATH} -c prometheus-openstack-exporter ${FEATURES})"} tee /tmp/prometheus-openstack-exporter.yaml << EOF manifests: @@ -30,10 +30,10 @@ EOF #NOTE: Deploy command helm upgrade --install prometheus-openstack-exporter \ - ${OSH_INFRA_HELM_REPO}/prometheus-openstack-exporter \ + ${OSH_HELM_REPO}/prometheus-openstack-exporter \ --namespace=openstack \ --values=/tmp/prometheus-openstack-exporter.yaml \ - ${OSH_INFRA_EXTRA_HELM_ARGS_OS_EXPORTER} + ${OSH_EXTRA_HELM_ARGS_OS_EXPORTER} #NOTE: Wait for deploy helm osh wait-for-pods openstack diff --git a/tools/deployment/monitoring/process-exporter.sh b/tools/deployment/monitoring/process-exporter.sh index 1f27271723..bc33d06e75 100755 --- a/tools/deployment/monitoring/process-exporter.sh +++ b/tools/deployment/monitoring/process-exporter.sh @@ -14,14 +14,14 @@ set -xe -: ${OSH_INFRA_HELM_REPO:="../openstack-helm-infra"} -: ${OSH_INFRA_VALUES_OVERRIDES_PATH:="../openstack-helm-infra/values_overrides"} -: ${OSH_INFRA_EXTRA_HELM_ARGS_PROCESS_EXPORTER:="$(helm osh get-values-overrides -p ${OSH_INFRA_VALUES_OVERRIDES_PATH} -c prometheus-process-exporter ${FEATURES})"} +: ${OSH_HELM_REPO:="../openstack-helm"} +: ${OSH_VALUES_OVERRIDES_PATH:="../openstack-helm/values_overrides"} +: ${OSH_EXTRA_HELM_ARGS_PROCESS_EXPORTER:="$(helm osh get-values-overrides -p ${OSH_VALUES_OVERRIDES_PATH} -c prometheus-process-exporter ${FEATURES})"} #NOTE: Deploy command helm upgrade --install prometheus-process-exporter \ - ${OSH_INFRA_HELM_REPO}/prometheus-process-exporter --namespace=kube-system \ - ${OSH_INFRA_EXTRA_HELM_ARGS_PROCESS_EXPORTER} + ${OSH_HELM_REPO}/prometheus-process-exporter --namespace=kube-system \ + ${OSH_EXTRA_HELM_ARGS_PROCESS_EXPORTER} #NOTE: Wait for deploy helm osh wait-for-pods kube-system diff --git a/tools/deployment/monitoring/prometheus.sh b/tools/deployment/monitoring/prometheus.sh index 00fa49a140..b70ea1d9d3 100755 --- a/tools/deployment/monitoring/prometheus.sh +++ b/tools/deployment/monitoring/prometheus.sh @@ -14,16 +14,16 @@ set -xe -: ${OSH_INFRA_HELM_REPO:="../openstack-helm-infra"} -: ${OSH_INFRA_VALUES_OVERRIDES_PATH:="../openstack-helm-infra/values_overrides"} +: ${OSH_HELM_REPO:="../openstack-helm"} +: ${OSH_VALUES_OVERRIDES_PATH:="../openstack-helm/values_overrides"} FEATURES="alertmanager ceph elasticsearch kubernetes nodes openstack postgresql apparmor ${FEATURES}" -: ${OSH_INFRA_EXTRA_HELM_ARGS_PROMETHEUS:="$(helm osh get-values-overrides -p ${OSH_INFRA_VALUES_OVERRIDES_PATH} -c prometheus ${FEATURES})"} +: ${OSH_EXTRA_HELM_ARGS_PROMETHEUS:="$(helm osh get-values-overrides -p ${OSH_VALUES_OVERRIDES_PATH} -c prometheus ${FEATURES})"} #NOTE: Deploy command -helm upgrade --install prometheus ${OSH_INFRA_HELM_REPO}/prometheus \ +helm upgrade --install prometheus ${OSH_HELM_REPO}/prometheus \ --namespace=osh-infra \ - ${OSH_INFRA_EXTRA_HELM_ARGS:=} \ - ${OSH_INFRA_EXTRA_HELM_ARGS_PROMETHEUS} + ${OSH_EXTRA_HELM_ARGS:=} \ + ${OSH_EXTRA_HELM_ARGS_PROMETHEUS} #NOTE: Wait for deploy helm osh wait-for-pods osh-infra diff --git a/tools/gate/lint.sh b/tools/gate/lint.sh deleted file mode 100755 index 8e7e4ce6fa..0000000000 --- a/tools/gate/lint.sh +++ /dev/null @@ -1,35 +0,0 @@ -#!/bin/bash - -set -e - -HELM_DATA_YAML=../openstack-helm-infra/roles/build-helm-packages/defaults/main.yml -HELM_VERSION=$(yq -r '.version.helm' ${HELM_DATA_YAML}) -HELM_REPO_URL=$(yq -r '.url.helm_repo' ${HELM_DATA_YAML}) -LINT_DIR=.yamllint - -rm -rf */charts/helm-toolkit -mkdir ${LINT_DIR} -cp -r * ${LINT_DIR} -rm -rf ${LINT_DIR}/*/templates -wget -qO ${LINT_DIR}/helm.tgz ${HELM_REPO_URL}/helm-${HELM_VERSION}-linux-amd64.tar.gz -tar xzf ${LINT_DIR}/helm.tgz -C ${LINT_DIR} --strip-components=1 linux-amd64/helm - -for i in */; do - # avoid helm-toolkit to symlink on itself - [ -d "$i/templates" -a "$i" != "helm-toolkit/" ] || continue - mkdir -p $i/charts - ln -s ../../../openstack-helm-infra/helm-toolkit $i/charts/helm-toolkit - ${LINT_DIR}/helm template $i --output-dir ${LINT_DIR} 2>&1 > /dev/null -done -rm -rf */charts/helm-toolkit - -find .yamllint -type f -exec sed -i 's/%%%.*/XXX/g' {} + - -set +e -shopt -s globstar extglob -# lint all y*mls except for templates with the first config -yamllint -c yamllint.conf ${LINT_DIR}/*{,/!(templates)/**}/*.y*ml yamllint*.conf -result=$? -# lint templates with the second config -yamllint -c yamllint-templates.conf ${LINT_DIR}/*/templates/*.yaml -exit $(($?|$result)) diff --git a/tools/gate/playbooks/deploy-env.yaml b/tools/gate/playbooks/deploy-env.yaml deleted file mode 100644 index 5d5116c03b..0000000000 --- a/tools/gate/playbooks/deploy-env.yaml +++ /dev/null @@ -1,7 +0,0 @@ ---- -- hosts: all - become: true - gather_facts: true - roles: - - deploy-env -... diff --git a/tools/gate/playbooks/inject-keys.yaml b/tools/gate/playbooks/inject-keys.yaml deleted file mode 100644 index c9a85b2612..0000000000 --- a/tools/gate/playbooks/inject-keys.yaml +++ /dev/null @@ -1,11 +0,0 @@ ---- -- hosts: all - tasks: - - name: Put keys to .ssh/authorized_keys - lineinfile: - path: /home/zuul/.ssh/authorized_keys - state: present - line: "{{ item }}" - loop: - - "ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBMyM6sgu/Xgg+VaLJX5c6gy6ynYX7pO7XNobnKotYRulcEkmiLprvLSg+WP25VDAcSoif3rek3qiVnEYh6R2/Go= vlad@russell" -... diff --git a/tools/gate/playbooks/osh-infra-collect-logs.yaml b/tools/gate/playbooks/osh-infra-collect-logs.yaml deleted file mode 100644 index b70b3bb855..0000000000 --- a/tools/gate/playbooks/osh-infra-collect-logs.yaml +++ /dev/null @@ -1,58 +0,0 @@ -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - ---- -- hosts: all - vars: - work_dir: "{{ zuul.project.src_dir }}/{{ zuul_osh_infra_relative_path | default('') }}" - logs_dir: "/tmp/logs" - roles: - - gather-host-logs - tags: - - gather-host-logs - -- hosts: primary - vars: - work_dir: "{{ zuul.project.src_dir }}/{{ zuul_osh_infra_relative_path | default('') }}" - logs_dir: "/tmp/logs" - roles: - - helm-release-status - tags: - - helm-release-status - -- hosts: primary - vars: - work_dir: "{{ zuul.project.src_dir }}/{{ zuul_osh_infra_relative_path | default('') }}" - logs_dir: "/tmp/logs" - roles: - - describe-kubernetes-objects - tags: - - describe-kubernetes-objects - -- hosts: primary - vars: - work_dir: "{{ zuul.project.src_dir }}/{{ zuul_osh_infra_relative_path | default('') }}" - logs_dir: "/tmp/logs" - roles: - - gather-pod-logs - tags: - - gather-pod-logs - -- hosts: primary - vars: - work_dir: "{{ zuul.project.src_dir }}/{{ zuul_osh_infra_relative_path | default('') }}" - logs_dir: "/tmp/logs" - roles: - - gather-prom-metrics - tags: - - gather-prom-metrics -... diff --git a/tools/gate/playbooks/prepare-hosts.yaml b/tools/gate/playbooks/prepare-hosts.yaml deleted file mode 100644 index 2855c024fd..0000000000 --- a/tools/gate/playbooks/prepare-hosts.yaml +++ /dev/null @@ -1,8 +0,0 @@ ---- -- hosts: all - roles: - - start-zuul-console - - ensure-python - - ensure-pip - - clear-firewall -... diff --git a/tools/gate/playbooks/run-scripts.yaml b/tools/gate/playbooks/run-scripts.yaml deleted file mode 100644 index 99fcba3f84..0000000000 --- a/tools/gate/playbooks/run-scripts.yaml +++ /dev/null @@ -1,98 +0,0 @@ -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - ---- -- hosts: all - become: true - tasks: - - name: Configure /etc/hosts for buildset_registry to workaround docker not understanding ipv6 addresses - lineinfile: - path: /etc/hosts - state: present - regex: "^{{ buildset_registry.host }}\tzuul-jobs.buildset-registry$" - line: "{{ buildset_registry.host }}\tzuul-jobs.buildset-registry" - insertafter: EOF - when: - - buildset_registry is defined - - buildset_registry.host | ipaddr - -- hosts: primary - tasks: - - name: Override images - when: buildset_registry is defined - vars: - work_dir: "{{ zuul.project.src_dir }}" - block: - - name: Set buildset_registry alias variable when using ip - set_fact: - buildset_registry_alias: zuul-jobs.buildset-registry - when: - - buildset_registry.host | ipaddr - - - name: Set buildset_registry alias variable when using name - set_fact: - buildset_registry_alias: "{{ buildset_registry.host }}" - when: - - not ( buildset_registry.host | ipaddr ) - - - name: Print zuul - debug: - var: zuul - - - name: Override proposed images from artifacts - shell: > - find {{ override_paths | join(" ") }} -type f -exec sed -Ei - "s#['\"]?docker\.io/(openstackhelm|loci)/({{ repo }}):({{ tag }})['\"]?\$#{{ buildset_registry_alias }}:{{ buildset_registry.port }}/{{ repo_org }}/{{ repo }}:\3#g" {} + - loop: "{{ zuul.artifacts | default([]) }}" - args: - chdir: "{{ work_dir }}" - loop_control: - loop_var: zj_zuul_artifact - when: "'metadata' in zj_zuul_artifact and zj_zuul_artifact.metadata.type | default('') == 'container_image'" - vars: - tag: "{{ zj_zuul_artifact.metadata.tag }}" - repo_org: "{{ zj_zuul_artifact.metadata.repository | dirname }}" - repo: "{{ zj_zuul_artifact.metadata.repository | basename }}" - override_paths: - - ../openstack-helm*/values_overrides - - ../openstack-helm*/*/values* - - ../openstack-helm/tools/deployment/ - - - name: Diff - shell: | - set -ex; - for dir in openstack-helm; do - path="{{ work_dir }}/../${dir}/" - if [ ! -d "${path}" ]; then continue; fi - echo "${dir} diff" - cd "${path}"; git diff; cd -; - done - - - name: "creating directory for run artifacts" - file: - path: "/tmp/artifacts" - state: directory - - - name: Run gate scripts - include_role: - name: "{{ ([item] | flatten | length == 1) | ternary('osh-run-script', 'osh-run-script-set') }}" - vars: - workload: "{{ [item] | flatten }}" - loop: "{{ gate_scripts }}" - - - name: "Downloads artifacts to executor" - synchronize: - src: "/tmp/artifacts" - dest: "{{ zuul.executor.log_root }}/{{ inventory_hostname }}" - mode: pull - ignore_errors: True -... diff --git a/tools/gate/reno-check.sh b/tools/gate/reno-check.sh deleted file mode 100755 index cbfdfce931..0000000000 --- a/tools/gate/reno-check.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash - -set -e -RESULT=0 -IFS=$'\n' -for chart in $(find $(pwd) -maxdepth 2 -name 'Chart.yaml');do - SERVICE=$(egrep "^name:" "$chart"|awk -F ' ' '{print $2}') - VERSION=$(egrep "^version:" "$chart"|awk -F ' ' '{print $2}') - if grep -q "$VERSION" ./releasenotes/notes/$SERVICE.yaml ; then - echo "$SERVICE is up to date!" - else - echo "$SERVICE version does not match release notes. Likely requires a release note update" - RESULT=1 - fi -done - -exit $RESULT diff --git a/tools/pull-images.sh b/tools/pull-images.sh deleted file mode 100755 index b92ddab682..0000000000 --- a/tools/pull-images.sh +++ /dev/null @@ -1,29 +0,0 @@ -#!/usr/bin/env bash - -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -set -x - -if [ "x$1" == "x" ]; then - CHART_DIRS="$(echo ./*/)" -else - CHART_DIRS="$(echo ./$1/)" -fi - -for CHART_DIR in ${CHART_DIRS} ; do - if [ -e ${CHART_DIR}values.yaml ]; then - for IMAGE in $(cat ${CHART_DIR}values.yaml | yq '.images.tags | map(.) | join(" ")' | tr -d '"'); do - sudo docker inspect $IMAGE >/dev/null|| sudo docker pull $IMAGE - done - fi -done diff --git a/tox.ini b/tox.ini index 6c87361710..83e485730d 100644 --- a/tox.ini +++ b/tox.ini @@ -40,20 +40,6 @@ allowlist_externals = ; sphinx-build -W --keep-going -b latex -j auto doc/source doc/build/pdf ; make -C doc/build/pdf -[testenv:lint] -deps = - yq - yamllint -commands = - rm -rf .yamllint - bash -c 'if [ ! -d ../openstack-helm-infra ]; then \ - git clone https://opendev.org/openstack/openstack-helm-infra ../openstack-helm-infra; \ - fi' - bash ../openstack-helm-infra/tools/gate/lint.sh -allowlist_externals = - rm - bash - [testenv:releasenotes] deps = -r{toxinidir}/releasenotes/requirements.txt commands = sphinx-build -a -W -E -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html diff --git a/zuul.d/2024.1.yaml b/zuul.d/2024.1.yaml index c8e702a1d1..b771695c6c 100644 --- a/zuul.d/2024.1.yaml +++ b/zuul.d/2024.1.yaml @@ -167,4 +167,30 @@ openstack_release: "2024.1" container_distro_name: ubuntu container_distro_version: jammy + +- job: + name: openstack-helm-compute-kit-dpdk-2024-1-ubuntu_jammy + description: | + Run the openstack-helm compute-kit job with DPDK enabled. + We use single node environment to run this job which means + that the job only tests that QEMU and OVS-DPDK are working + together. The job does not assume having specific DPDK hardware. + parent: openstack-helm-compute-kit + pre-run: + - playbooks/enable-hugepages.yaml + - playbooks/prepare-hosts.yaml + nodeset: openstack-helm-1node-32GB-ubuntu_jammy + vars: + hugepages: + enabled: true + size: "2M" + number: 2048 + osh_params: + openstack_release: "2024.1" + container_distro_name: ubuntu + container_distro_version: jammy + feature_gates: dpdk + files: + - ^roles/.* + - ^openvswitch/.* ... diff --git a/zuul.d/base.yaml b/zuul.d/base.yaml index ce9c2fb0d7..dccb029e2b 100644 --- a/zuul.d/base.yaml +++ b/zuul.d/base.yaml @@ -11,6 +11,18 @@ # See the License for the specific language governing permissions and # limitations under the License. +- job: + name: openstack-helm-linter + run: playbooks/lint.yaml + nodeset: openstack-helm-1node-ubuntu_jammy + required-projects: + - openstack/openstack-helm + irrelevant-files: + - ^.*\.rst$ + - ^releasenotes/.*$ + pre-run: + - playbooks/inject-keys.yaml + - job: name: openstack-helm-bandit roles: @@ -21,14 +33,22 @@ files: - ^.*\.py\.tpl$ - ^.*\.py$ - - ^tools/gate/playbooks/osh-bandit.yaml$ - pre-run: tools/gate/playbooks/prepare-hosts.yaml - post-run: tools/gate/playbooks/osh-infra-collect-logs.yaml - run: tools/gate/playbooks/osh-bandit.yaml + - ^playbooks/osh-bandit.yaml$ + pre-run: playbooks/prepare-hosts.yaml + post-run: playbooks/collect-logs.yaml + run: playbooks/osh-bandit.yaml vars: helm_version: "v3.6.3" bandit_version: "1.7.1" +- job: + name: openstack-helm-publish-charts + parent: publish-openstack-artifacts + run: playbooks/build-chart.yaml + required-projects: + - openstack/openstack-helm + post-run: playbooks/publish/post.yaml + - job: name: openstack-helm-deploy abstract: true @@ -48,7 +68,7 @@ - playbooks/prepare-hosts.yaml - playbooks/mount-volumes.yaml - playbooks/inject-keys.yaml - post-run: playbooks/osh-infra-collect-logs.yaml + post-run: playbooks/collect-logs.yaml run: - playbooks/deploy-env.yaml - playbooks/run-scripts.yaml @@ -82,9 +102,6 @@ ingress_setup: true helm_version: "v3.14.0" crictl_version: "v1.30.1" - zuul_osh_relative_path: ../openstack-helm - zuul_osh_infra_relative_path: ../openstack-helm - gate_scripts_relative_path: ../openstack-helm run_helm_tests: "no" openstack_provider_gateway_setup: true @@ -96,8 +113,8 @@ # due to image pull rate limits on Docker Hub. voting: false run: - - tools/gate/playbooks/deploy-env-kubespray.yaml - - tools/gate/playbooks/run-scripts.yaml + - playbooks/deploy-env-kubespray.yaml + - playbooks/run-scripts.yaml vars: metallb_setup: true kube_version_kubespray: "v1.29.5" @@ -162,8 +179,8 @@ - ./tools/deployment/common/prepare-k8s.sh - ./tools/deployment/common/prepare-charts.sh - ./tools/deployment/common/setup-client.sh - - ./tools/deployment/component/ceph/ceph-rook.sh - - ./tools/deployment/component/ceph/ceph-adapter-rook.sh + - ./tools/deployment/ceph/ceph-rook.sh + - ./tools/deployment/ceph/ceph-adapter-rook.sh - export VOLUME_HELM_ARGS=" "; ./tools/deployment/component/common/rabbitmq.sh - export VOLUME_HELM_ARGS=" "; ./tools/deployment/component/common/mariadb.sh - ./tools/deployment/component/common/memcached.sh @@ -189,13 +206,13 @@ - ./tools/deployment/common/prepare-charts.sh - ./tools/deployment/common/prepare-helm-repos-local.sh - ./tools/deployment/common/setup-client.sh - - - ./tools/deployment/component/common/rabbitmq.sh - - ./tools/deployment/component/common/mariadb.sh - - ./tools/deployment/component/common/memcached.sh + - ./tools/deployment/component/common/rabbitmq.sh + - ./tools/deployment/component/common/mariadb.sh + - ./tools/deployment/component/common/memcached.sh - ./tools/deployment/component/keystone/keystone.sh - - - ./tools/deployment/component/heat/heat.sh - - export GLANCE_BACKEND=local; ./tools/deployment/component/glance/glance.sh - - ./tools/deployment/component/compute-kit/openvswitch.sh + - ./tools/deployment/component/heat/heat.sh + - export GLANCE_BACKEND=local; ./tools/deployment/component/glance/glance.sh + - ./tools/deployment/component/compute-kit/openvswitch.sh - ./tools/deployment/component/compute-kit/libvirt.sh - ./tools/deployment/component/compute-kit/compute-kit.sh - export OSH_TEST_TIMEOUT=1200;./tools/deployment/common/run-helm-tests.sh neutron @@ -218,13 +235,13 @@ - ./tools/deployment/common/prepare-charts.sh - ./tools/deployment/common/prepare-helm-repos-public.sh - ./tools/deployment/common/setup-client.sh - - - ./tools/deployment/component/common/rabbitmq.sh - - ./tools/deployment/component/common/mariadb.sh - - ./tools/deployment/component/common/memcached.sh + - ./tools/deployment/component/common/rabbitmq.sh + - ./tools/deployment/component/common/mariadb.sh + - ./tools/deployment/component/common/memcached.sh - ./tools/deployment/component/keystone/keystone.sh - - - ./tools/deployment/component/heat/heat.sh - - export GLANCE_BACKEND=local; ./tools/deployment/component/glance/glance.sh - - ./tools/deployment/component/compute-kit/openvswitch.sh + - ./tools/deployment/component/heat/heat.sh + - export GLANCE_BACKEND=local; ./tools/deployment/component/glance/glance.sh + - ./tools/deployment/component/compute-kit/openvswitch.sh - ./tools/deployment/component/compute-kit/libvirt.sh - ./tools/deployment/component/compute-kit/compute-kit.sh - export OSH_TEST_TIMEOUT=1200;./tools/deployment/common/run-helm-tests.sh neutron @@ -243,12 +260,12 @@ - ./tools/deployment/common/prepare-k8s.sh - ./tools/deployment/common/prepare-charts.sh - ./tools/deployment/common/setup-client.sh - - - ./tools/deployment/component/common/rabbitmq.sh - - ./tools/deployment/component/common/mariadb.sh - - ./tools/deployment/component/common/memcached.sh + - ./tools/deployment/component/common/rabbitmq.sh + - ./tools/deployment/component/common/mariadb.sh + - ./tools/deployment/component/common/memcached.sh - ./tools/deployment/component/keystone/keystone.sh - - - ./tools/deployment/component/heat/heat.sh - - export GLANCE_BACKEND=local; ./tools/deployment/component/glance/glance.sh + - ./tools/deployment/component/heat/heat.sh + - export GLANCE_BACKEND=local; ./tools/deployment/component/glance/glance.sh - ./tools/deployment/component/compute-kit/openvswitch.sh - ./tools/deployment/component/compute-kit/libvirt.sh - ./tools/deployment/component/ovn/ovn.sh @@ -292,11 +309,11 @@ - ./tools/deployment/common/prepare-k8s.sh - ./tools/deployment/common/prepare-charts.sh - ./tools/deployment/common/setup-client.sh - - ./tools/deployment/component/ceph/ceph.sh - - ./tools/deployment/component/ceph/ceph-ns-activate.sh - - - ./tools/deployment/component/common/mariadb.sh - - ./tools/deployment/component/common/memcached.sh - - ./tools/deployment/component/common/rabbitmq.sh + - ./tools/deployment/ceph/ceph.sh + - ./tools/deployment/ceph/ceph-ns-activate.sh + - ./tools/deployment/component/common/mariadb.sh + - ./tools/deployment/component/common/memcached.sh + - ./tools/deployment/component/common/rabbitmq.sh - ./tools/deployment/component/keystone/keystone.sh - ./tools/deployment/component/cinder/cinder.sh - ./tools/deployment/common/force-cronjob-run.sh @@ -315,11 +332,11 @@ - ./tools/deployment/common/prepare-k8s.sh - ./tools/deployment/common/prepare-charts.sh - ./tools/deployment/common/setup-client.sh - - ./tools/deployment/component/ceph/ceph-rook.sh - - ./tools/deployment/component/ceph/ceph-adapter-rook.sh - - - ./tools/deployment/component/common/mariadb.sh - - ./tools/deployment/component/common/memcached.sh - - ./tools/deployment/component/common/rabbitmq.sh + - ./tools/deployment/ceph/ceph-rook.sh + - ./tools/deployment/ceph/ceph-adapter-rook.sh + - ./tools/deployment/component/common/mariadb.sh + - ./tools/deployment/component/common/memcached.sh + - ./tools/deployment/component/common/rabbitmq.sh - ./tools/deployment/component/keystone/keystone.sh - ./tools/deployment/component/cinder/cinder.sh - ./tools/deployment/common/force-cronjob-run.sh @@ -390,8 +407,8 @@ - ./tools/deployment/common/prepare-charts.sh - ./tools/deployment/common/setup-client.sh - ./tools/deployment/common/cert-manager.sh - - ./tools/deployment/component/ceph/ceph-rook.sh - - ./tools/deployment/component/ceph/ceph-adapter-rook.sh + - ./tools/deployment/ceph/ceph-rook.sh + - ./tools/deployment/ceph/ceph-adapter-rook.sh - ./tools/deployment/component/common/mariadb.sh - ./tools/deployment/component/common/memcached.sh - ./tools/deployment/component/common/rabbitmq.sh @@ -420,13 +437,13 @@ - ./tools/deployment/common/prepare-k8s.sh - ./tools/deployment/common/prepare-charts.sh - ./tools/deployment/common/setup-client.sh - - - ./tools/deployment/component/common/rabbitmq.sh - - ./tools/deployment/component/common/mariadb.sh - - ./tools/deployment/component/common/memcached.sh + - ./tools/deployment/component/common/rabbitmq.sh + - ./tools/deployment/component/common/mariadb.sh + - ./tools/deployment/component/common/memcached.sh - ./tools/deployment/component/keystone/keystone.sh - - - ./tools/deployment/component/heat/heat.sh - - export GLANCE_BACKEND=local; ./tools/deployment/component/glance/glance.sh - - ./tools/deployment/component/compute-kit/openvswitch.sh + - ./tools/deployment/component/heat/heat.sh + - export GLANCE_BACKEND=local; ./tools/deployment/component/glance/glance.sh + - ./tools/deployment/component/compute-kit/openvswitch.sh - ./tools/deployment/component/compute-kit/libvirt.sh - ./tools/deployment/component/compute-kit/compute-kit.sh - ./tools/deployment/component/barbican/barbican.sh diff --git a/zuul.d/infra_jobs.yaml b/zuul.d/infra_jobs.yaml index 0e765c1be6..fcb3970e4a 100644 --- a/zuul.d/infra_jobs.yaml +++ b/zuul.d/infra_jobs.yaml @@ -13,25 +13,6 @@ # See the License for the specific language governing permissions and # limitations under the License. -- job: - name: openstack-helm-linter - run: playbooks/lint.yml - nodeset: openstack-helm-1node-ubuntu_jammy - # NOTE(aostapenko) Required if job is run against another project - required-projects: - - openstack/openstack-helm - irrelevant-files: - - ^.*\.rst$ - - ^releasenotes/.*$ - -- job: - name: openstack-helm-publish-charts - parent: publish-openstack-artifacts - run: playbooks/build-chart.yaml - required-projects: - - openstack/openstack-helm - post-run: playbooks/publish/post.yaml - - job: name: openstack-helm-logging parent: openstack-helm-deploy @@ -133,33 +114,6 @@ - ^mariadb-cluster/.* - ^tools/.* -- job: - name: openstack-helm-compute-kit-dpdk-2024-1-ubuntu_jammy - description: | - Run the openstack-helm compute-kit job with DPDK enabled. - We use single node environment to run this job which means - that the job only tests that QEMU and OVS-DPDK are working - together. The job does not assume having specific DPDK hardware. - parent: openstack-helm-compute-kit - pre-run: - - playbooks/enable-hugepages.yaml - - playbooks/prepare-hosts.yaml - nodeset: openstack-helm-1node-32GB-ubuntu_jammy - vars: - gate_scripts_relative_path: ../openstack-helm - hugepages: - enabled: true - size: "2M" - number: 2048 - osh_params: - openstack_release: "2024.1" - container_distro_name: ubuntu - container_distro_version: jammy - feature_gates: dpdk - files: - - ^roles/.* - - ^openvswitch/.* - - job: name: openstack-helm-mariadb-ingress-2024-1-ubuntu_jammy parent: openstack-helm-compute-kit-2024-1-ubuntu_jammy diff --git a/zuul.d/infra_project.yaml b/zuul.d/infra_project.yaml deleted file mode 100644 index 530c8fdedd..0000000000 --- a/zuul.d/infra_project.yaml +++ /dev/null @@ -1,33 +0,0 @@ ---- -# Copyright 2018 SUSE LINUX GmbH. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -- project: - check: - jobs: - - openstack-helm-infra-logging - - openstack-helm-infra-monitoring - - openstack-helm-infra-metacontroller - - openstack-helm-infra-mariadb-operator-2024-1-ubuntu_jammy - - openstack-helm-infra-compute-kit-dpdk-2024-1-ubuntu_jammy # 32GB node - gate: - jobs: - - openstack-helm-infra-logging - - openstack-helm-infra-monitoring - - openstack-helm-infra-metacontroller - periodic-weekly: - jobs: - - openstack-helm-infra-ceph-migrate - -... diff --git a/zuul.d/project.yaml b/zuul.d/project.yaml index 7914dc04f6..16e286eb12 100644 --- a/zuul.d/project.yaml +++ b/zuul.d/project.yaml @@ -24,30 +24,35 @@ - openstack-helm-linter - openstack-helm-bandit # 2023.2 - - openstack-helm-horizon-2023-2-ubuntu_jammy # 1 node - - openstack-helm-keystone-ldap-2023-2-ubuntu_jammy # 1 node - - openstack-helm-cinder-2023-2-ubuntu_jammy # 3 nodes rook + - openstack-helm-cinder-2023-2-ubuntu_jammy # 5 nodes rook - openstack-helm-compute-kit-2023-2-ubuntu_jammy # 3 nodes - openstack-helm-compute-kit-ovn-2023-2-ubuntu_jammy # 3 nodes # 2024.1 - # - openstack-helm-umbrella-2024-1-ubuntu_jammy # 3 nodes rook + - openstack-helm-keystone-ldap-2023-2-ubuntu_jammy # 1 node - openstack-helm-tls-2024-1-ubuntu_jammy # 3 nodes rook - - openstack-helm-cinder-2024-1-ubuntu_jammy # 3 nodes rook + - openstack-helm-cinder-2024-1-ubuntu_jammy # 5 nodes rook - openstack-helm-compute-kit-2024-1-ubuntu_jammy # 3 nodes - - openstack-helm-compute-kit-metallb-2024-1-ubuntu_jammy # 1 node + 2 nodes - - openstack-helm-compute-kit-cilium-metallb-2024-1-ubuntu_jammy # 1 node + 2 nodes - - openstack-helm-compute-kit-flannel-metallb-2024-1-ubuntu_jammy # 1 node + 2 nodes + - openstack-helm-compute-kit-metallb-2024-1-ubuntu_jammy # 1 node + 3 nodes + - openstack-helm-compute-kit-cilium-metallb-2024-1-ubuntu_jammy # 1 node + 3 nodes - openstack-helm-horizon-2024-1-ubuntu_jammy # 1 node - openstack-helm-tacker-2024-1-ubuntu_jammy - # - openstack-helm-compute-kit-kubespray-2024-1-ubuntu_jammy + - openstack-helm-compute-kit-dpdk-2024-1-ubuntu_jammy # 32GB node # 2024.2 - openstack-helm-cinder-2024-2-ubuntu_jammy # 3 nodes rook - - openstack-helm-compute-kit-2024-2-ubuntu_jammy # 1 node + 2 nodes + metallb + - openstack-helm-compute-kit-2024-2-ubuntu_jammy # 1 node + 3 nodes + # Infra jobs + - openstack-helm-infra-logging + - openstack-helm-infra-monitoring + - openstack-helm-infra-metacontroller + - openstack-helm-infra-mariadb-operator-2024-1-ubuntu_jammy gate: jobs: - - openstack-helm-lint + - openstack-helm-linter - openstack-helm-cinder-2024-1-ubuntu_jammy - openstack-helm-compute-kit-2024-1-ubuntu_jammy + - openstack-helm-infra-logging + - openstack-helm-infra-monitoring + - openstack-helm-infra-metacontroller post: jobs: - openstack-helm-publish-charts @@ -55,4 +60,7 @@ # jobs: # - openstack-helm-compute-kit-helm-repo-public-2024-1-ubuntu_jammy # 1 node + 2 nodes # - openstack-helm-compute-kit-rook-2024-1-ubuntu_jammy # 5 nodes / rook + periodic-weekly: + jobs: + - openstack-helm-infra-ceph-migrate ...