Coder Social home page Coder Social logo

kishen-v / kubetest2 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from kubernetes-sigs/kubetest2

0.0 1.0 0.0 847 KB

Kubetest2 is the framework for launching and running end-to-end tests on Kubernetes.

License: Apache License 2.0

Shell 7.62% Python 3.08% Go 87.91% Makefile 1.40%

kubetest2's Introduction

kubetest2

Kubetest2 is a framework for deploying Kubernetes clusters and running end-to-end tests against them.

It is intended to be the next significant iteration of kubetest

Concepts

kubetest2 is effectively split into three independent executables:

  • kubetest2: discovers and invokes deployers and testers in PATH
  • kubetest2-DEPLOYER: manages the lifecycle of a Kubernetes cluster
  • kubetest2-tester-TESTER: tests a Kubernetes cluster

The intent behind this design is:

  • minimize coupling between deployers and testers
  • encourage implementation of new deployers and testers out-of-tree
  • keep dependencies / surface area of kubetest2 small

We provide reference implementations but all all new implementations should be external implementations

Installation

To install kubetest2 and all reference deployers and testers: go install sigs.k8s.io/kubetest2/...@latest

To install a specific deployer: go install sigs.k8s.io/kubetest2/kubetest2-DEPLOYER@latest (DEPLOYER can be gce, gke, etc.)

To install a sepcific tester: go install sigs.k8s.io/kubetest2/kubetest2-tester-TESTER@latest (TESTER can be ginkgo, exec, etc.)

Usage

General usage is of the form:

kubetest2 <deployer> [Flags] [DeployerFlags] -- [TesterArgs]

Example: list all flags for the noop deployer and ginkgo tester

kubetest2 noop --test=ginkgo --help

Example: deploy a cluster using a local checkout of kubernetes/kubernetes, run Conformance tests

kubetest2 gce -v 2 \
  --repo-root $KK_REPO_ROOT \
  --gcp-project $YOUR_GCP_PROJECT \
  --legacy-mode \
  --build \
  --up \
  --down \
  --test=ginkgo \
  -- \
  --focus-regex='\[Conformance\]'

Reference Implementations

See individual READMEs for more information

Deployers

Testers

External Implementations

Deployers

Testers

Support

This project is currently unversioned and unreleased. We make a best-effort attempt to enforce the following:

  • kubetest2 and its reference implementations must work with the in-development version of kubernetes and all currently supported kubernetes releases
    • e.g. no generics until older supported kubernetes version supports generics
    • e.g. ginkgo tester must work with both ginkgo v1 and ginkgo v2
  • changes to the following testers must not break jobs in the kubernetes project
    • kubetest2-tester-exec
    • kubetest2-tester-ginkgo

Contact

Learn how to engage with the Kubernetes community on the community page.

You can reach the maintainers of this project at:

Code of conduct

Participation in the Kubernetes community is governed by the Kubernetes Code of Conduct.

kubetest2's People

Contributors

06kellyjac avatar amwat avatar aojea avatar bentheelder avatar bobbypage avatar chendave avatar chizhg avatar chrislovecnm avatar cofyc avatar dims avatar dprotaso avatar gyuho avatar joshua-bone avatar justinsb avatar k8s-ci-robot avatar krzykwas avatar leonardpahlke avatar liggitt avatar michaelmdresser avatar mkumatag avatar namanl2001 avatar nikhita avatar rajalakshmi-girish avatar richackard avatar rifelpet avatar ronweber avatar saschagrunert avatar spiffxp avatar upodroid avatar xinydev avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.