vcl: remove session locks
[vpp.git] / extras / vpp_config / vpp_config.py
index 69e7de7..a5d57bf 100755 (executable)
@@ -323,6 +323,7 @@ def autoconfig_apply(ask_questions=True):
         # Everything is configured start vpp
         VPPUtil.start(node)
 
+
 def autoconfig_dryrun(ask_questions=True):
     """
     Execute the dryrun function.
@@ -463,14 +464,16 @@ def autoconfig_ipv4_setup():
     acfg.ipv4_interface_setup()
 
 
-def autoconfig_create_vm():
+def autoconfig_create_iperf_vm():
     """
     Setup IPv4 interfaces
 
     """
 
     acfg = AutoConfig(rootdir, VPP_AUTO_CONFIGURATION_FILE)
-    acfg.create_and_bridge_virtual_interfaces()
+    acfg.destroy_iperf_vm('iperf-server')
+    acfg.create_and_bridge_iperf_virtual_interface()
+    acfg.create_iperf_vm('iperf-server')
 
 
 def autoconfig_not_implemented():
@@ -490,13 +493,9 @@ def autoconfig_basic_test_menu():
 
     basic_menu_text = '\nWhat would you like to do?\n\n\
 1) List/Create Simple IPv4 Setup\n\
+2) Create an iperf VM and Connect to VPP an interface\n\
 9 or q) Back to main menu.'
 
-    # 1) List/Create Simple IPv4 Setup\n\
-    # 2) List/Create Create VM and Connect to VPP interfaces\n\
-    # 9 or q) Back to main menu.'
-
-
     print "{}".format(basic_menu_text)
 
     input_valid = False
@@ -534,8 +533,8 @@ def autoconfig_basic_test():
         answer = autoconfig_basic_test_menu()
         if answer == '1':
             autoconfig_ipv4_setup()
-        elif answer == '2':
-         #    autoconfig_create_vm()
+        elif answer == '2':
+            autoconfig_create_iperf_vm()
         elif answer == '9' or answer == 'q':
             return
         else:
@@ -618,8 +617,6 @@ def autoconfig_setup(ask_questions=True):
 
     global rootdir
 
-    logging.basicConfig(level=logging.ERROR)
-
     distro = VPPUtil.get_linux_distro()
     if distro[0] == 'Ubuntu':
         rootdir = '/usr/local'
@@ -659,7 +656,14 @@ def autoconfig_setup(ask_questions=True):
                 (os.path.isfile(VPP_REAL_GRUB_FILE) is True):
             autoconfig_cp(node, VPP_REAL_GRUB_FILE, '{}'.format(rootdir + VPP_GRUB_FILE))
 
+        # Be sure the uio_pci_generic driver is installed
+        cmd = 'modprobe uio_pci_generic'
+        (ret, stdout, stderr) = VPPUtil.exec_command(cmd)
+        if ret != 0:
+            logging.warning('{} failed on node {} {}'. format(cmd, node['host'], stderr))
 
+
+# noinspection PyUnresolvedReferences
 def execute_with_args(args):
     """
     Execute the configuration utility with agruments.
@@ -692,9 +696,16 @@ def config_main():
     if not os.geteuid() == 0:
         sys.exit('\nPlease run the VPP Configuration Utility as root.')
 
+    if len(sys.argv) > 1 and ((sys.argv[1] == '-d') or (sys.argv[1] == '--debug')):
+        logging.basicConfig(level=logging.DEBUG)
+    else:
+        logging.basicConfig(level=logging.ERROR)
+
     # If no arguments were entered, ask the user questions to get the main parameters
     if len(sys.argv) == 1:
-        # Main menu
+        autoconfig_main()
+        return
+    elif len(sys.argv) == 2 and (sys.argv[1] == '-d' or sys.argv[1] == '--debug'):
         autoconfig_main()
         return
 
@@ -717,5 +728,4 @@ in an interactive mode'
 
 
 if __name__ == '__main__':
-
     config_main()