+1 to stop using bash scripts, and I also have experienced the bash scripts that is really hard to maintain and debug, thanks @Robert for the great work again.
I think testcontainers is a nice candidate. Best, Leonard > 在 2020年11月18日,19:46,Aljoscha Krettek <aljos...@apache.org> 写道: > > +1 > > And I want to second Arvid's mention of testcontainers [1]. > > [1] https://www.testcontainers.org/ > > On 18.11.20 10:43, Yang Wang wrote: >> Thanks till and Jark for sharing the information. >> I am also +1 for this proposal and glad to wire the new introduced K8s HA >> e2e tests to java based framework. >> Best, >> Yang >> Jark Wu <imj...@gmail.com> 于2020年11月18日周三 下午5:23写道: >>> +1 to use the Java-based testing framework and +1 for using docker images >>> in the future. >>> IIUC, the Java-based testing framework refers to the >>> `flink-end-to-end-tests-common` module. >>> The java-based framework helped us a lot when debugging the unstable e2e >>> tests. >>> >>> Best, >>> Jark >>> >>> On Wed, 18 Nov 2020 at 14:42, Yang Wang <danrtsey...@gmail.com> wrote: >>> >>>> Thanks for starting this discussion. >>>> >>>> In general, I agree with you that a java-based testing framework is >>> better >>>> than the bash-based. It will >>>> help a lot for the commons and utilities. >>>> >>>> Since I am trying to add a new bash-based Kubernetes HA test, I have some >>>> quick questions. >>>> * I am not sure where the java-based framework is. Do you mean >>>> "flink-jepsen" module or sth else? >>>> * Maybe it will be harder to run a cli command(e.g. flink run / >>>> run-application) to submit a Flink job in the java-based framework. >>>> * It will be harder to inject some operations. For example, kill the >>>> JobManager in Kubernetes. Currently, I >>>> am trying to use "kubectl exec" to do this. >>>> >>>> >>>> Best, >>>> Yang >>>> >>>> Robert Metzger <rmetz...@apache.org> 于2020年11月17日周二 下午11:36写道: >>>> >>>>> Hi all, >>>>> >>>>> Since we are currently testing the 1.12 release, and potentially adding >>>>> more automated e2e tests, I would like to bring up our end to end tests >>>> for >>>>> discussion. >>>>> >>>>> Some time ago, we introduced a Java-based testing framework, with the >>>> idea >>>>> of replacing the current bash-based end to end tests. >>>>> Since the introduction of the java-based framework, more bash tests >>> were >>>>> actually added, making a future migration even harder. >>>>> >>>>> *For that reason, I would like to propose that we are stopping to add >>> any >>>>> new bash end to end tests to Flink. All new end to end tests must be >>>>> written in Java and rely on the existing testing framework.* >>>>> >>>>> For the 1.13 release, I'm trying to find some time to revisit potential >>>>> improvements for the existing java e2e framework (such as using Docker >>>>> images everywhere), as well as a migration plan for the existing bash >>>>> tests. We have a large number of bash e2e tests that are just >>>> parameterized >>>>> differently. If we would start migrating them to Java, we could move a >>>>> larger proportion of tests over to the new Java framework, and tackle >>> the >>>>> more involved bash tests later (kerberized yarn, kubernetes, ...). >>>>> >>>>> Let me know what you think! >>>>> >>>>> Best, >>>>> Robert >>>>> >>>>> >>>>> PS: If you are wondering why I'm bringing this up now: I'm spending >>>> quite a >>>>> lot of time trying to figure out really hard to debug issues with our >>>> bash >>>>> testing infra. >>>>> Also, it is very difficult to introduce something generic for all tests >>>>> (such as a test-timeout, using docker as the preferred deployment >>> method >>>>> etc.) since the tests often don't share common tooling. >>>>> Speaking about tooling: there are a lot of utilities everywhere, >>>> sometimes >>>>> duplicated, with different features / stability etc. >>>>> I believe bash is not the right tool for a project this size (in terms >>> of >>>>> developers and lines of code) >>>>> >>>> >>> >