kubernetes-sigs / kubetest2

Kubetest2 is the framework for launching and running end-to-end tests on Kubernetes.
Apache License 2.0
331 stars 106 forks source link

Change the functions for kubetest2-gke deployer to public #135

Closed chizhg closed 3 years ago

chizhg commented 3 years ago

Change the functions for kubetest2-gke deployer to public, so that it can be used as a library.

chizhg commented 3 years ago

/lgtm

one quick question: there's probably more value in actually exporting the non-deployer "helper" functions (i.e. network setup etc.)

Usability of deployers as libraries is questionable considering the contract between deployers and testers is still binary invocation.

The major/only reason we want this change is to decouple the different steps (project setup, network setup, cluster creation, etc.) in the pipeline, so that we can run each step individually.

We are not planning to rebuild a new pipeline by calling these public functions, that'll be still orchestrated by the kubetest2 binary.

Does it answer your question?

amwat commented 3 years ago

My main question is around how we plan to use the public deployer functions. If users still needs to construct the kubetest2 gke deployer then it's probably less ideal than exporting the networking pieces directly.

But either way, this will help in making these methods reusable by users who want to manage the network lifecycle on their own.

/lgtm /approve

k8s-ci-robot commented 3 years ago

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: amwat, chizhg

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files: - ~~[OWNERS](https://github.com/kubernetes-sigs/kubetest2/blob/master/OWNERS)~~ [amwat] Approvers can indicate their approval by writing `/approve` in a comment Approvers can cancel approval by writing `/approve cancel` in a comment
amwat commented 3 years ago

/lgtm