Feature/update to csi 1.0 (#9)

* updated all image to v1.0.1 csi

* Updated golang code to csi 1.0 compatible names

* added comment
This commit is contained in:
Lennard 2019-02-28 19:34:03 +01:00 committed by Cyrill Troxler
parent 58912e4734
commit 83723f4be0
8 changed files with 143 additions and 46 deletions

130
Gopkg.lock generated
View file

@ -2,12 +2,15 @@
[[projects]]
digest = "1:e92f5581902c345eb4ceffdcd4a854fb8f73cf436d47d837d1ec98ef1fe0a214"
name = "github.com/StackExchange/wmi"
packages = ["."]
pruneopts = "UT"
revision = "5d049714c4a64225c3c79a7cf7d02f7fb5b96338"
version = "1.0.0"
[[projects]]
digest = "1:df533a8f9784468359b906351182dd8885c2822bc611fa6781df0a9b9fbee252"
name = "github.com/aws/aws-sdk-go"
packages = [
"aws",
@ -40,59 +43,74 @@
"private/protocol/restxml",
"private/protocol/xml/xmlutil",
"service/s3",
"service/sts"
"service/sts",
]
pruneopts = "UT"
revision = "94b80148ea4b1b136682116294b151766a3b85c2"
version = "v1.14.27"
[[projects]]
digest = "1:94ffc0947c337d618b6ff5ed9abaddc1217b090c1b3a1ae4739b35b7b25851d5"
name = "github.com/container-storage-interface/spec"
packages = ["lib/go/csi/v0"]
revision = "2178fdeea87f1150a17a63252eee28d4d8141f72"
version = "v0.3.0"
packages = ["lib/go/csi"]
pruneopts = "UT"
revision = "ed0bb0e1557548aa028307f48728767cfe8f6345"
version = "v1.0.0"
[[projects]]
branch = "master"
digest = "1:6f9339c912bbdda81302633ad7e99a28dfa5a639c864061f1929510a9a64aa74"
name = "github.com/dustin/go-humanize"
packages = ["."]
pruneopts = "UT"
revision = "9f541cc9db5d55bce703bd99987c9d5cb8eea45e"
[[projects]]
digest = "1:fe8a03a8222d5b913f256972933d26d24ad7c8286692a42943bc01633cc8fce3"
name = "github.com/go-ini/ini"
packages = ["."]
pruneopts = "UT"
revision = "358ee7663966325963d4e8b2e1fbd570c5195153"
version = "v1.38.1"
[[projects]]
digest = "1:64a5a67c69b70c2420e607a8545d674a23778ed9c3e80607bfd17b77c6c87f6a"
name = "github.com/go-ole/go-ole"
packages = [
".",
"oleutil"
"oleutil",
]
pruneopts = "UT"
revision = "a41e3c4b706f6ae8dfbff342b06e40fa4d2d0506"
version = "v1.2.1"
[[projects]]
branch = "master"
digest = "1:1ba1d79f2810270045c328ae5d674321db34e3aae468eb4233883b473c5c0467"
name = "github.com/golang/glog"
packages = ["."]
pruneopts = "UT"
revision = "23def4e6c14b4da8ac2ed8007337bc5eb5007998"
[[projects]]
digest = "1:35676c12b04030d448744065729d65e6f1d159447cf4d993e80cc7d4f28bfe20"
name = "github.com/golang/protobuf"
packages = [
"proto",
"protoc-gen-go/descriptor",
"ptypes",
"ptypes/any",
"ptypes/duration",
"ptypes/timestamp",
"ptypes/wrappers"
"ptypes/wrappers",
]
pruneopts = "UT"
revision = "b4deda0973fb4c70b50d226b1af49f3da59f5265"
version = "v1.1.0"
[[projects]]
branch = "master"
digest = "1:c19183ee1bc01433c61d026972e83a479816ffb00f29c8d7605b0668d4bdea8c"
name = "github.com/jacobsa/fuse"
packages = [
".",
@ -100,46 +118,58 @@
"fuseutil",
"internal/buffer",
"internal/freelist",
"internal/fusekernel"
"internal/fusekernel",
]
pruneopts = "UT"
revision = "cd3959611bcb6bb23d49f1598d98f2bf44476805"
[[projects]]
branch = "master"
digest = "1:5c3444689562053b027ef3b96372e306adbe0d7d109b6cdd48d01eb80f8bab14"
name = "github.com/jinzhu/copier"
packages = ["."]
pruneopts = "UT"
revision = "7e38e58719c33e0d44d585c4ab477a30f8cb82dd"
[[projects]]
digest = "1:e22af8c7518e1eab6f2eab2b7d7558927f816262586cd6ed9f349c97a6c285c4"
name = "github.com/jmespath/go-jmespath"
packages = ["."]
pruneopts = "UT"
revision = "0b12d6b5"
[[projects]]
digest = "1:9aa9ceb463bf7fe3de4945f89f8190d3ed4c86847ec7a864b90a5195fdba4244"
name = "github.com/kahing/goofys"
packages = [
"api",
"internal"
"internal",
]
pruneopts = "UT"
revision = "943e017724ea820eb4185419ef3c41d6f921a324"
version = "v0.19.0"
[[projects]]
digest = "1:c9ba37d3709f57185b60f587a6282378feaff2aa3cddc28a56770704e3f96b98"
name = "github.com/kubernetes-csi/csi-test"
packages = [
"pkg/sanity",
"utils"
"utils",
]
revision = "718c9544f5e16cba31881333e0f9dff371663dea"
version = "v0.3.0-1"
pruneopts = "UT"
revision = "5b1e3786b7c8f7ca514b40e882a0b5dc36e4c842"
version = "v1.1.0"
[[projects]]
branch = "master"
digest = "1:596505ce72821ef663980f7ce826984a30da406f9356a92c10ac8b44012d549c"
name = "github.com/kubernetes-csi/drivers"
packages = ["pkg/csi-common"]
revision = "d8f283cd941f1e24e20e62653476a3722633f43e"
pruneopts = "UT"
revision = "c1e71bdcce6e89c8e4ce49f77ecb5e0a1962c716"
[[projects]]
digest = "1:95c73c666919be2843b955eafc83f58c136312b74f79c703152f4c4a95fd64dc"
name = "github.com/minio/minio-go"
packages = [
".",
@ -147,24 +177,30 @@
"pkg/encrypt",
"pkg/s3signer",
"pkg/s3utils",
"pkg/set"
"pkg/set",
]
pruneopts = "UT"
revision = "70799fe8dae6ecfb6c7d7e9e048fce27f23a1992"
version = "v6.0.5"
[[projects]]
branch = "master"
digest = "1:8eb17c2ec4df79193ae65b621cd1c0c4697db3bc317fe6afdc76d7f2746abd05"
name = "github.com/mitchellh/go-homedir"
packages = ["."]
pruneopts = "UT"
revision = "3864e76763d94a6df2f9960b16a20a33da9f9a66"
[[projects]]
branch = "master"
digest = "1:d0c95a34e79df79eb96ca870d6b6fc43361d34c9c05495f93a5ad0077f7bbb24"
name = "github.com/mitchellh/go-ps"
packages = ["."]
pruneopts = "UT"
revision = "4fdf99ab29366514c69ccccddab5dc58b8d84062"
[[projects]]
digest = "1:72f35d3e412bc67b121e15ea4c88a3b3da8bcbc2264339e7ffa4a1865799840c"
name = "github.com/onsi/ginkgo"
packages = [
".",
@ -184,12 +220,14 @@
"reporters/stenographer",
"reporters/stenographer/support/go-colorable",
"reporters/stenographer/support/go-isatty",
"types"
"types",
]
pruneopts = "UT"
revision = "fa5fabab2a1bfbd924faf4c067d07ae414e2aedf"
version = "v1.5.0"
[[projects]]
digest = "1:d0c2c4e2d0006cd28c220a549cda1de8e67abc65ed4c572421492bbf0492ceaf"
name = "github.com/onsi/gomega"
packages = [
".",
@ -203,47 +241,57 @@
"matchers/support/goraph/edge",
"matchers/support/goraph/node",
"matchers/support/goraph/util",
"types"
"types",
]
pruneopts = "UT"
revision = "62bff4df71bdbc266561a0caee19f0594b17c240"
version = "v1.4.0"
[[projects]]
digest = "1:bc2cfc85e2d84e825de87a09c8b05c2bcac704b7169c8b05004c382d993775e0"
name = "github.com/shirou/gopsutil"
packages = [
"internal/common",
"mem"
"mem",
]
pruneopts = "UT"
revision = "4a180b209f5f494e5923cfce81ea30ba23915877"
version = "v2.18.06"
[[projects]]
digest = "1:c3addbf9fe72664f65b519d0d629fc59e63d3112f927375a30b12ab8bb047ae8"
name = "github.com/sirupsen/logrus"
packages = [
".",
"hooks/syslog"
"hooks/syslog",
]
pruneopts = "UT"
revision = "c155da19408a8799da419ed3eeb0cb5db0ad5dbc"
version = "v1.0.5"
[[projects]]
digest = "1:b24d38b282bacf9791408a080f606370efa3d364e4b5fd9ba0f7b87786d3b679"
name = "github.com/urfave/cli"
packages = ["."]
pruneopts = "UT"
revision = "cfb38830724cc34fedffe9a2a29fb54fa9169cd1"
version = "v1.20.0"
[[projects]]
branch = "master"
digest = "1:57fc8065a25e45bda6925e55b69a8ea2eb2e449d0bb69643346e70afd2f7d2ed"
name = "golang.org/x/crypto"
packages = [
"argon2",
"blake2b",
"ssh/terminal"
"ssh/terminal",
]
pruneopts = "UT"
revision = "a49355c7e3f8fe157a85be2f77e6e269a0f89602"
[[projects]]
branch = "master"
digest = "1:381804744ed1ae8c716cc963a95f242d804fe1f559f2c4cdfc94e4eccd478058"
name = "golang.org/x/net"
packages = [
"context",
@ -255,21 +303,25 @@
"http2/hpack",
"idna",
"internal/timeseries",
"trace"
"trace",
]
pruneopts = "UT"
revision = "d0887baf81f4598189d4e12a37c6da86f0bba4d0"
[[projects]]
branch = "master"
digest = "1:1da9d2022068957b5a7080b0f94d3d81bdba624a5ce7467912bd6d4330ba2c3f"
name = "golang.org/x/sys"
packages = [
"cpu",
"unix",
"windows"
"windows",
]
pruneopts = "UT"
revision = "ac767d655b305d4e9612f5f6e33120b9176c4ad4"
[[projects]]
digest = "1:436b24586f8fee329e0dd65fd67c817681420cda1d7f934345c13fe78c212a73"
name = "golang.org/x/text"
packages = [
"collate",
@ -297,18 +349,22 @@
"unicode/bidi",
"unicode/cldr",
"unicode/norm",
"unicode/rangetable"
"unicode/rangetable",
]
pruneopts = "UT"
revision = "f21a4dfb5e38f5895301dc265a8def02365cc3d0"
version = "v0.3.0"
[[projects]]
branch = "master"
digest = "1:601e63e7d4577f907118bec825902505291918859d223bce015539e79f1160e3"
name = "google.golang.org/genproto"
packages = ["googleapis/rpc/status"]
pruneopts = "UT"
revision = "2731d4fa720b67f9fe38e9051a2a9b38e4609260"
[[projects]]
digest = "1:2dab32a43451e320e49608ff4542fdfc653c95dcc35d0065ec9c6c3dd540ed74"
name = "google.golang.org/grpc"
packages = [
".",
@ -335,49 +391,75 @@
"stats",
"status",
"tap",
"transport"
"transport",
]
pruneopts = "UT"
revision = "168a6198bcb0ef175f7dacec0b8691fc141dc9b8"
version = "v1.13.0"
[[projects]]
digest = "1:fe8a03a8222d5b913f256972933d26d24ad7c8286692a42943bc01633cc8fce3"
name = "gopkg.in/ini.v1"
packages = ["."]
pruneopts = "UT"
revision = "358ee7663966325963d4e8b2e1fbd570c5195153"
version = "v1.38.1"
[[projects]]
digest = "1:342378ac4dcb378a5448dd723f0784ae519383532f5e70ade24132c4c8693202"
name = "gopkg.in/yaml.v2"
packages = ["."]
pruneopts = "UT"
revision = "5420a8b6744d3b0345ab293f6fcba19c978f1183"
version = "v2.2.1"
[[projects]]
branch = "master"
digest = "1:f5fb6c4c9e14909a66efe7d3e49403234cd52523eb3997c5753a880635e8be2d"
name = "k8s.io/apimachinery"
packages = ["pkg/util/sets"]
pruneopts = "UT"
revision = "705cfa51a97f837a6599d463e2e206ad65903b60"
[[projects]]
digest = "1:a52efec378f1475a8ba2e034416b0fcc9de22ab6e0f8890f8af2820118d8d4a7"
name = "k8s.io/kubernetes"
packages = [
"pkg/util/file",
"pkg/util/io",
"pkg/util/mount",
"pkg/util/nsenter"
"pkg/util/nsenter",
]
pruneopts = "UT"
revision = "91e7b4fd31fcd3d5f436da26c980becec37ceefe"
version = "v1.11.0"
[[projects]]
branch = "master"
digest = "1:867d98a27033c52150eb4c01ca0f9be938d3010e9a4909ea3a881a83c3ac1b3f"
name = "k8s.io/utils"
packages = ["exec"]
pruneopts = "UT"
revision = "ab9069044f32ba0c6da081bb46bb0b12e3862c21"
[solve-meta]
analyzer-name = "dep"
analyzer-version = 1
inputs-digest = "a655e5231fe7b5c962579c8f032338c53177a95a3160bef4628f0761f714f730"
input-imports = [
"github.com/container-storage-interface/spec/lib/go/csi",
"github.com/golang/glog",
"github.com/kahing/goofys/api",
"github.com/kubernetes-csi/csi-test/pkg/sanity",
"github.com/kubernetes-csi/drivers/pkg/csi-common",
"github.com/minio/minio-go",
"github.com/mitchellh/go-ps",
"github.com/onsi/ginkgo",
"github.com/onsi/gomega",
"golang.org/x/net/context",
"google.golang.org/grpc/codes",
"google.golang.org/grpc/status",
"gopkg.in/ini.v1",
"k8s.io/kubernetes/pkg/util/mount",
]
solver-name = "gps-cdcl"
solver-version = 1

View file

@ -1,6 +1,6 @@
[[constraint]]
name = "github.com/container-storage-interface/spec"
version = "0.3.0"
version = "1.0.0"
[[constraint]]
branch = "master"
@ -12,7 +12,7 @@
[[constraint]]
name = "github.com/kubernetes-csi/csi-test"
version = "v0.3.0-1"
version = "v1.0.2"
[[constraint]]
branch = "master"

View file

@ -32,7 +32,7 @@ metadata:
subjects:
- kind: ServiceAccount
name: csi-attacher-sa
namespace: default
namespace: kube-system
roleRef:
kind: ClusterRole
name: external-attacher-runner
@ -67,7 +67,7 @@ spec:
serviceAccount: csi-attacher-sa
containers:
- name: csi-attacher
image: quay.io/k8scsi/csi-attacher:v0.2.0
image: quay.io/k8scsi/csi-attacher:v1.0.1
args:
- "--v=4"
- "--csi-address=$(ADDRESS)"

View file

@ -32,7 +32,7 @@ metadata:
subjects:
- kind: ServiceAccount
name: csi-s3
namespace: default
namespace: kube-system
roleRef:
kind: ClusterRole
name: csi-s3
@ -55,13 +55,16 @@ spec:
hostNetwork: true
containers:
- name: driver-registrar
image: quay.io/k8scsi/driver-registrar:v0.2.0
image: quay.io/k8scsi/csi-node-driver-registrar:v1.0.1
args:
- "--kubelet-registration-path=$(DRIVER_REG_SOCK_PATH)"
- "--v=4"
- "--csi-address=$(ADDRESS)"
env:
- name: ADDRESS
value: /csi/csi.sock
- name: DRIVER_REG_SOCK_PATH
value: /var/lib/kubelet/plugins/ch.ctrox.csi.s3-driver/csi.sock
- name: KUBE_NODE_NAME
valueFrom:
fieldRef:
@ -69,6 +72,8 @@ spec:
volumeMounts:
- name: plugin-dir
mountPath: /csi
- name: registration-dir
mountPath: /registration/
- name: csi-s3
securityContext:
privileged: true
@ -127,6 +132,10 @@ spec:
- name: fuse-device
mountPath: /dev/fuse
volumes:
- name: registration-dir
hostPath:
path: /var/lib/kubelet/plugins_registry/
type: DirectoryOrCreate
- name: plugin-dir
hostPath:
path: /var/lib/kubelet/plugins/ch.ctrox.csi.s3-driver

View file

@ -32,7 +32,7 @@ metadata:
subjects:
- kind: ServiceAccount
name: csi-provisioner-sa
namespace: default
namespace: kube-system
roleRef:
kind: ClusterRole
name: external-provisioner-runner
@ -66,7 +66,7 @@ spec:
serviceAccount: csi-provisioner-sa
containers:
- name: csi-provisioner
image: quay.io/k8scsi/csi-provisioner:v0.2.0
image: quay.io/k8scsi/csi-provisioner:v1.0.1
args:
- "--provisioner=ch.ctrox.csi.s3-driver"
- "--csi-address=$(ADDRESS)"

View file

@ -28,7 +28,7 @@ import (
"google.golang.org/grpc/codes"
"google.golang.org/grpc/status"
"github.com/container-storage-interface/spec/lib/go/csi/v0"
"github.com/container-storage-interface/spec/lib/go/csi"
"github.com/kubernetes-csi/drivers/pkg/csi-common"
)
@ -97,9 +97,9 @@ func (cs *controllerServer) CreateVolume(ctx context.Context, req *csi.CreateVol
s3Vol.VolID = volumeID
return &csi.CreateVolumeResponse{
Volume: &csi.Volume{
Id: volumeID,
VolumeId: volumeID,
CapacityBytes: capacityBytes,
Attributes: req.GetParameters(),
VolumeContext: req.GetParameters(),
},
}, nil
}
@ -153,12 +153,17 @@ func (cs *controllerServer) ValidateVolumeCapabilities(ctx context.Context, req
return nil, status.Error(codes.NotFound, fmt.Sprintf("Volume with id %s does not exist", req.GetVolumeId()))
}
for _, cap := range req.VolumeCapabilities {
if cap.GetAccessMode().GetMode() != csi.VolumeCapability_AccessMode_SINGLE_NODE_WRITER {
return &csi.ValidateVolumeCapabilitiesResponse{Supported: false, Message: ""}, nil
}
}
return &csi.ValidateVolumeCapabilitiesResponse{Supported: true, Message: ""}, nil
// TODO: checkout if this code is still needed?
//for _, cap := range req.VolumeCapabilities {
// if cap.GetAccessMode().GetMode() != csi.VolumeCapability_AccessMode_SINGLE_NODE_WRITER {
// return &csi.ValidateVolumeCapabilitiesResponse{Confirmed: false, Message: ""}, nil
// }
//}
return &csi.ValidateVolumeCapabilitiesResponse{Confirmed: &csi.ValidateVolumeCapabilitiesResponse_Confirmed{
VolumeContext: req.GetVolumeContext(),
VolumeCapabilities: req.GetVolumeCapabilities(),
Parameters: req.GetParameters(),
}, Message: ""}, nil
}
func sanitizeVolumeID(volumeID string) string {

View file

@ -22,7 +22,7 @@ import (
"github.com/golang/glog"
"golang.org/x/net/context"
"github.com/container-storage-interface/spec/lib/go/csi/v0"
"github.com/container-storage-interface/spec/lib/go/csi"
"google.golang.org/grpc/codes"
"google.golang.org/grpc/status"
"k8s.io/kubernetes/pkg/util/mount"
@ -63,13 +63,14 @@ func (ns *nodeServer) NodePublishVolume(ctx context.Context, req *csi.NodePublis
}
deviceID := ""
if req.GetPublishInfo() != nil {
deviceID = req.GetPublishInfo()[deviceID]
if req.GetPublishContext() != nil {
deviceID = req.GetPublishContext()[deviceID]
}
// TODO: Implement readOnly & mountFlags
readOnly := req.GetReadonly()
attrib := req.GetVolumeAttributes()
// TODO: check if attrib is correct with context.
attrib := req.GetVolumeContext()
mountFlags := req.GetVolumeCapability().GetMount().GetMountFlags()
glog.V(4).Infof("target %v\ndevice %v\nreadonly %v\nvolumeId %v\nattributes %v\nmountflags %v\n",

View file

@ -17,7 +17,7 @@ limitations under the License.
package s3
import (
"github.com/container-storage-interface/spec/lib/go/csi/v0"
"github.com/container-storage-interface/spec/lib/go/csi"
"github.com/golang/glog"
"github.com/kubernetes-csi/drivers/pkg/csi-common"