Add soft reboot test
This commit is contained in:
parent
8d1951a3be
commit
26ccd9b194
2 changed files with 5 additions and 4 deletions
|
@ -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)
|
||||
|
|
|
@ -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]
|
||||
|
|
Loading…
Add table
Reference in a new issue