Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/main' into issues-1733-replay
Browse files Browse the repository at this point in the history
  • Loading branch information
proller committed Oct 17, 2024
2 parents 1d41d3e + 2d29b21 commit a4b51b0
Show file tree
Hide file tree
Showing 31 changed files with 762 additions and 273 deletions.
76 changes: 25 additions & 51 deletions cloud/blockstore/tests/csi_driver/test.py
Original file line number Diff line number Diff line change
Expand Up @@ -256,12 +256,6 @@ def expand_volume(self, pod_id: str, volume_id: str, size: int):
)


def cleanup_after_test(env: CsiLoadTest):
if env is None:
return
env.tear_down()


def log_called_process_error(exc):
logging.error(
"Failed %s, stdout: %s, stderr: %s",
Expand All @@ -272,6 +266,25 @@ def log_called_process_error(exc):
)


def cleanup_after_test(env: CsiLoadTest, volume_name: str = "", pods: list[str] = []):
if env is None:
return

# sleep 1 second to distingish dmesg logs before and after test failure
time.sleep(1)

for pod_id in pods:
with called_process_error_logged():
env.csi.unpublish_volume(pod_id, volume_name)

with called_process_error_logged():
env.csi.unstage_volume(volume_name)
with called_process_error_logged():
env.csi.delete_volume(volume_name)

env.tear_down()


@contextlib.contextmanager
def called_process_error_logged():
try:
Expand Down Expand Up @@ -302,17 +315,11 @@ def test_nbs_csi_driver_mounted_disk_protected_from_deletion():
if result.returncode != 1:
raise AssertionError("Destroyvolume must return exit code 1")
assert "E_REJECTED" in result.stdout
with called_process_error_logged():
env.csi.unpublish_volume(pod_id, volume_name)
with called_process_error_logged():
env.csi.unstage_volume(volume_name)
with called_process_error_logged():
env.csi.delete_volume(volume_name)
except subprocess.CalledProcessError as e:
log_called_process_error(e)
raise
finally:
cleanup_after_test(env)
cleanup_after_test(env, volume_name, [pod_id])


def test_nbs_csi_driver_volume_stat():
Expand Down Expand Up @@ -366,18 +373,11 @@ def test_nbs_csi_driver_volume_stat():
nodesUsage2 = usage_array2[1]
assert 2 == nodesUsage1["available"] - nodesUsage2["available"]
assert 2 == nodesUsage2["used"] - nodesUsage1["used"]

with called_process_error_logged():
env.csi.unpublish_volume(pod_id, volume_name)
with called_process_error_logged():
env.csi.unstage_volume(volume_name)
with called_process_error_logged():
env.csi.delete_volume(volume_name)
except subprocess.CalledProcessError as e:
log_called_process_error(e)
raise
finally:
cleanup_after_test(env)
cleanup_after_test(env, volume_name, [pod_id])


@pytest.mark.parametrize('mount_path,volume_access_type,vm_mode',
Expand Down Expand Up @@ -456,13 +456,7 @@ def test_node_volume_expand(fs_type):
log_called_process_error(e)
raise
finally:
with called_process_error_logged():
env.csi.unpublish_volume(pod_id, volume_name)
with called_process_error_logged():
env.csi.unstage_volume(volume_name)
with called_process_error_logged():
env.csi.delete_volume(volume_name)
cleanup_after_test(env)
cleanup_after_test(env, volume_name, [pod_id])


@pytest.mark.parametrize('vm_mode', [True, False])
Expand All @@ -483,15 +477,7 @@ def test_publish_volume_twice_on_the_same_node(vm_mode):
log_called_process_error(e)
raise
finally:
with called_process_error_logged():
env.csi.unpublish_volume(pod_id1, volume_name)
with called_process_error_logged():
env.csi.unpublish_volume(pod_id2, volume_name)
with called_process_error_logged():
env.csi.unstage_volume(volume_name)
with called_process_error_logged():
env.csi.delete_volume(volume_name)
cleanup_after_test(env)
cleanup_after_test(env, volume_name, [pod_id1, pod_id2])


def test_restart_kubelet_with_old_format_endpoint():
Expand All @@ -511,13 +497,7 @@ def test_restart_kubelet_with_old_format_endpoint():
log_called_process_error(e)
raise
finally:
with called_process_error_logged():
env.csi.unpublish_volume(pod_id1, volume_name)
with called_process_error_logged():
env.csi.unstage_volume(volume_name)
with called_process_error_logged():
env.csi.delete_volume(volume_name)
cleanup_after_test(env)
cleanup_after_test(env, volume_name, [pod_id1])


def test_restart_kubelet_with_new_format_endpoint():
Expand All @@ -537,10 +517,4 @@ def test_restart_kubelet_with_new_format_endpoint():
log_called_process_error(e)
raise
finally:
with called_process_error_logged():
env.csi.unpublish_volume(pod_id1, volume_name)
with called_process_error_logged():
env.csi.unstage_volume(volume_name)
with called_process_error_logged():
env.csi.delete_volume(volume_name)
cleanup_after_test(env)
cleanup_after_test(env, volume_name, [pod_id1])
16 changes: 8 additions & 8 deletions cloud/blockstore/tests/loadtest/local/test.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
from contrib.ydb.tests.library.harness.kikimr_runner import get_unique_path_for_current_test, ensure_path_exists


def default_storage_config(tablet_version, cache_folder):
def default_storage_config(tablet_version, backups_folder):
storage = storage_config_with_default_limits()

storage.InactiveClientsTimeout = 10000
Expand All @@ -24,9 +24,9 @@ def default_storage_config(tablet_version, cache_folder):
storage.DumpBlobUpdatesIntoProfileLog = True

storage.TabletBootInfoBackupFilePath = \
cache_folder + "/tablet_boot_info_backup.txt"
backups_folder + "/tablet_boot_info_backup.txt"
storage.PathDescriptionBackupFilePath = \
cache_folder + "/path_description_backup.txt"
backups_folder + "/path_description_backup.txt"

return storage

Expand Down Expand Up @@ -134,21 +134,21 @@ def __run_test(test_case):
server.ServerConfig.StrictContractValidation = True
server.KikimrServiceConfig.CopyFrom(TKikimrServiceConfig())

cache_folder = get_unique_path_for_current_test(
backups_folder = get_unique_path_for_current_test(
output_path=common.output_path(),
sub_folder="cache",
sub_folder="backups",
)
ensure_path_exists(cache_folder)
ensure_path_exists(backups_folder)

env = LocalLoadTest(
"",
server_app_config=server,
tracking_enabled=test_case.tracking_enabled,
storage_config_patches=[
default_storage_config(test_case.tablet_version, cache_folder)
default_storage_config(test_case.tablet_version, backups_folder)
],
use_in_memory_pdisks=True,
bs_cache_file_path=cache_folder + "/bs_cache.txt",
bs_cache_file_path=backups_folder + "/bs_cache.txt",
)

try:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,8 @@ func (m *mounter) IsFilesystemExisted(device string) (bool, error) {
}

if deviceSize == 0 {
return false, fmt.Errorf("size of device %q is empty", device)
return false, fmt.Errorf(
"size of device %q is empty. blockdev output: %q", device, out)
}

out, err = exec.Command("blkid", device).CombinedOutput()
Expand Down
Loading

0 comments on commit a4b51b0

Please sign in to comment.