[#341] Fixed container metrics for tombstone
All checks were successful
DCO check / DCO (pull_request) Successful in 1m47s
All checks were successful
DCO check / DCO (pull_request) Successful in 1m47s
Signed-off-by: Ilyas Niyazov <i.niyazov@yadro.com>
This commit is contained in:
parent
29aca20956
commit
b36c7e90aa
1 changed files with 15 additions and 6 deletions
|
@ -14,7 +14,7 @@ from frostfs_testlib.testing.cluster_test_base import ClusterTestBase
|
||||||
from frostfs_testlib.testing.parallel import parallel
|
from frostfs_testlib.testing.parallel import parallel
|
||||||
from frostfs_testlib.utils.file_utils import TestFile, generate_file
|
from frostfs_testlib.utils.file_utils import TestFile, generate_file
|
||||||
|
|
||||||
from ...helpers.container_request import PUBLIC_WITH_POLICY, ContainerRequest, requires_container
|
from ...helpers.container_request import PUBLIC_WITH_POLICY, REP_2_1_4_PUBLIC, ContainerRequest, requires_container
|
||||||
from ...helpers.utility import are_numbers_similar
|
from ...helpers.utility import are_numbers_similar
|
||||||
|
|
||||||
|
|
||||||
|
@ -133,7 +133,7 @@ class TestContainerMetrics(ClusterTestBase):
|
||||||
|
|
||||||
@allure.title("Container size metrics put {objects_count} objects (obj_size={object_size})")
|
@allure.title("Container size metrics put {objects_count} objects (obj_size={object_size})")
|
||||||
@pytest.mark.parametrize("objects_count", [5, 10, 20])
|
@pytest.mark.parametrize("objects_count", [5, 10, 20])
|
||||||
@requires_container
|
@requires_container(REP_2_1_4_PUBLIC)
|
||||||
def test_container_size_metrics_more_objects(
|
def test_container_size_metrics_more_objects(
|
||||||
self, object_size: ObjectSize, default_wallet: WalletInfo, objects_count: int, container: str
|
self, object_size: ObjectSize, default_wallet: WalletInfo, objects_count: int, container: str
|
||||||
):
|
):
|
||||||
|
@ -161,13 +161,22 @@ class TestContainerMetrics(ClusterTestBase):
|
||||||
tombstones_size += int(tombstone["header"]["payloadLength"])
|
tombstones_size += int(tombstone["header"]["payloadLength"])
|
||||||
|
|
||||||
with reporter.step(f"Check container size metrics, 'should be positive in all nodes'"):
|
with reporter.step(f"Check container size metrics, 'should be positive in all nodes'"):
|
||||||
futures = parallel(
|
with reporter.step("Search container nodes"):
|
||||||
get_metrics_value, self.cluster.cluster_nodes, command="frostfs_node_engine_container_size_bytes", cid=container
|
container_nodes = search_nodes_with_container(
|
||||||
|
wallet=default_wallet,
|
||||||
|
cid=container,
|
||||||
|
shell=self.shell,
|
||||||
|
endpoint=self.cluster.default_rpc_endpoint,
|
||||||
|
cluster=self.cluster,
|
||||||
)
|
)
|
||||||
|
with reporter.step(f"Get metrics value from container nodes"):
|
||||||
|
futures = parallel(get_metrics_value, container_nodes, command="frostfs_node_engine_container_size_bytes", cid=container)
|
||||||
metrics_value_nodes = [future.result() for future in futures]
|
metrics_value_nodes = [future.result() for future in futures]
|
||||||
for act_metric in metrics_value_nodes:
|
for act_metric in metrics_value_nodes:
|
||||||
assert act_metric >= 0, "Metrics value is negative"
|
assert act_metric >= 0, "Metrics value is negative"
|
||||||
assert sum(metrics_value_nodes) // len(self.cluster.cluster_nodes) == tombstones_size, "tomstone size of objects not correct"
|
|
||||||
|
with reporter.step(f"Check container size metrics for tombstone"):
|
||||||
|
assert sum(metrics_value_nodes) // len(container_nodes) == tombstones_size, "tomstone size of objects not correct"
|
||||||
|
|
||||||
@allure.title("Container metrics (policy={container_request})")
|
@allure.title("Container metrics (policy={container_request})")
|
||||||
@pytest.mark.parametrize(
|
@pytest.mark.parametrize(
|
||||||
|
|
Loading…
Reference in a new issue