add target port as command flag

This commit is contained in:
Lei Xue
2022-12-13 09:49:34 +08:00
parent cec0938186
commit d94641a8d7
4 changed files with 15 additions and 11 deletions

View File

@@ -35,10 +35,13 @@ import (
)
func newDaemonCommand() *cobra.Command {
var host string
var driver string
var logLevel string
var blockMultipleHosts bool
var (
host string
driver string
logLevel string
blockMultipleHosts bool
port int
)
var cmd = &cobra.Command{
Use: "daemon",
Short: "Setup a daemon",
@@ -48,17 +51,18 @@ func newDaemonCommand() *cobra.Command {
},
RunE: func(cmd *cobra.Command, args []string) error {
host = viper.GetString("host")
return createDaemon(host, driver, logLevel, blockMultipleHosts)
return createDaemon(host, driver, logLevel, blockMultipleHosts, port)
},
}
flags := cmd.Flags()
flags.StringVar(&logLevel, "log", "info", "Log level of SCSI target daemon")
flags.StringVar(&driver, "driver", "iscsi", "SCSI low level driver")
flags.IntVar(&port, "port", 3260, "iSCSI default target port")
flags.BoolVar(&blockMultipleHosts, "block-multiple-hosts", false, "Disable login from multiple hosts")
return cmd
}
func createDaemon(host, driver, level string, blockMultipleHosts bool) error {
func createDaemon(host, driver, level string, blockMultipleHosts bool, port int) error {
switch level {
case "info":
log.SetLevel(log.InfoLevel)
@@ -101,7 +105,7 @@ func createDaemon(host, driver, level string, blockMultipleHosts bool) error {
// comment this to avoid concurrent issue
// runtime.GOMAXPROCS(runtime.NumCPU())
// run a service
go targetDriver.Run()
go targetDriver.Run(port)
serverConfig := &apiserver.Config{
Addrs: []apiserver.Addr{},

View File

@@ -180,7 +180,7 @@ func (r *remoteBs) startScsiTarget(cfg *config.Config) error {
}
r.targetDriver.NewTarget(r.tgtName, cfg)
//r.targetDriver.SetClusterIP(r.clusterIP)
go r.targetDriver.Run()
go r.targetDriver.Run(3260)
// Wait here so that listener get started
time.Sleep(1 * time.Second)

View File

@@ -192,8 +192,8 @@ func (s *ISCSITargetDriver) HasPortal(tgtName string, tpgt uint16, portal string
}
}
func (s *ISCSITargetDriver) Run() error {
l, err := net.Listen("tcp", ":3260")
func (s *ISCSITargetDriver) Run(port int) error {
l, err := net.Listen("tcp", ":"+strconv.Itoa(port))
if err != nil {
log.Error(err)
os.Exit(1)

View File

@@ -24,7 +24,7 @@ import (
)
type SCSITargetDriver interface {
Run() error
Run(port int) error
NewTarget(string, *config.Config) error
RereadTargetLUNMap()
Close() error