swift: Deprecate for removal in 2025.2

Disable CI jobs as well - those have been failing for some time
and there's no volunteer to fix them.

Change-Id: I13dc1822f2b803b5a4dbc99cc63ab05ce6016613
This commit is contained in:
Michal Nasiadka
2025-01-23 15:14:18 +01:00
parent af255c754f
commit 330e68d249
7 changed files with 7 additions and 235 deletions

View File

@@ -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.

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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