* tentative merge of onelab myplc
[myplc.git] / plc-config-tty
index ddf3fb1..d9559dc 100755 (executable)
@@ -20,29 +20,32 @@ import getopt
 from plc_config import PLCConfiguration
 
 ####################
-release_id = "$Id: plc-config-tty,v 1.6 2006/08/17 16:17:18 thierry Exp $"
-release_rev = "$Revision: 1.6 $"
+release_id = "$Id: plc-config-tty 635 2007-07-05 11:08:14Z thierry $"
+release_rev = "$Revision: 635 $"
 
 def init_flavour (flavour):
     global service
-    global common_variables
+    global usual_variables
     if (flavour == "devel"):
         service="plc-devel"
-        common_variables=("PLC_DEVEL_FEDORA_URL",
+        usual_variables=("PLC_DEVEL_FEDORA_URL",
                           "PLC_DEVEL_CVSROOT")
         config_dir = "/plc/devel/data/etc/planetlab"
     else:
         service="plc"
-        common_variables=("PLC_NAME",
-                          "PLC_ROOT_USER",
-                          "PLC_ROOT_PASSWORD",
-                          "PLC_MAIL_SUPPORT_ADDRESS",
-                          "PLC_DB_HOST",
-                          "PLC_API_HOST",
-                          "PLC_WWW_HOST",
-                          "PLC_BOOT_HOST",
-                          "PLC_NET_DNS1",
-                          "PLC_NET_DNS2")
+        usual_variables=("PLC_NAME",
+                         "PLC_SLICE_PREFIX",
+                         "PLC_ROOT_USER",
+                         "PLC_ROOT_PASSWORD",
+                         "PLC_MAIL_ENABLED",
+                         "PLC_MAIL_SUPPORT_ADDRESS",
+                         "PLC_DB_HOST",
+                         "PLC_API_HOST",
+                         "PLC_WWW_HOST",
+                         "PLC_BOOT_HOST",
+                         "PLC_NET_DNS1",
+                         "PLC_NET_DNS2",
+                         )
         config_dir = "/etc/planetlab"
     global def_default_config
     def_default_config= "%s/default_config.xml" % config_dir
@@ -54,18 +57,18 @@ def init_flavour (flavour):
     global mainloop_usage
     mainloop_usage= """Available commands:
  Uppercase versions give variables comments, when available
--u/U\t\t\tEdit usual variables
--w\t\t\tWrite & consolidate
--r\t\t\tRestart %s service
--q\t\t\tQuit (without saving)
--h/?\t\t\tThis help
+ u/U\t\t\tEdit usual variables
+ w\t\t\tWrite & consolidate
+ r\t\t\tRestart %s service
+ q\t\t\tQuit (without saving)
+ h/?\t\t\tThis help
 ---
-l/L [<cat>|<var>]\tShow Locally modified variables/values
--s/S [<cat>|<var>]\tShow variables/values (all, in category, single)
--e/E [<cat>|<var>]\tEdit variables (all, in category, single)
+ l/L [<cat>|<var>]\tShow Locally modified variables/values
+ s/S [<cat>|<var>]\tShow variables/values (all, in category, single)
+ e/E [<cat>|<var>]\tEdit variables (all, in category, single)
 ---
--c\t\t\tList categories
--v/V [<cat>|<var>]List Variables (all, in category, single)
+ c\t\t\tList categories
+ v/V [<cat>|<var>]List Variables (all, in category, single)
 ---
 Typical usage involves: u, [l,] w, r, q
 """ % service
@@ -179,6 +182,7 @@ def consolidate (default_config, site_config, consolidated_config):
         return
     print ("Merged\n\t%s\nand\t%s\ninto\t%s"%(default_config,site_config,
                                               consolidated_config))
+    os.system("set -x ; service plc reload")
         
 ####################
 def restart_plc ():
@@ -365,7 +369,7 @@ def mainloop (cdef, cread, cwrite, default_config, site_config, consolidated_con
             print ("You might want to type 'r' (restart plc) or 'q' (quit)")
         elif (command == "u"):
             try:
-                for varname in common_variables:
+                for varname in usual_variables:
                     (category,variable) = cdef.locate_varname(varname)
                     prompt_variable(cdef, cread, cwrite, category, variable, False)
             except Exception, inst:
@@ -402,23 +406,16 @@ def mainloop (cdef, cread, cwrite, default_config, site_config, consolidated_con
             print ("Unknown command >%s< -- use h for help" % answer)
 
 ####################
+# creates directory for file if not yet existing
 def check_dir (config_file):
     dirname = os.path.dirname (config_file)
     if (not os.path.exists (dirname)):
-        print "Config file %s located under a non-existing directory" % config_file
-        answer=raw_input("Want to create %s [y]/n ? " % dirname)
-        answer = answer.lower()
-        if (answer == 'n'):
-            print "Cannot proceed - good bye"
+        os.makedirs(dirname,0755)
+        if (not os.path.exists (dirname)):
+            print "Cannot create dir %s - exiting" % dirname
             sys.exit(1)
         else:
-            os.makedirs(dirname,0755)
-            if (not os.path.exists (dirname)):
-                print "Cannot create dir %s - exiting" % dirname
-                sys.exit(1)
-            else:
-                print "Created directory %s" % dirname
-
+            print "Created directory %s" % dirname
                 
 ####################
 def main ():
@@ -434,7 +431,7 @@ def main ():
         if opt[0] == "-h":
             usage()
         if opt[0] == "-v":
-            print ("This is %s - %s" %(command,release_id))
+            print ("This is %s - %s" %(command,release_rev))
             sys.exit(1)
         if opt[0] == "-d":
             init_flavour("devel")