Commit Graph

749 Commits

Author SHA1 Message Date
Peter Rifel 088f342f28
Disable ap-northeast-3 zones for now 2021-03-24 21:19:21 -05:00
Peter Rifel ac27e2edcd
kubetest2 - Specify GCE network name
Kops defaults to a network named "default" and has issues with network modes.
Apparently there is a "default" network within the projects that boskos issues,
causing `kops create cluster` to fail some cloudup validation.

By specifying a cluster-specific network, kops will create this new network with the non-deprecated settings.
2021-03-24 21:16:54 -05:00
Peter Rifel 462cfffb02
Kubetest2 - fix temp directory created for GCE SSH keys
Also update all ioutil references to their go 1.16 replacements
2021-03-24 06:17:56 -05:00
Peter Rifel b2f2c61e69
Kubetest2 - Setup SSH keys for GCE
Originally I had thought we were relying on ssh keys mounted from a secret,
it turns out kubetest 1 generated the keys indirectly through gcloud.

This runs the same command as kubetest 1, creating and uploading the SSH keys.
2021-03-23 19:06:15 -05:00
Barry Melbourne 05123faf5a Update containerd to v1.3.10/v1.4.4 2021-03-23 17:02:01 +00:00
Kubernetes Prow Robot d523ba2ab4
Merge pull request #11109 from hakman/release-1.21.0-alpha.2
Release 1.21.0 alpha.2
2021-03-22 01:21:43 -07:00
Ciprian Hacman fa72535f95 Release 1.21.0-alpha.2 2021-03-22 08:38:47 +02:00
Peter Rifel c22565830b
Update AWS zones used by e2e tests
This adds zones that have been released since this list was updated.
This also reenables some that were disabled due to capacity for c4 instance types - we use c5 now so hopefully they'll have sufficient coverage.
We can disable them if we continue to run into availability issues.

Long term I could see us using the ec2.DescribeAvailabilityZones and ec2.DescribeInstanceTypeOfferings to pick random zone(s) in a random region and guarantee that it has the needed instance types.
2021-03-21 17:54:54 -05:00
Kubernetes Prow Robot d14ba1bba1
Merge pull request #11087 from justinsb/readd_jwks_tests
Re-add integration tests for jwks
2021-03-21 00:33:49 -07:00
Kubernetes Prow Robot d43fb1e807
Merge pull request #11083 from bmelbourne/update-ubuntu-20.04-ami
Update Ubuntu 20.04 to latest AMI
2021-03-21 00:33:42 -07:00
Justin SB c75e084158 Re-add integration tests for jwks
We removed them from #10756, but they can be re-added.
2021-03-20 22:55:11 -04:00
Ole Markus With 20bd724f5e Add support for scaling out the control plane with dedicated apiserver nodes
Ensure apiserver role can only be used on AWS (because of firewalling)

Apply api-server label to CP as well

Consolidate node not ready validation message

Guard apiserver nodes with a feature flag

Rename Apiserver role to APIServer

Add an integration test for apiserver nodes

Rename Apiserver role to APIServer

Enumerate all roles in rolling update docs

Apply suggestions from code review

Co-authored-by: Steven E. Harris <seh@panix.com>
2021-03-20 20:57:00 +01:00
Barry Melbourne d13b7407a0 Update Ubuntu 20.04 to latest AMI 2021-03-20 10:52:28 +00:00
Peter Rifel 08b263b8f6
Fix GCE channels version constraints
Previously k8s 1.17+ would always match with COS rather than Ubuntu 20.04 because of the unbound version range.
This updates 1.18+ clusters to use Ubuntu 20.04 to match AWS.

This should fix the failure to download logs via SSH here: https://prow.k8s.io/view/gs/kubernetes-jenkins/logs/e2e-kops-gce-kubetest2/1373013584195358720
The instance groups confirm the use of COS rather than u2004: https://storage.googleapis.com/kubernetes-jenkins/logs/e2e-kops-gce-kubetest2/1373013584195358720/artifacts/instancegroups.yaml
2021-03-19 22:34:31 -05:00
Peter Rifel 0a446b4cff
Kubetest2 - add more validation time for --target terraform
Some of the "beforeSuite" tests are failing because the e2e.test binary isn't resolving the API DNS.
This extends the validation time and also adds a sleep to wait for any negative TTLs to expire.
2021-03-19 20:02:55 -05:00
Kubernetes Prow Robot ac657c430e
Merge pull request #10756 from olemarkus/irsa
Instance roles for service accounts (IRSA) contd
2021-03-19 13:29:44 -07:00
Peter Rifel 7c900b7fae Generate and upload keys.json + discovery.json to public store
Generate and upload keys.json + discovery.json to public store

Don't enable anonymous auth on publicjwks

Remove tests that won't work using FS VFS anymore
2021-03-19 20:03:26 +01:00
Peter Rifel 4d08a74d77
Kubetest2 - initialize boskos heartbeat channel 2021-03-19 12:18:09 -05:00
Peter Rifel a3679b3efe
Kubetest2 - Add boskos for GCE support 2021-03-18 21:00:35 -05:00
Peter Rifel 44209fcae7
Kubetest2 - Add GCE default SSH key values from prow jobs 2021-03-17 22:14:19 -05:00
Kubernetes Prow Robot 9dfbd03fa6
Merge pull request #11046 from hakman/channels-arm64
Add channels entries for image architecture
2021-03-15 12:16:34 -07:00
Ciprian Hacman 55f8c70779 Add channels entries for image architecture 2021-03-15 20:36:37 +02:00
Barry Melbourne e30bf1cf35 Update Go modules to latest versions 2021-03-14 15:08:27 +00:00
Peter Rifel ae7e621bcf
Upgrade cluster first, then run tests 2021-03-13 09:30:18 -06:00
Peter Rifel 7c8eb0cb10
Revert upgrade script to build kops
There were too many issues with downloading kops from a version marker with this setup.
We'll need to move this logic into kubetest2 itself since it has sufficient knowledge for eg. KOPS_BASE_URL, where the kops binary was downloaded, etc.
2021-03-13 09:26:03 -06:00
Peter Rifel 2334ed13f6
Trim space on kops version markers
Fixes the extra newline character in this job failure: https://prow.k8s.io/view/gs/kubernetes-jenkins/logs/e2e-kops-aws-misc-updown/1370242214826872832#1:build-log.txt%3A91
2021-03-12 17:11:59 -06:00
Kubernetes Prow Robot ed9da0075d
Merge pull request #11017 from rifelpet/kubetest2
Kubetest2 - use same kops binary for all commands in upgrade scenario
2021-03-11 19:34:18 -08:00
Peter Rifel 0bbaaa3742
Kubetest2 - use same kops binary for all commands in upgrade scenario
This ensures that the same binary is used for kubetest2-kops commands as well as the kops commands invoked directly in the scenario script.

Periodic jobs will create a temp file that will be used to save the kops binary from the provided version marker.
non-periodic jobs (local invocation) will use the bazel build binary, preserving original behavior but using this same binary for kops commands rather than relying on PATH.
2021-03-11 16:47:29 -06:00
Kubernetes Prow Robot 47aed86a55
Merge pull request #11011 from rifelpet/kubetest2
Remove trailing newline from kubernetes version marker
2021-03-10 09:01:14 -08:00
Peter Rifel 3fb7cbbf0d
Remove trailing newline from kubernetes version marker
Should fix the trailing "%0A" here: https://prow.k8s.io/view/gs/kubernetes-jenkins/logs/e2e-kops-aws-misc-arm64-ci/1369566440318832640#1:build-log.txt%3A90
2021-03-10 07:52:00 -06:00
Peter Rifel ee600fa2dd
Remove extraneous field from integration test
The api design for using existing instance profiles must have changed during its PR and I never removed the old field from the integration test.
grep shows that this field doesn't exist anywhere else in the codebase.
2021-03-10 07:36:23 -06:00
Kubernetes Prow Robot de22989eda
Merge pull request #11005 from rifelpet/upgrade-periodic
Don't build kops during periodic upgrade tests
2021-03-09 21:57:13 -08:00
Kubernetes Prow Robot e7ef671e5a
Merge pull request #11007 from rifelpet/kubetest2-ci-version
Kubetest2 - Fix kops' --kubernetes-version with k8s version markers
2021-03-09 21:15:14 -08:00
Peter Rifel a3f49646ac
actually build kops on kubetest2 presubmit 2021-03-09 21:28:04 -06:00
Peter Rifel 864039e606
Kubetest2 - Have kops' --kubernetes-version flag value include the bucket's url
This matches the kubetest1 behavior.
See an example kops create cluster command here: https://prow.k8s.io/view/gs/kubernetes-jenkins/logs/e2e-kops-aws-misc-arm64-conformance/1369076996193128448#1:build-log.txt%3A174
The kubetest 1 logic is here: 37b80c5e3b/kubetest/kops.go (L390-L400)
2021-03-09 21:19:44 -06:00
Kubernetes Prow Robot 9eca4115a3
Merge pull request #11006 from rifelpet/kubetest2-publish
Kubetest2 - Add support for publishing the kops version marker
2021-03-09 19:15:13 -08:00
Peter Rifel 10b30eff0e
Kubetest2 - Add support for publishing the kops version marker
This will unblock the remaining periodic e2e jobs that havent been migrated yet.
They run a test with the kops version from "latest-ci.txt" as published by the "postsubmit-push-to-staging" postsubmit job,
and if the tests succeed then they get published to "latest-ci-updown-green.txt" which is what all of the other periodic jobs rely on.

example job that uses this functionality: 37b80c5e3b/config/jobs/kubernetes/kops/kops-pipeline.yaml (L46-L48)
2021-03-09 20:31:10 -06:00
Peter Rifel 208a4a2bf7
Don't build kops during periodic upgrade tests
This updates the upgrade scenario script to support building kops when ran locally, or using the version markers when ran in a periodic prow job.

hoping to fix the upgrade tests here: https://testgrid.k8s.io/kops-kubetest2#kops-aws-upgrade
2021-03-09 20:17:37 -06:00
Bharath Vedartham 0c0767c0c9 Remove support for launch configurations 2021-03-09 09:04:15 +02:00
Peter Rifel 594cdc6ed1
kubetest2 - don't overwrite create args that use equals signs
Previously we would incorrectly append create cluster arguments if they had already been specified and used --foo=bar notation.
This resulted in arguments being specified multiple times causing undesired behavior.
We now check for both `--foo bar` and `--foo=bar` when attempting to add a `--foo` argument.
2021-03-08 11:35:36 -06:00
Bharath Vedartham 1d721c3ff8 Update integration tests 2021-03-06 00:33:20 +05:30
Ole Markus With 063e3f6c7b Use internal api url for jwks when required
The public api url cannot be used by pods and nodes if access is restricted. So by default we need to use the internal one.
This should finally pass the OIDC e2e test

For public access, api server must be publically available and anonymous
auth must be enabled
2021-03-05 06:52:51 +01:00
Kubernetes Prow Robot d3cf552f37
Merge pull request #10978 from mmerrill3/feature/10786-Dedupe-terraform
Removing duplicate local and output values in terraform(#10786)
2021-03-04 21:08:22 -08:00
mmerrill3 1a3cb79d2d Removing duplicate local and output values in terraform(#10786)
Signed-off-by: mmerrill3 <michael.merrill@vonage.com>
2021-03-04 16:32:52 -05:00
Barry Melbourne 1a6ff4efbf Update Go to v1.16 2021-03-04 18:41:48 +00:00
Kubernetes Prow Robot fcefcb59cc
Merge pull request #10945 from olemarkus/exclude-cp-nodes-from-lbs
Exclude CP nodes from load balancers
2021-03-03 05:21:21 -08:00
Peter Rifel dacfa7728e
Use CPUCredits in integration test 2021-03-02 22:54:30 -06:00
Peter Rifel 2ebd448602
Add integration test for transit gateway support 2021-02-28 13:02:11 -06:00
Ole Markus With 32fce0d59c Exclude CP nodes from load balancers 2021-02-27 20:14:31 +01:00
Kubernetes Prow Robot a424958e83
Merge pull request #10872 from timothyclarke/feature/NLB-EIP
Adding Elastic IP Allocations to NLB API
2021-02-22 23:48:03 -08:00