There is a large amount of technical debt that needs to get paid down to eliminate issues in CI.
/test pull-kubernetes-e2e-kind/cc @kubernetes/sig-cluster-lifecycle
/assign @fabriziopandini @timothysc @neolit123
@timothysc I'm working on making kind support more use cases, but it would be nice to clarify a little bit better expectation/requirements.
As a short term goal, I'm targeting having kind ready for testing few variations of init - join > test workflows, that is the minimum required for statrting k/a repleacement.
Then I have in mind more complex variations (HA, external etcd, upgrades)
Make KIND a PR blocking job
it would be interesting to define what the PR blocking job would be, some examples:
currently @BenTheElder has kind passing conformance on a periodic for single master pretty consistently.
https://k8s-testgrid.appspot.com/sig-testing-kind#conformance,%20master%20(dev)
also serial vs non-serial is an interesting topic:
but we should probably loop more folks from sig-testing on this topic and/or create an issue in test-infra for the above.
I think we should have kind as a PR blocking job right now and move kops to periodic to unblock the community.
HA w/kind is a nice-to-have, but not a requirement. TBH I think it would be weird.
it feels like the only good option we have in terms of testing HA without a CP.
some notes:
I think we should have kind as a PR blocking job right now and move kops to periodic to unblock the community.
I've spoken to @justinsb about this, I think we're both onboard there. I've just finally cut a binary release of the kind CLI yesterday as things are fairly stable, modulo changes from @fabriziopandini related to HA / multi-node etc. We should be able to create jobs that use stable released versions now.
There might be some concerns from others though regarding the presubmits ...
Personally I would like to see more tests be post-submit based and release blocking rather than presubmit, and move cloud providers there as they move out of tree. That requires wider buy-in and better ownership of CI signal though I think ...
Remove Bazel generation of .spec and .deb artifacts with standard .in files that can override build variables.
Can you elaborate on what you mean by this?
/watching topic
/assign @liztio @rdodev
@ixdy - Moving build details here https://github.com/kubernetes/kubernetes/issues/71677
Move Kops to periodic and release blocking
ticked this item in the OP.
kops-aws was removed from PR blocking and release blocking due to an AWS account issue.
my understanding is that it might make it back in release blocking.
Make KIND a PR blocking job
there is some chance that this can happen this cycle.
but this depends on sig-testing decisions.
in terms of our dashboard we are going to have kind jobs.
Guys can you help me understand where I can find are all tests pass in k8s.io/kubernetes/cmd/kubeadm/app/util/config ?
Currently I have next broken
--- FAIL: TestConfigFileAndDefaultsToInternalConfig/incompleteYAMLToDefaultedv1beta1 (0.00s)
initconfiguration_test.go:123: the expected and actual output differs.
in: testdata/defaulting/master/incomplete.yaml
out: testdata/defaulting/master/defaulted.yaml
groupversion: kubeadm.k8s.io/v1beta1
diff:
--- expected
+++ actual
@@ -115,7 +115,6 @@
imagefs.available: 15%!
(MISSING) memory.available: 100Mi
nodefs.available: 10%!
(MISSING)- nodefs.inodesFree: 5%!
(MISSING) evictionPressureTransitionPeriod: 5m0s
failSwapOn: true
fileCheckFrequency: 20s
And I wonder is it problem with local env and I missed something ?
@miry
i tried the latest master branch and this package passes for me.
$ go test ./cmd/kubeadm/app/util/config/...
ok k8s.io/kubernetes/cmd/kubeadm/app/util/config 9.554s
ok k8s.io/kubernetes/cmd/kubeadm/app/util/config/strict 0.018s
a couple of points:
cc @chuckha
we have more CI work for kind going on (thanks @neolit123!), kops is still borked everywhere and removed due to billing account issues.
@neolit123 Thank you for you help. I found why tests are not working for me: https://github.com/kubernetes/kubernetes/pull/67709/files , because I use MacOS. So it explains - nodefs.inodesFree: 5%
this is sort of unrelated to this ticket @miry could you please file an issue in k/k and ping the author of that PR so that an implementation for another OS is added?
thanks.
- Make KIND a PR blocking job
EDIT: my mistake i though i was reading release blocking.
this will hopefully happen next week.
this week we were able to move k-a jobs outside of blocking into release-informing / all dashboards and kind jobs to release-informing / all dashboards too.
https://github.com/kubernetes/test-infra/pull/11562
https://k8s-testgrid.appspot.com/sig-release-master-blocking
re:
Implement upgrade and skew tests for kubeadm-kind
@fabriziopandini @timothysc
yesterday we discussed briefly what is the plan.
here is the summary again.
we need upgrade and skew tests in 1.15 as we are no longer going to use kubernetes-anywhere.
summary:
kubeadm reset that we really want to test.kind binary.we have multiple options (which is better than having none):
1) extend kind to support all our needs
i don't think this will happen in 1.15 (or at least the first half of the cycle) due to:
kind alpha (or another scoped) command is ideal for us but it's invasive and will create noise in the kind repo. potential block on features we want to add.2) add built-in support for kinder in test-infra
having built-in support for that in kubetest1 is probably a bad idea and i don't want to put effort into that. kubetest1 is beyond hard to maintain at this point. also this is political. kubetest2 (WIP) is more flexible, but kubetest2 needs work and it might take a while before we get it hooked in prow jobs.
this idea is mostly unclear.
3) bypass the kubetest deployer process completely until kubetest2 is ready and use kinder with a custom deployment process.
the whole idea of deployers is to facilitate your testing process --up --test --down flags etc.
this is great if you want to test using kind but is very limiting in our quite demanding use case.
current kind jobs for sig-testing still run using a bash script:
https://github.com/kubernetes-sigs/kind/blob/master/hack/ci/e2e.sh
we can use the same mechanics and in such a bash script we can execute kinder or possibly even pre-cook a temporary up,down,test deployer.
at this point my vote goes for 3, because i don't like the risks from 1 and 2 in terms of timing of the 1.15 cycle...
I would recommend not using the bash for too much longer though, we should at least get some of the kind tests over to kubetest(2) soon, if not everything else. It will be easier to do complex testing in Go.
ok, 3 it is then.
but i only see it as a temporary option and i will think about a way to bring the bash to a minimum.
I think it's still a little early on 1.15 to pull the trigger on options.
If we get phases in kind we can either wrap with scripts or build macro commands in kinder.
Implement upgrade and skew tests for kubeadm-kind
this is done now.
Make KIND a PR blocking job
Move kubeadm-kind jobs to release blocking
i will close this ticket and create a new one that only tracks the above items.
they need by-in by sig-release and sig-testing.
Add cluster-api aws and release blocking for kubeadm HA verification
probably should be tracked in the CAPA provider.