Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Basic needs for this repo to be useful #5

Closed
jeremyeder opened this issue Sep 26, 2016 · 8 comments
Closed

Basic needs for this repo to be useful #5

jeremyeder opened this issue Sep 26, 2016 · 8 comments
Labels
area/administration lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale.

Comments

@jeremyeder
Copy link

jeremyeder commented Sep 26, 2016

At least:

  • Which sig owns this repository
  • An architecture discussion
  • An agreed-upon automation framework
  • Modularized to support also running on distributions of Kubernetes
  • Modularized so there is no dependency on any cloud/infra
  • Some understanding of how the merge queue works...don't want delays.
  • Discussion around what tests to move from e2e
  • CI of the tests within the repo
  • Policy of unit tests for the tests themselves
  • CI of running the tests themselves
  • Does this repository depend on kubernetes e2e tests
    • Can this repository import useful framework helpers/functions from e2e
@namliz
Copy link

namliz commented Sep 26, 2016

(CLI) Conventions

Because in general tools are independent and have their own ways of being configured or run

Perhaps it doesn't have to be that way. I'd like to suggest the following;

  • Python
  • Click library
  • Yaml

It looks like we'll have several projects contributing stuff and a lot of people will want to expose running a test in a nice way with a cli and maybe even as a subcommand of their project. I know I want that.

Aforementioned Click lets you compose these things pretty easily. For example, on @jeremyeder's side of things they have this runner that I could simply import as a subcommand if it were to adopt the convention.

Exposing it in such a way is more user friendly than having users pull this repo and individually read and understand each subdirectory.

Furthermore I think each cli should be able to parse a yaml config file (just like kubectl) that defines a test. See this webframework comparison benchmark for inspiration.

In Summary

I should be able to pull this repo, cd into the subdirectory of interest, and have a cli.py wrapper I can immediately try out either against example yaml definitions or with my own flags.

I should also easily be able to import into my own project whichever subdirectories of this repo I find relevant.

Thoughts?

@jeremyeder
Copy link
Author

@gmarek
Copy link

gmarek commented Sep 28, 2016

@Zilman - there will be very different things here, e.g. running kubemark will be drastically different than running cluster-loader or dedicated component benchmarks and not all of them will have it's own CLI. Kubemark uses kubectl, dedicated benchmarks and e2e tests will probably use framework from the main repo, etc. OTOH cluster loader probably should have a CLI, but I don't think it will be shared with anything else, so we'll go with whatever is easiest.

@pskrzyns
Copy link

pskrzyns commented Oct 3, 2016

For the existing e2e tests(density, load) i.e. density test: should.allow.starting.100.pods.per.node it would be nice to switch them to: should.allow.starting.10.pods.per.core and during the test calculate how many pods should be running on the single node. At this moment biggest density test is 100 pods per node so in case of running it on bare metal(depending on hardware configuration) it could give only about 2 pods per core.

@jeremyeder
Copy link
Author

@sjug is going to discuss the first part of this at the @kubernetes/sig-testing tomorrow, Tue Oct 4. And then in further depth at the @kubernetes/sig-scalability meeting on Thursday Oct 6, which we've agreed will own the "perf-tests" repo.

@gmarek
Copy link

gmarek commented Oct 4, 2016

@pskrzyns - I don't think 10pods/core are already supported by Kubelet (@yujuhong), plus this issue is about moving tests to separate repo, not updating them:)

@yujuhong
Copy link

yujuhong commented Oct 4, 2016

@pskrzyns - I don't think 10pods/core are already supported by Kubelet (@yujuhong), plus this issue is about moving tests to separate repo, not updating them:)

Agreed. For the pods per core discussion, please move it to the original issue: kubernetes/kubernetes#25762

@fejta-bot
Copy link

Issues go stale after 30d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.

Prevent issues from auto-closing with an /lifecycle frozen comment.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or @fejta.
/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Dec 17, 2017
@gmarek gmarek closed this as completed Dec 28, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/administration lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale.
Projects
None yet
Development

No branches or pull requests

7 participants