Skip to content

Commit 38a90fa

Browse files
authored
fix: replace panic with error (#73)
1 parent f344aef commit 38a90fa

File tree

3 files changed

+17
-9
lines changed

3 files changed

+17
-9
lines changed

cmd/lvmplugin/main.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,5 +73,9 @@ func handle() {
7373
fmt.Printf("Failed to initialize driver: %s\n", err.Error())
7474
os.Exit(1)
7575
}
76-
driver.Run()
76+
err = driver.Run()
77+
if err != nil {
78+
fmt.Printf("Failed to start driver: %s\n", err.Error())
79+
os.Exit(1)
80+
}
7781
}

pkg/lvm/controllerserver.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -43,19 +43,19 @@ type controllerServer struct {
4343
}
4444

4545
// NewControllerServer
46-
func newControllerServer(ephemeral bool, nodeID string, devicesPattern string, vgName string, namespace string, provisionerImage string, pullPolicy v1.PullPolicy) *controllerServer {
46+
func newControllerServer(ephemeral bool, nodeID string, devicesPattern string, vgName string, namespace string, provisionerImage string, pullPolicy v1.PullPolicy) (*controllerServer, error) {
4747
if ephemeral {
48-
return &controllerServer{caps: getControllerServiceCapabilities(nil), nodeID: nodeID}
48+
return &controllerServer{caps: getControllerServiceCapabilities(nil), nodeID: nodeID}, nil
4949
}
5050

5151
config, err := rest.InClusterConfig()
5252
if err != nil {
53-
panic(err.Error())
53+
return nil, err
5454
}
5555
// creates the clientset
5656
kubeClient, err := kubernetes.NewForConfig(config)
5757
if err != nil {
58-
panic(err.Error())
58+
return nil, err
5959
}
6060
return &controllerServer{
6161
caps: getControllerServiceCapabilities(
@@ -74,7 +74,7 @@ func newControllerServer(ephemeral bool, nodeID string, devicesPattern string, v
7474
namespace: namespace,
7575
provisionerImage: provisionerImage,
7676
pullPolicy: pullPolicy,
77-
}
77+
}, nil
7878
}
7979

8080
func (cs *controllerServer) CreateVolume(ctx context.Context, req *csi.CreateVolumeRequest) (*csi.CreateVolumeResponse, error) {

pkg/lvm/lvm.go

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -128,15 +128,19 @@ func NewLvmDriver(driverName, nodeID, endpoint string, ephemeral bool, maxVolume
128128
}
129129

130130
// Run starts the lvm plugin
131-
func (lvm *Lvm) Run() {
131+
func (lvm *Lvm) Run() error {
132+
var err error
132133
// Create GRPC servers
133134
lvm.ids = newIdentityServer(lvm.name, lvm.version)
134135
lvm.ns = newNodeServer(lvm.nodeID, lvm.ephemeral, lvm.maxVolumesPerNode, lvm.devicesPattern, lvm.vgName)
135-
lvm.cs = newControllerServer(lvm.ephemeral, lvm.nodeID, lvm.devicesPattern, lvm.vgName, lvm.namespace, lvm.provisionerImage, lvm.pullPolicy)
136-
136+
lvm.cs, err = newControllerServer(lvm.ephemeral, lvm.nodeID, lvm.devicesPattern, lvm.vgName, lvm.namespace, lvm.provisionerImage, lvm.pullPolicy)
137+
if err != nil {
138+
return err
139+
}
137140
s := newNonBlockingGRPCServer()
138141
s.start(lvm.endpoint, lvm.ids, lvm.cs, lvm.ns)
139142
s.wait()
143+
return nil
140144
}
141145

142146
func mountLV(lvname, mountPath string, vgName string) (string, error) {

0 commit comments

Comments
 (0)