fix: close rest connection

- log node as container name
- make disperse_data retry
- fix cli_args assignment
This commit is contained in:
Roman 2025-02-10 15:08:29 +08:00
parent b84df0a518
commit f227425f96
No known key found for this signature in database
GPG Key ID: B8FE070B54E11B75
4 changed files with 7 additions and 8 deletions

View File

@ -12,12 +12,12 @@ class REST(BaseClient):
def rest_call(self, method, endpoint, payload=None): def rest_call(self, method, endpoint, payload=None):
url = f"http://127.0.0.1:{self._rest_port}/{endpoint}" url = f"http://127.0.0.1:{self._rest_port}/{endpoint}"
headers = {"Content-Type": "application/json"} headers = {"Content-Type": "application/json", "Connection": "close"}
return self.make_request(method, url, headers=headers, data=payload) return self.make_request(method, url, headers=headers, data=payload)
def rest_call_text(self, method, endpoint, payload=None): def rest_call_text(self, method, endpoint, payload=None):
url = f"http://127.0.0.1:{self._rest_port}/{endpoint}" url = f"http://127.0.0.1:{self._rest_port}/{endpoint}"
headers = {"accept": "text/plain"} headers = {"accept": "text/plain", "Connection": "close"}
return self.make_request(method, url, headers=headers, data=payload) return self.make_request(method, url, headers=headers, data=payload)
def info(self): def info(self):

View File

@ -36,8 +36,8 @@ class DockerManager:
return network return network
def start_container(self, image_name, port_bindings, args, log_path, volumes, entrypoint, remove_container=True, name=None, command=None): def start_container(self, image_name, port_bindings, args, log_path, volumes, entrypoint, remove_container=True, name=None, command=None):
if command is None:
cli_args = [] cli_args = []
if command is None:
for key, value in args.items(): for key, value in args.items():
if isinstance(value, list): # Check if value is a list if isinstance(value, list): # Check if value is a list
cli_args.extend([f"--{key}={item}" for item in value]) # Add a command for each item in the list cli_args.extend([f"--{key}={item}" for item in value]) # Add a command for each item in the list

View File

@ -43,7 +43,7 @@ class NomosNode:
@retry(stop=stop_after_delay(60), wait=wait_fixed(0.1), reraise=True) @retry(stop=stop_after_delay(60), wait=wait_fixed(0.1), reraise=True)
def start(self, wait_for_node_sec=120, **kwargs): def start(self, wait_for_node_sec=120, **kwargs):
logger.debug("Starting Node...") logger.debug(f"Starting Node {self._container_name}")
self._docker_manager.create_network() self._docker_manager.create_network()
self._ext_ip = self._docker_manager.generate_random_ext_ip() self._ext_ip = self._docker_manager.generate_random_ext_ip()

View File

@ -1,4 +1,5 @@
import allure import allure
from tenacity import retry, stop_after_delay, wait_fixed
from src.env_vars import NOMOS_EXECUTOR from src.env_vars import NOMOS_EXECUTOR
from src.steps.common import StepsCommon from src.steps.common import StepsCommon
@ -45,13 +46,11 @@ class StepsDataAvailability(StepsCommon):
return executor return executor
@allure.step @allure.step
@retry(stop=stop_after_delay(20), wait=wait_fixed(0.1), reraise=True)
def disperse_data(self, data, app_id, index): def disperse_data(self, data, app_id, index):
request = prepare_dispersal_request(data, app_id, index) request = prepare_dispersal_request(data, app_id, index)
executor = self.find_executor_node() executor = self.find_executor_node()
try:
executor.send_dispersal_request(request) executor.send_dispersal_request(request)
except Exception as ex:
assert "Bad Request" in str(ex) or "Internal Server Error" in str(ex)
@allure.step @allure.step
def get_data_range(self, node, app_id, start, end): def get_data_range(self, node, app_id, start, end):