add target port as command flag
This commit is contained in:
@@ -35,10 +35,13 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func newDaemonCommand() *cobra.Command {
|
func newDaemonCommand() *cobra.Command {
|
||||||
var host string
|
var (
|
||||||
var driver string
|
host string
|
||||||
var logLevel string
|
driver string
|
||||||
var blockMultipleHosts bool
|
logLevel string
|
||||||
|
blockMultipleHosts bool
|
||||||
|
port int
|
||||||
|
)
|
||||||
var cmd = &cobra.Command{
|
var cmd = &cobra.Command{
|
||||||
Use: "daemon",
|
Use: "daemon",
|
||||||
Short: "Setup a daemon",
|
Short: "Setup a daemon",
|
||||||
@@ -48,17 +51,18 @@ func newDaemonCommand() *cobra.Command {
|
|||||||
},
|
},
|
||||||
RunE: func(cmd *cobra.Command, args []string) error {
|
RunE: func(cmd *cobra.Command, args []string) error {
|
||||||
host = viper.GetString("host")
|
host = viper.GetString("host")
|
||||||
return createDaemon(host, driver, logLevel, blockMultipleHosts)
|
return createDaemon(host, driver, logLevel, blockMultipleHosts, port)
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
flags := cmd.Flags()
|
flags := cmd.Flags()
|
||||||
flags.StringVar(&logLevel, "log", "info", "Log level of SCSI target daemon")
|
flags.StringVar(&logLevel, "log", "info", "Log level of SCSI target daemon")
|
||||||
flags.StringVar(&driver, "driver", "iscsi", "SCSI low level driver")
|
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")
|
flags.BoolVar(&blockMultipleHosts, "block-multiple-hosts", false, "Disable login from multiple hosts")
|
||||||
return cmd
|
return cmd
|
||||||
}
|
}
|
||||||
|
|
||||||
func createDaemon(host, driver, level string, blockMultipleHosts bool) error {
|
func createDaemon(host, driver, level string, blockMultipleHosts bool, port int) error {
|
||||||
switch level {
|
switch level {
|
||||||
case "info":
|
case "info":
|
||||||
log.SetLevel(log.InfoLevel)
|
log.SetLevel(log.InfoLevel)
|
||||||
@@ -101,7 +105,7 @@ func createDaemon(host, driver, level string, blockMultipleHosts bool) error {
|
|||||||
// comment this to avoid concurrent issue
|
// comment this to avoid concurrent issue
|
||||||
// runtime.GOMAXPROCS(runtime.NumCPU())
|
// runtime.GOMAXPROCS(runtime.NumCPU())
|
||||||
// run a service
|
// run a service
|
||||||
go targetDriver.Run()
|
go targetDriver.Run(port)
|
||||||
|
|
||||||
serverConfig := &apiserver.Config{
|
serverConfig := &apiserver.Config{
|
||||||
Addrs: []apiserver.Addr{},
|
Addrs: []apiserver.Addr{},
|
||||||
|
|||||||
@@ -180,7 +180,7 @@ func (r *remoteBs) startScsiTarget(cfg *config.Config) error {
|
|||||||
}
|
}
|
||||||
r.targetDriver.NewTarget(r.tgtName, cfg)
|
r.targetDriver.NewTarget(r.tgtName, cfg)
|
||||||
//r.targetDriver.SetClusterIP(r.clusterIP)
|
//r.targetDriver.SetClusterIP(r.clusterIP)
|
||||||
go r.targetDriver.Run()
|
go r.targetDriver.Run(3260)
|
||||||
// Wait here so that listener get started
|
// Wait here so that listener get started
|
||||||
time.Sleep(1 * time.Second)
|
time.Sleep(1 * time.Second)
|
||||||
|
|
||||||
|
|||||||
@@ -192,8 +192,8 @@ func (s *ISCSITargetDriver) HasPortal(tgtName string, tpgt uint16, portal string
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *ISCSITargetDriver) Run() error {
|
func (s *ISCSITargetDriver) Run(port int) error {
|
||||||
l, err := net.Listen("tcp", ":3260")
|
l, err := net.Listen("tcp", ":"+strconv.Itoa(port))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error(err)
|
log.Error(err)
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
type SCSITargetDriver interface {
|
type SCSITargetDriver interface {
|
||||||
Run() error
|
Run(port int) error
|
||||||
NewTarget(string, *config.Config) error
|
NewTarget(string, *config.Config) error
|
||||||
RereadTargetLUNMap()
|
RereadTargetLUNMap()
|
||||||
Close() error
|
Close() error
|
||||||
|
|||||||
Reference in New Issue
Block a user