add flag to gotgt command
Signed-off-by: shubham <shubham.bajpai@mayadata.io>
This commit is contained in:
@@ -37,22 +37,24 @@ func newDaemonCommand(cli *client.Client) *cobra.Command {
|
|||||||
var host string
|
var host string
|
||||||
var driver string
|
var driver string
|
||||||
var logLevel string
|
var logLevel string
|
||||||
|
var blockMultipleHosts bool
|
||||||
var cmd = &cobra.Command{
|
var cmd = &cobra.Command{
|
||||||
Use: "daemon",
|
Use: "daemon",
|
||||||
Short: "Setup a daemon",
|
Short: "Setup a daemon",
|
||||||
Long: `Setup the Gotgt's daemon`,
|
Long: `Setup the Gotgt's daemon`,
|
||||||
RunE: func(cmd *cobra.Command, args []string) error {
|
RunE: func(cmd *cobra.Command, args []string) error {
|
||||||
return createDaemon(host, driver, logLevel)
|
return createDaemon(host, driver, logLevel, blockMultipleHosts)
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
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(&host, "host", "tcp://127.0.0.1:23457", "Host for SCSI target daemon")
|
flags.StringVar(&host, "host", "tcp://127.0.0.1:23457", "Host for SCSI target daemon")
|
||||||
flags.StringVar(&driver, "driver", "iscsi", "SCSI low level driver")
|
flags.StringVar(&driver, "driver", "iscsi", "SCSI low level driver")
|
||||||
|
flags.BoolVar(&blockMultipleHosts, "block-multiple-hosts", false, "Disable login from multiple hosts")
|
||||||
return cmd
|
return cmd
|
||||||
}
|
}
|
||||||
|
|
||||||
func createDaemon(host, driver, level string) error {
|
func createDaemon(host, driver, level string, blockMultipleHosts bool) error {
|
||||||
switch level {
|
switch level {
|
||||||
case "info":
|
case "info":
|
||||||
log.SetLevel(log.InfoLevel)
|
log.SetLevel(log.InfoLevel)
|
||||||
@@ -88,6 +90,10 @@ func createDaemon(host, driver, level string) error {
|
|||||||
targetDriver.NewTarget(tgtname, config)
|
targetDriver.NewTarget(tgtname, config)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if blockMultipleHosts {
|
||||||
|
targetDriver.EnableBlockMultipleHostLogin()
|
||||||
|
}
|
||||||
|
|
||||||
// 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
|
||||||
|
|||||||
Reference in New Issue
Block a user