diff --git a/cmd/csi-bizflycloud/main.go b/cmd/csi-bizflycloud/main.go index 5c135c5..82942bb 100644 --- a/cmd/csi-bizflycloud/main.go +++ b/cmd/csi-bizflycloud/main.go @@ -158,8 +158,8 @@ func handle() { klog.Errorf("Failed to get bizfly client token: %v", err) return } - - client.SetKeystoneToken(tok.KeystoneToken) + + client.SetKeystoneToken(tok) d.SetupControlDriver(client, iMount, metadatda) d.Run() } else { diff --git a/driver/client.go b/driver/client.go index a4eccc6..597a380 100644 --- a/driver/client.go +++ b/driver/client.go @@ -130,7 +130,7 @@ func diskIsAttached(ctx context.Context, client *gobizfly.Client, serverId strin } func GetSnapshotByNameAndVolumeID(ctx context.Context, client *gobizfly.Client, volumeId string, name string) ([]*gobizfly.Snapshot, error) { - snapshots, err := client.Snapshot.List(ctx, &gobizfly.ListOptions{}) + snapshots, err := client.Snapshot.List(ctx, &gobizfly.ListSnasphotsOptions{}) if err != nil { return nil, err } diff --git a/driver/controller.go b/driver/controller.go index 9053fd3..1c29bb2 100644 --- a/driver/controller.go +++ b/driver/controller.go @@ -72,7 +72,9 @@ func (cs *controllerServer) CreateVolume(ctx context.Context, req *csi.CreateVol // Volume Availability - Default is nova volAvailability = req.GetParameters()["availability"] } - + volPVCName := req.GetParameters()["csi.storage.k8s.io/pvc/name"] + volPVCNamespace := req.GetParameters()["csi.storage.k8s.io/pvc/namespace"] + Description := volPVCNamespace + "/" + volPVCName + " by csi-bizflycloud" client := cs.Client // Verify a volume with the provided name doesn't already exist for this tenant @@ -106,6 +108,7 @@ func (cs *controllerServer) CreateVolume(ctx context.Context, req *csi.CreateVol AvailabilityZone: volAvailability, SnapshotID: snapshotID, VolumeCategory: volCategory, + Description: Description, } vol, err := cs.Client.Volume.Create(ctx, &vcr) if err != nil { @@ -405,7 +408,7 @@ func (cs *controllerServer) ListSnapshots(ctx context.Context, req *csi.ListSnap return nil, status.Error(codes.Internal, fmt.Sprintf("ListSnapshots get snapshot failed with error %v", err)) } } else { - vlist, err = cs.Client.Snapshot.List(ctx, &gobizfly.ListOptions{}) + vlist, err = cs.Client.Snapshot.List(ctx, &gobizfly.ListSnasphotsOptions{}) if err != nil { klog.V(3).Infof("Failed to ListSnapshots: %v", err) return nil, status.Error(codes.Internal, fmt.Sprintf("ListSnapshots get snapshot failed with error %v", err)) diff --git a/examples/pvc.yml b/examples/pvc.yml index 8c7abbf..840754a 100644 --- a/examples/pvc.yml +++ b/examples/pvc.yml @@ -10,3 +10,4 @@ spec: requests: storage: 50Gi storageClassName: premium-hdd + \ No newline at end of file diff --git a/go.mod b/go.mod index 450742f..f18255d 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module github.com/bizflycloud/csi-bizflycloud go 1.14 require ( - github.com/bizflycloud/gobizfly v0.0.0-20200925081217-c929a1f56559 + github.com/bizflycloud/gobizfly v0.0.0-20210826035312-56219bf93eb1 github.com/container-storage-interface/spec v1.2.0 github.com/golang/protobuf v1.4.1 github.com/spf13/cobra v1.0.0 diff --git a/go.sum b/go.sum index 8bebd94..d18c389 100644 --- a/go.sum +++ b/go.sum @@ -57,16 +57,8 @@ github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= github.com/bifurcation/mint v0.0.0-20180715133206-93c51c6ce115/go.mod h1:zVt7zX3K/aDCk9Tj+VM7YymsX66ERvzCJzw8rFCX2JU= -github.com/bizflycloud/gobizfly v0.0.0-20200509022858-1dd705ff35b3 h1:3195YbHKzPFwKiRPXD75xUu0S3MWiCeSTr7liXqNoc0= -github.com/bizflycloud/gobizfly v0.0.0-20200509022858-1dd705ff35b3/go.mod h1:2otUgZd6PrKezjMrdAw9gy7byEXMrigX9Sm4ujCaFuk= -github.com/bizflycloud/gobizfly v0.0.0-20200514081735-03c430a0585b h1:9DaY0hAkK/PGs12481LXTyFmuGKfkW6u7VPsyRXuPHk= -github.com/bizflycloud/gobizfly v0.0.0-20200514081735-03c430a0585b/go.mod h1:2otUgZd6PrKezjMrdAw9gy7byEXMrigX9Sm4ujCaFuk= -github.com/bizflycloud/gobizfly v0.0.0-20200610135315-1b3e23893213 h1:Ihr811tiEnUKB0QaDJglGI+fCwFrcXy8Q17vpFTEvEc= -github.com/bizflycloud/gobizfly v0.0.0-20200610135315-1b3e23893213/go.mod h1:2otUgZd6PrKezjMrdAw9gy7byEXMrigX9Sm4ujCaFuk= -github.com/bizflycloud/gobizfly v0.0.0-20200824165811-4aad89a434b1 h1:MVd1DoK4jZD1vCSc8h0/ztu9BvLauoMJLo/XyV3AMl8= -github.com/bizflycloud/gobizfly v0.0.0-20200824165811-4aad89a434b1/go.mod h1:2otUgZd6PrKezjMrdAw9gy7byEXMrigX9Sm4ujCaFuk= -github.com/bizflycloud/gobizfly v0.0.0-20200925081217-c929a1f56559 h1:U/5x1+bfz+5IMTf6mAW6IeyZdwr2vumjnegerwS9VAg= -github.com/bizflycloud/gobizfly v0.0.0-20200925081217-c929a1f56559/go.mod h1:2otUgZd6PrKezjMrdAw9gy7byEXMrigX9Sm4ujCaFuk= +github.com/bizflycloud/gobizfly v0.0.0-20210826035312-56219bf93eb1 h1:q6w8IOT74Jy2XU+urDQKIlnF6miAHQT51f1RR02DdNY= +github.com/bizflycloud/gobizfly v0.0.0-20210826035312-56219bf93eb1/go.mod h1:dESSbBmjQ5OJBgRPCTgmxAeqxNnRzXIZuRK3CTW2DUs= github.com/blang/semver v3.5.0+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= github.com/boltdb/bolt v1.3.1/go.mod h1:clJnj/oiGkjum5o1McbSZDSLxVThjynRyGBgiAx27Ps= github.com/bradfitz/go-smtpd v0.0.0-20170404230938-deb6d6237625/go.mod h1:HYsPBTaaSFSlLx/70C2HPIMNZpVV8+vt/A+FMnYP11g= diff --git a/manifest/plugin/csi-bizflycloud-controllerplugin.yaml b/manifest/plugin/csi-bizflycloud-controllerplugin.yaml index f628928..99e0735 100644 --- a/manifest/plugin/csi-bizflycloud-controllerplugin.yaml +++ b/manifest/plugin/csi-bizflycloud-controllerplugin.yaml @@ -41,6 +41,7 @@ spec: - "--csi-address=/var/lib/csi/sockets/pluginproxy/csi.sock" - "--timeout=3m" - "--feature-gates=Topology=true" + - "--extra-create-metadata=True" volumeMounts: - name: socket-dir mountPath: /var/lib/csi/sockets/pluginproxy/