diff --git a/releasenotes/notes/deprecate-swift-7a30a80aa16c3e48.yaml b/releasenotes/notes/deprecate-swift-7a30a80aa16c3e48.yaml new file mode 100644 index 0000000000..d87504798e --- /dev/null +++ b/releasenotes/notes/deprecate-swift-7a30a80aa16c3e48.yaml @@ -0,0 +1,5 @@ +--- +deprecations: + - | + ``swift`` deployment support has been deprecated for removal in ``2025.2`` + due to failing CI and no volunteers to maintain this role. diff --git a/tests/init-swift.sh b/tests/init-swift.sh deleted file mode 100755 index 22c4169716..0000000000 --- a/tests/init-swift.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/bash - -set -o xtrace -set -o errexit - - -function init_swift_logged { - next_port=6000 - - # the order is important due to port incrementation - for ring in object account container; do - # create the *.builder files - sudo ${CONTAINER_ENGINE} run \ - --rm \ - -v /etc/kolla/config/swift/:/etc/kolla/config/swift/ \ - $KOLLA_SWIFT_BASE_IMAGE \ - swift-ring-builder \ - /etc/kolla/config/swift/$ring.builder create 10 3 1 - - # add nodes to them - for node in ${STORAGE_NODES[@]}; do - sudo ${CONTAINER_ENGINE} run \ - --rm \ - -v /etc/kolla/config/swift/:/etc/kolla/config/swift/ \ - $KOLLA_SWIFT_BASE_IMAGE \ - swift-ring-builder \ - /etc/kolla/config/swift/$ring.builder add r1z1-${node}:$next_port/d0 1 - done - - # create the *.ring.gz files - sudo ${CONTAINER_ENGINE} run \ - --rm \ - -v /etc/kolla/config/swift/:/etc/kolla/config/swift/ \ - $KOLLA_SWIFT_BASE_IMAGE \ - swift-ring-builder \ - /etc/kolla/config/swift/$ring.builder rebalance - - # display contents for debugging - sudo ${CONTAINER_ENGINE} run \ - --rm \ - -v /etc/kolla/config/swift/:/etc/kolla/config/swift/ \ - $KOLLA_SWIFT_BASE_IMAGE \ - swift-ring-builder \ - /etc/kolla/config/swift/$ring.builder - - # next ring = next port - next_port=$((next_port+1)) - done -} - -function init_swift { - echo "Initialising Swift" - init_swift_logged &> /tmp/logs/ansible/init-swift -} - - -init_swift diff --git a/tests/run.yml b/tests/run.yml index 791922f923..af07a8ce4d 100644 --- a/tests/run.yml +++ b/tests/run.yml @@ -21,7 +21,7 @@ need_build_image: "{{ kolla_build_images | default(false) }}" build_image_tag: "change_{{ zuul.change | default('none') }}" openstack_core_enabled: "{{ openstack_core_enabled }}" - openstack_core_tested: "{{ scenario in ['core', 'cephadm', 'zun', 'cells', 'swift', 'ovn', 'lets-encrypt'] }}" + openstack_core_tested: "{{ scenario in ['core', 'cephadm', 'zun', 'cells', 'ovn', 'lets-encrypt'] }}" dashboard_enabled: "{{ openstack_core_enabled }}" upper_constraints_file: "{{ ansible_env.HOME }}/src/opendev.org/openstack/requirements/upper-constraints.txt" docker_image_tag_suffix: "{{ '-aarch64' if ansible_architecture == 'aarch64' else '' }}" @@ -34,15 +34,9 @@ name: "{{ 'bind-utils' if ansible_os_family == 'RedHat' else 'dnsutils' }}" when: scenario == 'magnum' - - name: Install xfsprogs package for Swift filesystems - become: true - package: - name: xfsprogs - when: scenario == 'swift' - - name: Prepare disks for a storage service script: "setup_disks.sh {{ disk_type }}" - when: scenario in ['cephadm', 'zun', 'swift'] + when: scenario in ['cephadm', 'zun'] become: true vars: disk_type: "{{ 'ceph-lvm' if scenario in ['cephadm'] else scenario }}" @@ -155,7 +149,6 @@ - neutron - nova - bifrost - - swift - name: Generate configuration files template: @@ -314,13 +307,6 @@ shell: cmd: "{{ kolla_ansible_venv_path }}/bin/ansible all -i {{ kolla_inventory_path }} -m setup > /tmp/logs/ansible/initial-setup" - - name: Set facts for Swift initialisation - set_fact: - # NOTE(yoctozepto): no support for upgrades for now - docker_image_tag: "{{ build_image_tag if need_build_image else (zuul.branch | basename) ~ '-' ~ base_distro ~ '-' ~ base_distro_version ~ docker_image_tag_suffix }}" - docker_image_prefix: "{{ 'primary:4000/lokolla/' if need_build_image else '{{ zuul_site_mirror_fqdn }}:4447/openstack.kolla/' }}" - when: scenario in ['swift'] - # NOTE(yoctozepto): k-a octavia-certificates should run before k-a bootstrap-servers # because the latter hijacks /etc/kolla permissions (due to same directory on the # same host being used by both) @@ -354,20 +340,6 @@ KOLLA_ANSIBLE_VENV_PATH: "{{ kolla_ansible_venv_path }}" CONTAINER_ENGINE: "{{ container_engine }}" - - name: Run init-swift.sh script - script: - cmd: init-swift.sh - executable: /bin/bash - chdir: "{{ kolla_ansible_src_dir }}" - environment: - KOLLA_SWIFT_BASE_IMAGE: "{{ docker_image_prefix }}swift-base:{{ docker_image_tag }}" - # NOTE(yoctozepto): no IPv6 for now - STORAGE_NODES: "{{ groups['all'] | map('extract', hostvars, - ['ansible_'+api_interface_name | replace('-','_') , 'ipv4', 'address']) - | join(' ') }}" - CONTAINER_ENGINE: "{{ container_engine }}" - when: scenario == 'swift' - # At this point we have generated all necessary configuration, and are # ready to deploy the control plane services. Control flow now depends on # the scenario being exercised. @@ -485,13 +457,6 @@ BASE_DISTRO: "{{ base_distro }}" CONTAINER_ENGINE: "{{ container_engine }}" - - name: Run test-swift.sh script - script: - cmd: test-swift.sh - executable: /bin/bash - chdir: "{{ kolla_ansible_src_dir }}" - when: scenario == 'swift' - - name: Run test-scenario-nfv.sh script script: cmd: test-scenario-nfv.sh @@ -793,12 +758,6 @@ IP_VERSION: "{{ 6 if address_family == 'ipv6' else 4 }}" when: openstack_core_tested - - name: Run test-swift.sh script (post-upgrade) - command: - cmd: tests/test-swift.sh - chdir: "{{ kolla_ansible_src_dir }}" - when: scenario == 'swift' - - name: Run test-prometheus-opensearch.sh script (post-upgrade) script: cmd: test-prometheus-opensearch.sh diff --git a/tests/test-swift.sh b/tests/test-swift.sh deleted file mode 100755 index b9cadc3680..0000000000 --- a/tests/test-swift.sh +++ /dev/null @@ -1,71 +0,0 @@ -#!/bin/bash - -set -o xtrace -set -o errexit - -export PYTHONUNBUFFERED=1 - - -function test_swift_logged { - . /etc/kolla/admin-openrc.sh - . ~/openstackclient-venv/bin/activate - - echo "TESTING: Swift" - - CONTAINER_NAME=test_container - - openstack --debug container create $CONTAINER_NAME - - CONTENT='Hello, Swift!' - FILE_PATH=/tmp/swift_test_object - - echo "$CONTENT" > $FILE_PATH - - openstack --debug object create $CONTAINER_NAME $FILE_PATH - - rm -f $FILE_PATH - - openstack --debug object save $CONTAINER_NAME $FILE_PATH - - SAVED_CONTENT=`cat $FILE_PATH` - - rm -f $FILE_PATH - - if [ "$SAVED_CONTENT" != "$CONTENT" ]; then - echo 'Content mismatch' >&2 - return 1 - fi - - openstack --debug container show $CONTAINER_NAME - - openstack --debug object store account show - - cleanup_swift - - echo "SUCCESS: Swift" -} - -function cleanup_swift { - openstack --debug object delete $CONTAINER_NAME $FILE_PATH - - openstack --debug container delete $CONTAINER_NAME -} - -function test_swift { - echo "Testing Swift" - log_file=/tmp/logs/ansible/test-swift - if [[ -f $log_file ]]; then - log_file=${log_file}-upgrade - fi - test_swift_logged > $log_file 2>&1 - result=$? - if [[ $result != 0 ]]; then - echo "Testing Swift failed. See ansible/test-swift for details" - else - echo "Successfully tested Swift. See ansible/test-swift for details" - fi - return $result -} - - -test_swift diff --git a/zuul.d/base.yaml b/zuul.d/base.yaml index 6af8a69a40..7c50b1d653 100644 --- a/zuul.d/base.yaml +++ b/zuul.d/base.yaml @@ -148,20 +148,6 @@ vars: scenario: zun -- job: - name: kolla-ansible-swift-base - parent: kolla-ansible-scenario-base - voting: false - files: !inherit - - ^ansible/roles/(glance|swift)/ - - ^tests/setup_disks.sh - - ^tests/init-swift.sh - - ^tests/test-core-openstack.sh - - ^tests/test-dashboard.sh - - ^tests/test-swift.sh - vars: - scenario: swift - - job: name: kolla-ansible-cephadm-base parent: kolla-ansible-base diff --git a/zuul.d/jobs.yaml b/zuul.d/jobs.yaml index 5c278c761d..a2c882f89a 100644 --- a/zuul.d/jobs.yaml +++ b/zuul.d/jobs.yaml @@ -321,50 +321,6 @@ vars: base_distro: ubuntu -- job: - name: kolla-ansible-rocky9-swift - parent: kolla-ansible-swift-base - nodeset: kolla-ansible-rocky9-multi - vars: - base_distro: rocky - # NOTE(yoctozepto): We need this here because we initialise Swift outside - # of Kolla Ansible and need to know the version of images. - base_distro_version: 9 - -- job: - name: kolla-ansible-ubuntu-swift - parent: kolla-ansible-swift-base - nodeset: kolla-ansible-noble-multi - vars: - base_distro: ubuntu - # NOTE(yoctozepto): We need this here because we initialise Swift outside - # of Kolla Ansible and need to know the version of images. - base_distro_version: noble - -- job: - name: kolla-ansible-rocky9-swift-upgrade - parent: kolla-ansible-swift-base - nodeset: kolla-ansible-rocky9-multi - timeout: 10800 - vars: - base_distro: rocky - # NOTE(yoctozepto): We need this here because we initialise Swift outside - # of Kolla Ansible and need to know the version of images. - base_distro_version: 9 - is_upgrade: yes - -- job: - name: kolla-ansible-ubuntu-swift-upgrade - parent: kolla-ansible-swift-base - nodeset: kolla-ansible-noble-multi - timeout: 10800 - vars: - base_distro: ubuntu - # NOTE(yoctozepto): We need this here because we initialise Swift outside - # of Kolla Ansible and need to know the version of images. - base_distro_version: noble - is_upgrade: yes - - job: name: kolla-ansible-rocky9-scenario-nfv parent: kolla-ansible-scenario-nfv-base diff --git a/zuul.d/project.yaml b/zuul.d/project.yaml index d9d80d13d5..af867b8bcd 100644 --- a/zuul.d/project.yaml +++ b/zuul.d/project.yaml @@ -29,8 +29,6 @@ - kolla-ansible-ubuntu-bifrost - kolla-ansible-rocky9-zun - kolla-ansible-ubuntu-zun - - kolla-ansible-rocky9-swift - - kolla-ansible-ubuntu-swift - kolla-ansible-rocky9-scenario-nfv - kolla-ansible-rocky9-magnum - kolla-ansible-ubuntu-magnum @@ -114,7 +112,3 @@ post: jobs: - publish-openstack-python-branch-tarball - experimental: - jobs: - - kolla-ansible-rocky9-swift-upgrade - - kolla-ansible-ubuntu-swift-upgrade