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
3baab4dc
Unverified
Commit
3baab4dc
authored
Feb 20, 2019
by
Kubernetes Prow Robot
Committed by
GitHub
Feb 20, 2019
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #73284 from leakingtapan/kubelet-migration-aws-2
Add In-tree to CSI migration logic for Mount and Unmount
parents
61b676aa
6355186c
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
38 additions
and
5 deletions
+38
-5
.import-restrictions
pkg/controller/.import-restrictions
+2
-0
operation_generator.go
pkg/volume/util/operationexecutor/operation_generator.go
+36
-5
No files found.
pkg/controller/.import-restrictions
View file @
3baab4dc
...
@@ -265,6 +265,7 @@
...
@@ -265,6 +265,7 @@
"k8s.io/csi-api/pkg/client/clientset/versioned",
"k8s.io/csi-api/pkg/client/clientset/versioned",
"k8s.io/csi-api/pkg/client/listers/csi/v1alpha1",
"k8s.io/csi-api/pkg/client/listers/csi/v1alpha1",
"k8s.io/csi-api/pkg/client/informers/externalversions",
"k8s.io/csi-api/pkg/client/informers/externalversions",
"k8s.io/csi-api/pkg/client/informers/externalversions/csi/v1alpha1",
"k8s.io/heapster/metrics/api/v1/types",
"k8s.io/heapster/metrics/api/v1/types",
"k8s.io/kube-controller-manager/config/v1alpha1",
"k8s.io/kube-controller-manager/config/v1alpha1",
"k8s.io/metrics/pkg/apis/custom_metrics/v1beta2",
"k8s.io/metrics/pkg/apis/custom_metrics/v1beta2",
...
@@ -291,6 +292,7 @@
...
@@ -291,6 +292,7 @@
"golang.org/x/time/rate",
"golang.org/x/time/rate",
"golang.org/x/sys/unix",
"golang.org/x/sys/unix",
"golang.org/x/oauth2",
"golang.org/x/oauth2",
"golang.org/x/net/context",
"google.golang.org/api/compute/v1",
"google.golang.org/api/compute/v1",
"google.golang.org/api/googleapi",
"google.golang.org/api/googleapi",
"google.golang.org/api/compute/v0.alpha",
"google.golang.org/api/compute/v0.alpha",
...
...
pkg/volume/util/operationexecutor/operation_generator.go
View file @
3baab4dc
...
@@ -514,6 +514,17 @@ func (og *operationGenerator) GenerateMountVolumeFunc(
...
@@ -514,6 +514,17 @@ func (og *operationGenerator) GenerateMountVolumeFunc(
}
}
mountVolumeFunc
:=
func
()
(
error
,
error
)
{
mountVolumeFunc
:=
func
()
(
error
,
error
)
{
originalSpec
:=
volumeToMount
.
VolumeSpec
// Get mounter plugin
if
useCSIPlugin
(
og
.
volumePluginMgr
,
volumeToMount
.
VolumeSpec
)
{
csiSpec
,
err
:=
translateSpec
(
volumeToMount
.
VolumeSpec
)
if
err
!=
nil
{
return
volumeToMount
.
GenerateError
(
"MountVolume.TranslateSpec failed"
,
err
)
}
volumeToMount
.
VolumeSpec
=
csiSpec
}
volumePlugin
,
err
:=
og
.
volumePluginMgr
.
FindPluginBySpec
(
volumeToMount
.
VolumeSpec
)
if
err
!=
nil
||
volumePlugin
==
nil
{
if
err
!=
nil
||
volumePlugin
==
nil
{
return
volumeToMount
.
GenerateError
(
"MountVolume.FindPluginBySpec failed"
,
err
)
return
volumeToMount
.
GenerateError
(
"MountVolume.FindPluginBySpec failed"
,
err
)
}
}
...
@@ -643,7 +654,7 @@ func (og *operationGenerator) GenerateMountVolumeFunc(
...
@@ -643,7 +654,7 @@ func (og *operationGenerator) GenerateMountVolumeFunc(
nil
,
nil
,
volumeToMount
.
OuterVolumeSpecName
,
volumeToMount
.
OuterVolumeSpecName
,
volumeToMount
.
VolumeGidValue
,
volumeToMount
.
VolumeGidValue
,
volumeToMount
.
Volume
Spec
)
original
Spec
)
if
markVolMountedErr
!=
nil
{
if
markVolMountedErr
!=
nil
{
// On failure, return error. Caller will log and retry.
// On failure, return error. Caller will log and retry.
return
volumeToMount
.
GenerateError
(
"MountVolume.MarkVolumeAsMounted failed"
,
markVolMountedErr
)
return
volumeToMount
.
GenerateError
(
"MountVolume.MarkVolumeAsMounted failed"
,
markVolMountedErr
)
...
@@ -719,13 +730,19 @@ func (og *operationGenerator) GenerateUnmountVolumeFunc(
...
@@ -719,13 +730,19 @@ func (og *operationGenerator) GenerateUnmountVolumeFunc(
volumeToUnmount
MountedVolume
,
volumeToUnmount
MountedVolume
,
actualStateOfWorld
ActualStateOfWorldMounterUpdater
,
actualStateOfWorld
ActualStateOfWorldMounterUpdater
,
podsDir
string
)
(
volumetypes
.
GeneratedOperations
,
error
)
{
podsDir
string
)
(
volumetypes
.
GeneratedOperations
,
error
)
{
var
pluginName
string
if
useCSIPlugin
(
og
.
volumePluginMgr
,
volumeToUnmount
.
VolumeSpec
)
{
pluginName
=
csi
.
CSIPluginName
}
else
{
pluginName
=
volumeToUnmount
.
PluginName
}
// Get mountable plugin
// Get mountable plugin
volumePlugin
,
err
:=
volumePlugin
,
err
:=
og
.
volumePluginMgr
.
FindPluginByName
(
pluginName
)
og
.
volumePluginMgr
.
FindPluginByName
(
volumeToUnmount
.
PluginName
)
if
err
!=
nil
||
volumePlugin
==
nil
{
if
err
!=
nil
||
volumePlugin
==
nil
{
return
volumetypes
.
GeneratedOperations
{},
volumeToUnmount
.
GenerateErrorDetailed
(
"UnmountVolume.FindPluginByName failed"
,
err
)
return
volumetypes
.
GeneratedOperations
{},
volumeToUnmount
.
GenerateErrorDetailed
(
"UnmountVolume.FindPluginByName failed"
,
err
)
}
}
volumeUnmounter
,
newUnmounterErr
:=
volumePlugin
.
NewUnmounter
(
volumeUnmounter
,
newUnmounterErr
:=
volumePlugin
.
NewUnmounter
(
volumeToUnmount
.
InnerVolumeSpecName
,
volumeToUnmount
.
PodUID
)
volumeToUnmount
.
InnerVolumeSpecName
,
volumeToUnmount
.
PodUID
)
if
newUnmounterErr
!=
nil
{
if
newUnmounterErr
!=
nil
{
...
@@ -780,12 +797,26 @@ func (og *operationGenerator) GenerateUnmountDeviceFunc(
...
@@ -780,12 +797,26 @@ func (og *operationGenerator) GenerateUnmountDeviceFunc(
deviceToDetach
AttachedVolume
,
deviceToDetach
AttachedVolume
,
actualStateOfWorld
ActualStateOfWorldMounterUpdater
,
actualStateOfWorld
ActualStateOfWorldMounterUpdater
,
mounter
mount
.
Interface
)
(
volumetypes
.
GeneratedOperations
,
error
)
{
mounter
mount
.
Interface
)
(
volumetypes
.
GeneratedOperations
,
error
)
{
var
pluginName
string
if
useCSIPlugin
(
og
.
volumePluginMgr
,
deviceToDetach
.
VolumeSpec
)
{
pluginName
=
csi
.
CSIPluginName
csiSpec
,
err
:=
translateSpec
(
deviceToDetach
.
VolumeSpec
)
if
err
!=
nil
{
return
volumetypes
.
GeneratedOperations
{},
deviceToDetach
.
GenerateErrorDetailed
(
"UnmountDevice.TranslateSpec failed"
,
err
)
}
deviceToDetach
.
VolumeSpec
=
csiSpec
}
else
{
pluginName
=
deviceToDetach
.
PluginName
}
// Get DeviceMounter plugin
// Get DeviceMounter plugin
deviceMountableVolumePlugin
,
err
:=
deviceMountableVolumePlugin
,
err
:=
og
.
volumePluginMgr
.
FindDeviceMountablePluginByName
(
deviceToDetach
.
P
luginName
)
og
.
volumePluginMgr
.
FindDeviceMountablePluginByName
(
p
luginName
)
if
err
!=
nil
||
deviceMountableVolumePlugin
==
nil
{
if
err
!=
nil
||
deviceMountableVolumePlugin
==
nil
{
return
volumetypes
.
GeneratedOperations
{},
deviceToDetach
.
GenerateErrorDetailed
(
"UnmountDevice.FindDeviceMountablePluginByName failed"
,
err
)
return
volumetypes
.
GeneratedOperations
{},
deviceToDetach
.
GenerateErrorDetailed
(
"UnmountDevice.FindDeviceMountablePluginByName failed"
,
err
)
}
}
volumeDeviceUmounter
,
err
:=
deviceMountableVolumePlugin
.
NewDeviceUnmounter
()
volumeDeviceUmounter
,
err
:=
deviceMountableVolumePlugin
.
NewDeviceUnmounter
()
if
err
!=
nil
{
if
err
!=
nil
{
return
volumetypes
.
GeneratedOperations
{},
deviceToDetach
.
GenerateErrorDetailed
(
"UnmountDevice.NewDeviceUmounter failed"
,
err
)
return
volumetypes
.
GeneratedOperations
{},
deviceToDetach
.
GenerateErrorDetailed
(
"UnmountDevice.NewDeviceUmounter failed"
,
err
)
...
...
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