diff --git a/automation/devops_automation_infra/plugins/docker.py b/automation/devops_automation_infra/plugins/docker.py index 07bb3c2e..90a0c483 100644 --- a/automation/devops_automation_infra/plugins/docker.py +++ b/automation/devops_automation_infra/plugins/docker.py @@ -114,6 +114,7 @@ def run_container_till_complete(self, servce_name, timeout=60): def run_cmd_in_service(self, service_name, cmd): cmd_escaped = cmd.replace("'", "\\'") cmd = self._running_container_by_name_cmd(service_name) + f"| xargs -I{{}} {self._docker_bin} exec {{}} sh -c $'{cmd_escaped}'" + logging.info(f"cmd: {cmd}") return self.try_executing_and_verbosely_log_error(cmd).strip() def run_cmd_in_service_background(self, service_name, cmd): diff --git a/automation/devops_automation_infra/plugins/seaweed.py b/automation/devops_automation_infra/plugins/seaweed.py index ec7d4861..d0faeb9d 100644 --- a/automation/devops_automation_infra/plugins/seaweed.py +++ b/automation/devops_automation_infra/plugins/seaweed.py @@ -65,26 +65,25 @@ def reset_state(self, keys={}): self.delete_bucket(bucket.name) def clear_buckets(self): - weed_shell = "weed shell -filer seaweedfs-filer:8888" + weed_shell = "weed shell" def weed_cmd(cmd): - return " | ".join([f"echo {cmd}", weed_shell]) + return " | ".join([f"echo '{cmd}'", weed_shell]) weed_delete_cmd = " | ".join([ - weed_cmd("bucket.list"), - "grep -Eo '\\S+$'", - "sed 's|^|bucket.delete -name |'", + weed_cmd("s3.bucket.list"), + "grep -v 'seaweedfs-master:9333'", + "tr -d '>'", + "sed '/^[[:space:]]*$/d'", + "sed 's/^ *//'", + "sed 's|^|s3.bucket.delete -name=|'", "tr '\\n' ';'", + "(echo 'lock;'; cat -; echo ''; echo 'unlock;')", weed_shell ]) - - weed_delete_cmd = "; ".join([ - weed_cmd("lock"), - weed_delete_cmd, - weed_cmd("unlock") - ]) - - self._host.Docker.run_cmd_in_service('_seaweedfs-master_', weed_delete_cmd) + + logging.info(f"weed_delete_cmd: {weed_delete_cmd}") + self._host.Docker.run_cmd_in_service('seaweedfs-master_', weed_delete_cmd) def verify_functionality(self): try: