Peter Rifel
a0e1672cdc
add terraform testing
2020-03-31 14:50:45 -05:00
Thejas B
dda8dc3f37
Add support for Spot block in launch template
...
- Launch configuration does not support the field SpotDurationInMinutes which is used to reserve the spot instances, but however Launch Template does
2020-03-31 20:07:01 +05:30
Peter Rifel
ee86488d98
Don't set terraform's user_data if it is an empty string
...
Bastion hosts have no user_data by default.
This is not valid in terraform, based on the error messages reported here [0]
The Terraform provider code says user_data is optional for both LaunchConfigurations and LaunchTemplates [1] [2]
This change prevents the user_data property from being added to aws_launch_configuration and aws_launch_template resources unless the string is not empty.
[0] https://travis-ci.org/github/kubernetes/kops/jobs/662472020
[1] 04d24f80f3/aws/resource_aws_launch_configuration.go (L74-L76)
[2] 04d24f80f3/aws/resource_aws_launch_template.go (L510-L512)
2020-03-31 09:33:16 -05:00
Peter Rifel
833b22575f
Disable anonymous auth in integration test clusters
...
This silences the anonymousAuth warning printed during `update cluster`, reducing the integration test output by >500 lines.
2020-03-29 22:21:10 -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
Ciprian Hacman
5c8cc493af
Set default log level to "info" for containerd
2020-03-22 20:53:58 +02:00
eric-hole
31285f921b
Adds a minimal GCE integration test
2020-03-17 01:19:49 -07:00
Ciprian Hacman
576e546b5e
Update integration tests for launch templates
2020-03-16 18:41:39 +02:00
Ciprian Hacman
59a6b065a0
Add root volume tags for CF and TF targets
2020-03-16 18:41:39 +02:00
Ciprian Hacman
7398f9bd47
Add LaunchTemplate integration tests
2020-03-16 16:01:57 +02:00
Peter Rifel
cd66f93a97
Remove unused integration test files, make complex cluster spec consistent
2020-03-13 23:24:48 -05:00
Ciprian Hacman
661bd6dfbd
Add "owned" tag for all instance groups related resources
2020-03-02 10:39:50 +02:00
Matt Ouille
f025ff0e70
Add External Policies (AWS managed policy attachments)
2020-02-16 21:54:12 -08:00
Justin SB
5d7fc87102
Update expected output to include v in github URLs
2020-02-05 20:58:03 -05: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
Peter Rifel
e0cebf30e5
Update terraform resource names to be 0.12 compatible.
...
According to the upgrade guide [0] resource names cannot start with digits.
Currently both routes and VPC CIDR associations start with digits, so this adds prefixes to them so that they are valid resource identifiers in 0.12.
This is a significant change because on its own, terraform will destroy and recreate the route which impact the cluster networking.
To avoid this, existing clusters this will require moving the resources within the terraform state prior to the next `apply`.
```
kops update cluster --target terraform --out ./
terraform state mv aws_route.0-0-0-0--0 aws_route.route-0-0-0-0--0 # repeat for all aws_route resources
terraform plan
terraform apply
```
The exact terraform state command may vary depending on how Kops' terraform output is used.
See the command documentation [1] for more details.
Always run a terraform plan first to ensure the `aws_route` and `aws_vpc_ipv4_cidr_block_association` resources are not getting recreated.
Due to the potential impact, this notice should be very prominant in the Kops release notes
[0] https://www.terraform.io/upgrade-guides/0-12.html
[1] https://www.terraform.io/docs/commands/state/mv.html
2020-01-17 07:51:39 -06: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
6db1b185e6
run hack/update-expected.sh
2020-01-13 16:12:47 -05:00
Nicolas Vanheuverzwijn
eaa025effd
run hack/update-expected.sh: we now consistenly output an empty user-data for bastion node
2020-01-13 15:28:20 -05:00
Kubernetes Prow Robot
7116d80467
Merge pull request #8284 from johngmyers/validate-cidr
...
Improve CIDR validation
2020-01-11 21:21:45 -08:00
John Gardiner Myers
bbf85d0a15
Improve CIDR validation
2020-01-06 22:27:34 -08:00
Kubernetes Prow Robot
63930904c3
Merge pull request #8269 from justinsb/ops_kops_writeable
...
Make /opt/kops writeable on COS
2020-01-06 01:33:34 -08:00
Kubernetes Prow Robot
e4da659509
Merge pull request #8196 from justinsb/dont_preload_unused_images
...
For dev, don't preload docker images on nodes
2020-01-04 16:15:40 -08:00
Justin Santa Barbara
6c41748640
Download nodeup into a writeable path on COS
...
/opt/ isn't writeable on COS, so we download to /var/lib/toolbox/kops
instead.
2020-01-04 18:16:08 -05:00
Kubernetes Prow Robot
78267482bf
Merge pull request #8212 from hakman/move-nodeup
...
Move nodeup to /opt/kops/bin
2020-01-04 14:49:40 -08:00
Justin SB
976724dfec
Update tests for leaner configuration
2020-01-04 14:25:21 -05:00
Peter Rifel
21c5a82ed3
Update mock kops version
2020-01-03 08:17:02 -06:00
Ciprian Hacman
474cb76827
Update tests
2019-12-28 22:17:16 +02:00
Ciprian Hacman
760c7b06b4
Use containerd 1.2.4 with Docker 18.09.3
2019-12-23 19:26:38 +02:00
Ciprian Hacman
f1ffd9a7f6
Rename config option contained.configFile to containerd.configOverride
2019-12-16 00:59:26 +02:00
Ciprian Hacman
6363289103
Update tests after rebase
2019-12-16 00:59:26 +02:00
Ciprian Hacman
1a4d8bf49c
Add support for containerd container runtime - tests
2019-12-15 21:37:57 +02:00
Christian van der Leeden
118300a876
setting google provider to at least 3.0.0
2019-12-14 19:35:32 +01:00
Christian van der Leeden
ddc0879e6d
some resources upgraded to google provider 3.0
2019-12-13 19:13:59 +01:00
Ciprian Hacman
a27db809c9
Update integration test output after #8053
2019-12-07 06:08:23 +02:00
Peter Rifel
bb3140deba
Update integration test to cover CloudFormation output of NAT gateways
2019-12-06 14:04:35 -06:00
Gabriel Tiossi
35071ccaff
test: Volume integration in update_cluster/complex
...
Add rootVolumeDeleteOnTermination and deleteOnTermination to test if
volumes are being retained properly in direct, terraform and
cloudformation
2019-12-04 13:13:23 -03:00
John Gardiner Myers
f1068e5c8c
Update apiVersion in docs and tests
2019-11-09 14:14:24 -08:00
Kubernetes Prow Robot
1bb829bb4a
Merge pull request #7378 from justinsb/add_artifacts_k8s_io
...
Add artifacts.k8s.io to mirror list
2019-10-12 11:18:37 -07:00
Justin SB
1a7bb9d21e
Update expected test output
2019-10-05 16:40:31 -04:00
Justin SB
4e1e596fc9
Add artifacts.k8s.io to mirror list
...
The official mirror is coming!
2019-09-30 12:03:53 -04:00
Justin SB
b094fc0f29
Add test for the float -> resource.Quantity switch
...
Check that we produce values that can still be parsed
2019-09-29 13:50:47 -04: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
97f552778f
Add env vars, update tests
2019-09-25 12:48:13 -04:00
Justin SB
1580d4c82b
Update tests to use k8s >= 1.14
...
Where tests are using a version of k8s that is now really deprecated,
replace it with k8s 1.14.0.
2019-09-14 13:58:50 -04:00
Justin SB
21cb8ece06
Label AWS ASGs with kops.k8s.io/instancegroup
...
We will use this to map an AWS instance to the instance group.
2019-09-02 09:26:23 -07:00
Kubernetes Prow Robot
a957428446
Merge pull request #7470 from justinsb/update_to_k115
...
Update to kubernetes 1.15
2019-08-27 10:24:43 -07:00
Justin SB
4733317a64
Update expected test for new script
2019-08-25 21:15:14 -04:00
Justin SB
79bf0a05ac
Fix golden output: creationTimestamp is now quoted
2019-08-25 16:00:40 -04:00
Kubernetes Prow Robot
675eeaa07b
Merge pull request #7447 from justinsb/use_mirrors
...
nodeup download should try all mirrors
2019-08-22 07:10:43 -07:00
Justin SB
05bbf9cbcc
bash script: don't assume nodeup filename
...
We were previously assuming that the name of the URL matched the name
we wanted to download to, but also assuming that the name of the file
was nodeup. Change to download to a known file location, whatever the
mirror url.
2019-08-22 01:13:47 -04:00
Justin SB
2462ab1c02
nodeup download should try all mirrors
...
On an error, we were bailing out early!
2019-08-22 01:05:16 -04:00
Justin SB
330ccfcd55
Support mirroring for nodeup also
...
We weren't using mirrors for nodeup (just protokube), though the
existing bash script supports mirrors.
2019-08-04 01:34:39 -04:00
Kashif Saadat
290997464b
Update integration tests
2019-08-02 11:56:37 +01:00
Austin Moore
4485b115f4
Default CrossZoneLoadBalancing to false if not set
2019-07-26 12:21:43 -04:00
Austin Moore
66a8d1de90
Add integration test for cross-zone-load-balancing
2019-07-26 12:21:43 -04:00
Justin SB
512378b335
Rationalize golden-output comparison
...
Create a single helper function: AssertMatchesFile
Also a few output files that weren't consistent.
2019-07-21 23:08:48 -04:00
mikesplain
0e4c1080e7
Add docs and test
2019-06-21 14:00:37 -04:00
Peter Rifel
adef332fe3
Add integration test for mixed instances / launch templates
2019-06-07 14:29:34 -07: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
Ryan Bonham
54ef99ef54
Update Tests
2019-04-30 09:15:08 -05:00
mikesplain
d6c02d3d72
Fix tests
2019-03-29 13:29:11 -04:00
Rodrigo Menezes
4b1e92617a
Add terraform support for additional CIDR blocks now that it has support.
2019-03-28 00:47:08 -07:00
Justin SB
4f469fab9a
Support mirrors with restricted characters
...
Github doesn't allow us to have slashes in our release artifact names;
we therefore support a configurable per-mirror set of substitutions.
We use that to map `/` to `-` for github.
2019-03-26 01:02:31 -04:00
Justin SB
7bd4a7e262
Support download protokube from mirror
2019-03-26 00:45:54 -04:00
ryan-dyer
e131f67b39
Add additional tags to expected TF output
2019-03-20 10:19:10 -05:00
Michael Taufen
798044b720
Stop setting deprecated --allow-privileged Kubelet flag in 1.14
2019-03-04 13:28:41 -08:00
Justin SB
ec2151f229
Update tests for mirrors
2019-02-20 14:32:00 -05:00
Moustafa Baiou
ec43c4a6c0
update test case
2019-01-27 16:01:04 -05:00
Moustafa Baiou
2028841338
fix integration test for unmanaged egress
...
gofmt
2019-01-27 15:53:21 -05:00
Justin Santa Barbara
fab5f7f878
Fix integration test to highlight changes
...
Split out to show the actual changes
2019-01-27 15:53:21 -05:00
Justin Santa Barbara
f9f7eb628e
Create integration test for unmanaged networking
2019-01-27 15:53:21 -05:00
David Archer
36d2282d6b
AWS: Enable ICMP Type 3 Code 4 for API server ELBs
2019-01-12 07:20:17 -05:00
Kubernetes Prow Robot
38076b3f91
Merge pull request #6296 from justinsb/gce_labels
...
GCE terraform: support labels
2019-01-09 02:05:29 -08:00
Justin SB
d145e1fe6f
GCE terraform: map source tags in firewallrule
2019-01-03 23:28:44 -05:00
Justin SB
9494dfeb8c
GCE terraform: support labels
2019-01-03 23:22:54 -05:00
Jared Allard
4c4dd466da
fix(tests/integration/update_cluster): accidentally broke test earlier
2018-11-24 17:09:57 -08:00
Jared Allard
49ceb0a8dc
feat: fix tests and ref link in apply_cluster
2018-11-24 16:17:32 -08:00
Ariel Mashraki
d63c47149d
integration: Fix broken test in externallb
...
Running `terraform validate` on `externallb/kubernetes.tf` was failing
because resource name can't contain ":".
2018-10-20 18:27:41 +03:00
Ariel Mashraki
7dca8a78d2
terraform: Fix resource formatting for IPv6 CIDRs
...
Solved #5976
2018-10-20 15:58:42 +03:00
k8s-ci-robot
646fee8a9d
Merge pull request #5857 from justinsb/strict_cloudformation_output_checking
...
Stop cloudformation output switching to literal quotes
2018-10-02 22:53:19 -07:00
Justin Santa Barbara
1e2a62992b
Use JoinSuffixes for node->master traffic, also fix AmazonVPC rule
...
This ensures we are consistently naming our rules
2018-10-02 11:53:41 -07:00
Justin Santa Barbara
1906bcdf5d
We need to create the cross-product of rules for SG overrides
...
e.g. each master SGs need to be configured to talk to each master SG
2018-10-02 11:53:41 -07:00
Justin Santa Barbara
1f2a8042b5
Test case where we mix override & default SGs
2018-10-02 11:53:41 -07:00
Justin Santa Barbara
bfb54935ff
Build security groups along with suffixes
...
Fixes the case where we mix use of specified & default SGs.
2018-10-02 11:53:41 -07:00
Justin Santa Barbara
076742f528
Still materialize terraform output in tests
...
If we skip it, we can't test it. We do expect that most users will
use a lifecycle that only warns though.
2018-10-02 11:53:39 -07:00
Rodrigo Menezes
4cd8dbae3f
Update tests
2018-10-02 01:42:46 -07:00
Rodrigo Menezes
a82f548ff8
Allow using existing/shared Security Groups
...
Verbosely log when a user overwrites LB or IG security groups
Change SecurityGroup to SecurityGroupOverride
Allow using existing/shared Security Groups
Update tests
2018-10-02 00:51:39 -07:00
Justin Santa Barbara
1ad7a84d53
Stop cloudformation output switching to literal quotes
...
yaml can't store the \r character, so we strip the \r characters in
the expected output to keep the yaml output in block-quote style.
Also don't Fatalf out of an error, rather Errorf so we print all
problems.
2018-10-01 20:44:19 -07:00
Rohith
2fc634c556
Revert "Apply cloud labels into ELB"
...
This reverts commit b52c945f9f .
2018-09-25 13:53:38 +01:00
Justin Santa Barbara
e6bf6b9f32
Field names are case-sensitive again
...
There was a regression in apimachinery which meant that kubernetes
tolerated field names with incorrect case. Upstream bug is
https://github.com/kubernetes/kubernetes/issues/64612
Syncing up with latest kubernetes will mean we get the same breaking
change as kubernetes has/had. It should only affect people that are
manually building YAML / JSON.
Added as a significant item to release notes.
2018-09-23 19:23:28 -04:00
Justin Santa Barbara
237043dded
Update expected test output for script changes
2018-09-21 14:51:45 -04:00
k8s-ci-robot
b1c446f8f3
Merge pull request #5503 from mikesplain/fix_suspendprocess
...
Fix suspendprocess
2018-09-03 16:28:31 -07:00
k8s-ci-robot
2319db8f59
Merge pull request #4797 from justinsb/check_no_legacy_tags_on_shared
...
lifecycle tests: check no legacy tags on shared resources
2018-09-03 15:28:26 -07:00
k8s-ci-robot
c61fb537ac
Merge pull request #5593 from wingyplus/elb_cloud_labels
...
Apply cloud labels into ELB
2018-08-18 02:00:01 -07:00
Justin Santa Barbara
16985c3abc
Remove _kubernetes_master tag
...
We can get the master role just as readily from the InstanceGroup spec
2018-08-14 21:01:07 -04:00
Justin Santa Barbara
1c3949bdfe
Don't assume that we only have one subnet per AZ
...
I made a mistaken assumption in
dde2100a19 that we only had one subnet
per AZ, but as demonstrated in #5587 this was not the case.
What I was trying to achieve was not to include the cluster name, so
for the case of subnets this commit just uses the subnet name from the
cluster spec, which should be unique and stable. That is hopefully at
least as meaningful.
Thankfully we hadn't released a version with the erroneous naming.
Fix #5587
2018-08-13 13:15:03 -04:00
Thanabodee Charoenpiriyakij
b52c945f9f
Apply cloud labels into ELB
...
Fixes #2048
2018-08-11 00:43:19 +07:00
Justin Santa Barbara
a7b22b4876
Remove GetAsgForInstance IAM permission
...
It isn't a valid IAM permission - it was introduced in error, but IAM
is kind enough to ignore it.
Fixes #5549
2018-08-02 11:27:29 -04:00