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

Compliance to Kubeflow 1.0 Guideline #2884

Closed
Bobgy opened this issue Jan 21, 2020 · 13 comments
Closed

Compliance to Kubeflow 1.0 Guideline #2884

Bobgy opened this issue Jan 21, 2020 · 13 comments
Labels

Comments

@Bobgy
Copy link
Contributor

Bobgy commented Jan 21, 2020

Reference: Kubeflow 1.0 Guideline

The following is the original doc and a column for Kubeflow Pipelines' status with each requirement.

@Bobgy Bobgy added the status/triaged Whether the issue has been explicitly triaged label Jan 22, 2020
@Bobgy
Copy link
Contributor Author

Bobgy commented Jan 22, 2020

Configuration and deployment

Description Category Status Explanation
Kustomize package Required OK
  • Kubeflow has standardized on Kustomize for configuring and deploying packages
Application CR Required OK
  • Kubeflow has standardized on using the Kubernetes Application CR to provide consistent metadata and monitoring about applications
  • Application CR should be an owner of all resources so that deleting the application CR uninstalls the application
app.kubernetes.io labels on every resource Required TODO: #3755
  • Every resource that is part of the application should include the labels recommended by Kubernetes, currently:
    • app.kubernetes.io/name
    • app.kubernetes.io/instance
    • app.kubernetes.io/version
    • app.kubernetes.io/component
    • app.kubernetes.io/part-of
    • app.kubernetes.io/managed-by
  • See example here
Images listed in kustomization.yaml Required OK #3776
  • All docker images used by the application should be listed in one or more kustomization.yaml files
  • This facilitates mirroring the images to different docker registries
Upgradeability Required OK
  • Applications must support upgrading between consecutive major and minor releases
Separate cluster scoped and namespace scoped resources Recommended OK
  • To the extent possible cluster scoped resources should be installable separately (e.g. via a separate kustomize package)
  • This allows cluster admins to install only the cluster scoped resources
  • Clear documentation of cluster and namespace scoped behavior
Kustomize package should be deployable on its own Recommended OK
  • To the extent possible users should be able to run kustomize build

@Bobgy
Copy link
Contributor Author

Bobgy commented Jan 22, 2020

Logging and monitoring

Description Category Status Explanation
Liveness/Readiness signals Required Almost(*operators don't have probes yet)
  • The application should expose liveness and/or readiness signals as appropriate for the application
Prometheus metrics Required TODO
  • Applications should export suitable application level metrics (e.g. number of jobs) using prometheus
Json logging Recommended Not planned yet
  • Applications should optionally emit structured logs with suitable metadata to facilitate debugging
  • e.g. CR controllers should annotate log messages with the name of the resource involved so it's easy to filter logs to all messages about a resource

@Bobgy
Copy link
Contributor Author

Bobgy commented Jan 22, 2020

Docker Images

Description Category Status Explanation
Vulnerability Scanning Required TODO #3857
  • Docker images must be scanned for vulnerabilities and known vulnerabilities published
Licensing Required p0 DONE, p2 TODO
  • Docker images must provide a list of all OSS licenses used by the image and its transitive dependencies, e.g. you can follow these instructions to get licenses of dependencies for Golang images

@Bobgy
Copy link
Contributor Author

Bobgy commented May 14, 2020

Custom Resources

The following requirements were mentioned, but I don't think they apply to Kubeflow Pipelines. All CRDs of Kubeflow Pipelines are meant to be internal implementation details, rather than sth users should directly use.

Description Category Explanation
Version stability Required
  • No deprecative API changes
Multi Version Support Required
Supports status subresource Required
  • Status subresource documented here
CRD schema validation Required
Training operators follow kubeflow/common conventions Required

@Bobgy
Copy link
Contributor Author

Bobgy commented May 14, 2020

CI/CD

Description Category Status Explanation
E2E tests Required OK
  • E2E tests should be run on presubmit, postsubmit, and periodically
  • Tests should cover deployment (kustomize packages)
  • As well as the application functionality
Scalability / load testing Required WIP #3259
  • Applications must have scalability and or load testing demonstrating that the application meets appropriate requirements for the application (e.g. # of concurrent CRs)
Continuous building of docker images Recommended OK
  • On post-submit, docker images should be automatically built and pushed
Continuous updating of Kustomize manifests Recommended Not planned
  • On post-submit, kustomize packages should be automatically updated to point to latest images

@Bobgy
Copy link
Contributor Author

Bobgy commented May 14, 2020

Docs

Description Category Status Explanation
API Reference docs Required OK #3216
  • Applications exposing APIs (e.g. CRs) need reference docs documenting the API
Application docs Required OK
  • There must be docs on kubeflow.org explaining what an application is used for and how to use it

@Bobgy
Copy link
Contributor Author

Bobgy commented May 14, 2020

Ownership/Maintenance

Description Category Status Explanation
Healthy number of committers and commits Required OK
  • Committers are listed as approvers in owners files
  • Number to be determined by TOC based on size and scope of application
At least 2 different organizations are committers Required OK

@Bobgy
Copy link
Contributor Author

Bobgy commented May 14, 2020

Adoption

Description Category Status Explanation
List of users running the application Recommended Not yet planned, but we can do this
  • Suggest listing adopters willing to be identified publicly in ADOPTERS.md

@Bobgy
Copy link
Contributor Author

Bobgy commented Jun 22, 2020

All actionable items done for 1.0

@stale
Copy link

stale bot commented Sep 20, 2020

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot unassigned jingzhang36 Sep 20, 2020
@stale stale bot added the lifecycle/stale The issue / pull request is stale, any activities remove this label. label Sep 20, 2020
@Bobgy
Copy link
Contributor Author

Bobgy commented Sep 22, 2020

/lifecycle frozen

@k8s-ci-robot k8s-ci-robot removed the lifecycle/stale The issue / pull request is stale, any activities remove this label. label Sep 22, 2020
@zijianjoy
Copy link
Collaborator

/close

I believe this issue can be closed now.

@google-oss-prow
Copy link

@zijianjoy: Closing this issue.

In response to this:

/close

I believe this issue can be closed now.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

magdalenakuhn17 pushed a commit to magdalenakuhn17/pipelines that referenced this issue Oct 22, 2023
* Add a KServe module level logger

Signed-off-by: Curtis Maddalozzo <cmaddalozzo@bloomberg.net>

* Fix merge issue

Signed-off-by: Dan Sun <dsun20@bloomberg.net>

---------

Signed-off-by: Curtis Maddalozzo <cmaddalozzo@bloomberg.net>
Signed-off-by: Dan Sun <dsun20@bloomberg.net>
Co-authored-by: Dan Sun <dsun20@bloomberg.net>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants