mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-10 20:42:26 +00:00
return error if get NodeStageSecret and NodePublishSecret failed
This commit is contained in:
parent
a7d6340ad2
commit
b9606696c9
@ -318,6 +318,15 @@ func (c *csiAttacher) MountDevice(spec *volume.Spec, devicePath string, deviceMo
|
|||||||
}
|
}
|
||||||
publishVolumeInfo := attachment.Status.AttachmentMetadata
|
publishVolumeInfo := attachment.Status.AttachmentMetadata
|
||||||
|
|
||||||
|
nodeStageSecrets := map[string]string{}
|
||||||
|
if csiSource.NodeStageSecretRef != nil {
|
||||||
|
nodeStageSecrets, err = getCredentialsFromSecret(c.k8s, csiSource.NodeStageSecretRef)
|
||||||
|
if err != nil {
|
||||||
|
return fmt.Errorf("fetching NodeStageSecretRef %s/%s failed: %v",
|
||||||
|
csiSource.NodeStageSecretRef.Namespace, csiSource.NodeStageSecretRef.Name, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// create target_dir before call to NodeStageVolume
|
// create target_dir before call to NodeStageVolume
|
||||||
if err := os.MkdirAll(deviceMountPath, 0750); err != nil {
|
if err := os.MkdirAll(deviceMountPath, 0750); err != nil {
|
||||||
glog.Error(log("attacher.MountDevice failed to create dir %#v: %v", deviceMountPath, err))
|
glog.Error(log("attacher.MountDevice failed to create dir %#v: %v", deviceMountPath, err))
|
||||||
@ -336,11 +345,6 @@ func (c *csiAttacher) MountDevice(spec *volume.Spec, devicePath string, deviceMo
|
|||||||
fsType = defaultFSType
|
fsType = defaultFSType
|
||||||
}
|
}
|
||||||
|
|
||||||
nodeStageSecrets := map[string]string{}
|
|
||||||
if csiSource.NodeStageSecretRef != nil {
|
|
||||||
nodeStageSecrets = getCredentialsFromSecret(c.k8s, csiSource.NodeStageSecretRef)
|
|
||||||
}
|
|
||||||
|
|
||||||
err = csi.NodeStageVolume(ctx,
|
err = csi.NodeStageVolume(ctx,
|
||||||
csiSource.VolumeHandle,
|
csiSource.VolumeHandle,
|
||||||
publishVolumeInfo,
|
publishVolumeInfo,
|
||||||
|
@ -153,6 +153,15 @@ func (c *csiMountMgr) SetUpAt(dir string, fsGroup *int64) error {
|
|||||||
|
|
||||||
attribs := csiSource.VolumeAttributes
|
attribs := csiSource.VolumeAttributes
|
||||||
|
|
||||||
|
nodePublishSecrets := map[string]string{}
|
||||||
|
if csiSource.NodePublishSecretRef != nil {
|
||||||
|
nodePublishSecrets, err = getCredentialsFromSecret(c.k8s, csiSource.NodePublishSecretRef)
|
||||||
|
if err != nil {
|
||||||
|
return fmt.Errorf("fetching NodePublishSecretRef %s/%s failed: %v",
|
||||||
|
csiSource.NodePublishSecretRef.Namespace, csiSource.NodePublishSecretRef.Name, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// create target_dir before call to NodePublish
|
// create target_dir before call to NodePublish
|
||||||
if err := os.MkdirAll(dir, 0750); err != nil {
|
if err := os.MkdirAll(dir, 0750); err != nil {
|
||||||
glog.Error(log("mouter.SetUpAt failed to create dir %#v: %v", dir, err))
|
glog.Error(log("mouter.SetUpAt failed to create dir %#v: %v", dir, err))
|
||||||
@ -188,10 +197,6 @@ func (c *csiMountMgr) SetUpAt(dir string, fsGroup *int64) error {
|
|||||||
if len(fsType) == 0 {
|
if len(fsType) == 0 {
|
||||||
fsType = defaultFSType
|
fsType = defaultFSType
|
||||||
}
|
}
|
||||||
nodePublishSecrets := map[string]string{}
|
|
||||||
if csiSource.NodePublishSecretRef != nil {
|
|
||||||
nodePublishSecrets = getCredentialsFromSecret(c.k8s, csiSource.NodePublishSecretRef)
|
|
||||||
}
|
|
||||||
err = csi.NodePublishVolume(
|
err = csi.NodePublishVolume(
|
||||||
ctx,
|
ctx,
|
||||||
c.volumeID,
|
c.volumeID,
|
||||||
|
@ -23,16 +23,16 @@ import (
|
|||||||
"k8s.io/client-go/kubernetes"
|
"k8s.io/client-go/kubernetes"
|
||||||
)
|
)
|
||||||
|
|
||||||
func getCredentialsFromSecret(k8s kubernetes.Interface, secretRef *api.SecretReference) map[string]string {
|
func getCredentialsFromSecret(k8s kubernetes.Interface, secretRef *api.SecretReference) (map[string]string, error) {
|
||||||
credentials := map[string]string{}
|
credentials := map[string]string{}
|
||||||
secret, err := k8s.CoreV1().Secrets(secretRef.Namespace).Get(secretRef.Name, meta.GetOptions{})
|
secret, err := k8s.CoreV1().Secrets(secretRef.Namespace).Get(secretRef.Name, meta.GetOptions{})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
glog.Warningf("failed to find the secret %s in the namespace %s with error: %v\n", secretRef.Name, secretRef.Namespace, err)
|
glog.Errorf("failed to find the secret %s in the namespace %s with error: %v\n", secretRef.Name, secretRef.Namespace, err)
|
||||||
return credentials
|
return credentials, err
|
||||||
}
|
}
|
||||||
for key, value := range secret.Data {
|
for key, value := range secret.Data {
|
||||||
credentials[key] = string(value)
|
credentials[key] = string(value)
|
||||||
}
|
}
|
||||||
|
|
||||||
return credentials
|
return credentials, nil
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user