Pass Annotations to PVC (#233)
This commit is contained in:
@@ -815,9 +815,18 @@ func getTenantCreatedResponse(session *models.Principal, params admin_api.Create
|
|||||||
if tenantReq.ServiceName != "" {
|
if tenantReq.ServiceName != "" {
|
||||||
minInst.Spec.ServiceName = tenantReq.ServiceName
|
minInst.Spec.ServiceName = tenantReq.ServiceName
|
||||||
}
|
}
|
||||||
|
// add annotations
|
||||||
|
var annotations map[string]string
|
||||||
|
if len(tenantReq.Annotations) > 0 {
|
||||||
|
if minInst.Spec.Metadata == nil {
|
||||||
|
minInst.Spec.Metadata = &metav1.ObjectMeta{}
|
||||||
|
}
|
||||||
|
annotations = tenantReq.Annotations
|
||||||
|
minInst.Spec.Metadata.Annotations = annotations
|
||||||
|
}
|
||||||
// set the zones if they are provided
|
// set the zones if they are provided
|
||||||
for _, zone := range tenantReq.Zones {
|
for _, zone := range tenantReq.Zones {
|
||||||
zone, err := parseTenantZoneRequest(zone)
|
zone, err := parseTenantZoneRequest(zone, annotations)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@@ -828,13 +837,6 @@ func getTenantCreatedResponse(session *models.Principal, params admin_api.Create
|
|||||||
if tenantReq.MounthPath != "" {
|
if tenantReq.MounthPath != "" {
|
||||||
minInst.Spec.Mountpath = tenantReq.MounthPath
|
minInst.Spec.Mountpath = tenantReq.MounthPath
|
||||||
}
|
}
|
||||||
// add annotations
|
|
||||||
if len(tenantReq.Annotations) > 0 {
|
|
||||||
if minInst.Spec.Metadata == nil {
|
|
||||||
minInst.Spec.Metadata = &metav1.ObjectMeta{}
|
|
||||||
}
|
|
||||||
minInst.Spec.Metadata.Annotations = tenantReq.Annotations
|
|
||||||
}
|
|
||||||
|
|
||||||
if err := setImageRegistry(ctx, tenantReq.ImageRegistry, clientset.CoreV1(), ns); err != nil {
|
if err := setImageRegistry(ctx, tenantReq.ImageRegistry, clientset.CoreV1(), ns); err != nil {
|
||||||
log.Println("error setting image registry secret:", err)
|
log.Println("error setting image registry secret:", err)
|
||||||
@@ -1002,7 +1004,7 @@ func addTenantZone(ctx context.Context, operatorClient OperatorClient, params ad
|
|||||||
}
|
}
|
||||||
|
|
||||||
zoneParams := params.Body
|
zoneParams := params.Body
|
||||||
zone, err := parseTenantZoneRequest(zoneParams)
|
zone, err := parseTenantZoneRequest(zoneParams, tenant.ObjectMeta.Annotations)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@@ -1101,7 +1103,7 @@ func getTenantUsageResponse(session *models.Principal, params admin_api.GetTenan
|
|||||||
|
|
||||||
// parseTenantZoneRequest parse zone request and returns the equivalent
|
// parseTenantZoneRequest parse zone request and returns the equivalent
|
||||||
// operator.Zone object
|
// operator.Zone object
|
||||||
func parseTenantZoneRequest(zoneParams *models.Zone) (*operator.Zone, error) {
|
func parseTenantZoneRequest(zoneParams *models.Zone, annotations map[string]string) (*operator.Zone, error) {
|
||||||
if zoneParams.VolumeConfiguration == nil {
|
if zoneParams.VolumeConfiguration == nil {
|
||||||
return nil, errors.New("a volume configuration must be specified")
|
return nil, errors.New("a volume configuration must be specified")
|
||||||
}
|
}
|
||||||
@@ -1241,16 +1243,22 @@ func parseTenantZoneRequest(zoneParams *models.Zone) (*operator.Zone, error) {
|
|||||||
tolerations = append(tolerations, toleration)
|
tolerations = append(tolerations, toleration)
|
||||||
}
|
}
|
||||||
|
|
||||||
zone := &operator.Zone{
|
// Pass annotations to the volume
|
||||||
Name: zoneParams.Name,
|
vct := &corev1.PersistentVolumeClaim{
|
||||||
Servers: int32(*zoneParams.Servers),
|
|
||||||
VolumesPerServer: *zoneParams.VolumesPerServer,
|
|
||||||
VolumeClaimTemplate: &corev1.PersistentVolumeClaim{
|
|
||||||
ObjectMeta: metav1.ObjectMeta{
|
ObjectMeta: metav1.ObjectMeta{
|
||||||
Name: "data",
|
Name: "data",
|
||||||
},
|
},
|
||||||
Spec: volTemp,
|
Spec: volTemp,
|
||||||
},
|
}
|
||||||
|
if len(annotations) > 0 {
|
||||||
|
vct.ObjectMeta.Annotations = annotations
|
||||||
|
}
|
||||||
|
|
||||||
|
zone := &operator.Zone{
|
||||||
|
Name: zoneParams.Name,
|
||||||
|
Servers: int32(*zoneParams.Servers),
|
||||||
|
VolumesPerServer: *zoneParams.VolumesPerServer,
|
||||||
|
VolumeClaimTemplate: vct,
|
||||||
Resources: corev1.ResourceRequirements{
|
Resources: corev1.ResourceRequirements{
|
||||||
Requests: resourcesRequests,
|
Requests: resourcesRequests,
|
||||||
Limits: resourcesLimits,
|
Limits: resourcesLimits,
|
||||||
|
|||||||
Reference in New Issue
Block a user