Volume swap for multiattach should be skipped if run validation is enabled

Bug #1980816 reported by Vladislav Belogrudov
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
tempest
Fix Released
Undecided
Vladislav Belogrudov

Bug Description

Currently if multiattach is enabled and run_validation is True test
tempest.api.compute.admin.test_volume_swap.TestMultiAttachVolumeSwap.test_volume_swap_with_multiattach fails:

"/opt/stack/tempest/tempest/common/compute.py", line 217, in create_test_server
ValueError: Multiple pingable or sshable servers not supported at this stage

To avoid that we have to disable validation for all the tests or disable volume swap. Since this is a current restriction of this particular test it should be skipped, e.g. checking run_validation and swap_volume early during test setup.

Changed in tempest:
assignee: nobody → Vladislav Belogrudov (vlad-belogrudov)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to tempest (master)

Fix proposed to branch: master
Review: https://review.opendev.org/c/openstack/tempest/+/848830

Changed in tempest:
status: New → In Progress
Revision history for this message
Martin Kopec (mkopec) wrote :

I've reproduced this:

tempest.api.compute.admin.test_volume_swap.TestMultiAttachVolumeSwap.test_volume_swap_with_multiattach[id-e8f8f9d1-d7b7-4cd2-8213-ab85ef697b6e,slow,volume]
-----------------------------------------------------------------------------------------------------------------------------------------------------------

Captured traceback:
~~~~~~~~~~~~~~~~~~~
    Traceback (most recent call last):

      File "/home/ubuntu/tempest/tempest/lib/decorators.py", line 81, in wrapper
    return f(*func_args, **func_kwargs)

      File "/home/ubuntu/tempest/tempest/common/utils/__init__.py", line 70, in wrapper
    return f(*func_args, **func_kwargs)

      File "/home/ubuntu/tempest/tempest/api/compute/admin/test_volume_swap.py", line 222, in test_volume_swap_with_multiattach
    reservation_id = self.create_test_server(

      File "/home/ubuntu/tempest/tempest/api/compute/base.py", line 272, in create_test_server
    body, servers = compute.create_test_server(

      File "/home/ubuntu/tempest/tempest/common/compute.py", line 217, in create_test_server
    raise ValueError(msg)

    ValueError: Multiple pingable or sshable servers not supported at this stage.

on a devstack environment deployed with the following config:
[[local|localrc]]
disable_all_services
enable_service c-api
enable_service c-bak
enable_service c-sch
enable_service c-vol
disable_service dstat
enable_service etcd3
enable_service g-api
enable_service horizon
enable_service key
enable_service memory_tracker
enable_service mysql
enable_service n-api
enable_service n-api-meta
enable_service n-cond
enable_service n-cpu
enable_service n-novnc
enable_service n-sch
enable_service ovn-controller
enable_service ovn-northd
enable_service ovs-vswitchd
enable_service ovsdb-server
enable_service placement-api
enable_service q-ovn-metadata-agent
enable_service q-svc
enable_service rabbit
enable_service s-account
enable_service s-container
enable_service s-object
enable_service s-proxy
enable_service tempest
enable_service tls-proxy
ADMIN_PASSWORD="secretadmin"
DATABASE_PASSWORD="secretdatabase"
DEBUG_LIBVIRT_COREDUMPS="True"
ENABLE_VOLUME_MULTIATTACH="True"
FORCE_CONFIG_DRIVE="True"
GLANCE_USE_IMPORT_WORKFLOW="True"
LIBVIRT_TYPE="qemu"
LOGFILE="/opt/stack/logs/devstacklog.txt"
LOG_COLOR="False"
NOVA_VNC_ENABLED="True"
NOVNC_FROM_PACKAGE="True"
OVN_DBS_LOG_LEVEL="dbg"
RABBIT_PASSWORD="secretrabbit"
SERVICE_PASSWORD="secretservice"
SWIFT_HASH="1234123412341234"
SWIFT_REPLICAS="1"
SWIFT_START_ALL_SERVICES="False"
TEMPEST_USE_TEST_ACCOUNTS="True"
USE_PYTHON3="True"
VERBOSE="True"
VERBOSE_NO_TIMESTAMP="True"
LIBS_FROM_GIT=cinder,devstack,glance,horizon,keystone,neutron,nova,placement,requirements,swift,tempest
enable_plugin neutron https://opendev.org/openstack/neutron

[[post-config|$NEUTRON_CONF]]
[DEFAULT]
global_physnet_mtu = 1430
[[test-config|$TEMPEST_CONFIG]]
[compute]
min_compute_nodes = 1

I wonder why the test is not executed by the check/gate jobs.

Revision history for this message
Alan Bishop (alan-bishop) wrote :

Can we just remove the (very old) constraint [1] that throws the error?

I did this in a local patch and it seems to work (test_volume_swap_with_multiattach passes).

[1] https://github.com/openstack/tempest/blob/master/tempest/common/compute.py#L214

Revision history for this message
Alan Bishop (alan-bishop) wrote :

The cinder-tempest-plugin-lvm-multiattach job would catch this (it's totally broken).

https://zuul.openstack.org/builds?job_name=cinder-tempest-plugin-lvm-multiattach&skip=0

tags: added: lvm multiattach
tags: added: cinder
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on tempest (master)

Change abandoned by "Vladislav Belogrudov <email address hidden>" on branch: master
Review: https://review.opendev.org/c/openstack/tempest/+/848830
Reason: should be fixed by https://review.opendev.org/c/openstack/tempest/+/850518

Revision history for this message
Lukas Piwowarski (lukas-piwowarski) wrote :

I manually tested the merged patch [1] on devstack deployment created using Martin's config. It looks like the patch fixes the issue. Moving to "Fix released" as the patch is already merged.

[1] https://review.opendev.org/c/openstack/tempest/+/850518

Changed in tempest:
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.