diff --git a/tests/ci-csi-cinder-e2e.sh b/tests/ci-csi-cinder-e2e.sh index 2c5bbfe33d..a1e0bbfca1 100755 --- a/tests/ci-csi-cinder-e2e.sh +++ b/tests/ci-csi-cinder-e2e.sh @@ -41,6 +41,24 @@ cleanup() { } trap cleanup EXIT +# Install Ansible from Trixie (Debian Testing) to allow us to talk to a host +# running Python 3.12 like Ubuntu 24.04 +# +# https://woju.eu/blog/2025/03/ansible-bookworm/ +cat << EOF > /etc/apt/sources.list.d/trixie.list +deb https://deb.debian.org/debian trixie main +EOF + +cat << EOF > /etc/apt/preferences.d/ansible.pref +Package: * +Pin: release n=trixie +Pin-Priority: -10 + +Package: ansible* python3-netaddr +Pin: release n=trixie +Pin-Priority: 990 +EOF + apt-get update apt-get install -y python3-requests ansible diff --git a/tests/ci-csi-manila-e2e.sh b/tests/ci-csi-manila-e2e.sh index 7b285320ea..d6be16b35c 100755 --- a/tests/ci-csi-manila-e2e.sh +++ b/tests/ci-csi-manila-e2e.sh @@ -41,6 +41,24 @@ cleanup() { } trap cleanup EXIT +# Install Ansible from Trixie (Debian Testing) to allow us to talk to a host +# running Python 3.12 like Ubuntu 24.04 +# +# https://woju.eu/blog/2025/03/ansible-bookworm/ +cat << EOF > /etc/apt/sources.list.d/trixie.list +deb https://deb.debian.org/debian trixie main +EOF + +cat << EOF > /etc/apt/preferences.d/ansible.pref +Package: * +Pin: release n=trixie +Pin-Priority: -10 + +Package: ansible* python3-netaddr +Pin: release n=trixie +Pin-Priority: 990 +EOF + apt-get update apt-get install -y python3-requests ansible diff --git a/tests/ci-occm-e2e.sh b/tests/ci-occm-e2e.sh index 4e60b2d363..230f74b4bd 100755 --- a/tests/ci-occm-e2e.sh +++ b/tests/ci-occm-e2e.sh @@ -42,6 +42,24 @@ cleanup() { } trap cleanup EXIT +# Install Ansible from Trixie (Debian Testing) to allow us to talk to a host +# running Python 3.12 like Ubuntu 24.04 +# +# https://woju.eu/blog/2025/03/ansible-bookworm/ +cat << EOF > /etc/apt/sources.list.d/trixie.list +deb https://deb.debian.org/debian trixie main +EOF + +cat << EOF > /etc/apt/preferences.d/ansible.pref +Package: * +Pin: release n=trixie +Pin-Priority: -10 + +Package: ansible* python3-netaddr +Pin: release n=trixie +Pin-Priority: 990 +EOF + apt-get update apt-get install -y python3-requests ansible @@ -133,4 +151,4 @@ scp -i ~/.ssh/google_compute_engine \ # If Boskos is being used then release the resource back to Boskos. [ -z "${BOSKOS_HOST:-}" ] || python3 tests/scripts/boskos.py --release >> "$ARTIFACTS/logs/boskos.log" 2>&1 -exit ${exit_code} \ No newline at end of file +exit ${exit_code} diff --git a/tests/playbooks/roles/install-cpo-occm/tasks/main.yaml b/tests/playbooks/roles/install-cpo-occm/tasks/main.yaml index c8cbc304cf..cfd889da1b 100644 --- a/tests/playbooks/roles/install-cpo-occm/tasks/main.yaml +++ b/tests/playbooks/roles/install-cpo-occm/tasks/main.yaml @@ -128,7 +128,7 @@ msg: *failmsg - name: Run functional tests for openstack-cloud-controller-manager - when: run_e2e + when: run_e2e | bool register: run_tests shell: executable: /bin/bash @@ -145,7 +145,7 @@ - name: Print logs for debugging when: - - run_e2e + - run_e2e | bool - run_tests.failed block: - name: Show openstack-cloud-controller-manager pod logs diff --git a/tests/playbooks/roles/install-csi-cinder/tasks/main.yaml b/tests/playbooks/roles/install-csi-cinder/tasks/main.yaml index d97ce32426..1d60757b68 100644 --- a/tests/playbooks/roles/install-csi-cinder/tasks/main.yaml +++ b/tests/playbooks/roles/install-csi-cinder/tasks/main.yaml @@ -187,15 +187,15 @@ -storage.testdriver=tests/e2e/csi/cinder/test-driver.yaml \ --ginkgo.focus='External.Storage' \ --ginkgo.skip='\[Disruptive\]|\[Testpattern:\s+Dynamic\s+PV\s+\(default\s+fs\)\]\s+provisioning\s+should\s+mount\s+multiple\s+PV\s+pointing\s+to\s+the\s+same\s+storage\s+on\s+the\s+same\s+node|\[Testpattern:\s+Dynamic\s+PV\s+\(default\s+fs\)\]\s+provisioning\s+should\s+provision\s+storage\s+with\s+any\s+volume\s+data\s+source\s+\[Serial\]|should\s+support\s+expansion\s+of\s+pvcs\s+created\s+for\s+ephemeral\s+pvcs' \ + --ginkgo.v \ --ginkgo.noColor \ --ginkgo.progress \ - --ginkgo.v \ - --ginkgo.timeout=24h \ + --ginkgo.timeout=1h30m \ -test.timeout=0 \ -report-dir="/var/log/csi-pod" | tee "/var/log/csi-pod/cinder-csi-e2e.log" register: functional_test_result ignore_errors: true - async: 5400 # wait 1h30m then fail and fetch the logs + async: 6300 # wait 1h45m (i.e. 15 mins longer than the ginkgo timeout) then fail and fetch the logs poll: 15 - name: Collect pod logs for debug purpose diff --git a/tests/playbooks/roles/install-csi-manila/tasks/main.yaml b/tests/playbooks/roles/install-csi-manila/tasks/main.yaml index 99fd24d231..c128d9aa63 100644 --- a/tests/playbooks/roles/install-csi-manila/tasks/main.yaml +++ b/tests/playbooks/roles/install-csi-manila/tasks/main.yaml @@ -227,21 +227,23 @@ set +x; source {{ devstack_workdir }}/openrc demo demo > /dev/null; set -x cd {{ ansible_user_dir }}/src/k8s.io/cloud-provider-openstack - - # GATEWAY_IP is the default value in devstack mkdir -p /var/log/csi-pod + # GATEWAY_IP is the default value in devstack GATEWAY_IP=172.24.5.1 \ OS_RC={{ devstack_workdir }}/openrc \ go test -v ./cmd/tests/manila-csi-e2e-suite/manila_csi_e2e_suite_test.go \ + --ginkgo.focus="\[manila-csi-e2e\]" \ + --ginkgo.skip="\[Disruptive\]|\[sig-storage\]\s+\[manila-csi-e2e\]\s+CSI\s+Volumes\s+\[Driver:\s+nfs.manila.csi.openstack.org\]\s+\[Testpattern:\s+Dynamic\s+PV\s+\(default\s+fs\)\]\s+provisioning\s+should\s+provision\s+storage\s+with\s+any\s+volume\s+data\s+source\s+\[Serial\]|should\s+provision\s+storage\s+with\s+snapshot\s+data\s+source|restoring\s+snapshot\s+to\s+larger\s+size" \ --ginkgo.v \ --ginkgo.noColor \ --ginkgo.progress \ - --ginkgo.skip="\[Disruptive\]|\[sig-storage\]\s+\[manila-csi-e2e\]\s+CSI\s+Volumes\s+\[Driver:\s+nfs.manila.csi.openstack.org\]\s+\[Testpattern:\s+Dynamic\s+PV\s+\(default\s+fs\)\]\s+provisioning\s+should\s+provision\s+storage\s+with\s+any\s+volume\s+data\s+source\s+\[Serial\]|should\s+provision\s+storage\s+with\s+snapshot\s+data\s+source|restoring\s+snapshot\s+to\s+larger\s+size" \ - --ginkgo.focus="\[manila-csi-e2e\]" \ - -report-dir /var/log/csi-pod \ - -timeout=0 | tee "/var/log/csi-pod/manila-csi-e2e.log" + --ginkgo.timeout=1h30m \ + -timeout=0 \ + -report-dir /var/log/csi-pod | tee "/var/log/csi-pod/manila-csi-e2e.log" register: functional_test_result ignore_errors: true + async: 6300 # wait 1h45m (i.e. 15 mins longer than the ginkgo timeout) then fail and fetch the logs + poll: 15 - name: Collect pod logs for debug purpose shell: diff --git a/tests/playbooks/roles/install-devstack/defaults/main.yaml b/tests/playbooks/roles/install-devstack/defaults/main.yaml index 5812d9c97e..950a17573f 100644 --- a/tests/playbooks/roles/install-devstack/defaults/main.yaml +++ b/tests/playbooks/roles/install-devstack/defaults/main.yaml @@ -1,7 +1,7 @@ --- user: "stack" workdir: "/home/{{ user }}/devstack" -branch: "stable/2023.2" +branch: "stable/2024.1" enable_services: - nova - glance diff --git a/tests/playbooks/roles/install-devstack/templates/local.conf.j2 b/tests/playbooks/roles/install-devstack/templates/local.conf.j2 index 42d61a882d..2405fd6d98 100644 --- a/tests/playbooks/roles/install-devstack/templates/local.conf.j2 +++ b/tests/playbooks/roles/install-devstack/templates/local.conf.j2 @@ -3,7 +3,6 @@ RECLONE=False HOST_IP={{ local_ip_address }} DEST=/opt/stack DATA_DIR=${DEST}/data -USE_PYTHON3=True LOGFILE=$DEST/logs/stack.sh.log VERBOSE=True LOG_COLOR=False diff --git a/tests/playbooks/test-occm-e2e.yaml b/tests/playbooks/test-occm-e2e.yaml index af5a3cd61e..058796b03c 100644 --- a/tests/playbooks/test-occm-e2e.yaml +++ b/tests/playbooks/test-occm-e2e.yaml @@ -25,5 +25,5 @@ - role: install-k3s worker_node_count: 0 - role: install-cpo-occm - run_e2e: "{{ run_e2e }}" + run_e2e: "{{ run_e2e | bool }}" octavia_provider: "{{ octavia_provider }}" diff --git a/tests/scripts/create-gce-vm.sh b/tests/scripts/create-gce-vm.sh index ad0e90fb7f..9a01c0a6e3 100755 --- a/tests/scripts/create-gce-vm.sh +++ b/tests/scripts/create-gce-vm.sh @@ -91,17 +91,18 @@ main() { case "${FLAVOR}" in "default") - if ! gcloud compute disks describe devstack-${FLAVOR} --zone "${GCP_ZONE}" > /dev/null 2>&1; + local disk_name="devstack-${FLAVOR}-ubuntu2204" + if ! gcloud compute disks describe "${disk_name}" --zone "${GCP_ZONE}" > /dev/null 2>&1; then - gcloud compute disks create devstack-${FLAVOR} \ - --image-project ubuntu-os-cloud --image-family ubuntu-2404-lts-amd64 \ + gcloud compute disks create "${disk_name}" \ + --image-project ubuntu-os-cloud --image-family ubuntu-2204-lts \ --zone "${GCP_ZONE}" fi - if ! gcloud compute images describe devstack-${FLAVOR} > /dev/null 2>&1; + if ! gcloud compute images describe "${disk_name}" > /dev/null 2>&1; then - gcloud compute images create devstack-${FLAVOR} \ - --source-disk devstack-${FLAVOR} --source-disk-zone "${GCP_ZONE}" \ + gcloud compute images create "${disk_name}" \ + --source-disk "${disk_name}" --source-disk-zone "${GCP_ZONE}" \ --licenses "https://www.googleapis.com/compute/v1/projects/vm-options/global/licenses/enable-vmx" fi ;; @@ -115,7 +116,7 @@ main() { then gcloud compute instances create devstack \ --zone "${GCP_ZONE}" \ - --image devstack-${FLAVOR} \ + --image "${disk_name}" \ --boot-disk-size 30G \ --boot-disk-type pd-ssd \ --can-ip-forward \