updated join logic

if join fails, don't try to leave as authentication will fail --- just
    wipe
This commit is contained in:
Matthew R. Kasun 2022-06-20 10:37:31 -04:00
parent 2720c64ac7
commit 4bc04d5922
6 changed files with 10 additions and 21 deletions

View file

@ -36,7 +36,7 @@ func GetCommands(cliFlags []cli.Flag) []*cli.Command {
if err != nil {
return err
}
err = command.Leave(&cfg, c.String("force") == "yes")
err = command.Leave(&cfg)
return err
},
},

View file

@ -180,12 +180,6 @@ func GetFlags(hostname string) []cli.Flag {
Value: "yes",
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{
Name: "verbosity-level-1",
Aliases: []string{"v"},

View file

@ -20,13 +20,10 @@ func Join(cfg *config.ClientConfig, privateKey string) error {
err = functions.JoinNetwork(cfg, privateKey)
if err != nil {
if !strings.Contains(err.Error(), "ALREADY_INSTALLED") {
logger.Log(1, "error installing: ", err.Error())
err = functions.LeaveNetwork(cfg.Network, true)
logger.Log(0, "error installing: ", err.Error())
err = functions.WipeLocal(cfg.Network)
if err != nil {
err = functions.WipeLocal(cfg.Network)
if err != nil {
logger.Log(1, "error removing artifacts: ", err.Error())
}
logger.Log(1, "error removing artifacts: ", err.Error())
}
if cfg.Daemon != "off" {
if ncutils.IsLinux() {
@ -39,8 +36,6 @@ func Join(cfg *config.ClientConfig, privateKey string) error {
daemon.RemoveFreebsdDaemon()
}
}
} else {
logger.Log(0, "success")
}
if err != nil && strings.Contains(err.Error(), "ALREADY_INSTALLED") {
logger.Log(0, err.Error())
@ -54,8 +49,8 @@ func Join(cfg *config.ClientConfig, privateKey string) error {
}
// Leave - runs the leave command from cli
func Leave(cfg *config.ClientConfig, force bool) error {
err := functions.LeaveNetwork(cfg.Network, force)
func Leave(cfg *config.ClientConfig) error {
err := functions.LeaveNetwork(cfg.Network)
if err != nil {
logger.Log(1, "error attempting to leave network "+cfg.Network)
} else {

View file

@ -127,7 +127,7 @@ func Uninstall() error {
logger.Log(1, "continuing uninstall without leaving networks")
} else {
for _, network := range networks {
err = LeaveNetwork(network, true)
err = LeaveNetwork(network)
if err != nil {
logger.Log(1, "Encounter issue leaving network ", network, ": ", err.Error())
}
@ -151,7 +151,7 @@ func Uninstall() error {
}
// LeaveNetwork - client exits a network
func LeaveNetwork(network string, force bool) error {
func LeaveNetwork(network string) error {
cfg, err := config.ReadConfig(network)
if err != nil {
return err

View file

@ -65,7 +65,7 @@ func NodeUpdate(client mqtt.Client, msg mqtt.Message) {
case models.NODE_DELETE:
logger.Log(0, "received delete request for %s", nodeCfg.Node.Name)
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()) {
logger.Log(0, "failed to leave, please check that local files for network", nodeCfg.Node.Network, "were removed")
return

View file

@ -147,7 +147,7 @@ func leave(network string) {
ShowView(Networks)
}, func() {
LoadingNotify()
err := functions.LeaveNetwork(network, true)
err := functions.LeaveNetwork(network)
if err != nil {
ErrorNotify("Failed to leave " + network + " : " + err.Error())
} else {