@@ -73,18 +73,6 @@ func reconcileStatefulSet(ctx context.Context, logger logr.Logger, ec *ecv1alpha
73
73
return nil , err
74
74
}
75
75
76
- // Create Update StatefulSet
77
- err = createOrPatchStatefulSet (ctx , logger , ec , c , replicas , scheme )
78
- if err != nil {
79
- return nil , err
80
- }
81
-
82
- // Wait for statefulset to be ready
83
- err = waitForStatefulSetReady (ctx , logger , c , ec .Name , ec .Namespace )
84
- if err != nil {
85
- return nil , err
86
- }
87
-
88
76
// Add or remove server and peer certificate
89
77
if ec .Spec .TLS != nil {
90
78
if addMember {
@@ -112,6 +100,18 @@ func reconcileStatefulSet(ctx context.Context, logger logr.Logger, ec *ecv1alpha
112
100
}
113
101
}
114
102
103
+ // Create Update StatefulSet
104
+ err = createOrPatchStatefulSet (ctx , logger , ec , c , replicas , scheme )
105
+ if err != nil {
106
+ return nil , err
107
+ }
108
+
109
+ // Wait for statefulset to be ready
110
+ err = waitForStatefulSetReady (ctx , logger , c , ec .Name , ec .Namespace )
111
+ if err != nil {
112
+ return nil , err
113
+ }
114
+
115
115
// Return latest Stateful set. (This is to ensure that we return the latest statefulset for next operation to act on)
116
116
return getStatefulSet (ctx , c , ec .Name , ec .Namespace )
117
117
}
@@ -555,28 +555,37 @@ func healthCheck(sts *appsv1.StatefulSet, lg klog.Logger) (*clientv3.MemberListR
555
555
return memberlistResp , healthInfos , nil
556
556
}
557
557
558
- func createCMCertificateConfig (ec * ecv1alpha1.ProviderCertManagerConfig ) * certInterface.Config {
559
- duration , err := time .ParseDuration (ec .ValidityDuration )
558
+ func createCMCertificateConfig (ec * ecv1alpha1.EtcdCluster ) * certInterface.Config {
559
+ cmConfig := ec .Spec .TLS .ProviderCfg .CertManagerCfg
560
+ duration , err := time .ParseDuration (cmConfig .ValidityDuration )
560
561
if err != nil {
561
562
log .Printf ("Failed to parse ValidityDuration: %s" , err )
562
563
}
564
+
565
+ var getDNSNames []string
566
+ if cmConfig .AltNames .DNSNames != nil {
567
+ getDNSNames = cmConfig .AltNames .DNSNames
568
+ } else {
569
+ getDNSNames = []string {fmt .Sprintf ("%s.svc.cluster.local" , cmConfig .CommonName )}
570
+ }
571
+
563
572
config := & certInterface.Config {
564
- CommonName : ec .CommonName ,
565
- Organization : ec .Organization ,
573
+ CommonName : cmConfig .CommonName ,
574
+ Organization : cmConfig .Organization ,
566
575
ValidityDuration : duration ,
567
576
AltNames : certInterface.AltNames {
568
- DNSNames : ec . AltNames . DNSNames ,
569
- IPs : make ([]net.IP , len (ec . AltNames . DNSNames )),
577
+ DNSNames : getDNSNames ,
578
+ IPs : make ([]net.IP , len (getDNSNames )),
570
579
},
571
580
ExtraConfig : map [string ]any {
572
- "issuerName" : ec .IssuerName ,
573
- "issuerKind" : ec .IssuerKind ,
581
+ "issuerName" : cmConfig .IssuerName ,
582
+ "issuerKind" : cmConfig .IssuerKind ,
574
583
},
575
584
}
576
585
return config
577
586
}
578
587
579
- func createAutoCertificateConfig (ec * ecv1alpha1.ProviderAutoConfig ) * certInterface.Config {
588
+ func createAutoCertificateConfig (ec * ecv1alpha1.EtcdCluster ) * certInterface.Config {
580
589
// TODO
581
590
config := & certInterface.Config {}
582
591
return config
@@ -594,14 +603,14 @@ func createCertificate(ec *ecv1alpha1.EtcdCluster, ctx context.Context, c client
594
603
log .Printf ("Creating certificate: %s for etcd-operator: %s\n " , certName , ec .Name )
595
604
switch {
596
605
case ec .Spec .TLS .ProviderCfg .AutoCfg != nil :
597
- cmConfig := createAutoCertificateConfig (ec . Spec . TLS . ProviderCfg . AutoCfg )
606
+ cmConfig := createAutoCertificateConfig (ec )
598
607
createCertErr := cert .EnsureCertificateSecret (ctx , certName , ec .Namespace , cmConfig )
599
608
if createCertErr != nil {
600
609
log .Printf ("Error creating certificate: %s" , createCertErr )
601
610
}
602
611
return nil
603
612
case ec .Spec .TLS .ProviderCfg .CertManagerCfg != nil :
604
- cmConfig := createCMCertificateConfig (ec . Spec . TLS . ProviderCfg . CertManagerCfg )
613
+ cmConfig := createCMCertificateConfig (ec )
605
614
createCertErr := cert .EnsureCertificateSecret (ctx , certName , ec .Namespace , cmConfig )
606
615
if createCertErr != nil {
607
616
log .Printf ("Error creating certificate: %s" , createCertErr )
@@ -613,8 +622,7 @@ func createCertificate(ec *ecv1alpha1.EtcdCluster, ctx context.Context, c client
613
622
return nil
614
623
}
615
624
} else {
616
- log .Printf ("Error getting certificate" )
617
- return getCertError
625
+ return errors .New (fmt .Sprintf ("%s:Error getting certificate" , getCertError ))
618
626
}
619
627
}
620
628
0 commit comments