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

[Documentation]Add Documentation for Install and use. #1120

Open
RitheshShenthar opened this issue Feb 7, 2023 · 5 comments
Open

[Documentation]Add Documentation for Install and use. #1120

RitheshShenthar opened this issue Feb 7, 2023 · 5 comments
Assignees
Labels
documentation Improvements or additions to documentation enhancement New feature or request

Comments

@RitheshShenthar
Copy link

RitheshShenthar commented Feb 7, 2023

Currently, the documentation for Testgrid is very high level and does not have an "Installation and usage" section similar to kind's https://kind.sigs.k8s.io/.
The info provided lacks the implementation details to get a quick start with open source tools to setup the Testgrid backend. More specifically, we need the exact commands to do the following:

  1. How to Install, build and run the testgrid instance running on localhost.
    eg:- bazel build -options
    /BUILD_PATH/testgrid -options
  2. A sample run of how e2e tests can report against the backend server we brought up in (1).
  3. OSS DB service we can use instead of google cloud storage.What schema we need etc.

Nice to have:

  1. how to deploy this as an app on a k8s cluster.
  2. An example of how we can customize a front end to consume the OSS Testgrid backend.
@RitheshShenthar RitheshShenthar changed the title [Needs improvement]Documentation for Install and use. [Documentation]Add Documentation for Install and use. Feb 9, 2023
@michelle192837 michelle192837 self-assigned this Feb 15, 2023
@michelle192837 michelle192837 added documentation Improvements or additions to documentation enhancement New feature or request labels Feb 15, 2023
@michelle192837
Copy link
Collaborator

michelle192837 commented Feb 16, 2023

Updating a little bit for now. A proper update is going to take longer than I thought given other things we're working on (apologies), and I'd like to make sure instructions will be actually helpful and easy to use, so going to chip away at this and try to have things in a much more friendly state before mid-March.

In the meanwhile I can clarify a few of these points:

  1. Using this as a base to refine into a more useable quick start:
  • mkdir /tmp/testgrid
  • Create a configuration (config.proto), save at /tmp/testgrid/config
  • Run bazel run //cmd/updater:updater -- --config=/tmp/testgrid/config
  • Verify that results updated locally (ls /tmp/testgrid/grid).
    Though note that a complete update is "test results" > Updater > Tabulator > Summarizer, stored locally if you want to verify protos programmatically with a script (ex: https://github.com/GoogleCloudPlatform/testgrid/tree/master/cmd/state_comparer), or in GCS to view on the frontend.
  1. Yup, this would be nice to have. In the meanwhile, https://github.com/kubernetes/test-infra/tree/master/gubernator#gcs-layout has the expected format for results in GCS.
  2. At the moment you'll need GCS or local files. (For using the frontend as a service, e.g. https://github.com/GoogleCloudPlatform/testgrid/blob/master/standalone.md#frontend-usage, that definitely requires GCS. For running some components locally like in (1), you can read/write to the local filesystem. I haven't confirmed, but I think reading test results should work with local files as well, the example I ran locally just works with an existing config that uses GCS).

And for deployment, it's a bit hidden, but https://github.com/GoogleCloudPlatform/testgrid/blob/master/standalone.md#load-data has a link to an example deployment that other deployments can base off of.

TODOs (roughly this order):

  • Update standalone.md to clarify a few things and update information.
  • Update respective cmd/ subdirectories with a minimal run command for each component that doesn't have one yet.
  • Add 'how to deploy' instructions in cluster/.
  • Create a runnable, minimal quick start that creates basic test results, processes them, and writes locally. (Additionally include instructions to upload to GCS for viewing in the frontend).

@RitheshShenthar
Copy link
Author

Question: about this comment from (3) above: At the moment you'll need GCS or local files. : Clarifying if we can use a different Blob/Bucket storage aside from GCS like AWS S3?

@michelle192837
Copy link
Collaborator

michelle192837 commented Feb 21, 2023

Not at the moment; we don't have S3 or other cloud storage aside from GCS implemented (and don't have the bandwidth to add it, though there's an existing issue for S3 support open at #489 to discuss that specifically; it may be possible to contribute this).

@ankur12-1610
Copy link
Contributor

ankur12-1610 commented Feb 26, 2023

Hey, @RitheshShenthar @michelle192837 is there any wip going around Add 'how to deploy' instructions in cluster/, if not I can help with it, faced some difficulties at the start while referring testgrid docs 😅 (hence the motivation xD)

@michelle192837
Copy link
Collaborator

It's next on the list, but there's no WIP for it yet. (The closest is the instructions already there, at https://github.com/GoogleCloudPlatform/testgrid/blob/master/cluster/README.md, though that only implies the requirements needed to get a component up and running in canary/production).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants