Skip to content
This repository has been archived by the owner on Jun 26, 2023. It is now read-only.

HNC: support dry-run #1027

Closed
adrianludwin opened this issue Aug 18, 2020 · 9 comments
Closed

HNC: support dry-run #1027

adrianludwin opened this issue Aug 18, 2020 · 9 comments
Milestone

Comments

@adrianludwin
Copy link
Contributor

adrianludwin commented Aug 18, 2020

Per a comment on Slack, when HNC is installed you can no longer run:

kubectl run nginx --generator=run-pod/v1 --image=nginx --dry-run=server

This is likely a webhook config problem.

Update Aug 26: requires K8s 1.18 (KIND is fine) and --dry-run=server

@adrianludwin adrianludwin added this to the hnc-v0.6 milestone Aug 18, 2020
@adrianludwin
Copy link
Contributor Author

@adrianludwin
Copy link
Contributor Author

This should be easy enough to pull into 0.5.2.

@adrianludwin adrianludwin modified the milestones: hnc-v0.6, hnc-v0.5.2 Aug 25, 2020
@adrianludwin
Copy link
Contributor Author

Hmm, this appears to be working for me. Not sure why.

@adrianludwin
Copy link
Contributor Author

Not only can I create pods with dry-run, but also namespaces and HierarchyConfigurations. This despite the fact that the webhooks all have sideEffect: Unknown. I don't understand why this is working.

@adrianludwin
Copy link
Contributor Author

Turns out I've been testing on 1.16, while this feature was only enabled in 1.18. I'll have another go tomorrow.

@adrianludwin
Copy link
Contributor Author

Reproduced successfully

@adrianludwin
Copy link
Contributor Author

Fixed with a simple kustomization patch

adrianludwin added a commit to adrianludwin/multi-tenancy that referenced this issue Aug 26, 2020
See issue kubernetes-retired#1027. To support server-side dry-run, all admission webhooks
must state that they do not have any side effects. Our version of
controller-gen doesn't include the sideEffects marker so I added them as
a kustomization patch.

Tested: server-side dry-run fails on a pod creation in Kind 1.18 without
this fix and passes with it. GKE doesn't have 1.18 yet so I couldn't
test it there, but I also tested it on GKE 1.15 (the oldest currently
supported version) to ensure that it had no ill effects, and all e2e
tests work fine on both Kind 1.18 and GKE 1.15.
adrianludwin added a commit to adrianludwin/multi-tenancy that referenced this issue Aug 27, 2020
Cherry-pick from HNC v0.5 - commit ce98366. Tested: many e2e tests are
currently broken on master (kubernetes-retired#1058) but the ones that are passing before
this change also pass after it.

Original commit message follows.

---

See issue kubernetes-retired#1027. To support server-side dry-run, all admission webhooks
must state that they do not have any side effects. Our version of
controller-gen doesn't include the sideEffects marker so I added them as
a kustomization patch.

Tested: server-side dry-run fails on a pod creation in Kind 1.18 without
this fix and passes with it. GKE doesn't have 1.18 yet so I couldn't
test it there, but I also tested it on GKE 1.15 (the oldest currently
supported version) to ensure that it had no ill effects, and all e2e
tests work fine on both Kind 1.18 and GKE 1.15.
adrianludwin added a commit to adrianludwin/multi-tenancy that referenced this issue Aug 27, 2020
Cherry-pick from HNC v0.5 - commit ce98366. Tested: many e2e tests are
currently broken on master (kubernetes-retired#1058) but roughly the same ones fail before
and after (there appears to be a bit of flakiness) and I very much doubt
any of the failures are caused by this change.

Original commit message follows.

---

See issue kubernetes-retired#1027. To support server-side dry-run, all admission webhooks
must state that they do not have any side effects. Our version of
controller-gen doesn't include the sideEffects marker so I added them as
a kustomization patch.

Tested: server-side dry-run fails on a pod creation in Kind 1.18 without
this fix and passes with it. GKE doesn't have 1.18 yet so I couldn't
test it there, but I also tested it on GKE 1.15 (the oldest currently
supported version) to ensure that it had no ill effects, and all e2e
tests work fine on both Kind 1.18 and GKE 1.15.
@adrianludwin
Copy link
Contributor Author

Fixed in 0.5.2

/close

@k8s-ci-robot
Copy link
Contributor

@adrianludwin: Closing this issue.

In response to this:

Fixed in 0.5.2

/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.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants