diff --git a/.github/prune-vm/action.yml b/.github/prune-vm/action.yml new file mode 100644 index 0000000..8ee6208 --- /dev/null +++ b/.github/prune-vm/action.yml @@ -0,0 +1,27 @@ +# Inspired by https://github.com/AdityaGarg8/remove-unwanted-software +# to free up disk space. Currently removes Dotnet, Android and Haskell. +name: Remove unwanted software +description: Default GitHub runners come with a lot of unnecessary software +runs: + using: "composite" + steps: + - name: Disk space report before modification + shell: bash + run: | + echo "==> Available space before cleanup" + echo + df -h + - name: Maximize build disk space + shell: bash + run: | + set -euo pipefail + sudo rm -rf /usr/share/dotnet + sudo rm -rf /usr/local/lib/android + sudo rm -rf /opt/ghc + sudo rm -rf /usr/local/.ghcup + - name: Disk space report after modification + shell: bash + run: | + echo "==> Available space after cleanup" + echo + df -h diff --git a/src/cli/nomos_cli.py b/src/cli/nomos_cli.py index 7ff564d..40e5e2d 100644 --- a/src/cli/nomos_cli.py +++ b/src/cli/nomos_cli.py @@ -34,7 +34,7 @@ class NomosCli: self._volumes = [cwd + "/" + volume for volume in self._volumes] def run(self, input_values=None, **kwargs): - logger.debug(f"NomosCli initialized with log path {self._log_path}") + logger.debug(f"NomosCli starting with log path {self._log_path}") self._port_map = {} diff --git a/src/node/nomos_node.py b/src/node/nomos_node.py index e2f6b17..27f57df 100644 --- a/src/node/nomos_node.py +++ b/src/node/nomos_node.py @@ -43,7 +43,7 @@ class NomosNode: @retry(stop=stop_after_delay(60), wait=wait_fixed(0.1), reraise=True) def start(self, wait_for_node_sec=120, **kwargs): - logger.debug(f"Starting Node {self._container_name}") + logger.debug(f"Starting Node {self._container_name} with role {self._node_type}") self._docker_manager.create_network() self._ext_ip = self._docker_manager.generate_random_ext_ip() diff --git a/src/steps/da.py b/src/steps/da.py index a8eb854..9b7b7ba 100644 --- a/src/steps/da.py +++ b/src/steps/da.py @@ -59,8 +59,15 @@ def prepare_get_range_request(app_id, start_index, end_index): return query_data -class StepsDataAvailability(StepsCommon): +def response_contains_data(response): + for index, blobs in response: + if len(blobs) != 0: + return True + return False + + +class StepsDataAvailability(StepsCommon): def find_executor_node(self): executor = {} for node in self.main_nodes: @@ -69,13 +76,17 @@ class StepsDataAvailability(StepsCommon): return executor @allure.step - @retry(stop=stop_after_delay(20), wait=wait_fixed(0.1), reraise=True) + @retry(stop=stop_after_delay(65), wait=wait_fixed(1), reraise=True) def disperse_data(self, data, app_id, index): request = prepare_dispersal_request(data, app_id, index) executor = self.find_executor_node() - executor.send_dispersal_request(request) + try: + executor.send_dispersal_request(request) + except Exception as ex: + assert "Bad Request" in str(ex) or "Internal Server Error" in str(ex) @allure.step + @retry(stop=stop_after_delay(45), wait=wait_fixed(1), reraise=True) def get_data_range(self, node, app_id, start, end): response = [] query = prepare_get_range_request(app_id, start, end) @@ -84,4 +95,6 @@ class StepsDataAvailability(StepsCommon): except Exception as ex: assert "Bad Request" in str(ex) or "Internal Server Error" in str(ex) + assert response_contains_data(response), "Get data range response is empty" + return response