mirror of https://github.com/kubernetes/kops.git
aws: Add dependency on additional network cidrs for subnets
This commit is contained in:
parent
62712f2111
commit
68ce4c800e
|
|
@ -18,6 +18,7 @@ package awsmodel
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"net"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
aws "k8s.io/cloud-provider-aws/pkg/providers/v1"
|
aws "k8s.io/cloud-provider-aws/pkg/providers/v1"
|
||||||
|
|
@ -294,6 +295,19 @@ func (b *NetworkModelBuilder) Build(c *fi.CloudupModelBuilderContext) error {
|
||||||
|
|
||||||
if subnetSpec.CIDR != "" {
|
if subnetSpec.CIDR != "" {
|
||||||
subnet.CIDR = fi.PtrTo(subnetSpec.CIDR)
|
subnet.CIDR = fi.PtrTo(subnetSpec.CIDR)
|
||||||
|
for _, cidr := range b.Cluster.Spec.Networking.AdditionalNetworkCIDRs {
|
||||||
|
_, additionalCIDR, err := net.ParseCIDR(cidr)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
subnetIP, _, err := net.ParseCIDR(subnetSpec.CIDR)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if additionalCIDR.Contains(subnetIP) {
|
||||||
|
subnet.VPCCIDRBlock = &awstasks.VPCCIDRBlock{Name: fi.PtrTo(cidr)}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if subnetSpec.IPv6CIDR != "" {
|
if subnetSpec.IPv6CIDR != "" {
|
||||||
|
|
|
||||||
|
|
@ -44,6 +44,7 @@ type Subnet struct {
|
||||||
|
|
||||||
ID *string
|
ID *string
|
||||||
VPC *VPC
|
VPC *VPC
|
||||||
|
VPCCIDRBlock *VPCCIDRBlock
|
||||||
AmazonIPv6CIDR *VPCAmazonIPv6CIDRBlock
|
AmazonIPv6CIDR *VPCAmazonIPv6CIDRBlock
|
||||||
AvailabilityZone *string
|
AvailabilityZone *string
|
||||||
CIDR *string
|
CIDR *string
|
||||||
|
|
@ -135,6 +136,7 @@ func (e *Subnet) Find(c *fi.CloudupContext) (*Subnet, error) {
|
||||||
actual.ShortName = e.ShortName // Not materialized in AWS
|
actual.ShortName = e.ShortName // Not materialized in AWS
|
||||||
actual.Name = e.Name // Name is part of Tags
|
actual.Name = e.Name // Name is part of Tags
|
||||||
// Task dependencies
|
// Task dependencies
|
||||||
|
actual.VPCCIDRBlock = e.VPCCIDRBlock
|
||||||
actual.AmazonIPv6CIDR = e.AmazonIPv6CIDR
|
actual.AmazonIPv6CIDR = e.AmazonIPv6CIDR
|
||||||
|
|
||||||
return actual, nil
|
return actual, nil
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue