Add soft reboot test

This commit is contained in:
Vladimir Avdeev 2022-07-12 02:21:09 +03:00 committed by Vladimir Domnich
parent 8d1951a3be
commit 26ccd9b194
2 changed files with 5 additions and 4 deletions

View file

@ -92,10 +92,10 @@ class SberCloud:
headers={'Content-Type': 'application/json', 'X-Auth-Token': self.token})
assert response.status_code < 300, f'Status:{response.status_code}. Server not started: {response.json()}'
def stop_node(self, node_id: str = None, node_ip: str = None, stop_type: str = 'HARD'):
def stop_node(self, node_id: str = None, node_ip: str = None, hard: bool = False):
data = {
'os-stop': {
'type': stop_type,
'type': 'HARD' if hard else 'SOFT',
'servers': [
{
'id': node_id or self.find_esc_by_ip(node_ip)

View file

@ -55,7 +55,8 @@ def wait_object_replication(wallet, cid, oid, expected_copies: int) -> [str]:
@allure.title('Lost and return nodes')
def test_lost_storage_node(prepare_wallet_and_deposit, generate_file, sbercloud_client: SberCloud):
@pytest.mark.parametrize('hard_reboot', [True, False])
def test_lost_storage_node(prepare_wallet_and_deposit, generate_file, sbercloud_client: SberCloud, hard_reboot: bool):
wallet, _ = prepare_wallet_and_deposit
placement_rule = 'REP 2 IN X CBF 2 SELECT 2 FROM * AS X'
cid = create_container(wallet, rule=placement_rule, basic_acl=PUBLIC_ACL)
@ -65,7 +66,7 @@ def test_lost_storage_node(prepare_wallet_and_deposit, generate_file, sbercloud_
new_nodes = []
for node in nodes:
with allure.step(f'Stop storage node {node}'):
sbercloud_client.stop_node(node_ip=node.split(':')[-2])
sbercloud_client.stop_node(node_ip=node.split(':')[-2], hard=hard_reboot)
new_nodes = wait_object_replication(wallet, cid, oid, 2)
assert not [node for node in nodes if node in new_nodes]