Skip to content

Commit fa90909

Browse files
committed
move reconcileOwnedResource to reconcile utils
1 parent 168e21d commit fa90909

File tree

13 files changed

+989
-1
lines changed

13 files changed

+989
-1
lines changed

internal/controller/factory/builders.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,3 +47,7 @@ func contextWithGVK(ctx context.Context, resource client.Object, scheme *runtime
4747
ctx = log.WithValues(ctx, "group", gvk.GroupVersion().String(), "kind", gvk.Kind, "name", resource.GetName())
4848
return ctx, nil
4949
}
50+
<<<<<<< HEAD
51+
=======
52+
53+
>>>>>>> 641ff74 (move reconcileOwnedResource to reconcile utils)

internal/controller/factory/configmap.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,9 +72,13 @@ func TemplateClusterStateConfigMap(
7272

7373
initialClusterMembers := make([]string, replicas)
7474
clusterService := fmt.Sprintf(
75+
<<<<<<< HEAD
7576
"%s.%s.svc:2380",
7677
GetHeadlessServiceName(cluster), cluster.Namespace)
7778

79+
=======
80+
"%s.%s.svc:2380", GetHeadlessServiceName(cluster), cluster.Namespace)
81+
>>>>>>> 641ff74 (move reconcileOwnedResource to reconcile utils)
7882
for i := 0; i < replicas; i++ {
7983
podName := fmt.Sprintf("%s-%d", cluster.Name, i)
8084
initialClusterMembers[i] = fmt.Sprintf("%s=https://%s.%s",

internal/controller/factory/configmap_test.go

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ var _ = Describe("ClusterStateConfigMap factory", func() {
6363
Eventually(Get(&etcdcluster)).Should(Succeed())
6464
DeferCleanup(k8sClient.Delete, &etcdcluster)
6565
})
66+
<<<<<<< HEAD
6667

6768
It("should successfully create the configmap object", func() {
6869
By("processing new etcd cluster", func() {
@@ -112,6 +113,16 @@ var _ = Describe("ClusterStateConfigMap factory", func() {
112113
Expect(err).ShouldNot(HaveOccurred())
113114
Expect(configMapObj).NotTo(BeNil())
114115
Expect(configMapObj.Data["ETCD_INITIAL_CLUSTER_STATE"]).To(Equal("existing"))
116+
=======
117+
118+
It("should successfully create the configmap object", func() {
119+
By("processing new etcd cluster", func() {
120+
configMapObj, err := GetClusterStateConfigMap(ctx, &etcdcluster, k8sClient)
121+
Expect(err).ShouldNot(HaveOccurred())
122+
Expect(configMapObj).NotTo(BeNil())
123+
Expect(configMapObj.Data["ETCD_INITIAL_CLUSTER_STATE"]).To(Equal("new"))
124+
})
125+
>>>>>>> 641ff74 (move reconcileOwnedResource to reconcile utils)
115126
})
116127
})
117128
})

internal/controller/factory/pdb.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,13 @@ func GetPdb(
3737
) (*v1.PodDisruptionBudget, error) {
3838
var err error
3939

40+
<<<<<<< HEAD
4041
if cluster.Spec.PodDisruptionBudgetTemplate == nil {
4142
return nil, fmt.Errorf("can't get pdb - PodDisruptionBudgetTemplate is nil")
4243
}
4344

45+
=======
46+
>>>>>>> 641ff74 (move reconcileOwnedResource to reconcile utils)
4447
pdb := &v1.PodDisruptionBudget{
4548
ObjectMeta: metav1.ObjectMeta{
4649
Namespace: cluster.Namespace,

internal/controller/factory/pdb_test.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@ var _ = Describe("Pdb factory", func() {
9696
pdbObj, err := GetPdb(ctx, &etcdcluster, k8sClient)
9797
Expect(err).ShouldNot(HaveOccurred())
9898
Expect(pdbObj).ShouldNot(BeNil())
99+
<<<<<<< HEAD
99100
})
100101
})
101102

@@ -234,6 +235,8 @@ var _ = Describe("Pdb factory", func() {
234235
pdbObj, err := GetPdb(ctx, &etcdcluster, k8sClient)
235236
Expect(err).ShouldNot(HaveOccurred())
236237
Expect(pdbObj.Spec.MinAvailable).To(Equal(ptr.To(intstr.FromInt32(1))))
238+
=======
239+
>>>>>>> 641ff74 (move reconcileOwnedResource to reconcile utils)
237240
})
238241
})
239242
})

internal/controller/factory/statefulset.go

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,21 @@ func TemplateStatefulSet() *appsv1.StatefulSet {
4646
panic("not yet implemented")
4747
}
4848

49+
<<<<<<< HEAD
50+
=======
51+
func PodLabels(cluster *etcdaenixiov1alpha1.EtcdCluster) map[string]string {
52+
labels := NewLabelsBuilder().WithName().WithInstance(cluster.Name).WithManagedBy()
53+
54+
if cluster.Spec.PodTemplate.Labels != nil {
55+
for key, value := range cluster.Spec.PodTemplate.Labels {
56+
labels[key] = value
57+
}
58+
}
59+
60+
return labels
61+
}
62+
63+
>>>>>>> 641ff74 (move reconcileOwnedResource to reconcile utils)
4964
func GetStatefulSet(
5065
ctx context.Context,
5166
cluster *etcdaenixiov1alpha1.EtcdCluster,
@@ -132,6 +147,58 @@ func PodLabels(cluster *etcdaenixiov1alpha1.EtcdCluster) map[string]string {
132147
return labels
133148
}
134149

150+
<<<<<<< HEAD
151+
=======
152+
func generateVolumeMounts(cluster *etcdaenixiov1alpha1.EtcdCluster) []corev1.VolumeMount {
153+
154+
volumeMounts := []corev1.VolumeMount{}
155+
156+
volumeMounts = append(volumeMounts, corev1.VolumeMount{
157+
Name: "data",
158+
ReadOnly: false,
159+
MountPath: "/var/run/etcd",
160+
})
161+
162+
if cluster.Spec.Security != nil && cluster.Spec.Security.TLS.PeerSecret != "" {
163+
volumeMounts = append(volumeMounts, []corev1.VolumeMount{
164+
{
165+
Name: "peer-trusted-ca-certificate",
166+
ReadOnly: true,
167+
MountPath: "/etc/etcd/pki/peer/ca",
168+
},
169+
{
170+
Name: "peer-certificate",
171+
ReadOnly: true,
172+
MountPath: "/etc/etcd/pki/peer/cert",
173+
},
174+
}...)
175+
}
176+
177+
if cluster.Spec.Security != nil && cluster.Spec.Security.TLS.ServerSecret != "" {
178+
volumeMounts = append(volumeMounts, []corev1.VolumeMount{
179+
{
180+
Name: "server-certificate",
181+
ReadOnly: true,
182+
MountPath: "/etc/etcd/pki/server/cert",
183+
},
184+
}...)
185+
}
186+
187+
if cluster.Spec.Security != nil && cluster.Spec.Security.TLS.ClientSecret != "" {
188+
189+
volumeMounts = append(volumeMounts, []corev1.VolumeMount{
190+
{
191+
Name: "client-trusted-ca-certificate",
192+
ReadOnly: true,
193+
MountPath: "/etc/etcd/pki/client/ca",
194+
},
195+
}...)
196+
}
197+
198+
return volumeMounts
199+
}
200+
201+
>>>>>>> 641ff74 (move reconcileOwnedResource to reconcile utils)
135202
func GenerateEtcdCommand() []string {
136203
return []string{
137204
"etcd",

internal/controller/factory/statefulset_test.go

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,21 @@ import (
2222

2323
. "github.com/onsi/ginkgo/v2"
2424
. "github.com/onsi/gomega"
25-
appsv1 "k8s.io/api/apps/v1"
25+
. "sigs.k8s.io/controller-runtime/pkg/envtest/komega"
2626
corev1 "k8s.io/api/core/v1"
2727
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
28+
<<<<<<< HEAD
2829
. "sigs.k8s.io/controller-runtime/pkg/envtest/komega"
2930

3031
etcdaenixiov1alpha1 "github.com/aenix-io/etcd-operator/api/v1alpha1"
3132
"github.com/google/uuid"
3233
"k8s.io/apimachinery/pkg/types"
34+
=======
35+
36+
etcdaenixiov1alpha1 "github.com/aenix-io/etcd-operator/api/v1alpha1"
37+
"k8s.io/apimachinery/pkg/types"
38+
"github.com/google/uuid"
39+
>>>>>>> 641ff74 (move reconcileOwnedResource to reconcile utils)
3340
)
3441

3542
var _ = Describe("StatefulSet factory", func() {
@@ -45,14 +52,23 @@ var _ = Describe("StatefulSet factory", func() {
4552
DeferCleanup(k8sClient.Delete, ns)
4653
})
4754

55+
<<<<<<< HEAD
4856
Context("PodLabels", func() {
4957
It("should return base labels with custom labels merged", func() {
5058
cluster := &etcdaenixiov1alpha1.EtcdCluster{
59+
=======
60+
Context("when create statefulSet", func() {
61+
var etcdcluster etcdaenixiov1alpha1.EtcdCluster
62+
63+
BeforeEach(func() {
64+
etcdcluster = etcdaenixiov1alpha1.EtcdCluster{
65+
>>>>>>> 641ff74 (move reconcileOwnedResource to reconcile utils)
5166
ObjectMeta: metav1.ObjectMeta{
5267
Name: "test-cluster",
5368
},
5469
Spec: etcdaenixiov1alpha1.EtcdClusterSpec{},
5570
}
71+
<<<<<<< HEAD
5672

5773
cluster.Spec.PodTemplate.Labels = map[string]string{
5874
"custom-label": "value",
@@ -73,6 +89,19 @@ var _ = Describe("StatefulSet factory", func() {
7389
labels := PodLabels(cluster)
7490
Expect(labels).Should(HaveLen(3))
7591
})
92+
=======
93+
Expect(k8sClient.Create(ctx, &etcdcluster)).Should(Succeed())
94+
Eventually(Get(&etcdcluster)).Should(Succeed())
95+
DeferCleanup(k8sClient.Delete, &etcdcluster)
96+
97+
})
98+
It("should successfully create statefulSet object with empty spec", func (){
99+
statefulSetObj, err := GetStatefulSet(ctx, &etcdcluster, k8sClient)
100+
Expect(err).ShouldNot(HaveOccurred())
101+
Expect(statefulSetObj).ShouldNot(BeNil())
102+
})
103+
104+
>>>>>>> 641ff74 (move reconcileOwnedResource to reconcile utils)
76105
})
77106

78107
Context("GenerateEtcdArgs", func() {

internal/controller/factory/suite_test.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,10 @@ import (
4545

4646
var cfg *rest.Config
4747
var k8sClient client.Client
48+
<<<<<<< HEAD
4849

50+
=======
51+
>>>>>>> 641ff74 (move reconcileOwnedResource to reconcile utils)
4952
// var clientWithEmptyScheme client.Client
5053
var testEnv *envtest.Environment
5154

internal/controller/factory/svc.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,11 @@ func GetClientService(
9898
ctx context.Context,
9999
cluster *etcdaenixiov1alpha1.EtcdCluster,
100100
rclient client.Client,
101+
<<<<<<< HEAD
101102
) (*corev1.Service, error) {
103+
=======
104+
) (*corev1.Service, error) {
105+
>>>>>>> 641ff74 (move reconcileOwnedResource to reconcile utils)
102106
var err error
103107

104108
svc := corev1.Service{
@@ -137,5 +141,9 @@ func GetClientService(
137141
return nil, fmt.Errorf("cannot set controller reference: %w", err)
138142
}
139143

144+
<<<<<<< HEAD
140145
return &svc, nil
146+
=======
147+
return &svc, nil
148+
>>>>>>> 641ff74 (move reconcileOwnedResource to reconcile utils)
141149
}

internal/controller/factory/svc_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ import (
3232
etcdaenixiov1alpha1 "github.com/aenix-io/etcd-operator/api/v1alpha1"
3333
)
3434

35+
var _ = Describe("Create services handlers", func() {
3536
var _ = Describe("Create services handlers", func() {
3637
var ns *corev1.Namespace
3738

0 commit comments

Comments
 (0)