tryretool / retool-helm

MIT License
45 stars 57 forks source link

enable code executor by default for image tags >=3.20.15 #145

Closed avimoondra closed 6 months ago

avimoondra commented 6 months ago

Tests

Helm 3.7

we've had issues with this before: https://retooled.slack.com/archives/C03THV8QH0S/p1702051476282189

Inputs

echo "\n\n\n ====== Running tests for code-executor (helm 3.7) ======";
echo helm-3-7 version

echo "TEST: --set codeExecutor.enabled=true --set codeExecutor.image.tag=1.1.0";
helm-3-7 template -f ~/retool-helm/charts/retool/values.yaml foo ~/retool-helm/charts/retool --set config.encryptionKey="foo" --set image.tag="5.6.10" --set codeExecutor.enabled=true --set codeExecutor.image.tag=1.1.0 | grep code-executor;
echo "expecting CE";
echo "\n";

echo "TEST: --set codeExecutor.enabled='true' --set codeExecutor.image.tag=1.1.0";
helm-3-7 template -f ~/retool-helm/charts/retool/values.yaml foo ~/retool-helm/charts/retool --set config.encryptionKey="foo" --set image.tag="5.6.10" --set codeExecutor.enabled="true" --set codeExecutor.image.tag=1.1.0 | grep code-executor;
echo "expecting CE";
echo "\n";

echo "TEST: --set codeExecutor.enabled=false";
helm-3-7 template -f ~/retool-helm/charts/retool/values.yaml foo ~/retool-helm/charts/retool --set config.encryptionKey="foo" --set image.tag="5.6.10" --set codeExecutor.enabled=false | grep code-executor;
echo "No CE";
echo "\n";

echo "TEST: --set codeExecutor.enabled='false'";
helm-3-7 template -f ~/retool-helm/charts/retool/values.yaml foo ~/retool-helm/charts/retool --set config.encryptionKey="foo" --set image.tag="5.6.10" --set codeExecutor.enabled="false" | grep code-executor;
echo "No CE";
echo "\n";

echo "TEST: --set codeExecutor.image.tag=3.20.15";
helm-3-7 template -f ~/retool-helm/charts/retool/values.yaml foo ~/retool-helm/charts/retool --set config.encryptionKey="foo" --set image.tag="5.6.10" --set codeExecutor.image.tag=3.20.15 | grep code-executor;
echo "expecting CE";
echo "\n";

echo "TEST: --set codeExecutor.image.tag=3.21.1";
helm-3-7 template -f ~/retool-helm/charts/retool/values.yaml foo ~/retool-helm/charts/retool --set config.encryptionKey="foo" --set image.tag="5.6.10" --set codeExecutor.image.tag=3.21.1 | grep code-executor;
echo "expecting CE";
echo "\n";

echo "TEST: --set codeExecutor.image.tag=1.1.0";
helm-3-7 template -f ~/retool-helm/charts/retool/values.yaml foo ~/retool-helm/charts/retool --set config.encryptionKey="foo" --set image.tag="5.6.10" --set codeExecutor.image.tag=1.1.0 | grep code-executor;
echo "No CE";
echo "\n";

echo "\n\n\n ====== Running tests for workflows (helm 3.7) ======";

echo "TEST: --set workflows.enabled=true ";
helm-3-7 template -f ~/retool-helm/charts/retool/values.yaml foo ~/retool-helm/charts/retool --set config.encryptionKey="foo" --set image.tag="5.6.10" --set workflows.enabled=true  | grep worker;
echo "expecting worker";
echo "\n";

echo "TEST: --set workflows.enabled='true'";
helm-3-7 template -f ~/retool-helm/charts/retool/values.yaml foo ~/retool-helm/charts/retool --set config.encryptionKey="foo" --set image.tag="5.6.10" --set workflows.enabled="true"  | grep worker;
echo "expecting worker";
echo "\n";

echo "TEST: --set workflows.enabled=false";
helm-3-7 template -f ~/retool-helm/charts/retool/values.yaml foo ~/retool-helm/charts/retool --set config.encryptionKey="foo" --set image.tag="5.6.10" --set workflows.enabled=false | grep worker;
echo "No worker";
echo "\n";

echo "TEST: --set workflows.enabled='false'";
helm-3-7 template -f ~/retool-helm/charts/retool/values.yaml foo ~/retool-helm/charts/retool --set config.encryptionKey="foo" --set image.tag="5.6.10" --set workflows.enabled="false" | grep worker;
echo "No worker";
echo "\n";

echo "TEST: --set image.tag=3.6.11";
helm-3-7 template -f ~/retool-helm/charts/retool/values.yaml foo ~/retool-helm/charts/retool --set config.encryptionKey="foo"  --set image.tag=3.6.11 | grep worker;
echo "expecting worker";
echo "\n";

echo "TEST: --set image.tag=3.21.1";
helm-3-7 template -f ~/retool-helm/charts/retool/values.yaml foo ~/retool-helm/charts/retool --set config.encryptionKey="foo" --set image.tag=3.21.1 | grep worker;
echo "expecting worker";
echo "\n";

echo "TEST: --set image.tag=3.4.14";
helm-3-7 template -f ~/retool-helm/charts/retool/values.yaml foo ~/retool-helm/charts/retool --set config.encryptionKey="foo" --set image.tag="3.4.14" | grep worker;
echo "No worker";
echo "\n";

echo "\n\n\n ====== Running tests for workflows w/ code executor (default) (helm 3.7) ======";

echo "TEST: --set image.tag=3.4.14 --set codeExecutor.image.tag=3.20.15";
helm-3-7 template -f ~/retool-helm/charts/retool/values.yaml foo ~/retool-helm/charts/retool --set config.encryptionKey="foo" --set image.tag="3.20.16" --set codeExecutor.image.tag="3.20.16" | grep 'worker\|code-executor';
echo "worker AND code executor";
echo "\n";

Outputs

 ====== Running tests for code-executor (helm 3.7) ======
helm-3-7 version
TEST: --set codeExecutor.enabled=true --set codeExecutor.image.tag=1.1.0
  name: foo-retool-code-executor
    retoolService: foo-retool-code-executor
            value: http://foo-retool-code-executor
  name: foo-retool-code-executor
    retoolService: foo-retool-code-executor
      retoolService: foo-retool-code-executor
        prometheus.io/job: foo-retool-code-executor
        retoolService: foo-retool-code-executor
        image: "tryretool/code-executor-service:1.1.0"
            value: http://foo-retool-code-executor
            value: http://foo-retool-code-executor
expecting CE

TEST: --set codeExecutor.enabled='true' --set codeExecutor.image.tag=1.1.0
  name: foo-retool-code-executor
    retoolService: foo-retool-code-executor
            value: http://foo-retool-code-executor
  name: foo-retool-code-executor
    retoolService: foo-retool-code-executor
      retoolService: foo-retool-code-executor
        prometheus.io/job: foo-retool-code-executor
        retoolService: foo-retool-code-executor
        image: "tryretool/code-executor-service:1.1.0"
            value: http://foo-retool-code-executor
            value: http://foo-retool-code-executor
expecting CE

TEST: --set codeExecutor.enabled=false
No CE

TEST: --set codeExecutor.enabled='false'
No CE

TEST: --set codeExecutor.image.tag=3.20.15
  name: foo-retool-code-executor
    retoolService: foo-retool-code-executor
            value: http://foo-retool-code-executor
  name: foo-retool-code-executor
    retoolService: foo-retool-code-executor
      retoolService: foo-retool-code-executor
        prometheus.io/job: foo-retool-code-executor
        retoolService: foo-retool-code-executor
        image: "tryretool/code-executor-service:3.20.15"
            value: http://foo-retool-code-executor
expecting CE

TEST: --set codeExecutor.image.tag=3.21.1
  name: foo-retool-code-executor
    retoolService: foo-retool-code-executor
            value: http://foo-retool-code-executor
  name: foo-retool-code-executor
    retoolService: foo-retool-code-executor
      retoolService: foo-retool-code-executor
        prometheus.io/job: foo-retool-code-executor
        retoolService: foo-retool-code-executor
        image: "tryretool/code-executor-service:3.21.1"
            value: http://foo-retool-code-executor
expecting CE

TEST: --set codeExecutor.image.tag=1.1.0
No CE

 ====== Running tests for workflows (helm 3.7) ======
TEST: --set workflows.enabled=true
# Source: retool/templates/deployment_workflows_worker.yaml
  name: foo-retool-workflow-worker
    retoolService: foo-retool-workflow-worker
# Source: retool/templates/deployment_workflows_worker.yaml
  name: foo-retool-workflow-worker
    retoolService: foo-retool-workflow-worker
      retoolService: foo-retool-workflow-worker
        prometheus.io/job: foo-retool-workflow-worker
        retoolService: foo-retool-workflow-worker
expecting worker

TEST: --set workflows.enabled='true'
# Source: retool/templates/deployment_workflows_worker.yaml
  name: foo-retool-workflow-worker
    retoolService: foo-retool-workflow-worker
# Source: retool/templates/deployment_workflows_worker.yaml
  name: foo-retool-workflow-worker
    retoolService: foo-retool-workflow-worker
      retoolService: foo-retool-workflow-worker
        prometheus.io/job: foo-retool-workflow-worker
        retoolService: foo-retool-workflow-worker
expecting worker

TEST: --set workflows.enabled=false
No worker

TEST: --set workflows.enabled='false'
No worker

TEST: --set image.tag=3.6.11
# Source: retool/templates/deployment_workflows_worker.yaml
  name: foo-retool-workflow-worker
    retoolService: foo-retool-workflow-worker
# Source: retool/templates/deployment_workflows_worker.yaml
  name: foo-retool-workflow-worker
    retoolService: foo-retool-workflow-worker
      retoolService: foo-retool-workflow-worker
        prometheus.io/job: foo-retool-workflow-worker
        retoolService: foo-retool-workflow-worker
expecting worker

TEST: --set image.tag=3.21.1
# Source: retool/templates/deployment_workflows_worker.yaml
  name: foo-retool-workflow-worker
    retoolService: foo-retool-workflow-worker
# Source: retool/templates/deployment_workflows_worker.yaml
  name: foo-retool-workflow-worker
    retoolService: foo-retool-workflow-worker
      retoolService: foo-retool-workflow-worker
        prometheus.io/job: foo-retool-workflow-worker
        retoolService: foo-retool-workflow-worker
expecting worker

TEST: --set image.tag=3.4.14
No worker

 ====== Running tests for workflows w/ code executor (default) (helm 3.7) ======
TEST: --set image.tag=3.4.14 --set codeExecutor.image.tag=3.20.15
  name: foo-retool-code-executor
    retoolService: foo-retool-code-executor
# Source: retool/templates/deployment_workflows_worker.yaml
  name: foo-retool-workflow-worker
    retoolService: foo-retool-workflow-worker
            value: http://foo-retool-code-executor
  name: foo-retool-code-executor
    retoolService: foo-retool-code-executor
      retoolService: foo-retool-code-executor
        prometheus.io/job: foo-retool-code-executor
        retoolService: foo-retool-code-executor
        image: "tryretool/code-executor-service:3.20.16"
# Source: retool/templates/deployment_workflows_worker.yaml
  name: foo-retool-workflow-worker
    retoolService: foo-retool-workflow-worker
      retoolService: foo-retool-workflow-worker
        prometheus.io/job: foo-retool-workflow-worker
        retoolService: foo-retool-workflow-worker
            value: http://foo-retool-code-executor
worker AND code executor

Helm 3.10

Inputs

echo "\n\n\n ====== Running tests for code-executor (helm) ======";
helm version

echo "TEST: --set codeExecutor.enabled=true --set codeExecutor.image.tag=1.1.0";
helm template -f ~/retool-helm/charts/retool/values.yaml foo ~/retool-helm/charts/retool --set config.encryptionKey="foo" --set image.tag="5.6.10" --set codeExecutor.enabled=true --set codeExecutor.image.tag=1.1.0 | grep code-executor;
echo "expecting CE";
echo "\n";

echo "TEST: --set codeExecutor.enabled='true' --set codeExecutor.image.tag=1.1.0";
helm template -f ~/retool-helm/charts/retool/values.yaml foo ~/retool-helm/charts/retool --set config.encryptionKey="foo" --set image.tag="5.6.10" --set codeExecutor.enabled="true" --set codeExecutor.image.tag=1.1.0 | grep code-executor;
echo "expecting CE";
echo "\n";

echo "TEST: --set codeExecutor.enabled=false";
helm template -f ~/retool-helm/charts/retool/values.yaml foo ~/retool-helm/charts/retool --set config.encryptionKey="foo" --set image.tag="5.6.10" --set codeExecutor.enabled=false | grep code-executor;
echo "No CE";
echo "\n";

echo "TEST: --set codeExecutor.enabled='false'";
helm template -f ~/retool-helm/charts/retool/values.yaml foo ~/retool-helm/charts/retool --set config.encryptionKey="foo" --set image.tag="5.6.10" --set codeExecutor.enabled="false" | grep code-executor;
echo "No CE";
echo "\n";

echo "TEST: --set codeExecutor.image.tag=3.20.15";
helm template -f ~/retool-helm/charts/retool/values.yaml foo ~/retool-helm/charts/retool --set config.encryptionKey="foo" --set image.tag="5.6.10" --set codeExecutor.image.tag=3.20.15 | grep code-executor;
echo "expecting CE";
echo "\n";

echo "TEST: --set codeExecutor.image.tag=3.21.1";
helm template -f ~/retool-helm/charts/retool/values.yaml foo ~/retool-helm/charts/retool --set config.encryptionKey="foo" --set image.tag="5.6.10" --set codeExecutor.image.tag=3.21.1 | grep code-executor;
echo "expecting CE";
echo "\n";

echo "TEST: --set codeExecutor.image.tag=1.1.0";
helm template -f ~/retool-helm/charts/retool/values.yaml foo ~/retool-helm/charts/retool --set config.encryptionKey="foo" --set image.tag="5.6.10" --set codeExecutor.image.tag=1.1.0 | grep code-executor;
echo "No CE";
echo "\n";

echo "\n\n\n ====== Running tests for workflows (helm) ======";

echo "TEST: --set workflows.enabled=true ";
helm template -f ~/retool-helm/charts/retool/values.yaml foo ~/retool-helm/charts/retool --set config.encryptionKey="foo" --set image.tag="5.6.10" --set workflows.enabled=true  | grep worker;
echo "expecting worker";
echo "\n";

echo "TEST: --set workflows.enabled='true'";
helm template -f ~/retool-helm/charts/retool/values.yaml foo ~/retool-helm/charts/retool --set config.encryptionKey="foo" --set image.tag="5.6.10" --set workflows.enabled="true"  | grep worker;
echo "expecting worker";
echo "\n";

echo "TEST: --set workflows.enabled=false";
helm template -f ~/retool-helm/charts/retool/values.yaml foo ~/retool-helm/charts/retool --set config.encryptionKey="foo" --set image.tag="5.6.10" --set workflows.enabled=false | grep worker;
echo "No worker";
echo "\n";

echo "TEST: --set workflows.enabled='false'";
helm template -f ~/retool-helm/charts/retool/values.yaml foo ~/retool-helm/charts/retool --set config.encryptionKey="foo" --set image.tag="5.6.10" --set workflows.enabled="false" | grep worker;
echo "No worker";
echo "\n";

echo "TEST: --set image.tag=3.6.11";
helm template -f ~/retool-helm/charts/retool/values.yaml foo ~/retool-helm/charts/retool --set config.encryptionKey="foo"  --set image.tag=3.6.11 | grep worker;
echo "expecting worker";
echo "\n";

echo "TEST: --set image.tag=3.21.1";
helm template -f ~/retool-helm/charts/retool/values.yaml foo ~/retool-helm/charts/retool --set config.encryptionKey="foo" --set image.tag=3.21.1 | grep worker;
echo "expecting worker";
echo "\n";

echo "TEST: --set image.tag=3.4.14";
helm template -f ~/retool-helm/charts/retool/values.yaml foo ~/retool-helm/charts/retool --set config.encryptionKey="foo" --set image.tag="3.4.14" | grep worker;
echo "No worker";
echo "\n";

echo "\n\n\n ====== Running tests for workflows w/ code executor (default) (helm) ======";

echo "TEST: --set image.tag=3.4.14 --set codeExecutor.image.tag=3.20.15";
helm template -f ~/retool-helm/charts/retool/values.yaml foo ~/retool-helm/charts/retool --set config.encryptionKey="foo" --set image.tag="3.20.16" --set codeExecutor.image.tag="3.20.16" | grep 'worker\|code-executor';
echo "worker AND code executor";
echo "\n";

Outputs

 ====== Running tests for code-executor (helm) ======
version.BuildInfo{Version:"v3.10.3", GitCommit:"835b7334cfe2e5e27870ab3ed4135f136eecc704", GitTreeState:"clean", GoVersion:"go1.19.4"}
TEST: --set codeExecutor.enabled=true --set codeExecutor.image.tag=1.1.0
  name: foo-retool-code-executor
    retoolService: foo-retool-code-executor
            value: http://foo-retool-code-executor
  name: foo-retool-code-executor
    retoolService: foo-retool-code-executor
      retoolService: foo-retool-code-executor
        prometheus.io/job: foo-retool-code-executor
        retoolService: foo-retool-code-executor
        image: "tryretool/code-executor-service:1.1.0"
            value: http://foo-retool-code-executor
            value: http://foo-retool-code-executor
expecting CE

TEST: --set codeExecutor.enabled='true' --set codeExecutor.image.tag=1.1.0
  name: foo-retool-code-executor
    retoolService: foo-retool-code-executor
            value: http://foo-retool-code-executor
  name: foo-retool-code-executor
    retoolService: foo-retool-code-executor
      retoolService: foo-retool-code-executor
        prometheus.io/job: foo-retool-code-executor
        retoolService: foo-retool-code-executor
        image: "tryretool/code-executor-service:1.1.0"
            value: http://foo-retool-code-executor
            value: http://foo-retool-code-executor
expecting CE

TEST: --set codeExecutor.enabled=false
No CE

TEST: --set codeExecutor.enabled='false'
No CE

TEST: --set codeExecutor.image.tag=3.20.15
  name: foo-retool-code-executor
    retoolService: foo-retool-code-executor
            value: http://foo-retool-code-executor
  name: foo-retool-code-executor
    retoolService: foo-retool-code-executor
      retoolService: foo-retool-code-executor
        prometheus.io/job: foo-retool-code-executor
        retoolService: foo-retool-code-executor
        image: "tryretool/code-executor-service:3.20.15"
            value: http://foo-retool-code-executor
expecting CE

TEST: --set codeExecutor.image.tag=3.21.1
  name: foo-retool-code-executor
    retoolService: foo-retool-code-executor
            value: http://foo-retool-code-executor
  name: foo-retool-code-executor
    retoolService: foo-retool-code-executor
      retoolService: foo-retool-code-executor
        prometheus.io/job: foo-retool-code-executor
        retoolService: foo-retool-code-executor
        image: "tryretool/code-executor-service:3.21.1"
            value: http://foo-retool-code-executor
expecting CE

TEST: --set codeExecutor.image.tag=1.1.0
No CE

 ====== Running tests for workflows (helm) ======
TEST: --set workflows.enabled=true
# Source: retool/templates/deployment_workflows_worker.yaml
  name: foo-retool-workflow-worker
    retoolService: foo-retool-workflow-worker
# Source: retool/templates/deployment_workflows_worker.yaml
  name: foo-retool-workflow-worker
    retoolService: foo-retool-workflow-worker
      retoolService: foo-retool-workflow-worker
        prometheus.io/job: foo-retool-workflow-worker
        retoolService: foo-retool-workflow-worker
expecting worker

TEST: --set workflows.enabled='true'
# Source: retool/templates/deployment_workflows_worker.yaml
  name: foo-retool-workflow-worker
    retoolService: foo-retool-workflow-worker
# Source: retool/templates/deployment_workflows_worker.yaml
  name: foo-retool-workflow-worker
    retoolService: foo-retool-workflow-worker
      retoolService: foo-retool-workflow-worker
        prometheus.io/job: foo-retool-workflow-worker
        retoolService: foo-retool-workflow-worker
expecting worker

TEST: --set workflows.enabled=false
No worker

TEST: --set workflows.enabled='false'
No worker

TEST: --set image.tag=3.6.11
# Source: retool/templates/deployment_workflows_worker.yaml
  name: foo-retool-workflow-worker
    retoolService: foo-retool-workflow-worker
# Source: retool/templates/deployment_workflows_worker.yaml
  name: foo-retool-workflow-worker
    retoolService: foo-retool-workflow-worker
      retoolService: foo-retool-workflow-worker
        prometheus.io/job: foo-retool-workflow-worker
        retoolService: foo-retool-workflow-worker
expecting worker

TEST: --set image.tag=3.21.1
# Source: retool/templates/deployment_workflows_worker.yaml
  name: foo-retool-workflow-worker
    retoolService: foo-retool-workflow-worker
# Source: retool/templates/deployment_workflows_worker.yaml
  name: foo-retool-workflow-worker
    retoolService: foo-retool-workflow-worker
      retoolService: foo-retool-workflow-worker
        prometheus.io/job: foo-retool-workflow-worker
        retoolService: foo-retool-workflow-worker
expecting worker

TEST: --set image.tag=3.4.14
No worker

 ====== Running tests for workflows w/ code executor (default) (helm) ======
TEST: --set image.tag=3.4.14 --set codeExecutor.image.tag=3.20.15
  name: foo-retool-code-executor
    retoolService: foo-retool-code-executor
# Source: retool/templates/deployment_workflows_worker.yaml
  name: foo-retool-workflow-worker
    retoolService: foo-retool-workflow-worker
            value: http://foo-retool-code-executor
  name: foo-retool-code-executor
    retoolService: foo-retool-code-executor
      retoolService: foo-retool-code-executor
        prometheus.io/job: foo-retool-code-executor
        retoolService: foo-retool-code-executor
        image: "tryretool/code-executor-service:3.20.16"
# Source: retool/templates/deployment_workflows_worker.yaml
  name: foo-retool-workflow-worker
    retoolService: foo-retool-workflow-worker
      retoolService: foo-retool-workflow-worker
        prometheus.io/job: foo-retool-workflow-worker
        retoolService: foo-retool-workflow-worker
            value: http://foo-retool-code-executor
worker AND code executor