Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
K
k3s
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Jacklull
k3s
Commits
8cec46e8
Commit
8cec46e8
authored
Dec 29, 2016
by
rkouj
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Check if pathExists before performing Unmount
parent
c7063fd6
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
34 additions
and
32 deletions
+34
-32
configmap.go
pkg/volume/configmap/configmap.go
+1
-8
downwardapi.go
pkg/volume/downwardapi/downwardapi.go
+1
-8
empty_dir.go
pkg/volume/empty_dir/empty_dir.go
+7
-0
git_repo.go
pkg/volume/git_repo/git_repo.go
+1
-7
secret.go
pkg/volume/secret/secret.go
+1
-8
util.go
pkg/volume/util.go
+22
-0
test_owners.csv
test/test_owners.csv
+1
-1
No files found.
pkg/volume/configmap/configmap.go
View file @
8cec46e8
...
...
@@ -267,14 +267,7 @@ func (c *configMapVolumeUnmounter) TearDown() error {
}
func
(
c
*
configMapVolumeUnmounter
)
TearDownAt
(
dir
string
)
error
{
glog
.
V
(
3
)
.
Infof
(
"Tearing down volume %v for pod %v at %v"
,
c
.
volName
,
c
.
podUID
,
dir
)
// Wrap EmptyDir, let it do the teardown.
wrapped
,
err
:=
c
.
plugin
.
host
.
NewWrapperUnmounter
(
c
.
volName
,
wrappedVolumeSpec
(),
c
.
podUID
)
if
err
!=
nil
{
return
err
}
return
wrapped
.
TearDownAt
(
dir
)
return
volume
.
UnmountViaEmptyDir
(
dir
,
c
.
plugin
.
host
,
c
.
volName
,
wrappedVolumeSpec
(),
c
.
podUID
)
}
func
getVolumeSource
(
spec
*
volume
.
Spec
)
(
*
v1
.
ConfigMapVolumeSource
,
bool
)
{
...
...
pkg/volume/downwardapi/downwardapi.go
View file @
8cec46e8
...
...
@@ -272,14 +272,7 @@ func (c *downwardAPIVolumeUnmounter) TearDown() error {
}
func
(
c
*
downwardAPIVolumeUnmounter
)
TearDownAt
(
dir
string
)
error
{
glog
.
V
(
3
)
.
Infof
(
"Tearing down volume %v for pod %v at %v"
,
c
.
volName
,
c
.
podUID
,
dir
)
// Wrap EmptyDir, let it do the teardown.
wrapped
,
err
:=
c
.
plugin
.
host
.
NewWrapperUnmounter
(
c
.
volName
,
wrappedVolumeSpec
(),
c
.
podUID
)
if
err
!=
nil
{
return
err
}
return
wrapped
.
TearDownAt
(
dir
)
return
volume
.
UnmountViaEmptyDir
(
dir
,
c
.
plugin
.
host
,
c
.
volName
,
wrappedVolumeSpec
(),
c
.
podUID
)
}
func
(
b
*
downwardAPIVolumeMounter
)
getMetaDir
()
string
{
...
...
pkg/volume/empty_dir/empty_dir.go
View file @
8cec46e8
...
...
@@ -299,6 +299,13 @@ func (ed *emptyDir) TearDown() error {
// TearDownAt simply discards everything in the directory.
func
(
ed
*
emptyDir
)
TearDownAt
(
dir
string
)
error
{
if
pathExists
,
pathErr
:=
volumeutil
.
PathExists
(
dir
);
pathErr
!=
nil
{
return
fmt
.
Errorf
(
"Error checking if path exists: %v"
,
pathErr
)
}
else
if
!
pathExists
{
glog
.
Warningf
(
"Warning: Unmount skipped because path does not exist: %v"
,
dir
)
return
nil
}
// Figure out the medium.
medium
,
isMnt
,
err
:=
ed
.
mountDetector
.
GetMountMedium
(
dir
)
if
err
!=
nil
{
...
...
pkg/volume/git_repo/git_repo.go
View file @
8cec46e8
...
...
@@ -254,13 +254,7 @@ func (c *gitRepoVolumeUnmounter) TearDown() error {
// TearDownAt simply deletes everything in the directory.
func
(
c
*
gitRepoVolumeUnmounter
)
TearDownAt
(
dir
string
)
error
{
// Wrap EmptyDir, let it do the teardown.
wrapped
,
err
:=
c
.
plugin
.
host
.
NewWrapperUnmounter
(
c
.
volName
,
wrappedVolumeSpec
(),
c
.
podUID
)
if
err
!=
nil
{
return
err
}
return
wrapped
.
TearDownAt
(
dir
)
return
volume
.
UnmountViaEmptyDir
(
dir
,
c
.
plugin
.
host
,
c
.
volName
,
wrappedVolumeSpec
(),
c
.
podUID
)
}
func
getVolumeSource
(
spec
*
volume
.
Spec
)
(
*
v1
.
GitRepoVolumeSource
,
bool
)
{
...
...
pkg/volume/secret/secret.go
View file @
8cec46e8
...
...
@@ -294,14 +294,7 @@ func (c *secretVolumeUnmounter) TearDown() error {
}
func
(
c
*
secretVolumeUnmounter
)
TearDownAt
(
dir
string
)
error
{
glog
.
V
(
3
)
.
Infof
(
"Tearing down volume %v for pod %v at %v"
,
c
.
volName
,
c
.
podUID
,
dir
)
// Wrap EmptyDir, let it do the teardown.
wrapped
,
err
:=
c
.
plugin
.
host
.
NewWrapperUnmounter
(
c
.
volName
,
wrappedVolumeSpec
(),
c
.
podUID
)
if
err
!=
nil
{
return
err
}
return
wrapped
.
TearDownAt
(
dir
)
return
volume
.
UnmountViaEmptyDir
(
dir
,
c
.
plugin
.
host
,
c
.
volName
,
wrappedVolumeSpec
(),
c
.
podUID
)
}
func
getVolumeSource
(
spec
*
volume
.
Spec
)
(
*
v1
.
SecretVolumeSource
,
bool
)
{
...
...
pkg/volume/util.go
View file @
8cec46e8
...
...
@@ -34,7 +34,9 @@ import (
"github.com/golang/glog"
"k8s.io/kubernetes/pkg/api/errors"
"k8s.io/kubernetes/pkg/api/resource"
"k8s.io/kubernetes/pkg/types"
"k8s.io/kubernetes/pkg/util/sets"
volutil
"k8s.io/kubernetes/pkg/volume/util"
)
type
RecycleEventRecorder
func
(
eventtype
,
message
string
)
...
...
@@ -332,3 +334,23 @@ func ChooseZoneForVolume(zones sets.String, pvcName string) string {
glog
.
V
(
2
)
.
Infof
(
"Creating volume for PVC %q; chose zone=%q from zones=%q"
,
pvcName
,
zone
,
zoneSlice
)
return
zone
}
// UnmountViaEmptyDir delegates the tear down operation for secret, configmap, git_repo and downwardapi
// to empty_dir
func
UnmountViaEmptyDir
(
dir
string
,
host
VolumeHost
,
volName
string
,
volSpec
Spec
,
podUID
types
.
UID
)
error
{
glog
.
V
(
3
)
.
Infof
(
"Tearing down volume %v for pod %v at %v"
,
volName
,
podUID
,
dir
)
if
pathExists
,
pathErr
:=
volutil
.
PathExists
(
dir
);
pathErr
!=
nil
{
return
fmt
.
Errorf
(
"Error checking if path exists: %v"
,
pathErr
)
}
else
if
!
pathExists
{
glog
.
Warningf
(
"Warning: Unmount skipped because path does not exist: %v"
,
dir
)
return
nil
}
// Wrap EmptyDir, let it do the teardown.
wrapped
,
err
:=
host
.
NewWrapperUnmounter
(
volName
,
volSpec
,
podUID
)
if
err
!=
nil
{
return
err
}
return
wrapped
.
TearDownAt
(
dir
)
}
test/test_owners.csv
View file @
8cec46e8
...
...
@@ -194,6 +194,7 @@ Garbage collector should orphan pods created by rc if deleteOptions.OrphanDepend
"Generated release_1_5 clientset should create pods, delete pods, watch pods",rrati,0
"Generated release_1_5 clientset should create v2alpha1 cronJobs, delete cronJobs, watch cronJobs",soltysh,1
HA-master survive addition/removal replicas different zones,derekwaynecarr,0
HA-master survive addition/removal replicas multizone workers,rkouj,0
HA-master survive addition/removal replicas same zone,derekwaynecarr,0
Hazelcast should create and scale hazelcast,mikedanese,1
Horizontal pod autoscaling (scale resource: CPU) Deployment Should scale from 1 pod to 3 pods and from 3 to 5,jszczepkowski,0
...
...
@@ -696,7 +697,6 @@ k8s.io/kubernetes/pkg/kubelet/kuberuntime,yifan-gu,1
k8s.io/kubernetes/pkg/kubelet/lifecycle,yujuhong,1
k8s.io/kubernetes/pkg/kubelet/network,freehan,0
k8s.io/kubernetes/pkg/kubelet/network/cni,freehan,0
k8s.io/kubernetes/pkg/kubelet/network/exec,freehan,0
k8s.io/kubernetes/pkg/kubelet/network/hairpin,freehan,0
k8s.io/kubernetes/pkg/kubelet/network/hostport,erictune,1
k8s.io/kubernetes/pkg/kubelet/network/kubenet,freehan,0
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment