Skip to content

Commit 550a4bd

Browse files
pooknullgkechhors
authored
K8SPS-339: add dataSource and dataSourceRef fields (#998)
* K8SPS-339: add dataSource and dataSourceRef fields https://perconadev.atlassian.net/browse/K8SPS-339 * update unit-test --------- Co-authored-by: George Kechagias <[email protected]> Co-authored-by: Viacheslav Sarzhan <[email protected]>
1 parent d4e6a37 commit 550a4bd

File tree

3 files changed

+29
-2
lines changed

3 files changed

+29
-2
lines changed

deploy/cr.yaml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,15 @@ spec:
133133
# path: /data
134134
# type: Directory
135135
persistentVolumeClaim:
136+
# dataSource:
137+
# apiGroup: ""
138+
# kind: PersistentVolumeClaim
139+
# name: source-pvc
140+
# dataSourceRef:
141+
# apiGroup: ""
142+
# kind: PersistentVolumeClaim
143+
# name: source-pvc
144+
# namespace: default
136145
# storageClassName: standard
137146
# accessModes: [ "ReadWriteOnce" ]
138147
resources:

pkg/k8s/pvc.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ func PVC(name string, spec *apiv1alpha1.VolumeSpec) corev1.PersistentVolumeClaim
1616
StorageClassName: spec.PersistentVolumeClaim.StorageClassName,
1717
AccessModes: spec.PersistentVolumeClaim.AccessModes,
1818
Resources: spec.PersistentVolumeClaim.Resources,
19+
DataSource: spec.PersistentVolumeClaim.DataSource,
20+
DataSourceRef: spec.PersistentVolumeClaim.DataSourceRef,
1921
},
2022
}
2123
}

pkg/k8s/pvc_test.go

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,12 @@ package k8s
33
import (
44
"testing"
55

6-
apiv1alpha1 "github.com/percona/percona-server-mysql-operator/api/v1alpha1"
7-
86
"github.com/stretchr/testify/assert"
97
corev1 "k8s.io/api/core/v1"
108
"k8s.io/apimachinery/pkg/api/resource"
9+
"k8s.io/utils/ptr"
10+
11+
apiv1alpha1 "github.com/percona/percona-server-mysql-operator/api/v1alpha1"
1112
)
1213

1314
func TestPVC(t *testing.T) {
@@ -16,6 +17,17 @@ func TestPVC(t *testing.T) {
1617
requests := corev1.ResourceList{
1718
corev1.ResourceStorage: resource.MustParse("2Gi"),
1819
}
20+
dataSource := &corev1.TypedLocalObjectReference{
21+
APIGroup: ptr.To("some-api-group"),
22+
Kind: "some-kind",
23+
Name: "some-name",
24+
}
25+
dataSourceRef := &corev1.TypedObjectReference{
26+
APIGroup: ptr.To("some-api-group-2"),
27+
Kind: "some-kind-2",
28+
Name: "some-name-2",
29+
Namespace: ptr.To("namespace"),
30+
}
1931

2032
spec := &apiv1alpha1.VolumeSpec{
2133
PersistentVolumeClaim: &corev1.PersistentVolumeClaimSpec{
@@ -24,6 +36,8 @@ func TestPVC(t *testing.T) {
2436
Resources: corev1.VolumeResourceRequirements{
2537
Requests: requests,
2638
},
39+
DataSource: dataSource,
40+
DataSourceRef: dataSourceRef,
2741
},
2842
}
2943

@@ -36,4 +50,6 @@ func TestPVC(t *testing.T) {
3650
assert.Equal(t, storageClassName, *pvc.Spec.StorageClassName)
3751
assert.Equal(t, accessModes, pvc.Spec.AccessModes)
3852
assert.Equal(t, requests, pvc.Spec.Resources.Requests)
53+
assert.Equal(t, dataSource, pvc.Spec.DataSource)
54+
assert.Equal(t, dataSourceRef, pvc.Spec.DataSourceRef)
3955
}

0 commit comments

Comments
 (0)