mirror of
https://github.com/gravitl/netmaker.git
synced 2025-02-25 08:34:47 +08:00
updated join logic
if join fails, don't try to leave as authentication will fail --- just wipe
This commit is contained in:
parent
2720c64ac7
commit
4bc04d5922
6 changed files with 10 additions and 21 deletions
|
@ -36,7 +36,7 @@ func GetCommands(cliFlags []cli.Flag) []*cli.Command {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
err = command.Leave(&cfg, c.String("force") == "yes")
|
err = command.Leave(&cfg)
|
||||||
return err
|
return err
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
|
@ -180,12 +180,6 @@ func GetFlags(hostname string) []cli.Flag {
|
||||||
Value: "yes",
|
Value: "yes",
|
||||||
Usage: "Checks for IP changes if 'yes'. Ignores if 'no'. Yes by default.",
|
Usage: "Checks for IP changes if 'yes'. Ignores if 'no'. Yes by default.",
|
||||||
},
|
},
|
||||||
&cli.StringFlag{
|
|
||||||
Name: "force",
|
|
||||||
EnvVars: []string{"NETCLIENT_FORCE"},
|
|
||||||
Value: "no",
|
|
||||||
Usage: "Allows to run the command with force, if otherwise prevented.",
|
|
||||||
},
|
|
||||||
&cli.BoolFlag{
|
&cli.BoolFlag{
|
||||||
Name: "verbosity-level-1",
|
Name: "verbosity-level-1",
|
||||||
Aliases: []string{"v"},
|
Aliases: []string{"v"},
|
||||||
|
|
|
@ -20,13 +20,10 @@ func Join(cfg *config.ClientConfig, privateKey string) error {
|
||||||
err = functions.JoinNetwork(cfg, privateKey)
|
err = functions.JoinNetwork(cfg, privateKey)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if !strings.Contains(err.Error(), "ALREADY_INSTALLED") {
|
if !strings.Contains(err.Error(), "ALREADY_INSTALLED") {
|
||||||
logger.Log(1, "error installing: ", err.Error())
|
logger.Log(0, "error installing: ", err.Error())
|
||||||
err = functions.LeaveNetwork(cfg.Network, true)
|
err = functions.WipeLocal(cfg.Network)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
err = functions.WipeLocal(cfg.Network)
|
logger.Log(1, "error removing artifacts: ", err.Error())
|
||||||
if err != nil {
|
|
||||||
logger.Log(1, "error removing artifacts: ", err.Error())
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if cfg.Daemon != "off" {
|
if cfg.Daemon != "off" {
|
||||||
if ncutils.IsLinux() {
|
if ncutils.IsLinux() {
|
||||||
|
@ -39,8 +36,6 @@ func Join(cfg *config.ClientConfig, privateKey string) error {
|
||||||
daemon.RemoveFreebsdDaemon()
|
daemon.RemoveFreebsdDaemon()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
logger.Log(0, "success")
|
|
||||||
}
|
}
|
||||||
if err != nil && strings.Contains(err.Error(), "ALREADY_INSTALLED") {
|
if err != nil && strings.Contains(err.Error(), "ALREADY_INSTALLED") {
|
||||||
logger.Log(0, err.Error())
|
logger.Log(0, err.Error())
|
||||||
|
@ -54,8 +49,8 @@ func Join(cfg *config.ClientConfig, privateKey string) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Leave - runs the leave command from cli
|
// Leave - runs the leave command from cli
|
||||||
func Leave(cfg *config.ClientConfig, force bool) error {
|
func Leave(cfg *config.ClientConfig) error {
|
||||||
err := functions.LeaveNetwork(cfg.Network, force)
|
err := functions.LeaveNetwork(cfg.Network)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Log(1, "error attempting to leave network "+cfg.Network)
|
logger.Log(1, "error attempting to leave network "+cfg.Network)
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -127,7 +127,7 @@ func Uninstall() error {
|
||||||
logger.Log(1, "continuing uninstall without leaving networks")
|
logger.Log(1, "continuing uninstall without leaving networks")
|
||||||
} else {
|
} else {
|
||||||
for _, network := range networks {
|
for _, network := range networks {
|
||||||
err = LeaveNetwork(network, true)
|
err = LeaveNetwork(network)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.Log(1, "Encounter issue leaving network ", network, ": ", err.Error())
|
logger.Log(1, "Encounter issue leaving network ", network, ": ", err.Error())
|
||||||
}
|
}
|
||||||
|
@ -151,7 +151,7 @@ func Uninstall() error {
|
||||||
}
|
}
|
||||||
|
|
||||||
// LeaveNetwork - client exits a network
|
// LeaveNetwork - client exits a network
|
||||||
func LeaveNetwork(network string, force bool) error {
|
func LeaveNetwork(network string) error {
|
||||||
cfg, err := config.ReadConfig(network)
|
cfg, err := config.ReadConfig(network)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
|
|
@ -65,7 +65,7 @@ func NodeUpdate(client mqtt.Client, msg mqtt.Message) {
|
||||||
case models.NODE_DELETE:
|
case models.NODE_DELETE:
|
||||||
logger.Log(0, "received delete request for %s", nodeCfg.Node.Name)
|
logger.Log(0, "received delete request for %s", nodeCfg.Node.Name)
|
||||||
unsubscribeNode(client, &nodeCfg)
|
unsubscribeNode(client, &nodeCfg)
|
||||||
if err = LeaveNetwork(nodeCfg.Node.Network, true); err != nil {
|
if err = LeaveNetwork(nodeCfg.Node.Network); err != nil {
|
||||||
if !strings.Contains("rpc error", err.Error()) {
|
if !strings.Contains("rpc error", err.Error()) {
|
||||||
logger.Log(0, "failed to leave, please check that local files for network", nodeCfg.Node.Network, "were removed")
|
logger.Log(0, "failed to leave, please check that local files for network", nodeCfg.Node.Network, "were removed")
|
||||||
return
|
return
|
||||||
|
|
|
@ -147,7 +147,7 @@ func leave(network string) {
|
||||||
ShowView(Networks)
|
ShowView(Networks)
|
||||||
}, func() {
|
}, func() {
|
||||||
LoadingNotify()
|
LoadingNotify()
|
||||||
err := functions.LeaveNetwork(network, true)
|
err := functions.LeaveNetwork(network)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
ErrorNotify("Failed to leave " + network + " : " + err.Error())
|
ErrorNotify("Failed to leave " + network + " : " + err.Error())
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in a new issue