Skip to content

Verify kubernetes objects with DryRun #3425

Closed

Description

@dgerd

In what area(s)?

/area API

/area autoscale
/area build
/area monitoring
/area networking
/area test-and-release

Describe the feature

In Kubernetes 1.13 a dry-run feature was added to allow validating an object without instantiating it.

Our architecture has a mutating webhook as well as a controller to reconcile events. Today our webhook validations are not great at catching problems with kubernetes shapes such as the corev1.Container shape. Any issues that get through our validation that fail kubernetes validations result in the controller unable to reconcile which is further along in the API call lifecycle and more difficult to debug.

This issue is to leverage the dry-run feature in our webhook to ensure kubernetes shapes we are passed are validated synchronously with the user's request. Since this will require Kubernetes 1.13 it is currently blocked on other reasons for us to move forward to requiring a higher version, but capturing this here for potential future Knative releases.

https://kubernetes.io/docs/reference/using-api/api-concepts/#dry-run

Activity

  1. added
    kind/featureWell-understood/specified features, ready for coding.
    on Mar 13, 2019
  2. added
    area/APIAPI objects and controllers
    kind/specDiscussion of how a feature should be exposed to customers.
    on Mar 13, 2019
  3. added this to the Ice Box milestone on Mar 25, 2019
  4. knative-housekeeping-robot commented on Dec 21, 2019

    @knative-housekeeping-robot

    Issues go stale after 90 days of inactivity.
    Mark the issue as fresh by adding the comment /remove-lifecycle stale.
    Stale issues rot after an additional 30 days of inactivity and eventually close.
    If this issue is safe to close now please do so by adding the comment /close.

    Send feedback to Knative Productivity Slack channel or file an issue in knative/test-infra.

    /lifecycle stale

  5. added
    lifecycle/staleDenotes an issue or PR has remained open with no activity and has become stale.
    on Dec 21, 2019
  6. vagababov commented on Dec 21, 2019

    @vagababov
    Contributor

    /remove-lifecycle stale

  7. removed
    lifecycle/staleDenotes an issue or PR has remained open with no activity and has become stale.
    on Dec 21, 2019
  8. whaught commented on Feb 14, 2020

    @whaught
    Contributor

    /assign

  9. knative-housekeeping-robot commented on May 15, 2020

    @knative-housekeeping-robot

    Issues go stale after 90 days of inactivity.
    Mark the issue as fresh by adding the comment /remove-lifecycle stale.
    Stale issues rot after an additional 30 days of inactivity and eventually close.
    If this issue is safe to close now please do so by adding the comment /close.

    Send feedback to Knative Productivity Slack channel or file an issue in knative/test-infra.

    /lifecycle stale

  10. added
    lifecycle/staleDenotes an issue or PR has remained open with no activity and has become stale.
    on May 15, 2020
  11. vagababov commented on May 15, 2020

    @vagababov
    Contributor

    /remove-lifecycle stale

  12. removed
    lifecycle/staleDenotes an issue or PR has remained open with no activity and has become stale.
    on May 15, 2020
  13. vagababov commented on Jun 3, 2020

    @vagababov
    Contributor

    Weston,
    can we close this out, or you still do something in this space?

  14. whaught commented on Jun 3, 2020

    @whaught
    Contributor

    /close

    Sure. I have #8077 filed for the next step

  15. knative-prow-robot commented on Jun 3, 2020

    @knative-prow-robot
    Contributor

    @whaught: Closing this issue.

    Details

    In response to this:

    /close

    Sure. I have #8077 filed for the next step

    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.

  16. removed this from the Ice Box milestone on Oct 6, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

area/APIAPI objects and controllerskind/featureWell-understood/specified features, ready for coding.kind/specDiscussion of how a feature should be exposed to customers.

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions