From da5598dcc9b8425cab78809c222e179925a6ffc3 Mon Sep 17 00:00:00 2001 From: Dominic Gunn Date: Sat, 1 Aug 2020 16:14:09 +0100 Subject: [PATCH 1/2] Add compute.internal to etcd san when using private zones, because the aws controller does not support private zones --- pkg/model/etcd_cluster.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/model/etcd_cluster.go b/pkg/model/etcd_cluster.go index 650b6a039..9083c7e38 100644 --- a/pkg/model/etcd_cluster.go +++ b/pkg/model/etcd_cluster.go @@ -45,7 +45,7 @@ func (c EtcdCluster) DNSNames() []string { dnsName = fmt.Sprintf("*.%s", c.region.PrivateDomainName()) } } - return []string{dnsName} + return []string{dnsName, fmt.Sprintf("*.%s", c.region.PrivateDomainName())} } func (c EtcdCluster) LogicalName() string { From 5720daec40ca7833e17a957dc5de7ddcc0ef4294 Mon Sep 17 00:00:00 2001 From: Dominic Gunn Date: Thu, 13 Aug 2020 14:58:33 +0100 Subject: [PATCH 2/2] Fix tests --- pkg/model/etcd_cluster.go | 7 ++++++- pkg/model/etcd_cluster_test.go | 16 ++++++++-------- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/pkg/model/etcd_cluster.go b/pkg/model/etcd_cluster.go index 9083c7e38..cd7d2b2ef 100644 --- a/pkg/model/etcd_cluster.go +++ b/pkg/model/etcd_cluster.go @@ -45,7 +45,12 @@ func (c EtcdCluster) DNSNames() []string { dnsName = fmt.Sprintf("*.%s", c.region.PrivateDomainName()) } } - return []string{dnsName, fmt.Sprintf("*.%s", c.region.PrivateDomainName())} + + privateDomainSan := fmt.Sprintf("*.%s", c.region.PrivateDomainName()) + if dnsName != privateDomainSan && c.GetMemberIdentityProvider() == api.MemberIdentityProviderENI { + return []string{dnsName, privateDomainSan} + } + return []string{dnsName} } func (c EtcdCluster) LogicalName() string { diff --git a/pkg/model/etcd_cluster_test.go b/pkg/model/etcd_cluster_test.go index 92c9224b8..ee79b1157 100644 --- a/pkg/model/etcd_cluster_test.go +++ b/pkg/model/etcd_cluster_test.go @@ -22,7 +22,7 @@ func TestEtcdClusterDNSNames(t *testing.T) { actual := cluster.DNSNames() expected := []string{"*.ec2.internal"} if !reflect.DeepEqual(actual, expected) { - t.Errorf("invalid dns names: expecetd=%v, got=%v", expected, actual) + t.Errorf("invalid dns names: expected=%v, got=%v", expected, actual) } }) t.Run("us-west-1", func(t *testing.T) { @@ -30,7 +30,7 @@ func TestEtcdClusterDNSNames(t *testing.T) { actual := cluster.DNSNames() expected := []string{"*.us-west-1.compute.internal"} if !reflect.DeepEqual(actual, expected) { - t.Errorf("invalid dns names: expecetd=%v, got=%v", expected, actual) + t.Errorf("invalid dns names: expected=%v, got=%v", expected, actual) } }) }) @@ -42,17 +42,17 @@ func TestEtcdClusterDNSNames(t *testing.T) { t.Run("us-east-1", func(t *testing.T) { cluster := NewEtcdCluster(config, usEast1, etcdNet, etcdCount) actual := cluster.DNSNames() - expected := []string{"*.internal.example.com"} + expected := []string{"*.internal.example.com", "*.ec2.internal"} if !reflect.DeepEqual(actual, expected) { - t.Errorf("invalid dns names: expecetd=%v, got=%v", expected, actual) + t.Errorf("invalid dns names: expected=%v, got=%v", expected, actual) } }) t.Run("us-west-1", func(t *testing.T) { cluster := NewEtcdCluster(config, usWest1, etcdNet, etcdCount) actual := cluster.DNSNames() - expected := []string{"*.internal.example.com"} + expected := []string{"*.internal.example.com", "*.us-west-1.compute.internal"} if !reflect.DeepEqual(actual, expected) { - t.Errorf("invalid dns names: expecetd=%v, got=%v", expected, actual) + t.Errorf("invalid dns names: expected=%v, got=%v", expected, actual) } }) }) @@ -67,7 +67,7 @@ func TestEtcdClusterDNSNames(t *testing.T) { actual := cluster.DNSNames() expected := []string{"*.compute-1.amazonaws.com"} if !reflect.DeepEqual(actual, expected) { - t.Errorf("invalid dns names: expecetd=%v, got=%v", expected, actual) + t.Errorf("invalid dns names: expected=%v, got=%v", expected, actual) } }) t.Run("us-west-1", func(t *testing.T) { @@ -75,7 +75,7 @@ func TestEtcdClusterDNSNames(t *testing.T) { actual := cluster.DNSNames() expected := []string{"*.us-west-1.compute.amazonaws.com"} if !reflect.DeepEqual(actual, expected) { - t.Errorf("invalid dns names: expecetd=%v, got=%v", expected, actual) + t.Errorf("invalid dns names: expected=%v, got=%v", expected, actual) } }) })