mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-02 08:17:26 +00:00
flexvol: remove a mount directory in a error case
flexVolumeMounter.SetUpAt creates a directory, where a volume has to be mounted, and we have to remove this directory in error cases. Otherwise we will see errors like this: Orphaned pod 673b66d9-70f7-11e7-a5fa-525400307392 found, but volume paths are still present on disk https://github.com/kubernetes/kubernetes/issues/49383 Signed-off-by: Andrei Vagin <avagin@virtuozzo.com>
This commit is contained in:
parent
12cc64252d
commit
ad0ec2388f
@ -17,6 +17,7 @@ limitations under the License.
|
|||||||
package flexvolume
|
package flexvolume
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"os"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
"k8s.io/kubernetes/pkg/util/mount"
|
"k8s.io/kubernetes/pkg/util/mount"
|
||||||
@ -74,6 +75,7 @@ func (f *flexVolumeMounter) SetUpAt(dir string, fsGroup *int64) error {
|
|||||||
|
|
||||||
// Extract secret and pass it as options.
|
// Extract secret and pass it as options.
|
||||||
if err := addSecretsToOptions(extraOptions, f.spec, f.podNamespace, f.driverName, f.plugin.host); err != nil {
|
if err := addSecretsToOptions(extraOptions, f.spec, f.podNamespace, f.driverName, f.plugin.host); err != nil {
|
||||||
|
os.Remove(dir)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -90,6 +92,7 @@ func (f *flexVolumeMounter) SetUpAt(dir string, fsGroup *int64) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
os.Remove(dir)
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user