Commit Graph

67 Commits

Author SHA1 Message Date
Ciprian Hacman cedbe1f360 Add initial support for configuring IPv6 with AWS 2021-05-19 06:21:07 +03:00
Peter Rifel 51cec7e556
Use "tag on create" for EIPs, NLBs, and TargetGroups
These are the remaining resources that support "tag on create" of which we werent taking advantage.

This allows more fine-grained IAM permissions for the kops cli.
2021-03-22 07:21:51 -05:00
Peter Rifel 2ebd448602
Add integration test for transit gateway support 2021-02-28 13:02:11 -06:00
Peter Rifel c91ea29cb8
Add cloudmock support for launch template versions and updating ASGs 2021-02-06 23:06:46 -06:00
Ciprian Hacman d18a02df73 Add throughput field for gp3 volumes to mock 2021-01-21 09:00:58 +02:00
Peter Rifel 1760d06332
cloudmock - guard the VPC CIDR association calls with a mutex
This should fix a flaky TestLifecycleComplex test that I've only been able to repro <1% of the time.
2020-12-16 20:32:35 -06:00
Bharath Vedartham 7f6e125733 Add support for aws ec2 instance metadata v2
A new field is add to the InstanceGroup spec with 2 sub fields,
HTTPPutResponseHopLimit and HTTPTokens. These fields enable the user
to disable IMDv1 for instances within an instance group.

By default, both IMDv1 and IMDv2 are enabled in instances in an instance group.
2020-12-07 02:57:02 +05:30
Ciprian Hacman e11d934268 Add option to reuse existing Elastic IPs for NAT gateways 2020-12-06 09:37:17 +02:00
Ciprian Hacman fdf976809e Use pagination when listing LaunchTemplates 2020-11-09 21:41:58 +02:00
Ciprian Hacman ed37c34a92 Use LaunchTemplate id instead of name for ASGs 2020-11-09 21:41:56 +02:00
Ciprian Hacman 565adceab9 Use LaunchTemplate versions instead of timestamped LaunchTemplates 2020-11-09 21:40:33 +02:00
Peter Rifel b81f9b290f
Add a test ensuring shared VPCs dont have unrelated CIDR blocks disassociated 2020-10-02 14:23:16 -05:00
Peter Rifel 4d9f0128a3
Upgrade to klog2
This splits up the kubernetes 1.19 PR to make it easier to keep up to date until we get it sorted out.
2020-08-16 20:56:48 -05:00
John Gardiner Myers ae772c3bd9 Add missing locking in MockEC2 2020-08-04 20:40:13 -07:00
Peter Rifel 690f2e3605
Add keypair tag and ID support to cloudmock 2020-07-28 13:35:09 -05:00
Peter Rifel b1e7704d09
Use "lt-" IDs for launch templates and add tagging support 2020-07-08 08:53:01 -05:00
Peter Rifel 844626ae44
cloudmock - recognize and store tags provided in Create requests 2020-07-08 08:53:01 -05:00
Peter Rifel 7e34e786ce
cloudmock - use ResourceType constants that are now in aws-sdk-go 2020-07-08 08:53:01 -05:00
John Gardiner Myers 3ce8dd165b Use launch templates by default 2020-06-10 09:34:48 -07:00
Peter Rifel 64ef8c2d42
Add DescribeInstanceTypes to AWSCloud 2020-06-09 10:13:00 -05:00
tanjunchen 43bf6bdab6 fix-up gosimple check error 2019-10-07 11:59:57 +08:00
chentanjun d47b4b6534 fix-typo 2019-09-25 21:34:24 +08:00
mikesplain 9e55b8230a Update copyright notices
Also cleans some white spaces
2019-09-09 14:47:51 -04:00
Justin SB 76d03b3f71
Generated files: glog -> klog 2019-05-06 12:56:03 -04:00
Justin SB 3e33ac7682
Change code from glog to klog
We don't call klog.InitFlags yet, because that will cause a flag
redefinition error until we get everyone to stop using glog.  That
will happen when we update to k8s 1.13.
2019-05-06 12:54:51 -04:00
xichengliudui 16ee9c4342 Using const() defines constants together (part:3) 2019-04-20 05:02:21 -04:00
Rohith 6c3a125f9e - adding the ec2 mock methods for launch templates .. gosh 2019-02-05 12:22:57 +00:00
Justin SB 18d117d84e
cloudmock: replace unimplemented methods with interface embedding
It's simpler, and it lets us move to newer versions of the AWS API more easily.
2018-12-20 18:13:28 -05:00
Justin Santa Barbara fa7b408607 cloudmock: govet fixes 2018-09-23 11:23:08 -04:00
Justin Santa Barbara 0234285826 Stub out EC2 & IAM interfaces
This auto implements the new methods (they panic if called).  Technique
borrowed from mockelb (thanks @vainu-arto ).

Assuming this approach works, we can get rid of the annoying
unimplemented.go files.
2018-06-03 22:08:41 -07:00
Justin Santa Barbara afa0577749 Check tags in lifecycle tests
We want to make sure that everything owned is tagged as such, and that
some shared resources (in particular subnets) are tagged as such.
2018-03-25 15:55:44 -04:00
k8s-ci-robot 01cacbd53c
Merge pull request #4786 from justinsb/refactor_discover_security_groups
SecurityGroup deletion: recognize shared tags
2018-03-25 08:33:01 -07:00
Justin Santa Barbara 8250cf0571 cloudmock: update to support tag-key query on securitygroup 2018-03-25 01:17:27 -04:00
Justin Santa Barbara e81e53b5b2 mockec2: allow elastic ip tagging 2018-03-25 00:01:41 -04:00
Justin Santa Barbara 1edd7d49fa Add deletion to lifecycle test 2018-03-24 16:30:40 -04:00
Justin Santa Barbara c8a8d72534 mockec2: more missing locking 2018-03-20 19:20:39 -04:00
k8s-ci-robot 4ab61d924f
Merge pull request #4712 from justinsb/cloudmock_rta_key
cloudmock: fix prefix for RouteTableAssociation
2018-03-19 21:49:02 -07:00
Justin Santa Barbara 0711df9de4 Improve logic around VPC detection
Issue #4265
2018-03-19 18:15:37 -04:00
Justin Santa Barbara b442b4222e cloudmock: fix prefix for RouteTableAssociation
We were generating ids with two hyphens (rta--1)
2018-03-18 17:11:47 -04:00
Justin Santa Barbara baf57f3d2b cloudmock: fix locking around vpcs and subnets 2018-03-18 10:25:25 -04:00
Justin Santa Barbara a46d981d81 More mocks - for shared VPC 2018-03-15 20:11:54 -04:00
Justin Santa Barbara ab7439b360 More mocks - sufficient for privatecalico to roundtrip 2018-03-11 23:12:22 -04:00
Justin Santa Barbara 85b972bc28 Fill out cloudmock to do a basic lifecycle test 2018-03-11 17:04:30 -04:00
Justin Santa Barbara 725bfc90ff Add new EC2 mock functions 2018-02-28 23:06:21 -05:00
Albert 43efd9d07a Update aws-sdk-go to 1.12.57 2018-01-09 17:22:38 +08:00
Kubernetes Submit Queue e88496a248
Merge pull request #4061 from meringu/create-subnets
Automatic merge from submit-queue.

Add --subnets and --utility-subnets to kops create cluster

This change adds two new options to `kops create cluster`

When specifying `--vpc`, `--subnets` can be specified as an unordered array of subnet ids. Kops will then look up the zones of the subnets to find which zone to add the subnet id to.

If `--topology private` is also specified, `--utility-subnets` can similarly be specified.

~If a zone was specified but a subnet wasn't given that matches the zone, then the subnet will be allocated a CIDR with the current behaviour.~ This case fails validation here 7bd0a6a703/pkg/apis/kops/validation/validation.go (L151)

I can add unit tests and docs changes if required, but I am keen to get feedback before I proceed much further.

I have only added support for AWS.

I have tested this by running a command similar to this:

```bash
kops create cluster \
  --zones=us-east-1a,us-east-1b,us-east-1c \
  --topology private \
  --master-zones=us-east-1a,us-east-1b,us-east-1c  \
  --vpc $vpc_id \
  --subnets subnet-111111,subnet-222222,subnet-333333 \
  --utility-subnets subnet-444444,subnet-555555,subnet-666666 \
  $cluster_hosted_zone_name
```

And the cluster spec was as expected.
2017-12-18 21:12:59 -08:00
Henry Muru Paenga afc1b58722 Tests for create cluster in shared vpc 2017-12-15 18:29:20 +13:00
Peter Rifel 3da1bdc069 Don't report an InternetGateway rename when using shared IGWs
Adds test to confirm fixed behavior
2017-12-06 16:36:35 -08:00
Rodrigo Menezes 662dfb33e6 update cloudmock for aws-sdk-go v1.10.34 2017-11-18 18:01:34 -08:00
chrislovecnm 609e268a1d gazelle updates with new bazel version 2017-11-05 17:41:53 -07:00