@@ -10,6 +10,7 @@ import re
1010import traceback
1111import socket
1212import uuid
13+ from optparse import OptionParser
1314
1415class CloudRuntimeException (Exception ):
1516 def __init__ (self , errMsg ):
@@ -839,13 +840,33 @@ class globalEnv():
839840if __name__ == '__main__' :
840841 #todo: check executing permission
841842 initLoging ("/var/log/cloud/setupAgent.log" )
842-
843- userInputs = getUserInputs ()
844843 glbEnv = globalEnv ()
845844
846- glbEnv .mgtSvr = userInputs [0 ]
847- glbEnv .zoneToken = userInputs [1 ]
848- glbEnv .defaultNic = userInputs [2 ]
845+ parser = OptionParser ()
846+ parser .add_option ("-a" , action = "store_true" , dest = "auto" , help = "auto mode" )
847+ parser .add_option ("-m" , "--mgtSvr" , dest = "mgt" , help = "myCloud management server name or IP" )
848+ parser .add_option ("-z" , "--zone-token" , dest = "zone" , help = "zone token" )
849+
850+ (options , args ) = parser .parse_args ()
851+ if options .auto is None :
852+ userInputs = getUserInputs ()
853+ glbEnv .mgtSvr = userInputs [0 ]
854+ glbEnv .zoneToken = userInputs [1 ]
855+ glbEnv .defaultNic = userInputs [2 ]
856+ else :
857+ if options .mgt is None or options .zone is None :
858+ print "myCloud mgt server or zone token can not be NULL"
859+ sys .exit (1 )
860+
861+ glbEnv .mgtSvr = options .mgt
862+ glbEnv .zoneToken = options .zone
863+ try :
864+ defaultNic = networkConfig .getDefaultNetwork ()
865+ glbEnv .defaultNic = defaultNic .name
866+ except :
867+ print "Failed to get default route. Please configure your network to have a default route"
868+ sys .exit (2 )
869+
849870 glbEnv .nics = []
850871 #generate UUID
851872 glbEnv .uuid = configFileOps ("/etc/cloud/agent/agent.properties" ).getEntry ("guid" )
0 commit comments