@@ -21,7 +21,7 @@ import (
2121func updateNode (ctx * cli.Context ) error {
2222 name := ctx .Args ().First ()
2323 tags := ctx .String ("tags" )
24- force := ctx .Bool ("downgrade " )
24+ force := ctx .Bool ("force " )
2525 version := strings .TrimSpace (ctx .String ("version" ))
2626 nodes , err := util .ParseNodesFromNameAndTags (name , tags )
2727 if err != nil {
@@ -60,7 +60,15 @@ func updateSingleNode(name, ver string, force bool) error {
6060 res := curVersion .Compare (newVersion )
6161 switch res {
6262 case 0 :
63- color .Green ("darknode [%v] is running version [%v] already." , name , ver )
63+ if ! force {
64+ color .Green ("darknode [%v] is running version [%v] already." , name , ver )
65+ return nil
66+ }
67+ if err := update (name , ver ); err != nil {
68+ color .Red ("cannot update darknode %v, error = %v" , name , err )
69+ } else {
70+ color .Green ("[%s] has been updated to version %v" , name , ver )
71+ }
6472 case 1 :
6573 if ! force {
6674 color .Red ("darknode [%v] is running with version %v, you cannot downgrade to a lower version %v" , name , curVersion .String (), newVersion .String ())
@@ -82,14 +90,10 @@ func updateSingleNode(name, ver string, force bool) error {
8290}
8391
8492func update (name , ver string ) error {
85- url := fmt .Sprintf ("https://github.com/renproject/darknode-release/releases/download/%v" , ver )
86- script := fmt .Sprintf (`mv ~/. darknode/bin/darknode ~/.darknode/bin/darknode-backup &&
87- curl -sL %v/ darknode > ~/.darknode/bin/darknode &&
93+ url := fmt .Sprintf ("https://www. github.com/renproject/darknode-release/releases/download/%v" , ver )
94+ script := fmt .Sprintf (`curl -sL %v/ darknode > ~/.darknode/bin/darknode-new &&
95+ mv ~/. darknode/bin/darknode-new ~/.darknode/bin/darknode &&
8896chmod +x ~/.darknode/bin/darknode &&
89- systemctl --user stop darknode &&
90- cp -a ~/.darknode/db/. ~/.darknode/db_bak/ &&
91- rm -rf ~/.darknode/db &&
92- mv ~/.darknode/db_bak ~/.darknode/db &&
9397echo %v > ~/.darknode/version &&
9498systemctl --user restart darknode` , url , ver )
9599 return util .RemoteRun (name , script )
0 commit comments