[[2021-06-19_Sat]] #argo #litmus #sockshop Chaosの実行時間を60秒に設定していても、argo submit --watch を眺めていると、10秒ぐらいで終わっている。 Argoのマニフェストの以下の部分で、 kubectl apply が実行結果を待たないことが原因であるとあたりをつけた。 ```shell-session container: image: lachlanevenson/k8s-kubectl command: [sh, -c] args: ['kubectl apply -f /tmp/chaosengine.yaml -n {{workflow.parameters.appNamespace}}'] ``` [[kubectl applyの実行を待つ方法]] は、ワークアラウンドで対応することになる。 しかし、 kubectl wait にわたすpod名をどう取得するか。 `kubectl wait -f filename` オプションがあったので、これで、chaosengine.yaml を指定すればよさそう。 `kubectl wait --for condition="Completed"` や `kubectl wait --for condition=complete` では条件にヒットしないことがわかった。 chaosengine.yamlで作成するのは ChaosEngineリソースであって、ChaosEngineリソースが作成するinjectionのためのpodのリソースを直接作成するわけではないからだと仮説をたてた。 injection用のpodは、名前にランダム文字列を含むため、特定が難しい。単にsleepするだけにした。 [add more chaos type litmus by yuuki · Pull Request #6 · ai4sre/microservices-demo · GitHub](https://github.com/ai4sre/microservices-demo/pull/6/commits/e1ae4e5476d87c2650a20c988a5b6ae8cbb62493)