Skip to content
This repository has been archived by the owner on Mar 31, 2023. It is now read-only.

Zach-Iglu/Hypervisor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Task List

Unsorted Goals
v0.2 Task List - Regression Update
  • VNC button will do the same as open-->New x11vnc session IF vnc is not enabled inside of testbed
  • Do size check before installing DB

Sprint 1:

  • Centralize Report Location
    • ICL1
      • Manual
      • Server
    • ICL2
      • Manual
      • Server
  • Auto-Start ICl2 Autonomous Scripts
  • Localize Option for Reports
    • REDUNDANT because if you can see it to display it is local
  • Increase Robust Automation for ICL1
  • [ ]

GUI Dashboard Fixes

  • Make New WinSCP Connection via button
  • Select new VNC window when new display is made
  • fix putty buttons
  • closing vnc window also closes the tab
  • Testbed tab to change settings and update the selected testbed

Autonomous Execution Server

  • Allocate Tests to Testbeds
  • See status of tests
  • Abort tests
  • See Queue of Tests
  • Version Control
    • Save data to local machine
      • You Pick The Save Location
    • Some sort of version regression control
    • Save taps plot data(?)
    • Save PDF
    • Save Command Reports
    • Save Taps Plots PDF
  • State Machine Command Control
    • Reset To Default State
    • Restart iTACS
    • Sync Database
    • GSP/MP
    • Launch iTACS
    • Connect to Spacecraft and set active
    • Launch Test
    • Clean Up
    • Fault Conditions
      • Abort

Reservations

  • Actually fix time sync for reservations
  • Reservation Control
    • Create New Reservation
      • Only if your username is included in the description

Log Manipulation Features

  • Copy timestamp of plot and make a new plot of PIDs using that (See other set of TLM over the same time frame)
    • Plot modifier
  • button to view report (parses XML file from /taps/data/reports)
    • craft what the script file name without timestamp
    • get xml file dump of all the potential scripts
    • Parse through the until you find the error
    • Return that and parse the message/input lines
    • present that to the user
    • error control if it can't find the error in the reports
  • GRMON release button (kills all ssh consoles server-side to release GRMON)
  • Centralize Report Location
  • Unify log locations when generating reports

Regression Testing Features

  • Log completed tests
  • Use test times in error logs to track # errors per run of test
  • Use test time in error logs to sort by test groups / tests
  • Export tests (taps, command reports, taps reports) to local file folder
    • Option to add testbed configs used to run tests
  • Export Plots and Report as PDF to select location
v0.19 Task List - Creature Comfort Update

Final Checklist Before Release

  • Excel Repackager
  • fix stopping other scripts when running new test on different testbed
  • fix ICl1 X11 automation
    • Testbed specific automation.status
  • choose to ignore or to update when DB mismatch
  • Run ICL2 File Check if Line #'s are correct (or incrementing)
  • Run ICL1 File In Automated Mode to Check that Error Handling is working correctly
  • Source Errors and Scripts and Try to get that to break
    • Fix crashing when opening command reports / pdfs
  • Test that prompts are accurate and none are missing
  • Repackage excel databases
    • Add button to repackage from main page

New Features

  • All the open --> tabs will auto-launch into x11vnc if session is open
  • fix error when deleting local x11vnc connections
  • remove slightly worse awe event viewer
  • Allow table editing to copy errors
  • Recording errors only calculates SC time once for each source
  • snvops update selection
  • Test default use-cases of ICL1 scripted automation to make sure it is rock solid
  • Sort errors
    • source script sorting by errors
    • source script sorting by script
    • source script sorting by keyword
  • Notify User when finishing sourcing errors
  • Use terminal command to kill hypervisor when main window exits (prevent hanging or background processes sticking)

Running Tests

  • Error tracking always on
    • ICL1
    • ICL2
  • copy back the framework file once the test is completed to
  • Log Just Errors in .err file for that specific test
  • STAAR Reports Should Just be 'TAPS Reports'
  • Ability to edit scripts (only if they have errors)
    • Alert user if it can't find the file
  • Stamp Spacecraft Time and System Time in reports
    • import test data
    • export test data
  • Export
    • Tests
      • Exporting Tests will also export the associated testbeds
    • Plots
    • Testbeds
  • TLM check for downlink rate for ICL2
    • Downlink rate not mapped to TLM so we can't do a check
  • Make sure to kill all the icl1 backend threads before starting new icl1 thread
  • Put in autokill function to terminate iff:
    • some file in the automation/ directory tells them to do so
    • automatically send the script termination for everything before running any script
    • Alert user that this will kill any actively running ICL1 tests on that SWT/HWT

User Experience

  • Display Vehicle name in main display
  • 'Email Scripts' Change to 'Email Scripts To Self'
  • Fix weird SED error when launching ICL1 script
  • Fix strange issue with starting live plots
  • When launching automated scripts on the 'press ok to launch ' include the hostname
  • Move nautlius items to new thread so they don't crash when opening files
    • remove nautilus button (don't ever use it)
  • Error tracking defaults to currently active testbed for sourcing
  • Running tests automatically defaults to currently selected testbed
v0.18 - Task List

Test Before Push

  • Update Default Testbeds with HWT/SWT Information
  • Run ICl1 and ICL2 Test non-Automated
  • Run ICL1 and ICL2 Test Automated
  • Test Every new feature
    • Logging
    • Serial Ports in X11vnc
    • Itacs DB Change
    • Launching w/o errors into x11vnc from automation
    • Update Defaults to include HWT/SWT selection
    • Testbed selection persists through restarts
    • Confirm X11vnc Session Manipulation

New Features

  • Prevent Automation check for icl2 on SWT
  • prevent SCON selection for SWT
  • Console logging for every session
  • Submit bug report (with log file as an attachment)
  • Add script error proc in icl2 automated
  • Add drop down when running test
    • Do Not Run SCON
    • Run SCON at the beginning
    • Run SCON before every script
    • Integrate for ICL1/ICL2
  • 'LATEST' keyword integrated when launching serial ports
  • Add Reservation Link under Edit--> Reservations
  • About popup button for forwarding to explain what that setting does

Polishing / Frontend

  • Launch GSP/MP ports inside x11vnc
  • Killing server side xvnc will wipe the saved config files
  • All powerful commands have an additional prompt to confirm before executing (killing sessions, etc)
  • 'Logging' setting to turn on/off creation of log files for bug reports
  • Go through GUIs and to make everything more understandable (explain / expand upon more so easier to understand)
  • Add extra prompt to confirm running test on testbed
  • Confirm VNC session RFB and VNCserver are set up correctly
  • Fix Live PIDS not working
  • Remove ask to kill VNC sessions when exiting
  • Triple Check ICl1 Reports
  • Prompt When Launching MP/GSP Serial ports
  • Testbed configuration closes on save
  • Tell user where it put the file when it generated the test
  • Prompt the user AFTER starting automated test.
    • If ICL2, note that the user must start it
    • If ICL1, alert the user that the script has auto-started
  • Fix ghost entries in x11vnc session manager ## HOLD this until very end to see if it fixed itself
  • Remove adding timestamp to automated file.. it fills a lot of space FAST
  • Kill the console no matter what if we exit out of the main window
  • Prompt to open a new vnc window if that is enabled?
  • Remove launch SWT option if on a HWT
    • HWT/SWT combo box in testbed configuration, default to SWT because that has more features
  • Initialization testbed boot checks to auto-add any missing pieces in the testbeds
  • Auto-refresh data when saving any kind of file
  • Testbed persists on restarts (keeps last selected)
  • Can't email unless email address is legitimate
v0.17 Task List
  • Read global vnc ports in from files on startup (and fix weird newlines)
  • File -> Import all the .ini files
    • Plots
    • Tests
    • Testbeds
  • Restart iTACS still not working (FIX IT)
  • Kill all vncservers running on testbed (server-side kill regardless of stored sessions)
  • 'Latest' iTACS DB keyword to always use the latest iTACS DB Version
v0.16 Task List

Automation

  • ICL1 Automation
    • Get Log Files / Serial out Of ScriptViewer into Python
v0.15 Task List

General

  • Sort Testbeds in Combo Box by name and not date added
  • Close all stored VNC sessions
  • Change command report button in test to be '/taps/data/reports/'
  • X11VNC Session Manager
    • Option to join existing x11vnc session (asks for port and then off to the races)
    • Lists tracked sessions to rejoin or kill
  • VNC Sessions Persist Across Hypervisor sessions

Collaboration

  • More of a multiscripter feature but auto-generate a taps plot from associated TLM from a file (uses tlmdDeriver)
    • Add 'Dynamic Plots' as a check for running a test so each plot is different and relevant
    • This feature will ADD ON TO EXISTING PIDS and will NOT OVERWRITE ANY PIDS LISTED // EDIT THIS IS CRAP just make a dynamic one
    • Must be ran before timestamps are included
    • Add 'Only Dynamics' Button to only generate dynamic plots
  • 'Set Packet Cluster to 4, CFV Packet Enable' button
  • 8K/144k Downlink rate combo box
  • Add in FDIR Default PIDS as a check to add in a default list
  • 'Monitor Remotely' button to remotely monitor a currently running test in ICL1 (must be prompted with port number)

Remote Script Management / Execution

  • Create Command Report PDF's in the multiScripter/Reports/ directory
    • As much as it sucks to do, we need to use the multiscripter.sh to do this and it will be super easy with the framework file
  • 'Command Report' button which opens nautilus on the multiScripter/Reports/ directory
  • Renamer.sh portion only renames the os.getlogin() and test name, keep the time code
  • 'Live Plots' button to auto-generate a plot starting from now until 1 hour into the future of the currently selected plot template
  • 'TAPS' button to bring up the existing TAPS plot for that test (any test ran will append to this file)
  • 'Simple' Check to open a single script with no fancy additions
    • Only if a single file is in the test
    • UPDATE: Actually just make it so you can check/mark the scripts you want to run in the test-set. Can select only 1 to just run that
  • Generate Test Via Run Test Button
  • have a 'Test Framework' that looks like
    beginTime=X
    endTime=X
    Name=X
    template=X
    etc...
  • And source that from multiscripter to build out a taps plot or anything else for the future
  • FIX Selecting cancell on x11 prompt for scripted command gui and icl2
  • ICL1 and ICL2 Compatability
    • Fix ICL2 GUI not launching
  • Move ScriptViewer to new thread so it will continue even if Hypervisor crashes / exits
  • In special environment edit do a label with the find and replace in ICL1/ICL2 so you can see the expected output
  • Automated check for ICL2 to run without user interaction (Once started)
  • Change add taps plot file dialog to the windows default one used to send files over email
  • Option to Generate and Run or just Generate
  • X11vnc forward command to x display? Bring up script in that session?
  • Detect and view taps plots made by that test
  • 'Automated' to run scripts without any interaction after starting
  • Global settings(?) Or default test setting(?) for plot template and script directories on remote machines
    • UPDATE: Just uses default multiscripter/ location
  • Function which forces the multiScripter to check for any plot frameworks to covert to plots.
    • This will run any time the user hit the 'TAPS' button when viewing a test

Plot Templates

  • fix plot templates always being the wrong vehicle
  • Add plot templates (edit, add, remove, etc)
  • CONVERT EXISTING TAPS PLOT TO HYPERVISOR TEMPLATE
    • Able to select test to convert from within multi-plot taps xml
v0.14 Task List

general

  • Check Function to create empty config file for global config if there is none
  • Add 'Both' option for X11/X11vnc forwarding
  • VNCviewer support
  • Auto detect PuttY, WinSCP, Xming and VNCviewer to allow/block access to things
  • Display if it found ---^ and errors associated with it in the settings window
  • VNC Configuration in testbed config
  • move all .txt command files to seperate folder so the root directory is very clean
  • clean up the .txt files not used any more --^ on boot
  • FSW Build Check Box for iTACS DB revisions to load FSW local builds
  • Status bar at the bottom of main screen for diagnostic information
  • Buttons not off/on with configuration changes, fix getting stuck off
  • Extra prompt before restarting iTACS, VNC, or both together

x11vnc

  • vncserver setup
  • x11vnc setup
  • only makes one vncserver per session, auto-reconnects x11vnc
  • prompt to kill all active vncservers on exit (might want them up in case of quick hypervisor restart or something)
  • button to make new vncserver session to have multiple vnc windows
  • Alert user if vncviewer is not installed and they have selected x11vnc