forked from TrueCloudLab/frostfs-testlib
[#298] add morph rule chain
This commit is contained in:
parent
31abf77a19
commit
48f75759f5
2 changed files with 25 additions and 28 deletions
|
@ -69,9 +69,7 @@ class FrostfsAdmMorph(CliCommand):
|
||||||
**{param: param_value for param, param_value in locals().items() if param not in ["self"]},
|
**{param: param_value for param, param_value in locals().items() if param not in ["self"]},
|
||||||
)
|
)
|
||||||
|
|
||||||
def set_config(
|
def set_config(self, set_key_value: str, rpc_endpoint: Optional[str] = None, alphabet_wallets: Optional[str] = None) -> CommandResult:
|
||||||
self, set_key_value: str, rpc_endpoint: Optional[str] = None, alphabet_wallets: Optional[str] = None
|
|
||||||
) -> CommandResult:
|
|
||||||
"""Add/update global config value in the FrostFS network.
|
"""Add/update global config value in the FrostFS network.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
|
@ -124,9 +122,7 @@ class FrostfsAdmMorph(CliCommand):
|
||||||
**{param: param_value for param, param_value in locals().items() if param not in ["self"]},
|
**{param: param_value for param, param_value in locals().items() if param not in ["self"]},
|
||||||
)
|
)
|
||||||
|
|
||||||
def force_new_epoch(
|
def force_new_epoch(self, rpc_endpoint: Optional[str] = None, alphabet_wallets: Optional[str] = None) -> CommandResult:
|
||||||
self, rpc_endpoint: Optional[str] = None, alphabet_wallets: Optional[str] = None
|
|
||||||
) -> CommandResult:
|
|
||||||
"""Create new FrostFS epoch event in the side chain.
|
"""Create new FrostFS epoch event in the side chain.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
|
@ -344,16 +340,11 @@ class FrostfsAdmMorph(CliCommand):
|
||||||
|
|
||||||
return self._execute(
|
return self._execute(
|
||||||
f"morph remove-nodes {' '.join(node_netmap_keys)}",
|
f"morph remove-nodes {' '.join(node_netmap_keys)}",
|
||||||
**{
|
**{param: param_value for param, param_value in locals().items() if param not in ["self", "node_netmap_keys"]},
|
||||||
param: param_value
|
|
||||||
for param, param_value in locals().items()
|
|
||||||
if param not in ["self", "node_netmap_keys"]
|
|
||||||
},
|
|
||||||
)
|
)
|
||||||
|
|
||||||
def add_rule(
|
def add_rule(
|
||||||
self,
|
self,
|
||||||
endpoint: str,
|
|
||||||
chain_id: str,
|
chain_id: str,
|
||||||
target_name: str,
|
target_name: str,
|
||||||
target_type: str,
|
target_type: str,
|
||||||
|
@ -367,10 +358,8 @@ class FrostfsAdmMorph(CliCommand):
|
||||||
"""Drop objects from the node's local storage
|
"""Drop objects from the node's local storage
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
address: Address of wallet account
|
|
||||||
chain-id: Assign ID to the parsed chain
|
chain-id: Assign ID to the parsed chain
|
||||||
chain-id-hex: Flag to parse chain ID as hex
|
chain-id-hex: Flag to parse chain ID as hex
|
||||||
endpoint: Remote node control address (as 'multiaddr' or '<host>:<port>')
|
|
||||||
path: Path to encoded chain in JSON or binary format
|
path: Path to encoded chain in JSON or binary format
|
||||||
rule: Rule statement
|
rule: Rule statement
|
||||||
target-name: Resource name in APE resource name format
|
target-name: Resource name in APE resource name format
|
||||||
|
@ -382,13 +371,12 @@ class FrostfsAdmMorph(CliCommand):
|
||||||
Command`s result.
|
Command`s result.
|
||||||
"""
|
"""
|
||||||
return self._execute(
|
return self._execute(
|
||||||
"control add-rule",
|
"morph ape add-rule-chain",
|
||||||
**{param: value for param, value in locals().items() if param not in ["self"]},
|
**{param: value for param, value in locals().items() if param not in ["self"]},
|
||||||
)
|
)
|
||||||
|
|
||||||
def get_rule(
|
def get_rule(
|
||||||
self,
|
self,
|
||||||
endpoint: str,
|
|
||||||
chain_id: str,
|
chain_id: str,
|
||||||
target_name: str,
|
target_name: str,
|
||||||
target_type: str,
|
target_type: str,
|
||||||
|
@ -400,10 +388,8 @@ class FrostfsAdmMorph(CliCommand):
|
||||||
"""Drop objects from the node's local storage
|
"""Drop objects from the node's local storage
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
address string Address of wallet account
|
|
||||||
chain-id string Chain id
|
chain-id string Chain id
|
||||||
chain-id-hex Flag to parse chain ID as hex
|
chain-id-hex Flag to parse chain ID as hex
|
||||||
endpoint string Remote node control address (as 'multiaddr' or '<host>:<port>')
|
|
||||||
target-name string Resource name in APE resource name format
|
target-name string Resource name in APE resource name format
|
||||||
target-type string Resource type(container/namespace)
|
target-type string Resource type(container/namespace)
|
||||||
timeout duration Timeout for an operation (default 15s)
|
timeout duration Timeout for an operation (default 15s)
|
||||||
|
@ -413,7 +399,7 @@ class FrostfsAdmMorph(CliCommand):
|
||||||
Command`s result.
|
Command`s result.
|
||||||
"""
|
"""
|
||||||
return self._execute(
|
return self._execute(
|
||||||
"control get-rule",
|
"morph ape get-rule-chain",
|
||||||
**{param: value for param, value in locals().items() if param not in ["self"]},
|
**{param: value for param, value in locals().items() if param not in ["self"]},
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -429,8 +415,6 @@ class FrostfsAdmMorph(CliCommand):
|
||||||
"""Drop objects from the node's local storage
|
"""Drop objects from the node's local storage
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
address: Address of wallet account
|
|
||||||
endpoint: Remote node control address (as 'multiaddr' or '<host>:<port>')
|
|
||||||
target-name: Resource name in APE resource name format
|
target-name: Resource name in APE resource name format
|
||||||
target-type: Resource type(container/namespace)
|
target-type: Resource type(container/namespace)
|
||||||
timeout: Timeout for an operation (default 15s)
|
timeout: Timeout for an operation (default 15s)
|
||||||
|
@ -443,10 +427,9 @@ class FrostfsAdmMorph(CliCommand):
|
||||||
"morph ape list-rule-chains",
|
"morph ape list-rule-chains",
|
||||||
**{param: value for param, value in locals().items() if param not in ["self"]},
|
**{param: value for param, value in locals().items() if param not in ["self"]},
|
||||||
)
|
)
|
||||||
|
|
||||||
def remove_rule(
|
def remove_rule(
|
||||||
self,
|
self,
|
||||||
endpoint: str,
|
|
||||||
chain_id: str,
|
chain_id: str,
|
||||||
target_name: str,
|
target_name: str,
|
||||||
target_type: str,
|
target_type: str,
|
||||||
|
@ -459,11 +442,9 @@ class FrostfsAdmMorph(CliCommand):
|
||||||
"""Drop objects from the node's local storage
|
"""Drop objects from the node's local storage
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
address: Address of wallet account
|
|
||||||
all: Remove all chains
|
all: Remove all chains
|
||||||
chain-id: Assign ID to the parsed chain
|
chain-id: Assign ID to the parsed chain
|
||||||
chain-id-hex: Flag to parse chain ID as hex
|
chain-id-hex: Flag to parse chain ID as hex
|
||||||
endpoint: Remote node control address (as 'multiaddr' or '<host>:<port>')
|
|
||||||
target-name: Resource name in APE resource name format
|
target-name: Resource name in APE resource name format
|
||||||
target-type: Resource type(container/namespace)
|
target-type: Resource type(container/namespace)
|
||||||
timeout: Timeout for an operation (default 15s)
|
timeout: Timeout for an operation (default 15s)
|
||||||
|
@ -473,6 +454,6 @@ class FrostfsAdmMorph(CliCommand):
|
||||||
Command`s result.
|
Command`s result.
|
||||||
"""
|
"""
|
||||||
return self._execute(
|
return self._execute(
|
||||||
"control remove-rule",
|
"morph ape rm-rule-chain",
|
||||||
**{param: value for param, value in locals().items() if param not in ["self"]},
|
**{param: value for param, value in locals().items() if param not in ["self"]},
|
||||||
)
|
)
|
||||||
|
|
16
src/frostfs_testlib/storage/dataclasses/ape.py
Normal file
16
src/frostfs_testlib/storage/dataclasses/ape.py
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
from dataclasses import dataclass
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass
|
||||||
|
class Operations:
|
||||||
|
GET_CONTAINER = "GetContainer"
|
||||||
|
PUT_CONTAINER = "PutContainer"
|
||||||
|
DELETE_CONTAINER = "DeleteContainer"
|
||||||
|
LIST_CONTAINER = "ListContainers"
|
||||||
|
GET_OBJECT = "GetObject"
|
||||||
|
DELETE_OBJECT = "DeleteObject"
|
||||||
|
HASH_OBJECT = "HashObject"
|
||||||
|
RANGE_OBJECT = "RangeObject"
|
||||||
|
SEARCH_OBJECT = "SearchObject"
|
||||||
|
HEAD_OBJECT = "HeadObject"
|
||||||
|
PUT_OBJECT = "PutObject"
|
Loading…
Reference in a new issue