Merge pull request #15841 from hakman/aws_additional_network_cidrs

aws: Add dependency on additional network cidrs for subnets
This commit is contained in:
Kubernetes Prow Robot 2023-08-31 03:44:48 -07:00 committed by GitHub
commit 48ce0b9897
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 16 additions and 0 deletions

View File

@ -18,6 +18,7 @@ package awsmodel
import (
"fmt"
"net"
"strings"
aws "k8s.io/cloud-provider-aws/pkg/providers/v1"
@ -294,6 +295,19 @@ func (b *NetworkModelBuilder) Build(c *fi.CloudupModelBuilderContext) error {
if 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 != "" {

View File

@ -44,6 +44,7 @@ type Subnet struct {
ID *string
VPC *VPC
VPCCIDRBlock *VPCCIDRBlock
AmazonIPv6CIDR *VPCAmazonIPv6CIDRBlock
AvailabilityZone *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.Name = e.Name // Name is part of Tags
// Task dependencies
actual.VPCCIDRBlock = e.VPCCIDRBlock
actual.AmazonIPv6CIDR = e.AmazonIPv6CIDR
return actual, nil