in pkg/nitro_enclaves_cpu_plugin/device_plugin.go [221:255]
func (necdp *NitroEnclavesCPUDevicePlugin) Start() error {
necdp.releaseResources()
glog.V(0).Info("Starting Nitro Enclaves CPU device plugin server...")
sock, err := net.Listen("unix", necdp.socketPath())
if err != nil {
glog.Error("Error while creating socket: ", necdp.socketPath())
return err
}
necdp.server = grpc.NewServer([]grpc.ServerOption{}...)
pluginapi.RegisterDevicePluginServer(necdp.server, necdp)
go func() {
err := necdp.server.Serve(sock)
if err != nil {
if necdp.stop != nil {
glog.Errorf("Error while serving device plugin: %v", err)
close(necdp.stop)
}
}
}()
err = necdp.waitForServerReady(devicePluginServerReadyTimeout)
if err != nil {
return err
}
if err = necdp.register(pluginapi.KubeletSocket, necdp.ResourceName()); err != nil {
glog.Errorf("Error while registering cpu device plugin with kubelet! (Reason: %s)", err)
necdp.Stop()
return err
}
glog.V(0).Info("Registered cpu device plugin with Kubelet: ", necdp.ResourceName())
return nil
}