From e5099b6d384b010f831dc0b18ec5dea293946c87 Mon Sep 17 00:00:00 2001 From: Sergiy Markin Date: Sun, 30 Mar 2025 10:41:21 -0500 Subject: [PATCH] Preparation for osh-infra merger Change-Id: I34d3f589432e4821b694866995d90155d118b037 --- .../airship-porthole-collect-logs.yaml | 39 ------ .../airship-porthole-gate-runner.yaml | 50 ------- .../airship-run-script-set/defaults/main.yaml | 27 ---- .../airship-run-script-set/tasks/main.yaml | 64 --------- .../airship-run-script/defaults/main.yaml | 27 ---- .../roles/airship-run-script/tasks/main.yaml | 42 ------ .../roles/deploy-apparmor/tasks/main.yaml | 37 ------ .../roles/deploy-docker/defaults/main.yml | 18 --- .../tasks/deploy-ansible-docker-support.yaml | 70 ---------- .../roles/deploy-docker/tasks/main.yaml | 80 ----------- .../templates/centos-docker.service.j2 | 35 ----- .../templates/fedora-docker.service.j2 | 34 ----- .../templates/http-proxy.conf.j2 | 4 - .../templates/ubuntu-docker.service.j2 | 30 ----- .../playbooks/roles/deploy-jq/tasks/main.yaml | 36 ----- .../roles/deploy-package/defaults/main.yml | 18 --- .../roles/deploy-package/tasks/dist.yaml | 46 ------- .../roles/deploy-package/tasks/pip.yaml | 27 ---- .../roles/deploy-python-pip/defaults/main.yml | 18 --- .../roles/deploy-python-pip/tasks/main.yaml | 55 -------- .../roles/deploy-python/tasks/main.yaml | 16 --- .../tasks/main.yaml | 108 --------------- .../disable-local-nameserver/tasks/main.yaml | 59 --------- .../roles/gather-host-logs/tasks/main.yaml | 39 ------ .../roles/gather-pod-logs/tasks/main.yaml | 61 --------- .../gather-selenium-data/tasks/main.yaml | 31 ----- .../roles/helm-release-status/tasks/main.yaml | 51 ------- .../roles/osh-run-script/defaults/main.yaml | 17 --- .../roles/osh-run-script/tasks/main.yaml | 28 ---- .../roles/upgrade-host/defaults/main.yml | 15 --- .../roles/upgrade-host/tasks/main.yaml | 44 ------- tools/helm_tk.sh | 4 +- zuul.d/base.yaml | 124 ++++-------------- 33 files changed, 29 insertions(+), 1325 deletions(-) delete mode 100644 tools/gate/playbooks/airship-porthole-collect-logs.yaml delete mode 100644 tools/gate/playbooks/airship-porthole-gate-runner.yaml delete mode 100644 tools/gate/playbooks/roles/airship-run-script-set/defaults/main.yaml delete mode 100644 tools/gate/playbooks/roles/airship-run-script-set/tasks/main.yaml delete mode 100644 tools/gate/playbooks/roles/airship-run-script/defaults/main.yaml delete mode 100644 tools/gate/playbooks/roles/airship-run-script/tasks/main.yaml delete mode 100644 tools/gate/playbooks/roles/deploy-apparmor/tasks/main.yaml delete mode 100644 tools/gate/playbooks/roles/deploy-docker/defaults/main.yml delete mode 100644 tools/gate/playbooks/roles/deploy-docker/tasks/deploy-ansible-docker-support.yaml delete mode 100644 tools/gate/playbooks/roles/deploy-docker/tasks/main.yaml delete mode 100644 tools/gate/playbooks/roles/deploy-docker/templates/centos-docker.service.j2 delete mode 100644 tools/gate/playbooks/roles/deploy-docker/templates/fedora-docker.service.j2 delete mode 100644 tools/gate/playbooks/roles/deploy-docker/templates/http-proxy.conf.j2 delete mode 100644 tools/gate/playbooks/roles/deploy-docker/templates/ubuntu-docker.service.j2 delete mode 100644 tools/gate/playbooks/roles/deploy-jq/tasks/main.yaml delete mode 100644 tools/gate/playbooks/roles/deploy-package/defaults/main.yml delete mode 100644 tools/gate/playbooks/roles/deploy-package/tasks/dist.yaml delete mode 100644 tools/gate/playbooks/roles/deploy-package/tasks/pip.yaml delete mode 100644 tools/gate/playbooks/roles/deploy-python-pip/defaults/main.yml delete mode 100644 tools/gate/playbooks/roles/deploy-python-pip/tasks/main.yaml delete mode 100644 tools/gate/playbooks/roles/deploy-python/tasks/main.yaml delete mode 100644 tools/gate/playbooks/roles/describe-kubernetes-objects/tasks/main.yaml delete mode 100644 tools/gate/playbooks/roles/disable-local-nameserver/tasks/main.yaml delete mode 100644 tools/gate/playbooks/roles/gather-host-logs/tasks/main.yaml delete mode 100644 tools/gate/playbooks/roles/gather-pod-logs/tasks/main.yaml delete mode 100644 tools/gate/playbooks/roles/gather-selenium-data/tasks/main.yaml delete mode 100644 tools/gate/playbooks/roles/helm-release-status/tasks/main.yaml delete mode 100644 tools/gate/playbooks/roles/osh-run-script/defaults/main.yaml delete mode 100644 tools/gate/playbooks/roles/osh-run-script/tasks/main.yaml delete mode 100644 tools/gate/playbooks/roles/upgrade-host/defaults/main.yml delete mode 100644 tools/gate/playbooks/roles/upgrade-host/tasks/main.yaml diff --git a/tools/gate/playbooks/airship-porthole-collect-logs.yaml b/tools/gate/playbooks/airship-porthole-collect-logs.yaml deleted file mode 100644 index 30ac3324..00000000 --- a/tools/gate/playbooks/airship-porthole-collect-logs.yaml +++ /dev/null @@ -1,39 +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 }} | default('') }}" - 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 }} | default('') }}" - logs_dir: "/tmp/logs" - roles: - - helm-release-status - - describe-kubernetes-objects - - gather-pod-logs - - gather-selenium-data - tags: - - helm-release-status - - describe-kubernetes-objects - - gather-pod-logs - - gather-selenium-data diff --git a/tools/gate/playbooks/airship-porthole-gate-runner.yaml b/tools/gate/playbooks/airship-porthole-gate-runner.yaml deleted file mode 100644 index 39989814..00000000 --- a/tools/gate/playbooks/airship-porthole-gate-runner.yaml +++ /dev/null @@ -1,50 +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 - roles: - - ensure-python - - ensure-pip - - ensure-tox - - start-zuul-console - - clear-firewall - - ensure-docker - tasks: - - name: Install deps for tests - shell: | - set -x - ./tools/deployment/000-install-packages.sh - ./tools/deployment/002-build-charts.sh - sudo fdisk --list - df -h - sudo mkdir -p /opt/ext_vol - BIG_VOLUME=$(sudo fdisk -l 2>&1 | grep -E 80G | grep Linux | awk '{print $1}') - if ! mount | grep "${BIG_VOLUME}" - then - sudo mkfs.ext4 "${BIG_VOLUME}" - sudo mount "${BIG_VOLUME}" /opt/ext_vol - df -h - fi - ./tools/deployment/003-deploy-k8s.sh - ./tools/deployment/004-make-images.sh - args: - chdir: "{{ zuul.project.src_dir }}/{{ args.chdir }}" - executable: /bin/bash - environment: - DISTRO: "{{ distro_suffix | default('') }}" - become: True - - name: Run gate scripts - include_role: - name: osh-run-script - vars: - gate_script_path: "{{ item }}" - with_items: "{{ gate_scripts }}" diff --git a/tools/gate/playbooks/roles/airship-run-script-set/defaults/main.yaml b/tools/gate/playbooks/roles/airship-run-script-set/defaults/main.yaml deleted file mode 100644 index 949385db..00000000 --- a/tools/gate/playbooks/roles/airship-run-script-set/defaults/main.yaml +++ /dev/null @@ -1,27 +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. - ---- -ceph_osd_data_device: "/dev/loop0" -kubeadm: - pod_network_cidr: "10.244.0.0/24" -osh_params: - container_distro_name: ubuntu - container_distro_version: jammy - # feature_gates: -site: airskiff -HELM_ARTIFACT_URL: https://get.helm.sh/helm-v3.15.4-linux-amd64.tar.gz -HTK_COMMIT: 43fd7143481b6ddda0dbd2f26bf6ec39a417b15b -OSH_INFRA_COMMIT: 43fd7143481b6ddda0dbd2f26bf6ec39a417b15b -OSH_COMMIT: 540df5cb0dbdaed63c202e2d6f2b7891062f8203 -COREDNS_VERSION: v1.11.1 -... diff --git a/tools/gate/playbooks/roles/airship-run-script-set/tasks/main.yaml b/tools/gate/playbooks/roles/airship-run-script-set/tasks/main.yaml deleted file mode 100644 index 3f711f6e..00000000 --- a/tools/gate/playbooks/roles/airship-run-script-set/tasks/main.yaml +++ /dev/null @@ -1,64 +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. - ---- -- block: - - name: "Run script set {{ workload }}" - shell: | - set -xe; - {{ gate_script_path }} - loop: "{{ workload }}" - loop_control: - loop_var: gate_script_path - pause: 5 - args: - chdir: "{{ zuul.project.src_dir }}/{{ gate_scripts_relative_path }}" - environment: - CEPH_OSD_DATA_DEVICE: "{{ ceph_osd_data_device }}" - POD_NETWORK_CIDR: "{{ kubeadm.pod_network_cidr }}" - zuul_site_mirror_fqdn: "{{ zuul_site_mirror_fqdn }}" - OSH_EXTRA_HELM_ARGS: "{{ zuul_osh_extra_helm_args_relative_path | default('') }}" - OSH_PATH: "{{ zuul_osh_relative_path | default('../openstack-helm/') }}" - OSH_INFRA_PATH: "{{ zuul_osh_infra_relative_path | default('../openstack-helm-infra/') }}" - 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('') }}" - FEATURE_GATES: "{{ osh_params.feature_gates | default('') }}" - RUN_HELM_TESTS: "{{ run_helm_tests | default('yes') }}" - PL_SITE: "{{ site | default('airskiff') }}" - HELM_ARTIFACT_URL: "{{ HELM_ARTIFACT_URL | default('https://get.helm.sh/helm-v3.15.2-linux-amd64.tar.gz') }}" - HTK_COMMIT: "{{ HTK_COMMIT | default('cfff60ec10a6c386f38db79bb9f59a552c2b032f') }}" - OSH_INFRA_COMMIT: "{{ OSH_INFRA_COMMIT | default('cfff60ec10a6c386f38db79bb9f59a552c2b032f') }}" - OSH_COMMIT: "{{ OSH_COMMIT | default('2d9457e34ca4200ed631466bd87569b0214c92e7') }}" - COREDNS_VERSION: "{{ coredns_version | default('v1.11.1') }}" - # NOTE(aostapenko) using bigger than async_status timeout due to async_status issue with - # not recognizing timed out jobs: https://github.com/ansible/ansible/issues/25637 - async: 3600 - poll: 0 - register: async_results - - - name: Wait for script set to finish - async_status: - jid: '{{ item.ansible_job_id }}' - register: jobs - until: jobs.finished - delay: 5 - retries: 360 - loop: "{{ async_results.results }}" - - always: - - name: Print script set output - shell: | - # NOTE(aostapenko) safely retrieving items for the unlikely case if jobs timed out in async_status - echo 'STDOUT:\n{{ item.get("stdout") | regex_replace("\'", "") }}\nSTDERR:\n{{ item.get("stderr") | regex_replace("\'", "") }}' - loop: "{{ jobs.results }}" -... diff --git a/tools/gate/playbooks/roles/airship-run-script/defaults/main.yaml b/tools/gate/playbooks/roles/airship-run-script/defaults/main.yaml deleted file mode 100644 index 949385db..00000000 --- a/tools/gate/playbooks/roles/airship-run-script/defaults/main.yaml +++ /dev/null @@ -1,27 +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. - ---- -ceph_osd_data_device: "/dev/loop0" -kubeadm: - pod_network_cidr: "10.244.0.0/24" -osh_params: - container_distro_name: ubuntu - container_distro_version: jammy - # feature_gates: -site: airskiff -HELM_ARTIFACT_URL: https://get.helm.sh/helm-v3.15.4-linux-amd64.tar.gz -HTK_COMMIT: 43fd7143481b6ddda0dbd2f26bf6ec39a417b15b -OSH_INFRA_COMMIT: 43fd7143481b6ddda0dbd2f26bf6ec39a417b15b -OSH_COMMIT: 540df5cb0dbdaed63c202e2d6f2b7891062f8203 -COREDNS_VERSION: v1.11.1 -... diff --git a/tools/gate/playbooks/roles/airship-run-script/tasks/main.yaml b/tools/gate/playbooks/roles/airship-run-script/tasks/main.yaml deleted file mode 100644 index f7bb2545..00000000 --- a/tools/gate/playbooks/roles/airship-run-script/tasks/main.yaml +++ /dev/null @@ -1,42 +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. - ---- -- name: "Run script {{ workload[0] }}" - shell: | - set -xe; - {{ gate_script_path }} - vars: - gate_script_path: "{{ workload[0] }}" - args: - chdir: "{{ zuul.project.src_dir }}/{{ gate_scripts_relative_path }}" - environment: - DISTRO: "{{ distro_suffix | default('') }}" - CEPH_OSD_DATA_DEVICE: "{{ ceph_osd_data_device }}" - POD_NETWORK_CIDR: "{{ kubeadm.pod_network_cidr }}" - zuul_site_mirror_fqdn: "{{ zuul_site_mirror_fqdn }}" - OSH_EXTRA_HELM_ARGS: "{{ zuul_osh_extra_helm_args_relative_path | default('') }}" - OSH_PATH: "{{ zuul_osh_relative_path | default('../openstack-helm/') }}" - OSH_INFRA_PATH: "{{ zuul_osh_infra_relative_path | default('../openstack-helm-infra/') }}" - 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('') }}" - FEATURE_GATES: "{{ osh_params.feature_gates | default('') }}" - RUN_HELM_TESTS: "{{ run_helm_tests | default('yes') }}" - PL_SITE: "{{ site | default('airskiff') }}" - HELM_ARTIFACT_URL: "{{ HELM_ARTIFACT_URL | default('https://get.helm.sh/helm-v3.15.2-linux-amd64.tar.gz') }}" - HTK_COMMIT: "{{ HTK_COMMIT | default('cfff60ec10a6c386f38db79bb9f59a552c2b032f') }}" - OSH_INFRA_COMMIT: "{{ OSH_INFRA_COMMIT | default('cfff60ec10a6c386f38db79bb9f59a552c2b032f') }}" - OSH_COMMIT: "{{ OSH_COMMIT | default('2d9457e34ca4200ed631466bd87569b0214c92e7') }}" - COREDNS_VERSION: "{{ coredns_version | default('v1.11.1') }}" - FEATURES: "images {{ osh_params.feature_gates | default('') | regex_replace(',', ' ') }} {{ osh_params.openstack_release | default('') }} {{ osh_params.container_distro_name | default('') }}_{{ osh_params.container_distro_version | default('') }} {{ osh_params.container_distro_name | default('') }}" -... diff --git a/tools/gate/playbooks/roles/deploy-apparmor/tasks/main.yaml b/tools/gate/playbooks/roles/deploy-apparmor/tasks/main.yaml deleted file mode 100644 index d00e7c8a..00000000 --- a/tools/gate/playbooks/roles/deploy-apparmor/tasks/main.yaml +++ /dev/null @@ -1,37 +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. - ---- -- block: - - name: ensuring AppArmor is deployed on host - when: ansible_distribution == 'Ubuntu' - include_role: - name: deploy-package - tasks_from: dist - vars: - packages: - deb: - - apparmor - - - name: "Enable AppArmor" - when: ansible_distribution == 'Ubuntu' - become: true - become_user: root - shell: |- - set -xe - systemctl enable apparmor - systemctl start apparmor - systemctl status apparmor.service - args: - executable: /bin/bash - ignore_errors: True -... diff --git a/tools/gate/playbooks/roles/deploy-docker/defaults/main.yml b/tools/gate/playbooks/roles/deploy-docker/defaults/main.yml deleted file mode 100644 index b1a6fabd..00000000 --- a/tools/gate/playbooks/roles/deploy-docker/defaults/main.yml +++ /dev/null @@ -1,18 +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. - ---- -proxy: - http: null - https: null - noproxy: null -... diff --git a/tools/gate/playbooks/roles/deploy-docker/tasks/deploy-ansible-docker-support.yaml b/tools/gate/playbooks/roles/deploy-docker/tasks/deploy-ansible-docker-support.yaml deleted file mode 100644 index 3bba2153..00000000 --- a/tools/gate/playbooks/roles/deploy-docker/tasks/deploy-ansible-docker-support.yaml +++ /dev/null @@ -1,70 +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. - ---- -- name: ensuring SELinux is disabled on centos & fedora - when: ansible_distribution == 'CentOS' or ansible_distribution == 'Red Hat Enterprise Linux' or ansible_distribution == 'Fedora' - become: true - become_user: root - command: setenforce 0 - ignore_errors: True - -# NOTE(portdirect): See https://ask.openstack.org/en/question/110437/importerror-cannot-import-name-unrewindablebodyerror/ -- name: fix docker removal issue with ansible's docker_container on centos - when: ansible_distribution == 'CentOS' or ansible_distribution == 'Red Hat Enterprise Linux' - block: - - name: remove requests and urllib3 distro packages to fix docker removal issue with ansible's docker_container on centos - include_role: - name: deploy-package - tasks_from: dist - vars: - state: absent - packages: - rpm: - - python-urllib3 - - python-requests - - name: restore requests and urllib3 distro packages to fix docker removal issue with ansible's docker_container on centos - include_role: - name: deploy-package - tasks_from: dist - vars: - state: present - packages: - rpm: - - python-urllib3 - - python-requests - -- name: install additional packages - include_role: - name: deploy-package - tasks_from: dist - vars: - state: present - packages: - deb: - - conntrack - - bc - - nmap - - ethtool - rpm: - - conntrack-tools - - bc - - nmap - -- name: Ensure docker python packages deployed - include_role: - name: deploy-package - tasks_from: pip - vars: - packages: - - docker -... diff --git a/tools/gate/playbooks/roles/deploy-docker/tasks/main.yaml b/tools/gate/playbooks/roles/deploy-docker/tasks/main.yaml deleted file mode 100644 index d0ad154d..00000000 --- a/tools/gate/playbooks/roles/deploy-docker/tasks/main.yaml +++ /dev/null @@ -1,80 +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. - ---- -- name: setting default limit memlock - shell: | - set -xe; - echo "DefaultLimitMEMLOCK=16777216" | sudo tee -a /etc/systemd/system.conf - sudo systemctl daemon-reexec - sudo systemctl daemon-reload - -- name: check if docker deploy is needed - raw: which docker - register: need_docker - ignore_errors: True - -- name: centos | moving systemd unit into place - when: ( ansible_distribution == 'CentOS' or ansible_distribution == 'Red Hat Enterprise Linux' ) and ( need_docker is failed ) - template: - src: centos-docker.service.j2 - dest: /etc/systemd/system/docker.service - mode: 416 - -- name: fedora | moving systemd unit into place - when: ( ansible_distribution == 'Fedora' ) and ( need_docker is failed ) - template: - src: fedora-docker.service.j2 - dest: /etc/systemd/system/docker.service - mode: 416 - -- name: ubuntu | moving systemd unit into place - when: ( ansible_distribution == 'Debian' or ansible_distribution == 'Ubuntu' ) and ( need_docker is failed ) - template: - src: ubuntu-docker.service.j2 - dest: /etc/systemd/system/docker.service - mode: 416 - -# NOTE: (lamt) Setting up the proxy before installing docker -- name: ensure docker.service.d directory exists - when: proxy.http - file: - path: /etc/systemd/system/docker.service.d - state: directory - -- name: proxy | moving proxy systemd unit into place - when: proxy.http - template: - src: http-proxy.conf.j2 - dest: /etc/systemd/system/docker.service.d/http-proxy.conf - mode: 416 - -- name: deploy docker packages - when: need_docker is failed - include_role: - name: deploy-package - tasks_from: dist - vars: - packages: - deb: - - docker.io - rpm: - - docker - -- name: restarting docker - systemd: - state: restarted - daemon_reload: yes - name: docker - -- include: deploy-ansible-docker-support.yaml -... diff --git a/tools/gate/playbooks/roles/deploy-docker/templates/centos-docker.service.j2 b/tools/gate/playbooks/roles/deploy-docker/templates/centos-docker.service.j2 deleted file mode 100644 index bbaea27b..00000000 --- a/tools/gate/playbooks/roles/deploy-docker/templates/centos-docker.service.j2 +++ /dev/null @@ -1,35 +0,0 @@ -[Unit] -Description=Docker Application Container Engine -Documentation=http://docs.docker.com -After=network.target - -[Service] -Type=notify -NotifyAccess=all -Environment=GOTRACEBACK=crash -Environment=DOCKER_HTTP_HOST_COMPAT=1 -Environment=PATH=/usr/libexec/docker:/usr/bin:/usr/sbin -ExecStart=/usr/bin/dockerd-current \ - --add-runtime docker-runc=/usr/libexec/docker/docker-runc-current \ - --default-runtime=docker-runc \ - --exec-opt native.cgroupdriver=systemd \ - --userland-proxy-path=/usr/libexec/docker/docker-proxy-current \ - --seccomp-profile=/etc/docker/seccomp.json \ - --graph=/var/lib/docker \ - --storage-driver=overlay2 \ - --log-driver=json-file \ - --iptables=false -# NOTE(portdirect): fix mount propagation for CentOS, this is done post start, -# as docker seems to reset this. -ExecStartPost=/usr/bin/mount --make-rshared / -ExecReload=/bin/kill -s HUP $MAINPID -LimitNOFILE=1048576 -LimitNPROC=1048576 -LimitCORE=infinity -TimeoutStartSec=0 -Restart=on-abnormal -MountFlags=share -KillMode=process - -[Install] -WantedBy=multi-user.target diff --git a/tools/gate/playbooks/roles/deploy-docker/templates/fedora-docker.service.j2 b/tools/gate/playbooks/roles/deploy-docker/templates/fedora-docker.service.j2 deleted file mode 100644 index 2c796c6b..00000000 --- a/tools/gate/playbooks/roles/deploy-docker/templates/fedora-docker.service.j2 +++ /dev/null @@ -1,34 +0,0 @@ -[Unit] -Description=Docker Application Container Engine -Documentation=http://docs.docker.com -After=network.target docker-containerd.service -Requires=docker-containerd.service - -[Service] -Type=notify -Environment=GOTRACEBACK=crash -ExecStart=/usr/bin/dockerd-current \ - --add-runtime oci=/usr/libexec/docker/docker-runc-current \ - --default-runtime=oci \ - --containerd /run/containerd.sock \ - --exec-opt native.cgroupdriver=systemd \ - --userland-proxy-path=/usr/libexec/docker/docker-proxy-current \ - --init-path=/usr/libexec/docker/docker-init-current \ - --seccomp-profile=/etc/docker/seccomp.json \ - --graph=/var/lib/docker \ - --storage-driver=overlay2 \ - --log-driver=json-file \ - --iptables=false -# NOTE(portdirect): fix mount propagation for Fedora, this is done post start, -# as docker seems to reset this. -ExecStartPost=/usr/bin/mount --make-rshared / -ExecReload=/bin/kill -s HUP $MAINPID -TasksMax=8192 -LimitNOFILE=1048576 -LimitNPROC=1048576 -LimitCORE=infinity -TimeoutStartSec=0 -Restart=on-abnormal - -[Install] -WantedBy=multi-user.target diff --git a/tools/gate/playbooks/roles/deploy-docker/templates/http-proxy.conf.j2 b/tools/gate/playbooks/roles/deploy-docker/templates/http-proxy.conf.j2 deleted file mode 100644 index 90d8e1d5..00000000 --- a/tools/gate/playbooks/roles/deploy-docker/templates/http-proxy.conf.j2 +++ /dev/null @@ -1,4 +0,0 @@ -[Service] -Environment="HTTP_PROXY={{ proxy.http }}" -Environment="HTTPS_PROXY={{ proxy.https }}" -Environment="NO_PROXY={{ proxy.noproxy }}" diff --git a/tools/gate/playbooks/roles/deploy-docker/templates/ubuntu-docker.service.j2 b/tools/gate/playbooks/roles/deploy-docker/templates/ubuntu-docker.service.j2 deleted file mode 100644 index 2451b198..00000000 --- a/tools/gate/playbooks/roles/deploy-docker/templates/ubuntu-docker.service.j2 +++ /dev/null @@ -1,30 +0,0 @@ -[Unit] -Description=Docker Application Container Engine -Documentation=https://docs.docker.com -After=network.target docker.socket firewalld.service -Requires=docker.socket - -[Service] -Type=notify -# the default is not to use systemd for cgroups because the delegate issues still -# exists and systemd currently does not support the cgroup feature set required -# for containers run by docker -EnvironmentFile=-/etc/default/docker -ExecStart=/usr/bin/dockerd --iptables=false -H fd:// $DOCKER_OPTS -ExecReload=/bin/kill -s HUP $MAINPID -LimitNOFILE=1048576 -# Having non-zero Limit*s causes performance problems due to accounting overhead -# in the kernel. We recommend using cgroups to do container-local accounting. -LimitNPROC=infinity -LimitCORE=infinity -# Uncomment TasksMax if your systemd version supports it. -# Only systemd 226 and above support this version. -TasksMax=infinity -TimeoutStartSec=0 -# set delegate yes so that systemd does not reset the cgroups of docker containers -Delegate=yes -# kill only the docker process, not all processes in the cgroup -KillMode=process - -[Install] -WantedBy=multi-user.target diff --git a/tools/gate/playbooks/roles/deploy-jq/tasks/main.yaml b/tools/gate/playbooks/roles/deploy-jq/tasks/main.yaml deleted file mode 100644 index ed78c625..00000000 --- a/tools/gate/playbooks/roles/deploy-jq/tasks/main.yaml +++ /dev/null @@ -1,36 +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. - ---- -- block: - - name: ensuring jq is deployed on host - when: ansible_distribution == 'Debian' or ansible_distribution == 'Ubuntu' or ansible_distribution == 'Fedora' - include_role: - name: deploy-package - tasks_from: dist - vars: - packages: - deb: - - jq - rpm: - - jq - - - name: installing jq 1.5 binary for centos - become: true - become_user: root - when: ansible_distribution == 'CentOS' or ansible_distribution == 'Red Hat Enterprise Linux' - get_url: - url: https://github.com/stedolan/jq/releases/download/jq-1.5/jq-linux64 - dest: /usr/bin/jq - mode: 365 - force: yes -... diff --git a/tools/gate/playbooks/roles/deploy-package/defaults/main.yml b/tools/gate/playbooks/roles/deploy-package/defaults/main.yml deleted file mode 100644 index b1a6fabd..00000000 --- a/tools/gate/playbooks/roles/deploy-package/defaults/main.yml +++ /dev/null @@ -1,18 +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. - ---- -proxy: - http: null - https: null - noproxy: null -... diff --git a/tools/gate/playbooks/roles/deploy-package/tasks/dist.yaml b/tools/gate/playbooks/roles/deploy-package/tasks/dist.yaml deleted file mode 100644 index 73939ffd..00000000 --- a/tools/gate/playbooks/roles/deploy-package/tasks/dist.yaml +++ /dev/null @@ -1,46 +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. - ---- -- name: managing distro packages for ubuntu - become: true - become_user: root - when: ansible_distribution == 'Debian' or ansible_distribution == 'Ubuntu' - vars: - state: present - apt: - name: "{{ item }}" - state: "{{ state }}" - with_items: "{{ packages.deb }}" - -- name: managing distro packages for centos - become: true - become_user: root - when: ansible_distribution == 'CentOS' or ansible_distribution == 'Red Hat Enterprise Linux' - vars: - state: present - yum: - name: "{{ item }}" - state: "{{ state }}" - with_items: "{{ packages.rpm }}" - -- name: managing distro packages for fedora - become: true - become_user: root - when: ansible_distribution == 'Fedora' - vars: - state: present - dnf: - name: "{{ item }}" - state: "{{ state }}" - with_items: "{{ packages.rpm }}" -... diff --git a/tools/gate/playbooks/roles/deploy-package/tasks/pip.yaml b/tools/gate/playbooks/roles/deploy-package/tasks/pip.yaml deleted file mode 100644 index 0b2a4836..00000000 --- a/tools/gate/playbooks/roles/deploy-package/tasks/pip.yaml +++ /dev/null @@ -1,27 +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. - ---- -- name: managing pip packages - become: true - become_user: root - environment: - http_proxy: "{{ proxy.http }}" - https_proxy: "{{ proxy.https }}" - no_proxy: "{{ proxy.noproxy }}" - vars: - state: present - pip: - name: "{{ item }}" - state: "{{ state }}" - with_items: "{{ packages }}" -... diff --git a/tools/gate/playbooks/roles/deploy-python-pip/defaults/main.yml b/tools/gate/playbooks/roles/deploy-python-pip/defaults/main.yml deleted file mode 100644 index b1a6fabd..00000000 --- a/tools/gate/playbooks/roles/deploy-python-pip/defaults/main.yml +++ /dev/null @@ -1,18 +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. - ---- -proxy: - http: null - https: null - noproxy: null -... diff --git a/tools/gate/playbooks/roles/deploy-python-pip/tasks/main.yaml b/tools/gate/playbooks/roles/deploy-python-pip/tasks/main.yaml deleted file mode 100644 index 0be60307..00000000 --- a/tools/gate/playbooks/roles/deploy-python-pip/tasks/main.yaml +++ /dev/null @@ -1,55 +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. - ---- -- name: check if pip installed - command: pip3 --version - register: pip_version_output - ignore_errors: yes - changed_when: false - -- name: ensuring python pip package is present for ubuntu - when: ( pip_version_output is failed ) and ( ansible_distribution == 'Debian' or ansible_distribution == 'Ubuntu' ) - apt: - name: python3-pip - state: present - -- name: ensuring python pip package is present for centos - when: ( pip_version_output is failed ) and ( ansible_distribution == 'CentOS' or ansible_distribution == 'Red Hat Enterprise Linux' ) - block: - - name: ensuring epel-release package is present for centos as python3-pip is in the epel repo - yum: - name: epel-release - state: present - - name: ensuring python pip package is present for centos - yum: - name: python3-pip - state: present - -- name: ensuring python pip package is present for fedora via the python3-pip rpm - when: ( pip_version_output is failed ) and ( ansible_distribution == 'Fedora' ) - dnf: - name: python3-pip - state: present - -- name: ensuring pip is the latest version - become: true - become_user: root - environment: - http_proxy: "{{ proxy.http }}" - https_proxy: "{{ proxy.https }}" - no_proxy: "{{ proxy.noproxy }}" - pip: - name: pip - state: latest - executable: pip3 -... diff --git a/tools/gate/playbooks/roles/deploy-python/tasks/main.yaml b/tools/gate/playbooks/roles/deploy-python/tasks/main.yaml deleted file mode 100644 index babce86d..00000000 --- a/tools/gate/playbooks/roles/deploy-python/tasks/main.yaml +++ /dev/null @@ -1,16 +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. - ---- -- name: ensuring python3 is present on all hosts - raw: test -e /usr/bin/python3 || (sudo apt -y update && sudo apt install -y python3-minimal) || (sudo yum install -y python3) || (sudo dnf install -y python3) -... diff --git a/tools/gate/playbooks/roles/describe-kubernetes-objects/tasks/main.yaml b/tools/gate/playbooks/roles/describe-kubernetes-objects/tasks/main.yaml deleted file mode 100644 index bbd2bad3..00000000 --- a/tools/gate/playbooks/roles/describe-kubernetes-objects/tasks/main.yaml +++ /dev/null @@ -1,108 +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. - -- name: "creating directory for cluster scoped objects" - file: - path: "{{ logs_dir }}/objects/cluster" - state: directory - -- name: "Gathering descriptions for cluster scoped objects" - shell: |- - set -e - export OBJECT_TYPE=node,clusterrole,clusterrolebinding,storageclass,namespace - export PARALLELISM_FACTOR=2 - - function list_objects () { - printf ${OBJECT_TYPE} | xargs -d ',' -I {} -P1 -n1 bash -c 'echo "$@"' _ {} - } - export -f list_objects - - function name_objects () { - export OBJECT=$1 - kubectl get ${OBJECT} -o name | xargs -L1 -I {} -P1 -n1 bash -c 'echo "${OBJECT} ${1#*/}"' _ {} - } - export -f name_objects - - function get_objects () { - input=($1) - export OBJECT=${input[0]} - export NAME=${input[1]#*/} - echo "${OBJECT}/${NAME}" - DIR="{{ logs_dir }}/objects/cluster/${OBJECT}" - mkdir -p ${DIR} - kubectl get ${OBJECT} ${NAME} -o yaml > "${DIR}/${NAME}.yaml" - kubectl describe ${OBJECT} ${NAME} > "${DIR}/${NAME}.txt" - } - export -f get_objects - - list_objects | \ - xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'name_objects "$@"' _ {} | \ - xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'get_objects "$@"' _ {} - args: - executable: /bin/bash - ignore_errors: True - -- name: "creating directory for namespace scoped objects" - file: - path: "{{ logs_dir }}/objects/namespaced" - state: directory - -- name: "Gathering descriptions for namespace scoped objects" - shell: |- - set -e - export OBJECT_TYPE=configmaps,cronjobs,daemonsets,deployment,endpoints,ingresses,jobs,networkpolicies,pods,podsecuritypolicies,persistentvolumeclaims,rolebindings,roles,secrets,serviceaccounts,services,statefulsets - export PARALLELISM_FACTOR=2 - function get_namespaces () { - kubectl get namespaces -o name | awk -F '/' '{ print $NF }' - } - - function list_namespaced_objects () { - export NAMESPACE=$1 - printf ${OBJECT_TYPE} | xargs -d ',' -I {} -P1 -n1 bash -c 'echo "${NAMESPACE} $@"' _ {} - } - export -f list_namespaced_objects - - function name_objects () { - input=($1) - export NAMESPACE=${input[0]} - export OBJECT=${input[1]} - kubectl get -n ${NAMESPACE} ${OBJECT} -o name | xargs -L1 -I {} -P1 -n1 bash -c 'echo "${NAMESPACE} ${OBJECT} $@"' _ {} - } - export -f name_objects - - function get_objects () { - input=($1) - export NAMESPACE=${input[0]} - export OBJECT=${input[1]} - export NAME=${input[2]#*/} - echo "${NAMESPACE}/${OBJECT}/${NAME}" - DIR="{{ logs_dir }}/objects/namespaced/${NAMESPACE}/${OBJECT}" - mkdir -p ${DIR} - kubectl get -n ${NAMESPACE} ${OBJECT} ${NAME} -o yaml > "${DIR}/${NAME}.yaml" - kubectl describe -n ${NAMESPACE} ${OBJECT} ${NAME} > "${DIR}/${NAME}.txt" - } - export -f get_objects - - get_namespaces | \ - xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'list_namespaced_objects "$@"' _ {} | \ - xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'name_objects "$@"' _ {} | \ - xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'get_objects "$@"' _ {} - args: - executable: /bin/bash - ignore_errors: True - -- name: "Downloads logs to executor" - synchronize: - src: "{{ logs_dir }}/objects" - dest: "{{ zuul.executor.log_root }}/{{ inventory_hostname }}" - mode: pull - ignore_errors: yes diff --git a/tools/gate/playbooks/roles/disable-local-nameserver/tasks/main.yaml b/tools/gate/playbooks/roles/disable-local-nameserver/tasks/main.yaml deleted file mode 100644 index f2ea4e91..00000000 --- a/tools/gate/playbooks/roles/disable-local-nameserver/tasks/main.yaml +++ /dev/null @@ -1,59 +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): We disable the local nameserver as it interferes with the -# k8s dns-service and other local resolvers used for development use. -# See the following for the original config: -# * https://github.com/openstack/project-config/blob/0332c33dd134033e0620645c252f82b77e4c16f5/nodepool/elements/nodepool-base/finalise.d/89-unbound - ---- -- name: Disable local nameserver and systemd-resolved service - when: ansible_distribution == 'Ubuntu' - block: - - name: update rc.local - blockinfile: - path: /etc/rc.local - mode: 365 - block: | - #!/bin/bash - set -o xtrace - # Some providers inject dynamic network config statically. Work around this - # for DNS nameservers. This is expected to fail on some nodes so remove -e. - set +e - sed -i -e 's/^\(DNS[0-9]*=[.0-9]\+\)/#\1/g' /etc/sysconfig/network-scripts/ifcfg-* - sed -i -e 's/^NETCONFIG_DNS_POLICY=.*/NETCONFIG_DNS_POLICY=""/g' /etc/sysconfig/network/config - set -e - echo 'nameserver 208.67.222.222' > /etc/resolv.conf - echo 'nameserver 8.8.8.8' >> /etc/resolv.conf - exit 0 - - name: write resolv.conf - blockinfile: - path: /etc/resolv.conf - mode: 644 - block: | - nameserver 208.67.222.222 - nameserver 8.8.8.8 - - name: stop unbound service - systemd: - state: stopped - enabled: no - masked: yes - daemon_reload: yes - name: unbound - - name: stop systemd-resolved service - systemd: - state: stopped - enabled: no - masked: yes - daemon_reload: yes - name: systemd-resolved -... diff --git a/tools/gate/playbooks/roles/gather-host-logs/tasks/main.yaml b/tools/gate/playbooks/roles/gather-host-logs/tasks/main.yaml deleted file mode 100644 index 29f028e3..00000000 --- a/tools/gate/playbooks/roles/gather-host-logs/tasks/main.yaml +++ /dev/null @@ -1,39 +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. - -- name: "creating directory for system status" - file: - path: "{{ logs_dir }}/system" - state: directory - -- name: "Get logs for each host" - become: yes - shell: |- - set -x - systemd-cgls --full --all --no-pager > {{ logs_dir }}/system/systemd-cgls.txt - ip addr > {{ logs_dir }}/system/ip-addr.txt - ip route > {{ logs_dir }}/system/ip-route.txt - lsblk > {{ logs_dir }}/system/lsblk.txt - mount > {{ logs_dir }}/system/mount.txt - docker images > {{ logs_dir }}/system/docker-images.txt - brctl show > {{ logs_dir }}/system/brctl-show.txt - ps aux --sort=-%mem > {{ logs_dir }}/system/ps.txt - args: - executable: /bin/bash - ignore_errors: True - -- name: "Downloads logs to executor" - synchronize: - src: "{{ logs_dir }}/system" - dest: "{{ zuul.executor.log_root }}/{{ inventory_hostname }}" - mode: pull - ignore_errors: True diff --git a/tools/gate/playbooks/roles/gather-pod-logs/tasks/main.yaml b/tools/gate/playbooks/roles/gather-pod-logs/tasks/main.yaml deleted file mode 100644 index 8f48b7da..00000000 --- a/tools/gate/playbooks/roles/gather-pod-logs/tasks/main.yaml +++ /dev/null @@ -1,61 +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. - -- name: "creating directory for pod logs" - file: - path: "{{ logs_dir }}/pod-logs" - state: directory - -- name: "creating directory for failed pod logs" - file: - path: "{{ logs_dir }}/pod-logs/failed-pods" - state: directory - -- name: "retrieve all container logs, current and previous (if they exist)" - shell: |- - set -e - PARALLELISM_FACTOR=2 - function get_namespaces () { - kubectl get namespaces -o name | awk -F '/' '{ print $NF }' - } - function get_pods () { - NAMESPACE=$1 - kubectl get pods -n ${NAMESPACE} -o name | awk -F '/' '{ print $NF }' | xargs -L1 -P 1 -I {} echo ${NAMESPACE} {} - } - export -f get_pods - function get_pod_logs () { - NAMESPACE=${1% *} - POD=${1#* } - INIT_CONTAINERS=$(kubectl get pod $POD -n ${NAMESPACE} -o json | jq -r '.spec.initContainers[]?.name') - CONTAINERS=$(kubectl get pod $POD -n ${NAMESPACE} -o json | jq -r '.spec.containers[].name') - for CONTAINER in ${INIT_CONTAINERS} ${CONTAINERS}; do - echo "${NAMESPACE}/${POD}/${CONTAINER}" - mkdir -p "{{ logs_dir }}/pod-logs/${NAMESPACE}/${POD}" - mkdir -p "{{ logs_dir }}/pod-logs/failed-pods/${NAMESPACE}/${POD}" - kubectl logs ${POD} -n ${NAMESPACE} -c ${CONTAINER} > "{{ logs_dir }}/pod-logs/${NAMESPACE}/${POD}/${CONTAINER}.txt" - kubectl logs --previous ${POD} -n ${NAMESPACE} -c ${CONTAINER} > "{{ logs_dir }}/pod-logs/failed-pods/${NAMESPACE}/${POD}/${CONTAINER}.txt" - done - } - export -f get_pod_logs - get_namespaces | \ - xargs -r -n 1 -P ${PARALLELISM_FACTOR} -I {} bash -c 'get_pods "$@"' _ {} | \ - xargs -r -n 2 -P ${PARALLELISM_FACTOR} -I {} bash -c 'get_pod_logs "$@"' _ {} - args: - executable: /bin/bash - ignore_errors: True - -- name: "Downloads pod logs to executor" - synchronize: - src: "{{ logs_dir }}/pod-logs" - dest: "{{ zuul.executor.log_root }}/{{ inventory_hostname }}" - mode: pull - ignore_errors: True diff --git a/tools/gate/playbooks/roles/gather-selenium-data/tasks/main.yaml b/tools/gate/playbooks/roles/gather-selenium-data/tasks/main.yaml deleted file mode 100644 index 3fcc9ca7..00000000 --- a/tools/gate/playbooks/roles/gather-selenium-data/tasks/main.yaml +++ /dev/null @@ -1,31 +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. - -- name: "creating directory for helm release descriptions" - file: - path: "{{ logs_dir }}/selenium" - state: directory - -- name: "Get selenium data" - shell: |- - set -x - cp /tmp/artifacts/* {{ logs_dir }}/selenium/. - args: - executable: /bin/bash - ignore_errors: True - -- name: "Downloads logs to executor" - synchronize: - src: "{{ logs_dir }}/selenium" - dest: "{{ zuul.executor.log_root }}/{{ inventory_hostname }}" - mode: pull - ignore_errors: True diff --git a/tools/gate/playbooks/roles/helm-release-status/tasks/main.yaml b/tools/gate/playbooks/roles/helm-release-status/tasks/main.yaml deleted file mode 100644 index b73250af..00000000 --- a/tools/gate/playbooks/roles/helm-release-status/tasks/main.yaml +++ /dev/null @@ -1,51 +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. - -- name: "creating directory for helm release status" - file: - path: "{{ logs_dir }}/helm/{{ directory }}" - state: directory - loop_control: - loop_var: directory - with_items: - - values - - releases - -- name: "retrieve all deployed charts" - shell: |- - set -e - helm ls --short - args: - executable: /bin/bash - register: helm_releases - ignore_errors: True - -- name: "Gather get release status for helm charts" - shell: |- - set -e - helm status {{ helm_released }} >> {{ logs_dir }}/helm/releases/{{ helm_release }}.txt - helm get values {{ helm_released }} >> {{ logs_dir }}/helm/values/{{ helm_release }}.yaml - args: - executable: /bin/bash - ignore_errors: True - vars: - helm_release: "{{ helm_released }}" - loop_control: - loop_var: helm_released - with_items: "{{ helm_releases.stdout_lines }}" - -- name: "Downloads logs to executor" - synchronize: - src: "{{ logs_dir }}/helm" - dest: "{{ zuul.executor.log_root }}/{{ inventory_hostname }}" - mode: pull - ignore_errors: True diff --git a/tools/gate/playbooks/roles/osh-run-script/defaults/main.yaml b/tools/gate/playbooks/roles/osh-run-script/defaults/main.yaml deleted file mode 100644 index 63470bfb..00000000 --- a/tools/gate/playbooks/roles/osh-run-script/defaults/main.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. - -osh_params: - openstack_release: yoga - container_distro_name: ubuntu - container_distro_version: jammy -# feature_gates: diff --git a/tools/gate/playbooks/roles/osh-run-script/tasks/main.yaml b/tools/gate/playbooks/roles/osh-run-script/tasks/main.yaml deleted file mode 100644 index a0f40e56..00000000 --- a/tools/gate/playbooks/roles/osh-run-script/tasks/main.yaml +++ /dev/null @@ -1,28 +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. - -- name: "Run script {{ gate_script_path }}" - shell: | - set -xe; - {{ gate_script_path }} - args: - chdir: "{{ zuul.project.src_dir }}/{{ args.chdir }}" - environment: - zuul_site_mirror_fqdn: "{{ zuul_site_mirror_fqdn }}" - OSH_EXTRA_HELM_ARGS: "{{ zuul_osh_extra_helm_args_relative_path | default('') }}" - OSH_PATH: "{{ zuul_osh_relative_path | default('../openstack-helm/') }}" - OSH_INFRA_PATH: "{{ zuul_osh_infra_relative_path | default('../openstack-helm-infra/') }}" - OPENSTACK_RELEASE: "{{ osh_params.openstack_release }}" - CONTAINER_DISTRO_NAME: "{{ osh_params.container_distro_name }}" - CONTAINER_DISTRO_VERSION: "{{ osh_params.container_distro_version }}" - FEATURE_GATES: "{{ osh_params.feature_gates | default('') }}" - DISTRO: "{{ distro_suffix | default('') }}" diff --git a/tools/gate/playbooks/roles/upgrade-host/defaults/main.yml b/tools/gate/playbooks/roles/upgrade-host/defaults/main.yml deleted file mode 100644 index 93b068cd..00000000 --- a/tools/gate/playbooks/roles/upgrade-host/defaults/main.yml +++ /dev/null @@ -1,15 +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. - ---- -ubuntu_kernel_hwe: false -... diff --git a/tools/gate/playbooks/roles/upgrade-host/tasks/main.yaml b/tools/gate/playbooks/roles/upgrade-host/tasks/main.yaml deleted file mode 100644 index a1fdedea..00000000 --- a/tools/gate/playbooks/roles/upgrade-host/tasks/main.yaml +++ /dev/null @@ -1,44 +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. - ---- -- name: Upgrade to HWE kernel on Ubuntu Hosts - when: - - ansible_distribution == 'Ubuntu' - - ubuntu_kernel_hwe == true - block: - - name: Deploy HWE kernel on Ubuntu Hosts - include_role: - name: deploy-package - tasks_from: dist - vars: - packages: - deb: - - 'linux-generic-hwe-{{ ansible_distribution_version }}' - - name: Reboot Host following kernel upgrade - shell: sleep 2 && reboot - become: yes - async: 30 - poll: 0 - ignore_errors: true - args: - executable: /bin/bash - - name: Wait for hosts to come up following reboot - wait_for: - host: '{{ hostvars[item].ansible_host }}' - port: 22 - state: started - delay: 60 - timeout: 240 - with_items: '{{ play_hosts }}' - connection: local -... diff --git a/tools/helm_tk.sh b/tools/helm_tk.sh index bb1dadb6..f6989cca 100755 --- a/tools/helm_tk.sh +++ b/tools/helm_tk.sh @@ -16,8 +16,8 @@ set -eux -HTK_REPO=${HTK_REPO:-"https://opendev.org/openstack/openstack-helm-infra.git"} -HTK_STABLE_COMMIT=${HTK_COMMIT:-"cfff60ec10a6c386f38db79bb9f59a552c2b032f"} +HTK_REPO=${HTK_REPO:-"https://opendev.org/openstack/openstack-helm.git"} +HTK_STABLE_COMMIT=${HTK_COMMIT:-"master"} TMP_DIR=$(mktemp -d) diff --git a/zuul.d/base.yaml b/zuul.d/base.yaml index 40039c0f..645def5b 100644 --- a/zuul.d/base.yaml +++ b/zuul.d/base.yaml @@ -79,11 +79,11 @@ parent: openstack-tox-py310 nodeset: treasuremap-airskiff-1node-ubuntu_jammy roles: - - zuul: openstack/openstack-helm-infra + - zuul: airship/kubernetes-entrypoint + - zuul: openstack/openstack-helm - zuul: zuul/zuul-jobs required-projects: - name: openstack/openstack-helm - - name: openstack/openstack-helm-infra - name: openstack/openstack-helm-plugin - name: airship/treasuremap override-checkout: v1.9 @@ -103,6 +103,7 @@ post-run: - tools/gate/playbooks/osh-infra-collect-logs.yaml vars: + treasuremap_ref: v1.9 extra_volume: size: 80G type: Linux @@ -119,8 +120,8 @@ loopback_device: /dev/loop100 loopback_image: "/opt/ext_vol/openstack-helm/ceph-loop.img" ceph_osd_data_device: /dev/loop100 - kube_version_repo: "v1.31" - kube_version: "1.31.3-1.1" + kube_version_repo: "v1.32" + kube_version: "1.32.1-1.1" calico_setup: true calico_version: "v3.27.4" cilium_setup: false @@ -132,7 +133,7 @@ helm_version: "v3.14.0" crictl_version: "v1.30.1" zuul_osh_relative_path: ../../openstack/openstack-helm - zuul_osh_infra_relative_path: ../../openstack/openstack-helm-infra + zuul_osh_infra_relative_path: ../../openstack/openstack-helm zuul_treasuremap_relative_path: ../../airship/treasuremap gate_scripts_relative_path: . run_helm_tests: "no" @@ -141,9 +142,9 @@ container_distro_name: ubuntu container_distro_version: jammy HELM_ARTIFACT_URL: https://get.helm.sh/helm-v3.16.4-linux-amd64.tar.gz - HTK_COMMIT: 3a4fb2185dec899a2f77e6ff46a04947ac89cd6c - OSH_INFRA_COMMIT: 3a4fb2185dec899a2f77e6ff46a04947ac89cd6c - OSH_COMMIT: 450f355bc7dd68c449700c8c5f3ff89d45103474 + HTK_COMMIT: master + OSH_INFRA_COMMIT: master + OSH_COMMIT: master gate_scripts: - ./tools/deployment/002-build-charts.sh - ./tools/deployment/003-prepare-k8s.sh @@ -157,36 +158,16 @@ - ./tools/deployment/060-postgresql-utility.sh -# - job: -# name: airship-porthole-openstack-tox-py310 -# parent: openstack-tox-py310 -# description: Runs cover job on jammy -# nodeset: airship-porthole-jammy-single-node -# pre-run: tools/gate/playbooks/airship-porthole-gate-runner.yaml -# timeout: 7200 -# vars: -# distro_suffix: ubuntu_jammy -# gate_scripts: -# - ./tools/deployment/005-calicoctl-utility.sh -# - ./tools/deployment/010-ceph-utility.sh -# - ./tools/deployment/020-compute-utility.sh -# - ./tools/deployment/030-etcdctl-utility.sh -# - ./tools/deployment/040-mysqlclient-utility.sh -# - ./tools/deployment/050-openstack-utility.sh -# - ./tools/deployment/060-postgresql-utility.sh -# args: -# chdir: ../porthole - - job: name: airship-porthole-openstack-tox-cover-kubeadm parent: openstack-tox-cover nodeset: treasuremap-airskiff-1node-ubuntu_jammy roles: - - zuul: openstack/openstack-helm-infra + - zuul: airship/kubernetes-entrypoint + - zuul: openstack/openstack-helm - zuul: zuul/zuul-jobs required-projects: - name: openstack/openstack-helm - - name: openstack/openstack-helm-infra - name: openstack/openstack-helm-plugin - name: airship/treasuremap override-checkout: v1.9 @@ -206,6 +187,7 @@ post-run: - tools/gate/playbooks/osh-infra-collect-logs.yaml vars: + treasuremap_ref: v1.9 extra_volume: size: 80G type: Linux @@ -222,8 +204,8 @@ loopback_device: /dev/loop100 loopback_image: "/opt/ext_vol/openstack-helm/ceph-loop.img" ceph_osd_data_device: /dev/loop100 - kube_version_repo: "v1.31" - kube_version: "1.31.3-1.1" + kube_version_repo: "v1.32" + kube_version: "1.32.1-1.1" calico_setup: true calico_version: "v3.27.4" cilium_setup: false @@ -235,7 +217,7 @@ helm_version: "v3.14.0" crictl_version: "v1.30.1" zuul_osh_relative_path: ../../openstack/openstack-helm - zuul_osh_infra_relative_path: ../../openstack/openstack-helm-infra + zuul_osh_infra_relative_path: ../../openstack/openstack-helm zuul_treasuremap_relative_path: ../../airship/treasuremap gate_scripts_relative_path: . run_helm_tests: "no" @@ -244,9 +226,9 @@ container_distro_name: ubuntu container_distro_version: jammy HELM_ARTIFACT_URL: https://get.helm.sh/helm-v3.16.4-linux-amd64.tar.gz - HTK_COMMIT: 3a4fb2185dec899a2f77e6ff46a04947ac89cd6c - OSH_INFRA_COMMIT: 3a4fb2185dec899a2f77e6ff46a04947ac89cd6c - OSH_COMMIT: 450f355bc7dd68c449700c8c5f3ff89d45103474 + HTK_COMMIT: master + OSH_INFRA_COMMIT: master + OSH_COMMIT: master gate_scripts: - ./tools/deployment/002-build-charts.sh - ./tools/deployment/003-prepare-k8s.sh @@ -261,26 +243,6 @@ -# - job: -# name: airship-porthole-openstack-tox-cover -# parent: openstack-tox-cover -# description: Runs cover job on jammy -# nodeset: airship-porthole-jammy-single-node -# pre-run: tools/gate/playbooks/airship-porthole-gate-runner.yaml -# timeout: 7200 -# vars: -# distro_suffix: ubuntu_jammy -# gate_scripts: -# - ./tools/deployment/005-calicoctl-utility.sh -# - ./tools/deployment/010-ceph-utility.sh -# - ./tools/deployment/020-compute-utility.sh -# - ./tools/deployment/030-etcdctl-utility.sh -# - ./tools/deployment/040-mysqlclient-utility.sh -# - ./tools/deployment/050-openstack-utility.sh -# - ./tools/deployment/060-postgresql-utility.sh -# args: -# chdir: ../porthole - - job: name: airship-porthole-images abstract: true @@ -316,11 +278,11 @@ description: Deploys all UC's and Executes functional tests nodeset: treasuremap-airskiff-1node-ubuntu_jammy roles: - - zuul: openstack/openstack-helm-infra + - zuul: airship/kubernetes-entrypoint + - zuul: openstack/openstack-helm - zuul: zuul/zuul-jobs required-projects: - name: openstack/openstack-helm - - name: openstack/openstack-helm-infra - name: openstack/openstack-helm-plugin - name: airship/treasuremap override-checkout: v1.9 @@ -342,6 +304,7 @@ post-run: - tools/gate/playbooks/osh-infra-collect-logs.yaml vars: + treasuremap_ref: v1.9 extra_volume: size: 80G type: Linux @@ -358,8 +321,8 @@ loopback_device: /dev/loop100 loopback_image: "/opt/ext_vol/openstack-helm/ceph-loop.img" ceph_osd_data_device: /dev/loop100 - kube_version_repo: "v1.31" - kube_version: "1.31.3-1.1" + kube_version_repo: "v1.32" + kube_version: "1.32.1-1.1" calico_setup: true calico_version: "v3.27.4" cilium_setup: false @@ -371,7 +334,7 @@ helm_version: "v3.14.0" crictl_version: "v1.30.1" zuul_osh_relative_path: ../../openstack/openstack-helm - zuul_osh_infra_relative_path: ../../openstack/openstack-helm-infra + zuul_osh_infra_relative_path: ../../openstack/openstack-helm zuul_treasuremap_relative_path: ../../airship/treasuremap gate_scripts_relative_path: . run_helm_tests: "no" @@ -380,9 +343,9 @@ container_distro_name: ubuntu container_distro_version: jammy HELM_ARTIFACT_URL: https://get.helm.sh/helm-v3.16.4-linux-amd64.tar.gz - HTK_COMMIT: 3a4fb2185dec899a2f77e6ff46a04947ac89cd6c - OSH_INFRA_COMMIT: 3a4fb2185dec899a2f77e6ff46a04947ac89cd6c - OSH_COMMIT: 450f355bc7dd68c449700c8c5f3ff89d45103474 + HTK_COMMIT: master + OSH_INFRA_COMMIT: master + OSH_COMMIT: master gate_scripts: - ./tools/deployment/002-build-charts.sh - ./tools/deployment/003-prepare-k8s.sh @@ -419,39 +382,6 @@ args: chdir: ../porthole -# - job: -# name: airship-porthole-deploy-functional-tests -# abstract: true -# description: Deploys all UC's and Executes functional tests -# nodeset: airship-porthole-jammy-single-node -# timeout: 7200 -# run: -# - tools/gate/playbooks/airship-porthole-gate-runner.yaml -# - tools/gate/playbooks/make-functional-tests.yaml -# post-run: -# - tools/gate/playbooks/airship-porthole-collect-logs.yaml -# vars: -# gate_scripts: -# - ./tools/deployment/005-calicoctl-utility.sh -# - ./tools/deployment/010-ceph-utility.sh -# - ./tools/deployment/020-compute-utility.sh -# - ./tools/deployment/030-etcdctl-utility.sh -# - ./tools/deployment/040-mysqlclient-utility.sh -# - ./tools/deployment/050-openstack-utility.sh -# - ./tools/deployment/060-postgresql-utility.sh -# args: -# chdir: ../porthole - -# - job: -# name: airship-porthole-deploy-functional-tests-ubuntu_jammy -# parent: airship-porthole-deploy-functional-tests -# vars: -# distro_suffix: ubuntu_jammy -# osh_params: -# openstack_release: antelope -# container_distro_name: ubuntu -# container_distro_version: jammy - - secret: name: quay_credentials