forked from TrueCloudLab/frostfs-testcases
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})
|
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()}'
|
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 = {
|
data = {
|
||||||
'os-stop': {
|
'os-stop': {
|
||||||
'type': stop_type,
|
'type': 'HARD' if hard else 'SOFT',
|
||||||
'servers': [
|
'servers': [
|
||||||
{
|
{
|
||||||
'id': node_id or self.find_esc_by_ip(node_ip)
|
'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')
|
@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
|
wallet, _ = prepare_wallet_and_deposit
|
||||||
placement_rule = 'REP 2 IN X CBF 2 SELECT 2 FROM * AS X'
|
placement_rule = 'REP 2 IN X CBF 2 SELECT 2 FROM * AS X'
|
||||||
cid = create_container(wallet, rule=placement_rule, basic_acl=PUBLIC_ACL)
|
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 = []
|
new_nodes = []
|
||||||
for node in nodes:
|
for node in nodes:
|
||||||
with allure.step(f'Stop storage node {node}'):
|
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)
|
new_nodes = wait_object_replication(wallet, cid, oid, 2)
|
||||||
|
|
||||||
assert not [node for node in nodes if node in new_nodes]
|
assert not [node for node in nodes if node in new_nodes]
|
||||||
|
|
Loading…
Reference in a new issue