Commit Graph

36 Commits

Author SHA1 Message Date
Peter Rifel 2f328116ef
Automated cherry pick of #10140 and #9011: Implement API load balancer class with NLB and ELB support on AWS (#10154)
* Create cloudmock implementations for elbv2 API calls used by future NLB support

* Add missing cloudmock functionality for enabling lifecycle integration test on complex cluster

* Add lifecycle integration tests for complex and externallb clusters

* refactor TargetLoadBalancer to use DNSTarget interface instead of LoadBalancer

* add LoadBalancerClass fields into api

* make api machinery

* WIP: Implemented API loadbalancer class, allowing NLB and ELB support on AWS for new clusters.

* perform vendoring related tasks and apply fixes identified from hack/

dissallow spotinst + nlb
remove reflection in status_discovery.go
Add precreated additional security groups to the Master nodes in case of NLB
Remove support for attaching individual instances to NLB; only rely on ASG attachments
Don't specify Classic loadbalancer in GCE integration test

* add utility function to the kops model context to make LoadBalancer comparisons simpler

* use DNSTarget interface when locating DNSName of API ELB

* wip: create target group task

* Consolidate TargetGroup tasks

* Use context helper for determining api load balancer type to avoid nil pointers

* Update NLB creation to use target group ARN from separate task rather than creating a TG in-line

* Address staticcheck and bazel failures

* Removing NLB Attachment tasks because they're not used since we switched to defining them as a part of the ASGs

* Address PR review feedback

* Only set LB Class field for AWS clusters, fix nil pointer

* Move target group attributes from NLB task to TG task, removing unused attributes

* Add terraform and cloudformation support for NLBs, listeners, and target groups

* Update integration test for NLB support

* Fix NLB name format to pass terraform validation

* Preserve security group rule names when switching ELB to NLB to reduce destructive terraform changes

* Use elbv2 enums and address some TODOs

* Set healthcheck values in target group

* Find TG tags, fix NLB name detection

* Fix more spurious changes reported by lifecycle integration test

* Fix spotinst validation, more code cleanup

* Address more PR feedback

* ReconcileTargetGroups unit test + more code simplification

* Addressing PR feedback Renaming task 1. awstasks.LoadBalancer -> awstasks.ClassicLoadBalancer

* Addressing PR feedback Renaming task: ELBName() -> CLBName() / LinkToELB() -> LinkToCLB()

* Addressing PR feedback: Various text changes

* fix export of kubecfg

* address TargetGroup should have the same name as the NLB

* should address error when fetching tags due to missing ARN

* Update expected and crds

* Add feature table to NLB docs

* Address more feedback and remove some TODOs that arent applicable anymore

* Update spotinst validation error message

Co-authored-by: Christian Joun <cjoun@proofpoint.com>
2020-11-02 09:10:54 -08:00
Peter Rifel 55f33c68b3
Cleanup old v1alpha1 test outputs 2020-08-27 14:30:10 -05:00
John Gardiner Myers d434733254 update-expected.sh 2020-07-30 19:42:07 -07:00
John Gardiner Myers d0b30cf771 update-expected.sh 2020-07-17 11:26:09 -07:00
John Gardiner Myers fe66b0011b Move CloudProvider determination into NewCluster() 2020-06-30 12:37:11 -07:00
John Gardiner Myers ec4fe1e7e8 Don't put bastions in the utility subnets 2020-05-12 22:06:34 -07:00
Ole Markus With 98ea9119a3 Fix tests 2020-02-06 19:41:47 +01: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
Ciprian Hacman 8523dd8d9d Update tests for --container-runtime 2019-12-22 22:16:08 +02:00
Peter Rifel cf43c53f4d Update kubernetes versions used in integration tests 2019-12-21 08:12:48 -06:00
Justin SB 79bf0a05ac
Fix golden output: creationTimestamp is now quoted 2019-08-25 16:00:40 -04:00
Justin SB ba9a4afc43
apigroup -> kops.k8s.io: Tests & supporting changes
Autogenerated code, docs & test changes

Also a new test for the older "kops" apiGroup, to make sure that
continues to work.
2019-05-06 22:26:29 -04:00
Eric Greer 8362b1260e etcd memory requests can now be specified 2019-02-21 15:14:51 -08:00
chrislovecnm 4f9ed369e9 Updating tests for having default RBAC setting 2018-01-04 00:12:42 -07:00
georgebuckerfield ba4dd61142 Fixing tests 2017-11-07 11:25:59 +00:00
Kashif Saadat b30606ffda Enable IAM Container Registry permissions by default when creating a cluster (#3760). 2017-11-03 17:26:51 +00:00
Justin Santa Barbara b61b74408b Update images in CI tests 2017-08-24 10:27:27 -04:00
Kashif Saadat 0e5c393f10 Rename IAM switch to legacy, default to false for new cluster creations. 2017-08-22 13:27:55 +01:00
Justin Santa Barbara 4c9385b0fd Update integration tests for new versions
(Separately: when we implemented standalone mode, we should also switch
the tests so they don't rely on the published stable channel!)
2017-05-17 11:36:34 -04:00
Justin Santa Barbara 3f2ee47689 Fix tests 2017-03-29 18:23:19 -04:00
Justin Santa Barbara 4006741a5d Update for new taints / labels names 2017-03-27 23:13:39 -04:00
Robin Percy 4b030fed69 Added taints property to IG Spec.
- new property is only used when KubernetesVersion is 1.6 or greater
- taints are passed to kubelet via --register-with-taints flag
- Set a default NoSchedule taint on masters
- Set --register-schedule=true when --register-with-taints is used
- Changed the log message in taints.go to be less alarming if taints are
  found - since they are expected on 1.6.0+ clusters
- Added Taints section to the InstanceGroup docs
- Only default taints are allowed in the spec pre-1.6
- Custom taint validation happens as soon as IG specs are edited.
2017-03-25 18:36:00 -07:00
Justin Santa Barbara 2e7ef573aa Update expected test results: creationTimestamp no longer quoted 2017-03-16 02:40:50 -04:00
Justin Santa Barbara e6fb6281f6 Merge pull request #1804 from justinsb/fix_create_test_k8s_version
Specify KubernetesVersion in create cluster test
2017-02-07 01:17:59 -05:00
Justin Santa Barbara 61631f4815 Specify KubernetesVersion in create cluster test
We probably should use a canned channel, but in the interim this is
probably the best option, otherwise every time we update the stable
channel we break the tests.
2017-02-07 00:27:57 -05:00
Kris Nova b05e1b0ad3 Bump to 1.4.8 in integration tests to fix #1799 2017-02-06 21:23:43 -07:00
Justin Santa Barbara 2d5fd877ad Add --master-count flag, to make it easy to run masters in the same AZ
* The master zones are the default set of zones unless explicitly set
* The master count is the number of master zones unless explicitly set
* We then round-robin around the zones
* We append a suffix -1, -2, -3 if there are more masters than zones
* We trim prefixes to keep etcd member names short

Fix #1653
2017-01-31 01:11:06 -05:00
Justin Santa Barbara e9d0a93e0c Fix extra security group tests 2017-01-31 00:28:47 -05:00
Chris Love 97a4ba8c02 Merge pull request #1661 from justinsb/fix_1641
Allow specification of multiple CIDRs to create cluster
2017-01-29 01:28:28 -07:00
Justin Santa Barbara bd5d7c83a5 AssociatePublicIP defaults to nil
Rather than always setting it (incorrectly in many cases), we infer it
from the subnets.

Users can still set it, we just don't default it to a value we then
ignore.

Fix #1582
2017-01-28 21:40:31 -05:00
Justin Santa Barbara 7e232f14d8 Allow specification of multiple CIDRs to create cluster
Fix #1641
2017-01-28 15:58:50 -05:00
Justin Santa Barbara d885074723 Merge pull request #1560 from justinsb/kops_get_should_include_cluster_label
Include `cluster` label in `kops get ig -oyaml`
2017-01-21 09:50:58 -05:00
Justin Santa Barbara 686e4efa3b Egress follow up
* Round trip to v1alpha1
* Enable test
2017-01-20 00:40:41 -05:00
Justin Santa Barbara 2b277c6789 Include `cluster` label in `kops get ig -oyaml`
Fix #1559
2017-01-19 22:59:55 -05:00
Eric Hole 8c0a4f2890 Fix integration tests. 2017-01-10 10:20:02 -05:00
Eric Hole f5b3425d3d First pass at create_cluster_integration_test for specifying NGWs. 2017-01-09 17:28:10 -05:00