Added new test for EC policy #262
No reviewers
Labels
No labels
P0
P1
P2
P3
good first issue
Infrastructure
blocked
bug
config
discussion
documentation
duplicate
enhancement
go
help wanted
internal
invalid
kludge
observability
perfomance
question
refactoring
wontfix
No milestone
No project
No assignees
3 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: TrueCloudLab/frostfs-testcases#262
Loading…
Reference in a new issue
No description provided.
Delete branch "d.zayakin/frostfs-testcases:ec-replication-tests"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Signed-off-by: Dmitriy Zayakin d.zayakin@yadro.com
@ -0,0 +99,4 @@
chunks = self.get_object_nodes(cli, cid, oid, endpoint)["data_objects"]
return Chunk(**chunks[0])
@reporter.step("Search chunk node, in netmap to node key.")
Search node without chunks
?done
@ -0,0 +121,4 @@
def create_container(self, user_cli: FrostfsCli, endpoint: str, policy: str) -> str:
return user_cli.container.create(endpoint, policy=policy, await_mode=True).stdout.split(" ")[1].strip().split("\n")[0]
@reporter.step("Search node chunk - {chunk}")
Search node with chunk {chunk}
done
@ -0,0 +206,4 @@
cluster_state_controller.start_node_host(chunk_node)
assert self.check_replication(4, frostfs_local_cli, cid, oid)
@allure.title("Off node this chunk parity")
this
=with
@ -0,0 +198,4 @@
with reporter.step("Stop node this data chunk."):
cluster_state_controller.stop_node_host(chunk_node, "hard")
with reporter.step("Get object, expect success."):
, expect success.
is redundant.@ -0,0 +226,4 @@
with reporter.step("Check chunk replication on 4 nodes."):
assert self.check_replication(4, frostfs_local_cli, cid, oid)
with reporter.step("Search node parity chunk"):
with parity chunk
2a3eb62568
to84c345005a
@ -0,0 +283,4 @@
cluster_state_controller.stop_node_host(node_parity_chunk, "hard")
with reporter.step("Get object, expect error."):
with pytest.raises(RuntimeError):
with pytest.raises(Exception)
- which one?@ -0,0 +287,4 @@
get_object(default_user.wallet, cid, oid, self.shell, node.storage_node.get_rpc_endpoint())
with reporter.step("Start stopped node and check replication chunk."):
cluster_state_controller.start_node_host(node_data_chunk)
cluster_state_controller.start_stopped_hosts
will be faster and more stable@ -0,0 +310,4 @@
with reporter.step("Check count chunks nodes on 3."):
assert self.check_replication(3, frostfs_local_cli, cid, oid)
with reporter.step("Stop node with chunk."):
this = with
@ -0,0 +443,4 @@
with pytest.raises(RuntimeError, match="object already removed"):
frostfs_local_cli.object.head(self.cluster.default_rpc_endpoint, cid, chunk.object_id)
@allure.title("Request LOCK (size={object_size.name})")
LOCK(
->LOCK (
(size-
->(size=
@ -0,0 +488,4 @@
@allure.title("Output MaxEC* params in frostfscli (type={type_shards})")
@pytest.mark.parametrize(
"type_shards", ["Maximum count of data shards", "Maximum count of parity shards"], ids=["Data Shards", "Parity Shards"]
ids=["Data Shards", "Parity Shards"]
redundant@ -0,0 +502,4 @@
frostfs_local_cli: FrostfsCli,
restore_network_config: None,
) -> None:
with reporter.step("Get now params MaxECDataCount and MaxECParityCount"):
newlines
@ -0,0 +206,4 @@
cluster_state_controller.start_node_host(chunk_node)
assert self.check_replication(4, frostfs_local_cli, cid, oid)
@allure.title("Off node with chunk parity")
Off
->Lose
@ -0,0 +241,4 @@
cluster_state_controller.start_node_host(chunk_node)
assert self.check_replication(4, frostfs_local_cli, cid, oid)
@allure.title("Off node with chunk data and parity")
off node
->Lose nodes
@ -0,0 +270,4 @@
with reporter.step("Stop node with data chunk."):
cluster_state_controller.stop_node_host(node_data_chunk, "hard")
with reporter.step("Get object, expect success."):
, expect success.
redundant@ -0,0 +291,4 @@
cluster_state_controller.start_node_host(node_parity_chunk)
assert self.check_replication(4, frostfs_local_cli, cid, oid)
@allure.title("Check policer work with chunk")
Check
word is redundant@ -0,0 +171,4 @@
with reporter.step("Check replication chunks."):
assert self.check_replication(rep_count, frostfs_local_cli, cid, oid)
@allure.title("Off node with chunk data")
off
->Lose
Done
@ -0,0 +136,4 @@
object_nodes_info = json.loads(object_nodes_info)
return len(object_nodes_info["data_objects"]) == total_chunks
@allure.step("Disable Policer all nodes")
on all
done
84c345005a
to35accb09c4
35accb09c4
toe188eb74e5
e188eb74e5
to8c20aa69c1