Skip to content

Commit 16a6524

Browse files
authored
Pass Annotations to PVC (#233)
1 parent c1963c6 commit 16a6524

File tree

1 file changed

+27
-19
lines changed

1 file changed

+27
-19
lines changed

restapi/admin_tenants.go

Lines changed: 27 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -815,9 +815,18 @@ func getTenantCreatedResponse(session *models.Principal, params admin_api.Create
815815
if tenantReq.ServiceName != "" {
816816
minInst.Spec.ServiceName = tenantReq.ServiceName
817817
}
818+
// add annotations
819+
var annotations map[string]string
820+
if len(tenantReq.Annotations) > 0 {
821+
if minInst.Spec.Metadata == nil {
822+
minInst.Spec.Metadata = &metav1.ObjectMeta{}
823+
}
824+
annotations = tenantReq.Annotations
825+
minInst.Spec.Metadata.Annotations = annotations
826+
}
818827
// set the zones if they are provided
819828
for _, zone := range tenantReq.Zones {
820-
zone, err := parseTenantZoneRequest(zone)
829+
zone, err := parseTenantZoneRequest(zone, annotations)
821830
if err != nil {
822831
return nil, err
823832
}
@@ -828,13 +837,6 @@ func getTenantCreatedResponse(session *models.Principal, params admin_api.Create
828837
if tenantReq.MounthPath != "" {
829838
minInst.Spec.Mountpath = tenantReq.MounthPath
830839
}
831-
// add annotations
832-
if len(tenantReq.Annotations) > 0 {
833-
if minInst.Spec.Metadata == nil {
834-
minInst.Spec.Metadata = &metav1.ObjectMeta{}
835-
}
836-
minInst.Spec.Metadata.Annotations = tenantReq.Annotations
837-
}
838840

839841
if err := setImageRegistry(ctx, tenantReq.ImageRegistry, clientset.CoreV1(), ns); err != nil {
840842
log.Println("error setting image registry secret:", err)
@@ -1002,7 +1004,7 @@ func addTenantZone(ctx context.Context, operatorClient OperatorClient, params ad
10021004
}
10031005

10041006
zoneParams := params.Body
1005-
zone, err := parseTenantZoneRequest(zoneParams)
1007+
zone, err := parseTenantZoneRequest(zoneParams, tenant.ObjectMeta.Annotations)
10061008
if err != nil {
10071009
return err
10081010
}
@@ -1101,7 +1103,7 @@ func getTenantUsageResponse(session *models.Principal, params admin_api.GetTenan
11011103

11021104
// parseTenantZoneRequest parse zone request and returns the equivalent
11031105
// operator.Zone object
1104-
func parseTenantZoneRequest(zoneParams *models.Zone) (*operator.Zone, error) {
1106+
func parseTenantZoneRequest(zoneParams *models.Zone, annotations map[string]string) (*operator.Zone, error) {
11051107
if zoneParams.VolumeConfiguration == nil {
11061108
return nil, errors.New("a volume configuration must be specified")
11071109
}
@@ -1241,16 +1243,22 @@ func parseTenantZoneRequest(zoneParams *models.Zone) (*operator.Zone, error) {
12411243
tolerations = append(tolerations, toleration)
12421244
}
12431245

1244-
zone := &operator.Zone{
1245-
Name: zoneParams.Name,
1246-
Servers: int32(*zoneParams.Servers),
1247-
VolumesPerServer: *zoneParams.VolumesPerServer,
1248-
VolumeClaimTemplate: &corev1.PersistentVolumeClaim{
1249-
ObjectMeta: metav1.ObjectMeta{
1250-
Name: "data",
1251-
},
1252-
Spec: volTemp,
1246+
// Pass annotations to the volume
1247+
vct := &corev1.PersistentVolumeClaim{
1248+
ObjectMeta: metav1.ObjectMeta{
1249+
Name: "data",
12531250
},
1251+
Spec: volTemp,
1252+
}
1253+
if len(annotations) > 0 {
1254+
vct.ObjectMeta.Annotations = annotations
1255+
}
1256+
1257+
zone := &operator.Zone{
1258+
Name: zoneParams.Name,
1259+
Servers: int32(*zoneParams.Servers),
1260+
VolumesPerServer: *zoneParams.VolumesPerServer,
1261+
VolumeClaimTemplate: vct,
12541262
Resources: corev1.ResourceRequirements{
12551263
Requests: resourcesRequests,
12561264
Limits: resourcesLimits,

0 commit comments

Comments
 (0)