in plugins/rbd.go [71:118]
func (p rbdCSITranslator) TranslateInTreeStorageClassToCSI(sc *storagev1.StorageClass) (*storagev1.StorageClass, error) {
if sc == nil {
return nil, fmt.Errorf("sc is nil")
}
var params = map[string]string{}
fillDefaultSCParams(params)
for k, v := range sc.Parameters {
switch strings.ToLower(k) {
case fsTypeKey:
params[csiFsTypeKey] = v
case "imagefeatures":
params[imgFeatureKey] = v
case poolKey:
params[poolKey] = v
case "imageformat":
params[imgFmtKey] = v
case "adminid":
params[adminIDKey] = v
case "adminsecretname":
params[provSecretNameKey] = v
params[nodeStageSecretNameKey] = v
params[cntrlExpandSecretNameKey] = v
case "adminsecretnamespace":
params[provSecretNamespaceKey] = v
params[nodeStageSecretNamespaceKey] = v
params[cntrlExpandSecretNamespaceKey] = v
case monsKey:
arr := strings.Split(v, ",")
if len(arr) < 1 {
return nil, fmt.Errorf("missing Ceph monitors")
}
params[monsKey] = v
params[clusterIDKey] = fmt.Sprintf("%x", md5.Sum([]byte(v)))
}
}
if params[provSecretNameKey] == "" {
return nil, fmt.Errorf("missing Ceph admin secret name")
}
if params[monsKey] == "" {
return nil, fmt.Errorf("missing Ceph monitors")
}
sc.Provisioner = RBDDriverName
sc.Parameters = params
return sc, nil
}