Merge "pytest-based selenium tests add fix volume reserved issue"

This commit is contained in:
Zuul 2025-04-07 18:59:36 +00:00 committed by Gerrit Code Review
commit 38925df1c9
3 changed files with 32 additions and 5 deletions

View File

@ -17,6 +17,7 @@ from oslo_utils import uuidutils
import pytest
from selenium.common import exceptions
from openstack_dashboard.test.selenium.integration import test_instances
from openstack_dashboard.test.selenium.integration import test_volumes
from openstack_dashboard.test.selenium import widgets
@ -240,6 +241,22 @@ def clear_instance_demo(instance_name, openstack_demo):
)
@pytest.fixture
def clear_instance_demo_before_volume(instance_name, openstack_demo,
new_volume_demo):
yield None
test_instances.wait_for_steady_state_of_instance(
openstack_demo, instance_name)
test_volumes.wait_for_steady_state_of_volume(
openstack_demo, new_volume_demo.name)
openstack_demo.delete_server(
instance_name,
wait=True,
)
test_volumes.wait_for_volume_is_deleted(
openstack_demo, new_volume_demo.name)
# Volumes fixtures
@pytest.fixture(params=[1])

View File

@ -117,6 +117,15 @@ def wait_for_instance_is_deleted(openstack, instance_name):
time.sleep(3)
def wait_for_steady_state_of_instance(openstack, instance_name):
for attempt in range(120):
if (openstack.compute.find_server(instance_name).status in
["ACTIVE", "ERROR"]):
break
else:
time.sleep(3)
def test_create_instance_demo(complete_default_test_network, login, driver,
instance_name, openstack_demo,
clear_instance_demo, config):
@ -171,9 +180,10 @@ def test_create_instance_demo(complete_default_test_network, login, driver,
def test_create_instance_from_volume_demo(complete_default_test_network, login,
driver, volume_name, new_volume_demo,
clear_instance_demo, config,
openstack_demo, instance_name):
driver, volume_name,
clear_instance_demo_before_volume,
config, openstack_demo,
instance_name):
network = complete_default_test_network.name
flavor = config.launch_instances.flavor
volume_name = volume_name[0]
@ -212,7 +222,7 @@ def test_create_instance_from_volume_demo(complete_default_test_network, login,
select_boot_sources_type_tab.click()
select_boot_sources_type_tab.find_element_by_css_selector(
"option[value='volume']").click()
delete_volume_on_instance_delete(source_table, "No")
delete_volume_on_instance_delete(source_table, "Yes")
widgets.select_from_transfer_table(source_table, volume_name)
wizard.find_element_by_css_selector("button.btn-primary.finish").click()
WebDriverWait(driver, config.selenium.page_timeout).until(

View File

@ -45,7 +45,7 @@ def wait_for_steady_state_of_volume(openstack, volume_name):
def wait_for_volume_is_deleted(openstack, volume_name):
for attempt in range(10):
for attempt in range(120):
if openstack.block_storage.find_volume(volume_name) is None:
break
else: