Commit Graph

1114 Commits

Author SHA1 Message Date
eric-hole c59314a799 Adds some initial tests. Fixes some logic
Need to fix service account implementation first

Fixing tests and iterating on the serviceaccount logic

Run the gce_byo_sa test
2020-04-04 21:20:31 -07:00
eric-hole b3d65ffce0 Adds a gce-service-account flag so you BYO service-account
Generated code and some cleanup

Not sure where that code went

Tests for service account

fixes case on gceserviceaccount
2020-04-04 21:15:56 -07:00
Peter Rifel afd9aa1a4d Enable stamping on bazel image builds
Currently the images have a timestamp of epoch 0:

```
$ docker inspect kope/kops-controller:1.18.0-alpha.2 -f '{{ .Created }}'
1970-01-01T00:00:00Z
```

The `container_image` bazel rule [0] mentions that `creation_time` has a default value of 0 unless `stamp = True`, so this should be enabled on all container_image rules that are pushed to a docker registry.

[0] https://github.com/bazelbuild/rules_docker#container_image-1
2020-04-02 20:27:14 -05:00
Peter Rifel a0e1672cdc add terraform testing 2020-03-31 14:50:45 -05:00
Peter Rifel 54c3b2f69c Only check for bastion user data files in integration tests if they should exist 2020-03-31 09:40:55 -05:00
Peter Rifel db50663452 refactor integration tests 2020-03-31 07:34:16 -05:00
John Gardiner Myers b645dac752 Remove support for v1alpha1 and before 2020-03-24 19:49:15 -07:00
John Gardiner Myers d9e999d377 Convert TestMinimal_json to v1alpha2 API 2020-03-24 19:49:07 -07:00
Kubernetes Prow Robot 51e8563bd5
Merge pull request #8515 from hakman/validate-wait-consecutive
Wait for validation to succeed N consecutive times
2020-03-20 05:02:35 -07:00
eric-hole 31285f921b Adds a minimal GCE integration test 2020-03-17 01:19:49 -07:00
eric-hole c4daebfa8e Add lifecycleOverrides to runTestGCE 2020-03-17 01:01:26 -07:00
Kubernetes Prow Robot 4996383116
Merge pull request #8758 from hakman/launch-tepmplates-tests
Add LaunchTemplate integration tests
2020-03-16 09:34:43 -07:00
Ciprian Hacman 7398f9bd47 Add LaunchTemplate integration tests 2020-03-16 16:01:57 +02:00
John Gardiner Myers 2e920d75c1 Fix command descriptions to match new cluster validation behavior 2020-03-15 17:25:13 -07:00
eric-hole b52e322159 Adds metadata concealment addon for GCE node 2020-03-14 12:18:05 -07:00
John Gardiner Myers 33e23166e4 Support the kops.k8s.io/needs-update annotation on nodes 2020-03-09 22:43:09 -07:00
John Gardiner Myers b098e4c4c2 Fix punctuation 2020-03-02 19:11:12 -08:00
Ciprian Hacman e6076ee913 Fail validation if any consecutive validation fails 2020-03-02 18:33:49 +02:00
Kubernetes Prow Robot 92a8c1b0ed
Merge pull request #8573 from justinsb/fix_2881_option_2
Don't try to configure a bastion DNS name in gossip mode
2020-02-23 20:40:47 -08:00
Justin Santa Barbara 1e69835693
Don't try to configure a bastion DNS name in gossip mode
It can't be done anyway; instead we make it work (as far as we can),
and we document the workaround (which is to access it via the ELB DNS
name).

In future we could make it easier to discover this DNS name!

Issue #2881
2020-02-22 15:29:02 -05:00
Ciprian Hacman ad247a9c75 Wait for validation to succeed N consecutive times 2020-02-21 16:18:04 +02:00
Matt Ouille f025ff0e70
Add External Policies (AWS managed policy attachments) 2020-02-16 21:54:12 -08:00
Justin SB 46c8cc6d86 makefile: use more hash helpers when building images
It's cleaner & more consistent.
2020-02-16 13:10:31 -05:00
John Gardiner Myers 8844b97fe3 Fix field names in api validation 2020-02-15 14:52:27 -08:00
John Gardiner Myers 323130ebbf Merge branch 'master' into validate-multiple 2020-02-10 09:05:47 -08:00
Justin SB 0cb35638f2
Stop logging to /var/log/kops-controller.log
Writing to a hostPath from a non-root container requires file
ownership changes, which is difficult to roll out today.  See
discussion in #8454

We were primarily using the logfile for e2e diagnostics, so we're
going to look into collecting the information via other means instead.

We also haven't yet shipped this logfile in a released version (though
we have shipped it in beta releases)
2020-02-04 06:41:25 -05:00
Kubernetes Prow Robot b9623543ba
Merge pull request #7319 from lcrisci/fix-template-clustername-behavior
Fix template clusterName behavior
2020-01-28 08:23:40 -08:00
John Gardiner Myers 8f6529879b Return more errors at once during InstanceGroup validation 2020-01-28 08:22:44 -08:00
Kubernetes Prow Robot 34caaf2d82
Merge pull request #8145 from mccare/gce-terraform-json-output
Enabling JSON output for Terraform instead of writing the HCL syntax …
2020-01-22 22:16:48 -08:00
Peter Rifel 3f8c85c7e4 Add a warning when using file:// state store 2020-01-17 16:45:08 -06:00
Christian van der Leeden 549f54de48 Enabling JSON output for Terraform instead of writing the HCL syntax tf file. JSON syntax is officially supported in 0.12 and a terraform version requirement will be set. For previous installations you need to delete the .tf file by hand. JSON generation will fail if kubernetes.tf is present.
Added Integration Test using minimal test setup

Added documentation. For terraform 0.12 support the resource names need to be changed still
2020-01-17 22:03:19 +01:00
Justin Santa Barbara a8831b5df0
Move kubectl dependency to k8s.io/kubectl
Helps pare down our dependency on kubernetes/kubernetes
2020-01-17 06:24:24 -05:00
Austin Moore 4a88f7b5a5
Add ability to specify no ssh key by setting sshKeyName to empty
Add tests for no ssh key functionality

Add docs for setting no ssh key

Disable sshKey rendering for cloudformation if nosshkey is set

Fix broken test

make goimports

Fix

Formatting fix

Update kubernetes version for tests

Update expected test output

Fix imports in mesh.pb.go

Run hack/update-expected.sh

Change digital ocean logic to handle *string for SSHKeyName

Fix expected output

Missed a few
2020-01-15 15:24:32 -05:00
Nicolas Vanheuverzwijn 8d3df18a51 test: fix integration test to always include bastion userdata 2020-01-13 15:53:13 -05:00
Justin SB cf5c53c87d
Add tests for manifest normalization
(The tests are split out for easier cherry-picking, should we choose to)
2020-01-11 22:41:18 -05:00
Kubernetes Prow Robot 6cf867198f
Merge pull request #7914 from joshbranham/remove-disabling-darwin-cgos
Remove forcing disabled cgos Darwin
2020-01-06 00:23:41 -08:00
Kubernetes Prow Robot 121d9f461f
Merge pull request #7909 from johngmyers/remove-drain-feature-flag
Remove DrainAndValidateRollingUpdate feature flag
2020-01-05 11:15:40 -08:00
Peter Rifel 21c5a82ed3 Update mock kops version 2020-01-03 08:17:02 -06:00
tanjunchen 6d584b63d6 cmd/kops/ staticcheck and remove one mom 2019-12-31 14:23:30 +08:00
Ciprian Hacman 4c4400c5f3 Add code simplifications for staticheck 2019-12-30 17:40:24 +02:00
vvbogdanov87@gmail.com 607666228b Fix typo 2019-12-28 15:50:12 +08:00
Kubernetes Prow Robot c1f5c7acd6
Merge pull request #8202 from johngmyers/kops-staticcheck
Fix cmd/kops staticcheck failures
2019-12-27 09:30:31 -08:00
Kubernetes Prow Robot 6978d68e87
Merge pull request #8179 from vvbogdanov87/add-all-export-config
Add all flag to export cluster command
2019-12-27 09:30:15 -08:00
Kubernetes Prow Robot 8664fa69c4
Merge pull request #8172 from hakman/container-runtime-cli-flag
containerd: Add --container-runtime cli flag
2019-12-27 09:29:59 -08:00
Kubernetes Prow Robot dd608e879b
Merge pull request #7770 from mitch000001/external-cloud-controller-feature-flag
Guard External cloud controller manager with its feature flag
2019-12-26 14:03:38 -08:00
John Gardiner Myers d127b9b1a1 Fix cmd/kops staticcheck failures 2019-12-25 14:59:27 -08:00
Peter Rifel 57e85f7c67 Update links printed by Kops to use new docs site 2019-12-23 18:47:58 -06:00
vvbogdanov87@gmail.com 1f439e4eb3 Fail if both all flag and args are specified 2019-12-23 08:07:33 +08:00
Ciprian Hacman 70f5b276f5 Fix --networking to use the value from InitDefaults() 2019-12-22 22:16:08 +02:00
Ciprian Hacman 8b15e5b03a Add --container-runtime cli flag 2019-12-22 22:16:04 +02:00
vvbogdanov87 526cdce3c7 Add all flag to export cluster command 2019-12-22 19:46:04 +08:00
Kubernetes Prow Robot ebd7a29612
Merge pull request #8169 from johngmyers/dns-controller-nonroot
Run dns-controller and kops-controller as non-root user
2019-12-22 02:09:32 -08:00
John Gardiner Myers 14bc441d8d Run dns-controller and kops-controller as non-root user 2019-12-21 21:28:44 -08:00
Kubernetes Prow Robot 015efe0b26
Merge pull request #8132 from zehuaiWANG/kops-change-main
kops-change-main
2019-12-19 22:17:45 -08:00
Justin Santa Barbara 2c770aa7a5
Merge branch 'master' into split-containerd 2019-12-19 07:03:33 -05:00
Kubernetes Prow Robot db11481e37
Merge pull request #8110 from vvbogdanov87/validate-cluster-kubeconfig
Add kubeconfig flag to validate cluster command
2019-12-17 06:41:59 -08:00
Kubernetes Prow Robot fc4b21d30a
Merge pull request #8122 from geojaz/fix/create_cluster_cmd_fix
Cleans up the create cluster CLI prompts
2019-12-16 21:45:58 -08:00
zehuaiWANG 3273e55c0d kops-change-main 2019-12-17 13:30:43 +08:00
zehuaiWANG ed6b976316 a little change 2019-12-16 19:50:02 +08:00
eric-hole d3e7448236 Cleans up the create cluster CLI docs
They were missing `\`'s and could use a refresh.
2019-12-15 23:26:20 -08:00
Ciprian Hacman 1a4d8bf49c Add support for containerd container runtime - tests 2019-12-15 21:37:57 +02:00
vvbogdanov87 c696bfc08f Add kubeconfig flag to validate cluster command
Signed-off-by: vvbogdanov87 <vvbogdanov87@gmail.com>
2019-12-15 10:20:48 +08:00
Jesse Haka 44183aef7f validate cluster twice 2019-12-12 08:48:15 +02:00
John Gardiner Myers 2e36124f77 Expose ValidateTickDuration for use by unit tests 2019-12-09 18:43:20 -08:00
Ciprian Hacman dfee0547c5 Make distro detection less strict 2019-12-09 11:10:54 +02:00
Ciprian Hacman f21df7cd6f Fix mounting Calico "flexvol-driver-host" in CoreOS 2019-12-08 16:43:29 +02:00
Kubernetes Prow Robot 7ec1a8f18c
Merge pull request #8053 from rifelpet/integration-test-nat-cf
Update integration test to cover CloudFormation output of NAT gateways
2019-12-06 19:53:08 -08:00
Peter Rifel bb3140deba Update integration test to cover CloudFormation output of NAT gateways 2019-12-06 14:04:35 -06:00
Kashif Saadat fcf6f0098c Canal Typha spec and apimachinery 2019-12-06 15:36:48 +00:00
John Gardiner Myers 4eccd3d53f Remove DrainAndValidateRollingUpdate feature flag 2019-12-05 22:50:04 -08:00
Kubernetes Prow Robot e11f394f05
Merge pull request #8002 from srikiz/DO-7956-FixEtcdNameLogic
[Issue-7956] - [Digital Ocean] Minor fix to have proper indexing for digital ocean regions
2019-12-05 07:42:32 -08:00
Kubernetes Prow Robot 094fe2a645
Merge pull request #7925 from johngmyers/optimize-validation
Pass the cloud object to validator from caller
2019-12-03 15:40:58 -08:00
Srikanth 9542b20bea Fix formatting 2019-11-26 00:04:16 +05:30
Kubernetes Prow Robot 2c446c6c34
Merge pull request #7997 from joshbranham/patch-1
cleanup whitespace in root.go
2019-11-25 08:25:33 -08:00
Srikanth 143bebc2eb Minor fix to have proper indexing for digital ocean regions that end with numbers other than one like sfo2 2019-11-25 08:23:14 +05:30
Srikanth 7467d1a6a4 Remove ununsed code 2019-11-24 12:56:46 +05:30
Srikanth 7b8eb2bfee Initial work for kops-controller to support digital ocean 2019-11-24 12:56:46 +05:30
Srikanth 90f3ebee57 Initial work 2019-11-24 12:56:23 +05:30
Josh Branham 017e1df085
clear whitespace 2019-11-23 18:37:27 -05:00
Peter Rifel 3dc06afa12 Fix goimports errors
It turns out we werent running verify-goimports in our CI jobs.

While we work to get that enabled, we can at least unblock the releases by doing a one-time fix of the failing goimports
2019-11-19 05:05:02 -08:00
John Gardiner Myers bd4e1277ae Pass the cloud object to validator from caller 2019-11-13 22:19:55 -08:00
Josh Branham 2f1ad0c638 Remove forcing disabled cgos Darwin 2019-11-11 20:28:35 -05:00
Justin Santa Barbara 5a0b199119
Merge branch 'master' into fix-roll-validation 2019-11-07 20:54:10 -05:00
Kubernetes Prow Robot e29a04e5af
Merge pull request #7854 from FayerZhang/master
fix golint failures
2019-11-07 11:37:43 -08:00
John Gardiner Myers 63e0c5e726 Add tests for cluster validation during rolling update 2019-11-04 16:26:39 -08:00
feifei.zhang@huawei.com 4b49412105 fix golint failures 2019-10-31 20:22:37 +08:00
Michael Wagner ad85ca0681 docs(addons): fix broken links 2019-10-29 15:51:49 +01:00
Jesse Haka 5e3b94ae17 use existing network and subnet 2019-10-27 08:21:25 +02:00
Justin SB c210eb8d15
Move kops-controller to daemonset
We also scale-down the old Deployment to have 0 replicas, to be sure
to stop it.

We can remove it later when we have proper pruning here.
2019-10-14 10:44:49 -04:00
Justin SB d3bad10aa9
Move kops-controller to use a yaml configuration file
This is more in keeping with componentconfig, and lets us add more
options easily in future.
2019-10-13 07:27:52 -07:00
Kubernetes Prow Robot ff1d94c7cb
Merge pull request #7692 from zetaab/kops_ctrl_openstack
Kops controller support for OpenStack
2019-10-11 09:13:41 -07:00
Thomas Jackson 85db3dce27 make apimachinery 2019-10-10 13:13:38 -07:00
Michael Wagner 92ffa79f06 chore(external-ccm): warn user about missing feature flag 2019-10-10 21:38:50 +02:00
Justin SB e5d710616a
Add test for float args
We likely need to change from floats to resource.Quantity, so we need
to estabilsh more test coverage before we can safely make the change.
2019-09-29 13:14:21 -04:00
Justin SB 49258971fc
Publish kops-controller container dump to S3/GCS
We then `docker load` it when using a KOPS_BASE_URL.

This should simplify the development process (particularly once we
also do this for dns-controller; at that point we won't need a
registry at all).

This should also fix the problems in CI, where the kops-controller
image isn't available.  We've been getting away with testing with the
previous version for dns-controller, which changes pretty slowly.  But
that's not a good idea for kops-controller, which is likely to be more
critical and evolve more rapidly.
2019-09-28 22:43:46 -04:00
Jesse Haka ed8dbc41d0 kops controller support for openstack 2019-09-28 10:06:39 +03:00
Justin SB cdaa7a3a48
Fix boilerplate: headers & packages 2019-09-25 12:48:14 -04:00
Justin SB 3ccc84dcf8
kops-controller container image
Based on distroless for security / stability
2019-09-25 12:04:36 -04:00
Justin SB 728e582360
Fill out kops controller functionality
k8s 1.16 requires that we move label setting away from the kubelet, to
a central controller.  kops-controller is that controller.
2019-09-25 12:04:34 -04:00
Justin SB 0fa65236aa
Scaffolded kops-controller with kubebuilder 2 2019-09-25 10:45:59 -04:00