Contents Menu Expand Light mode Dark mode Auto light/dark, in light mode Auto light/dark, in dark mode Skip to content
SRE / sysreseval
SRE / sysreseval

Utilisation

  • Overview
    • Student Workflow
    • Monitoring of a session
    • Running exams
    • Post-exam workflow
  • Exam Administration
    • Lifecycle at a glance
    • Setting up an exam — sre set-exam
    • Monitoring an exam
      • Clean up after an exam
    • Exam-only labs
    • Post-exam workflow
      • Inspect a single archive
      • Re-grade with a corrected project file
      • Per-student PDF reports + summary spreadsheet
      • Export to a spreadsheet

Authoring Labs

  • Lab Authoring Guide
    • The authoring workflow on the CLI
      • sre check [-p] <lab> [<state>]
      • sre start --debug-project [-p] <lab> [--xauth-file <path>]
      • sre connect <running_lab> <device> and sre exec <running_lab> <device> <command…>
      • sre state <running_lab> <state_name>
      • sre eval <running_lab>
      • sre wipe
    • Identifying a running lab and where its files live
    • The four classes at a glance
    • Data class
      • IP helper functions (from /opt/sre/lib/ips.py)
      • compute_pre_generate and compute_post_generate
    • Flavor class
    • NetScheme class
      • Declarations and accessors
      • Machine constructor parameters
    • State methods
      • @sre_state decorator
      • Per-machine operations
      • File transfer between host and container
      • Host-side operations
      • Multi-step state setup — the step parameter
      • Network config helpers (from /opt/sre/lib/net_config.py)
      • State helpers (from /opt/sre/lib/state_helpers.py)
    • Grade class
      • The grading lifecycle
      • Grade parts
      • Self-eval vs instructor-eval scope
      • Cheat answers
      • Letter grades vs numeric marks
      • Overriding mark_exo_eval() to adjust the overall mark
      • Grade methods
    • Grading Library Reference
      • DHCP helpers (from /opt/sre/lib/dhcp.py)
      • TLS helpers (from /opt/sre/lib/tls.py)
      • TCP port helpers (from /opt/sre/lib/grade_helpers.py)
      • OSPF helpers (from /opt/sre/lib/frr.py)
      • Standard machine wiring (from /opt/sre/lib/std.py)
      • Miscellaneous generators (from /opt/sre/lib/utils.py)
      • Network inspection helpers (from /opt/sre/lib/net_config.py)
      • Ping helper (from /opt/sre/lib/ping.py)
      • SSH helpers (from /opt/sre/lib/ssh.py)
      • Packet capture helpers (from /opt/sre/lib/pcap_gen.py)
    • Module-level Attributes
      • Lab identity and presentation
      • Student self-evaluation
      • Automatic evaluation
      • Archives and recordings
      • State machine and flavors
      • Filesystem and export
      • Schema rendering
    • Complete Minimal Example
  • Translating a Lab
    • Internationalization with tr() / make_tr()
    • Marking strings that must NOT be translated: no_tr()
    • Centralizing translations with _TRANSLATIONS
      • Where to put _TRANSLATIONS
      • Dynamic strings with format placeholders
    • Translation toolchain
      • 1. prepare-sre-translations — migrate and scaffold
      • 2. check-sre-translations — verify consistency
      • 3. add-sre-translations — machine-translate missing strings
    • Complete translation workflow
    • Switching the default language: --change-default-language
      • Prerequisites
      • Example: switching to English as a pivot before translating

Installation and Setup

  • Installation and Setup
    • Prerequisites
    • Deployment layout
    • Running the installer
    • Install manually
    • Post-install steps
      • 1. Deploy and verify
      • 2. Raise inotify limits
      • 3. Enable X11 access for lab virtual machines
      • 4. Restricting student access to Docker
      • 5. Sharing evaluation archives for sre watch
      • 6. Pre-loading Docker images
    • Reference
      • Build targets
      • Tests
      • Building the documentation
      • Dependencies

Reference

  • GUI Reference — sysreseval
    • Launching
    • Opening a project
    • Project tabs
    • Exam mode
    • Settings
  • CLI Reference — sre
    • Global options
    • Dual commands
      • sre start [-d data] [-p] [--flavor … | --flavor-json … | --set-flavor-name …] [--xauth-file <file>] <lab> [data_version]
      • sre stop <running_lab>
      • sre wipe
      • sre connect [--shell <shell>] [--exec <argument…>] [--no-records] <running_lab> <device>
      • sre eval [-p path] [--auto-eval] <running_lab>
      • sre state <running_lab> <state_name>
    • Admin-only commands
      • sre exec [--shell <shell>] <running_lab> <device> <command…>
      • sre eval-all [--display-grades / --no-display-grades]
      • sre check [-p] <lab> [<state>]
      • sre watch [--timeout <sec>] [--interval <sec>] <dir…>
      • sre preload-images [--random-delay <sec>] <file_or_dir…>
      • sre make-titles [-o <file> | -r] <directory>
    • Exam management
      • sre set-exam [options]
      • sre del-exam
      • sre save-records -d <dir> [--only-last-record]
    • Post-exam management
      • sre cat [options] <file…>
      • sre check-eval [-s <srelab>] <file…>
      • sre re-eval -s <srelab> -p <prefix> [-d <outdir>] [-r] <file_or_dir…>
      • sre sheet -o <output.ods> [-r] <file_or_dir…>
      • sre outline [-o <summary.ods>] [-d <pdf_dir>] [-r] [--lang <lang>] [--no-timeline] [--remaining-time] [--users-file <file>] <file_or_dir…>
    • Internal commands (GUI-only)
      • sre list [--with-titles]
      • sre export <running_lab> [--sep <N>] [--curved] [--shapes] [--reverse] [--random-seed <N>]
      • sre pre-start-exam
      • sre start-exam
      • sre eval-exam
      • sre end-exam
  • Exam Reference
    • exam.json — single source of truth
    • GUI exam logic
    • Commands
  • Runtime & Internals
    • Architecture
    • Filesystem layout
      • Running lab directory
    • Configuration
      • Constants (src/SRE/params.py)
      • Environment variables
      • Locale
    • Dynamic module loading
    • Data serialization
    • Test execution
    • Progress reporting
    • Security model
    • Archive format
Back to top
Copyright ©
Made with Sphinx and @pradyunsg's Furo