Coder Social home page Coder Social logo

sd-13 / hydrophone Goto Github PK

View Code? Open in Web Editor NEW

This project forked from kubernetes-sigs/hydrophone

0.0 1.0 0.0 111 KB

Hydrophone is a lightweight Kubernetes conformance tests runner

License: Apache License 2.0

Shell 12.23% Go 85.93% Makefile 1.84%

hydrophone's Introduction

hydrophone

Kubernetes Logo

Lightweight runner for kubernetes tests. Uses the conformance image(s) released by the kubernetes release team to either run individual tests or the entire Conformance suite. Design is pretty simple, it starts the conformance image as a pod in the conformance namespace, waits for it to finish and then prints out the results.

Project Goals

  • Simplified Kubernetes Testing: Easy-to-use tool for running Kubernetes conformance tests.
  • Official Conformance Images: Utilize official conformance images from the Kubernetes Release Team.
  • Flexible Test Execution: Ability to run individual test, the entire Conformance Test Suite, or anything in between.

Project Non-Goals

  • Replacing Kubernetes Testing Frameworks: Not intended to replace existing frameworks, but to complement them.
  • Extensive Test Development: Focus is on running existing tests, not developing new ones.
  • Broad Tool Integration: Limited integration with third-party tools; maintains simplicity.

Build

$ make build
go build -o bin/hydrophone main.go

Install

go install sigs.k8s.io/hydrophone@latest

Command line options

$ bin/hydrophone --help
Usage of bin/hydrophone:
  -busybox-image string
        specify an alternate busybox container image. (default "registry.k8s.io/e2e-test-images/busybox:1.36.1-1")
  -cleanup
        cleanup resources (pods, namespaces etc).
  -conformance
        run conformance tests.
  -conformance-image string
        specify a conformance container image of your choice. (default "registry.k8s.io/conformance:v1.29.0")
  -dry-run
        run in dry run mode.
  -focus string
        focus runs a specific e2e test. e.g. - sig-auth. allows regular expressions.
  -kubeconfig string
        path to the kubeconfig file.
  -list-images
        list all images that will be used during conformance tests.
  -output-dir string
        directory for logs. (defaults to current directory)
  -parallel int
        number of parallel threads in test framework. (default 1)
  -skip string
        skip specific tests. allows regular expressions.
  -test-repo string
        alternate registry for test images
  -test-repo-list string
        yaml file to override registries for test images
  -verbosity int
        verbosity of test framework. (default 4)

Run

Ensure there is a KUBECONFIG environment variable specified or $HOME/.kube/config file present before running hydrophone Alternatively, you can specify the path to the kubeconfig file with the --kubeconfig option.

To run conformance tests use:

bin/hydrophone --conformance

To run a specific test use:

bin/hydrophone --focus 'Simple pod should contain last line of the log'

To specify a version of conformance image use:

bin/hydrophone --conformance-image 'registry.k8s.io/conformance:v1.29.0'

Troubleshooting

Check if the pod is running:

kubectl get pods -n conformance

use kubectl logs or kubectl exec to see what is happening in the pod.

Cleanup

Delete the pod

kubectl delete -n conformance pods/e2e-conformance-test

Delete the namespace

kubectl delete -n conformance pods/e2e-conformance-test && kubectl delete ns conformance

Community

Please reach out for bugs, feature requests, and other issues! The maintainers of this project are reachable via:

Current maintainers are @dims and @rjsadow - feel free to reach out if you have any questions!

Pull Requests are very welcome! If you're planning a new feature, please file an issue to discuss first.

Check the issue tracker for help wanted issues if you're unsure where to start, or feel free to reach out to discuss. ๐Ÿ™‚

See also: our own contributor guide and the Kubernetes community page.

Code of conduct

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

hydrophone's People

Contributors

actions-user avatar aniruddha2000 avatar aroradaman avatar bwtaggart avatar dims avatar k8s-ci-robot avatar priyankasaggu11929 avatar rjsadow avatar sreeram-venkitesh 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.