cli-utils icon indicating copy to clipboard operation
cli-utils copied to clipboard

[WIP] Add support for external dependencies

Open karlkfi opened this issue 4 years ago • 16 comments

  • Add Defaulter Mutator to update objects early to inherit the target resource namespace for SourceRef in apply-time-mutation annotations.
  • Compute external dependencies early to update StatusPoller IDs
  • Add ResourceReferenceFromObjMetadata
  • Add testutil.AssertEqual and AssertNotEqual to use without Gomega
  • Update solver tests to use AssertEquals, instead of custom diffs
  • Allow WaitTask without ApplyTask for external dependencies
  • Update graph.SortObjs to return external dependencies
  • Add Equal func to ApplyTask and WaitTask, for testing
  • Move Condition to its own file (same pkg)
  • Expose TaskName and Mapper in WaitTask for testing
  • Add ObjMetadataSet for testing comparisons
  • Add UnstructuredSet for testing comparisons
  • Refactor Task.Identifiers() to return ObjMetadataSet
  • Make YamlStringer support any interface{}
  • Set YamlToUnstructured as a test Helper to improve failure file:line
  • Add ErrorEvent support to event list e2e tests
  • Add e2e tests for external dependencies
  • Add mutator.Mutate and MutateAll helper funcs

TODO: Pull out some changes into separate PRs:

  • https://github.com/kubernetes-sigs/cli-utils/pull/414
  • https://github.com/kubernetes-sigs/cli-utils/pull/418
  • https://github.com/kubernetes-sigs/cli-utils/pull/419
  • https://github.com/kubernetes-sigs/cli-utils/pull/423
  • https://github.com/kubernetes-sigs/cli-utils/pull/426
  • YamlStringer for interface{}
  • Set YamlToUnstructured as a test Helper to improve failure file:line
  • Add mutator.Mutate and MutateAll helper funcs

karlkfi avatar Sep 29 '21 05:09 karlkfi

Hi @karlkfi. Thanks for your PR.

I'm waiting for a kubernetes-sigs member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

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.

k8s-ci-robot avatar Sep 29 '21 05:09 k8s-ci-robot

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: karlkfi To complete the pull request process, please assign seans3 after the PR has been reviewed. You can assign the PR to them by writing /assign @seans3 in a comment when ready.

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment Approvers can cancel approval by writing /approve cancel in a comment

k8s-ci-robot avatar Sep 29 '21 05:09 k8s-ci-robot

Extracted collector replacement: https://github.com/kubernetes-sigs/cli-utils/pull/413

karlkfi avatar Sep 29 '21 22:09 karlkfi

Pulled out runCollect: https://github.com/kubernetes-sigs/cli-utils/pull/414

karlkfi avatar Sep 29 '21 23:09 karlkfi

Extracted ExpErrorEvent: https://github.com/kubernetes-sigs/cli-utils/pull/418

karlkfi avatar Oct 06 '21 16:10 karlkfi

Extracted ObjMetadataSet to https://github.com/kubernetes-sigs/cli-utils/pull/419

That PR blocks a UnstructuredSet refactor and usage of AssertEqual/AssertNotEqual for DeepEquals in unit tests.

karlkfi avatar Oct 06 '21 22:10 karlkfi

@karlkfi: PR needs rebase.

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.

k8s-ci-robot avatar Oct 07 '21 22:10 k8s-ci-robot

AssertEqual/AssertNotEqual also required for in https://github.com/kubernetes-sigs/cli-utils/pull/423

karlkfi avatar Oct 08 '21 00:10 karlkfi

UnstructuredSet pulled out to https://github.com/kubernetes-sigs/cli-utils/pull/426

karlkfi avatar Oct 11 '21 17:10 karlkfi

The Kubernetes project currently lacks enough contributors to adequately respond to all issues and PRs.

This bot triages issues and PRs according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue or PR as fresh with /remove-lifecycle stale
  • Mark this issue or PR as rotten with /lifecycle rotten
  • Close this issue or PR with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

k8s-triage-robot avatar Feb 08 '22 22:02 k8s-triage-robot

The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs.

This bot triages issues and PRs according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue or PR as fresh with /remove-lifecycle rotten
  • Close this issue or PR with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle rotten

k8s-triage-robot avatar Mar 10 '22 23:03 k8s-triage-robot

/remove-lifecycle rotten

Might not get back to this immediately, but it's still on my radar.

karlkfi avatar Apr 04 '22 23:04 karlkfi

@karlkfi: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
cli-utils-presubmit-master-stress 8de5ebc191f0106bd9d529ca4850f42ea3da7858 link true /test cli-utils-presubmit-master-stress

Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR.

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. I understand the commands that are listed here.

k8s-ci-robot avatar Apr 05 '22 16:04 k8s-ci-robot

The Kubernetes project currently lacks enough contributors to adequately respond to all issues and PRs.

This bot triages issues and PRs according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue or PR as fresh with /remove-lifecycle stale
  • Mark this issue or PR as rotten with /lifecycle rotten
  • Close this issue or PR with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

k8s-triage-robot avatar Jul 04 '22 16:07 k8s-triage-robot

The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs.

This bot triages issues and PRs according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue or PR as fresh with /remove-lifecycle rotten
  • Close this issue or PR with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle rotten

k8s-triage-robot avatar Aug 03 '22 17:08 k8s-triage-robot

/remove-lifecycle rotten

karlkfi avatar Aug 11 '22 18:08 karlkfi

The Kubernetes project currently lacks enough contributors to adequately respond to all issues and PRs.

This bot triages issues and PRs according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue or PR as fresh with /remove-lifecycle stale
  • Mark this issue or PR as rotten with /lifecycle rotten
  • Close this issue or PR with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

k8s-triage-robot avatar Nov 09 '22 18:11 k8s-triage-robot

The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs.

This bot triages issues and PRs according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue or PR as fresh with /remove-lifecycle rotten
  • Close this issue or PR with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle rotten

k8s-triage-robot avatar Dec 09 '22 19:12 k8s-triage-robot

The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs.

This bot triages PRs according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the PR is closed

You can:

  • Reopen this PR with /reopen
  • Mark this PR as fresh with /remove-lifecycle rotten
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/close

k8s-triage-robot avatar Jan 08 '23 19:01 k8s-triage-robot

@k8s-triage-robot: Closed this PR.

In response to this:

The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs.

This bot triages PRs according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the PR is closed

You can:

  • Reopen this PR with /reopen
  • Mark this PR as fresh with /remove-lifecycle rotten
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/close

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.

k8s-ci-robot avatar Jan 08 '23 19:01 k8s-ci-robot