Skip to content

Commit

Permalink
Fix main.go
Browse files Browse the repository at this point in the history
  • Loading branch information
mugdha-adhav committed Mar 6, 2025
1 parent 0000b2e commit 76634be
Showing 1 changed file with 34 additions and 22 deletions.
56 changes: 34 additions & 22 deletions cmd/plugin/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import (
"context"
goflag "flag"
"fmt"
"strings"
"net/url"
"time"

"github.com/container-storage-interface/spec/lib/go/csi"
Expand Down Expand Up @@ -84,38 +84,50 @@ func main() {

server := csicommon.NewNonBlockingGRPCServer()

// Set default value of runtime address if containerd socket is specified
if *runtimeAddr == "" && *containerdSock != "" {
*runtimeAddr = fmt.Sprintf("%s://%s", containerdScheme, *containerdSock)
}

switch *mode {
case nodeMode:
if *runtimeAddr == "" {
klog.Fatal("--runtime-addr must be specified")
if len(*runtimeAddr) == 0 {
if len(*containerdSock) == 0 {
klog.Fatalf("The unit socket of container runtime is required.")
}

klog.Warning("--containerd-addr is deprecated. Use --runtime-addr instead.")
addr, err := url.Parse(*containerdSock)
if err != nil {
klog.Fatalf("invalid runtime address: %s", err)
}
addr.Scheme = containerdScheme
*runtimeAddr = addr.String()
}

if *nodeID == "" {
klog.Fatal("--node must be specified")
var mounter backend.Mounter
if len(*runtimeAddr) > 0 {
addr, err := url.Parse(*runtimeAddr)
if err != nil {
klog.Fatalf("invalid runtime address: %s", err)
}

klog.Infof("runtime %s at %q", addr.Scheme, addr.Path)
switch addr.Scheme {
case containerdScheme:
mounter = containerd.NewMounter(addr.Path)
case criOScheme:
mounter = crio.NewMounter(addr.Path)
default:
klog.Fatalf("unknown container runtime %q", addr.Scheme)
}

addr.Scheme = "unix"
*runtimeAddr = addr.String()
}

criClient, err := cri.NewRemoteImageService(*runtimeAddr, 10*time.Second)
criClient, err := cri.NewRemoteImageService(*runtimeAddr, time.Second)
if err != nil {
klog.Fatalf(`unable to connect to cri daemon "%s": %s`, *runtimeAddr, err)
klog.Fatalf(`unable to connect to cri daemon "%s": %s`, *endpoint, err)
}

// Create the secret store with proper credential provider config
secretStore := secret.CreateStoreOrDie(*icpConf, *icpBin, *nodePluginSA, *enableCache)

var mounter backend.Mounter
if strings.HasPrefix(*runtimeAddr, containerdScheme+"://") {
socketPath := (*runtimeAddr)[len(containerdScheme+"://"):]
mounter = containerd.NewMounter(socketPath)
} else if strings.HasPrefix(*runtimeAddr, criOScheme+"://") {
socketPath := (*runtimeAddr)[len(criOScheme+"://"):]
mounter = crio.NewMounter(socketPath)
}

server.Start(*endpoint,
NewIdentityServer(driverVersion),
nil,
Expand Down

0 comments on commit 76634be

Please sign in to comment.