mirror of
https://github.com/ceph/ceph-csi.git
synced 2025-06-14 02:43:36 +00:00
vendor updates
This commit is contained in:
3
vendor/k8s.io/kubernetes/pkg/volume/configmap/BUILD
generated
vendored
3
vendor/k8s.io/kubernetes/pkg/volume/configmap/BUILD
generated
vendored
@ -30,8 +30,7 @@ go_library(
|
||||
go_test(
|
||||
name = "go_default_test",
|
||||
srcs = ["configmap_test.go"],
|
||||
importpath = "k8s.io/kubernetes/pkg/volume/configmap",
|
||||
library = ":go_default_library",
|
||||
embed = [":go_default_library"],
|
||||
deps = [
|
||||
"//pkg/volume:go_default_library",
|
||||
"//pkg/volume/empty_dir:go_default_library",
|
||||
|
25
vendor/k8s.io/kubernetes/pkg/volume/configmap/configmap.go
generated
vendored
25
vendor/k8s.io/kubernetes/pkg/volume/configmap/configmap.go
generated
vendored
@ -194,6 +194,9 @@ func (b *configMapVolumeMounter) SetUpAt(dir string, fsGroup *int64) error {
|
||||
if err := wrapped.SetUpAt(dir, fsGroup); err != nil {
|
||||
return err
|
||||
}
|
||||
if err := volumeutil.MakeNestedMountpoints(b.volName, dir, b.pod); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
optional := b.source.Optional != nil && *b.source.Optional
|
||||
configMap, err := b.getConfigMap(b.pod.Namespace, b.source.Name)
|
||||
@ -214,7 +217,7 @@ func (b *configMapVolumeMounter) SetUpAt(dir string, fsGroup *int64) error {
|
||||
glog.V(3).Infof("Received configMap %v/%v containing (%v) pieces of data, %v total bytes",
|
||||
b.pod.Namespace,
|
||||
b.source.Name,
|
||||
len(configMap.Data),
|
||||
len(configMap.Data)+len(configMap.BinaryData),
|
||||
totalBytes)
|
||||
|
||||
payload, err := MakePayload(b.source.Items, configMap, b.source.DefaultMode, optional)
|
||||
@ -250,7 +253,7 @@ func MakePayload(mappings []v1.KeyToPath, configMap *v1.ConfigMap, defaultMode *
|
||||
return nil, fmt.Errorf("No defaultMode used, not even the default value for it")
|
||||
}
|
||||
|
||||
payload := make(map[string]volumeutil.FileProjection, len(configMap.Data))
|
||||
payload := make(map[string]volumeutil.FileProjection, (len(configMap.Data) + len(configMap.BinaryData)))
|
||||
var fileProjection volumeutil.FileProjection
|
||||
|
||||
if len(mappings) == 0 {
|
||||
@ -259,17 +262,24 @@ func MakePayload(mappings []v1.KeyToPath, configMap *v1.ConfigMap, defaultMode *
|
||||
fileProjection.Mode = *defaultMode
|
||||
payload[name] = fileProjection
|
||||
}
|
||||
for name, data := range configMap.BinaryData {
|
||||
fileProjection.Data = data
|
||||
fileProjection.Mode = *defaultMode
|
||||
payload[name] = fileProjection
|
||||
}
|
||||
} else {
|
||||
for _, ktp := range mappings {
|
||||
content, ok := configMap.Data[ktp.Key]
|
||||
if !ok {
|
||||
if stringData, ok := configMap.Data[ktp.Key]; ok {
|
||||
fileProjection.Data = []byte(stringData)
|
||||
} else if binaryData, ok := configMap.BinaryData[ktp.Key]; ok {
|
||||
fileProjection.Data = binaryData
|
||||
} else {
|
||||
if optional {
|
||||
continue
|
||||
}
|
||||
return nil, fmt.Errorf("configmap references non-existent config key: %s", ktp.Key)
|
||||
}
|
||||
|
||||
fileProjection.Data = []byte(content)
|
||||
if ktp.Mode != nil {
|
||||
fileProjection.Mode = *ktp.Mode
|
||||
} else {
|
||||
@ -287,6 +297,9 @@ func totalBytes(configMap *v1.ConfigMap) int {
|
||||
for _, value := range configMap.Data {
|
||||
totalSize += len(value)
|
||||
}
|
||||
for _, value := range configMap.BinaryData {
|
||||
totalSize += len(value)
|
||||
}
|
||||
|
||||
return totalSize
|
||||
}
|
||||
@ -303,7 +316,7 @@ func (c *configMapVolumeUnmounter) TearDown() error {
|
||||
}
|
||||
|
||||
func (c *configMapVolumeUnmounter) TearDownAt(dir string) error {
|
||||
return volume.UnmountViaEmptyDir(dir, c.plugin.host, c.volName, wrappedVolumeSpec(), c.podUID)
|
||||
return volumeutil.UnmountViaEmptyDir(dir, c.plugin.host, c.volName, wrappedVolumeSpec(), c.podUID)
|
||||
}
|
||||
|
||||
func getVolumeSource(spec *volume.Spec) (*v1.ConfigMapVolumeSource, bool) {
|
||||
|
56
vendor/k8s.io/kubernetes/pkg/volume/configmap/configmap_test.go
generated
vendored
56
vendor/k8s.io/kubernetes/pkg/volume/configmap/configmap_test.go
generated
vendored
@ -62,6 +62,38 @@ func TestMakePayload(t *testing.T) {
|
||||
},
|
||||
success: true,
|
||||
},
|
||||
{
|
||||
name: "no overrides binary data",
|
||||
configMap: &v1.ConfigMap{
|
||||
BinaryData: map[string][]byte{
|
||||
"foo": []byte("foo"),
|
||||
"bar": []byte("bar"),
|
||||
},
|
||||
},
|
||||
mode: 0644,
|
||||
payload: map[string]util.FileProjection{
|
||||
"foo": {Data: []byte("foo"), Mode: 0644},
|
||||
"bar": {Data: []byte("bar"), Mode: 0644},
|
||||
},
|
||||
success: true,
|
||||
},
|
||||
{
|
||||
name: "no overrides mixed data",
|
||||
configMap: &v1.ConfigMap{
|
||||
BinaryData: map[string][]byte{
|
||||
"foo": []byte("foo"),
|
||||
},
|
||||
Data: map[string]string{
|
||||
"bar": "bar",
|
||||
},
|
||||
},
|
||||
mode: 0644,
|
||||
payload: map[string]util.FileProjection{
|
||||
"foo": {Data: []byte("foo"), Mode: 0644},
|
||||
"bar": {Data: []byte("bar"), Mode: 0644},
|
||||
},
|
||||
success: true,
|
||||
},
|
||||
{
|
||||
name: "basic 1",
|
||||
mappings: []v1.KeyToPath{
|
||||
@ -466,13 +498,35 @@ func TestPluginOptional(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
datadirSymlink := path.Join(volumePath, "..data")
|
||||
datadir, err := os.Readlink(datadirSymlink)
|
||||
if err != nil && os.IsNotExist(err) {
|
||||
t.Fatalf("couldn't find volume path's data dir, %s", datadirSymlink)
|
||||
} else if err != nil {
|
||||
t.Fatalf("couldn't read symlink, %s", datadirSymlink)
|
||||
}
|
||||
datadirPath := path.Join(volumePath, datadir)
|
||||
|
||||
infos, err := ioutil.ReadDir(volumePath)
|
||||
if err != nil {
|
||||
t.Fatalf("couldn't find volume path, %s", volumePath)
|
||||
}
|
||||
if len(infos) != 0 {
|
||||
t.Errorf("empty directory, %s, not found", volumePath)
|
||||
for _, fi := range infos {
|
||||
if fi.Name() != "..data" && fi.Name() != datadir {
|
||||
t.Errorf("empty data directory, %s, is not empty. Contains: %s", datadirSymlink, fi.Name())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
infos, err = ioutil.ReadDir(datadirPath)
|
||||
if err != nil {
|
||||
t.Fatalf("couldn't find volume data path, %s", datadirPath)
|
||||
}
|
||||
if len(infos) != 0 {
|
||||
t.Errorf("empty data directory, %s, is not empty. Contains: %s", datadirSymlink, infos[0].Name())
|
||||
}
|
||||
|
||||
doTestCleanAndTeardown(plugin, testPodUID, testVolumeName, volumePath, t)
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user