mirror of
				https://github.com/Telecominfraproject/wlan-lanforge-scripts.git
				synced 2025-11-03 20:27:54 +00:00 
			
		
		
		
	lf_check.py : stored simplified version of LANforge in meta file
lf_qa.py : read test_tag from meta file Signed-off-by: Chuck SmileyRekiere <chuck.smileyrekiere@candelatech.com>
This commit is contained in:
		@@ -126,6 +126,10 @@ class lf_check():
 | 
				
			|||||||
        self.background_purple = "background-color:purple"
 | 
					        self.background_purple = "background-color:purple"
 | 
				
			||||||
        self.background_blue = "background-color:blue"
 | 
					        self.background_blue = "background-color:blue"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        # LANforge information
 | 
				
			||||||
 | 
					        self.lanforge_gui_version_full = ""
 | 
				
			||||||
 | 
					        self.lanforge_gui_version = ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        # results
 | 
					        # results
 | 
				
			||||||
        self.test_start_time = ""
 | 
					        self.test_start_time = ""
 | 
				
			||||||
        self.test_end_time = ""
 | 
					        self.test_end_time = ""
 | 
				
			||||||
@@ -285,12 +289,14 @@ class lf_check():
 | 
				
			|||||||
        ssh.connect(hostname=self.lf_mgr_ip, port=22, username=self.lf_mgr_user, password=self.lf_mgr_pass,
 | 
					        ssh.connect(hostname=self.lf_mgr_ip, port=22, username=self.lf_mgr_user, password=self.lf_mgr_pass,
 | 
				
			||||||
                    allow_agent=False, look_for_keys=False, banner_timeout=600)
 | 
					                    allow_agent=False, look_for_keys=False, banner_timeout=600)
 | 
				
			||||||
        stdin, stdout, stderr = ssh.exec_command('./btserver --version | grep  Version')
 | 
					        stdin, stdout, stderr = ssh.exec_command('./btserver --version | grep  Version')
 | 
				
			||||||
        lanforge_gui_version = stdout.readlines()
 | 
					        self.lanforge_gui_version_full = stdout.readlines()
 | 
				
			||||||
        # print('\n'.join(output))
 | 
					        # print('\n'.join(output))
 | 
				
			||||||
        lanforge_gui_version = [line.replace('\n', '') for line in lanforge_gui_version]
 | 
					        self.lanforge_gui_version_full = [line.replace('\n', '') for line in self.lanforge_gui_version_full]
 | 
				
			||||||
 | 
					        self.lanforge_gui_version = self.lanforge_gui_verion_full.split('Version:',maxsplit=1)[-1].split(maxsplit=1)[0]
 | 
				
			||||||
 | 
					        self.lanforge_gui_version = self.lanforge_gui_version.strip()
 | 
				
			||||||
        ssh.close()
 | 
					        ssh.close()
 | 
				
			||||||
        time.sleep(1)
 | 
					        time.sleep(1)
 | 
				
			||||||
        return lanforge_gui_version
 | 
					        return self.lanforge_gui_version_full
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def get_radio_status(self):
 | 
					    def get_radio_status(self):
 | 
				
			||||||
        radio_status = self.json_get("/radiostatus/all")
 | 
					        radio_status = self.json_get("/radiostatus/all")
 | 
				
			||||||
@@ -1042,21 +1048,21 @@ NOTE: Diagrams are links in dashboard""".format(ip_qa=ip,qa_url=qa_url)
 | 
				
			|||||||
                                    break
 | 
					                                    break
 | 
				
			||||||
                            stdout_log_fd.close()
 | 
					                            stdout_log_fd.close()
 | 
				
			||||||
                        if meta_data_path != "":
 | 
					                        if meta_data_path != "":
 | 
				
			||||||
                            meta_data = open(meta_data_path,'w')
 | 
					                            meta_data_fd = open(meta_data_path,'w')
 | 
				
			||||||
                            meta_data.write('$ Generated by Candela Technologies LANforge network testing tool\n')
 | 
					                            meta_data_fd.write('$ Generated by Candela Technologies LANforge network testing tool\n')
 | 
				
			||||||
                            meta_data.write('$ meta.txt file location\n')
 | 
					                            meta_data_fd.write('$ meta.txt file location\n')
 | 
				
			||||||
                            meta_data.write("file {path}\n".format(path=meta_data_path))
 | 
					                            meta_data_fd.write("file {path}\n".format(path=meta_data_path))
 | 
				
			||||||
                            meta_data.write('$ LANforge command\n')
 | 
					                            meta_data_fd.write('$ LANforge GUI\n')
 | 
				
			||||||
                            meta_data.write("command {command}\n".format(command=command))
 | 
					                            meta_data_fd.write('gui_version: {gui_version}'.format(gui_version=self.lanforge_gui_version))
 | 
				
			||||||
 | 
					                            meta_data_fd.write('$ LANforge command\n')
 | 
				
			||||||
 | 
					                            meta_data_fd.write("command {command}\n".format(command=command))
 | 
				
			||||||
                            # split command at test-tag , at rest of string once at the actual test-tag value
 | 
					                            # split command at test-tag , at rest of string once at the actual test-tag value
 | 
				
			||||||
                            test_tag = command.split('test_tag',maxsplit=1)[-1].split(maxsplit=1)[0]
 | 
					                            test_tag = command.split('test_tag',maxsplit=1)[-1].split(maxsplit=1)[0]
 | 
				
			||||||
                            test_tag = test_tag.replace("'","")
 | 
					                            test_tag = test_tag.replace("'","")
 | 
				
			||||||
                            meta_data.write('$ LANforge command\n')
 | 
					                            meta_data_fd.write('$ LANforge test_tag\n')
 | 
				
			||||||
                            meta_data.write("test_tag {test_tag}\n".format(test_tag=test_tag))
 | 
					                            meta_data_fd.write("test_tag {test_tag}\n".format(test_tag=test_tag))
 | 
				
			||||||
                            meta_data.write('$ LANforge Information\n')
 | 
					                            meta_data_fd.write('$ LANforge Information\n')
 | 
				
			||||||
                            meta_data.close()
 | 
					                            meta_data_fd.close()
 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    if self.test_result != "TIMEOUT":
 | 
					                    if self.test_result != "TIMEOUT":
 | 
				
			||||||
                        stderr_log_size = os.path.getsize(stderr_log_txt)
 | 
					                        stderr_log_size = os.path.getsize(stderr_log_txt)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -114,6 +114,39 @@ class csv_sqlite_dash():
 | 
				
			|||||||
            print("exception reading csv _kpi_path {}".format(_kpi_path))
 | 
					            print("exception reading csv _kpi_path {}".format(_kpi_path))
 | 
				
			||||||
        return test_id , test_tag
 | 
					        return test_id , test_tag
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # could enter on the command line, except there may be other exceptions
 | 
				
			||||||
 | 
					    # may need an exception file
 | 
				
			||||||
 | 
					    def get_test_tag_from_meta(self,_kpi_path):
 | 
				
			||||||
 | 
					        test_tag = "NA"
 | 
				
			||||||
 | 
					        use_meta_test_tag = False
 | 
				
			||||||
 | 
					        gui_version_5_4_3 = False
 | 
				
			||||||
 | 
					        try: 
 | 
				
			||||||
 | 
					            meta_data_path = _kpi_path + '/' + '/meta.txt'
 | 
				
			||||||
 | 
					            meta_data_fd = open(meta_data_path, 'r')
 | 
				
			||||||
 | 
					            for line in meta_data_fd:
 | 
				
			||||||
 | 
					                if "gui_version:" in line:
 | 
				
			||||||
 | 
					                    gui_version = line.replace("gui_version:","")
 | 
				
			||||||
 | 
					                    gui_version = gui_version.strip()
 | 
				
			||||||
 | 
					                    if gui_version =='5.4.3':
 | 
				
			||||||
 | 
					                        gui_version_5_4_3 = True
 | 
				
			||||||
 | 
					                        use_meta_test_tag = True
 | 
				
			||||||
 | 
					                    print("meta_data_path: {meta_data_path} gui_version: {gui_version} 5.4.3: {gui_version_5_4_3}".format(
 | 
				
			||||||
 | 
					                        meta_data_path=meta_data_path,gui_version=gui_version,gui_version_5_4_3=gui_version_5_4_3))
 | 
				
			||||||
 | 
					            meta_data_fd.close()  
 | 
				
			||||||
 | 
					            if  gui_version_5_4_3:                
 | 
				
			||||||
 | 
					                meta_data_fd = open(meta_data_path, 'r')
 | 
				
			||||||
 | 
					                test_tag = 'NA'
 | 
				
			||||||
 | 
					                for line in meta_data_fd:
 | 
				
			||||||
 | 
					                    if "test_tag" in line:
 | 
				
			||||||
 | 
					                        test_tag = line.replace("test_tag","")
 | 
				
			||||||
 | 
					                        test_tag = test_tag.strip()
 | 
				
			||||||
 | 
					                        print("meta_data_path {meta_data_path} test_tag {test_tag}".format(meta_data_path=meta_data_path,test_tag=test_tag))
 | 
				
			||||||
 | 
					                meta_data_fd.close()                    
 | 
				
			||||||
 | 
					        except:
 | 
				
			||||||
 | 
					            print("exception reading test_tag from {_kpi_path}".format(_kpi_path=_kpi_path)) 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        return use_meta_test_tag, test_tag
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    #TODO pass in list to lf_report
 | 
					    #TODO pass in list to lf_report
 | 
				
			||||||
    #  <table border="1" class="dataframe">
 | 
					    #  <table border="1" class="dataframe">
 | 
				
			||||||
    def get_suite_html(self):
 | 
					    def get_suite_html(self):
 | 
				
			||||||
@@ -208,7 +241,11 @@ class csv_sqlite_dash():
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        for kpi in self.kpi_list: #TODO note empty kpi.csv failed test 
 | 
					        for kpi in self.kpi_list: #TODO note empty kpi.csv failed test 
 | 
				
			||||||
            df_kpi_tmp = pd.read_csv(kpi, sep='\t')  
 | 
					            df_kpi_tmp = pd.read_csv(kpi, sep='\t')  
 | 
				
			||||||
            df_kpi_tmp['kpi_path'] = str(kpi).replace('kpi.csv','')  # only store the path to the kpi.csv file
 | 
					            _kpi_path = str(kpi).replace('kpi.csv','')  # only store the path to the kpi.csv file
 | 
				
			||||||
 | 
					            df_kpi_tmp['kpi_path'] = _kpi_path
 | 
				
			||||||
 | 
					            use_meta_test_tag, test_tag = self.get_test_tag_from_meta(_kpi_path)
 | 
				
			||||||
 | 
					            if use_meta_test_tag:
 | 
				
			||||||
 | 
					                df_kpi_tmp['test_tag'] = test_tag
 | 
				
			||||||
            df_kpi_tmp = df_kpi_tmp.append(df_kpi_tmp, ignore_index=True)
 | 
					            df_kpi_tmp = df_kpi_tmp.append(df_kpi_tmp, ignore_index=True)
 | 
				
			||||||
            self.df = self.df.append(df_kpi_tmp, ignore_index=True)
 | 
					            self.df = self.df.append(df_kpi_tmp, ignore_index=True)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -243,6 +280,7 @@ class csv_sqlite_dash():
 | 
				
			|||||||
        test_tag_list = list(df3['test-tag'])
 | 
					        test_tag_list = list(df3['test-tag'])
 | 
				
			||||||
        test_tag_list = list(set(test_tag_list))
 | 
					        test_tag_list = list(set(test_tag_list))
 | 
				
			||||||
        print("test_tag_list: {}".format(test_tag_list) )
 | 
					        print("test_tag_list: {}".format(test_tag_list) )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
        test_rig_list = list(df3['test-rig'])
 | 
					        test_rig_list = list(df3['test-rig'])
 | 
				
			||||||
        test_rig_list = list(set(test_rig_list))
 | 
					        test_rig_list = list(set(test_rig_list))
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user