• V1.0.5 9a11c1d5bb

    etwen released this 2026-08-21 16:06:54 +08:00 | 39 commits to main since this release

    Blanton TTL Script V1.0.5

    One test run is Script A (baseline) -> B (soak) -> C (verdict), all captured in a single Tera Term log.

    New features

    Partly populated DUTs

    • config.ttl declares the switch population once:

      SWB_UNIT0 = 1   ; this DUT has switch unit 0
      SWB_UNIT1 = 1   ; this DUT has switch unit 1
      
    • The traffic blocks in A, B and C branch on it: no -u when both units are fitted (the tool's own TL_UNITS="0 1" applies), -u 0 or -u 1 for a single one, and the whole stage is skipped when neither is set

    • utils/wait_init.ttl reads the same two flags, so the wait and the traffic cannot disagree about what is installed

    Readiness gate

    • Script A now waits on the data plane rather than the sensors: it polls bcmcmd -n <u> -c ps | grep -w up | wc -l and proceeds once every fitted unit reports at least WT_MIN (216) ports up — 216 being 108 loopback pairs x 2, i.e. every cabled port

    BMC

    • bmc_monitor.sh (samples free -m) and bmc_monitor_ddr.sh (memtester) run through the soak via bmc-manager run, started by Script B and collected by Script C

    Inventory and link state

    • Script A: boot image, board EEPROM (hpe-eeprom-tlv), BMC version, 100G uplink configuration and status, uptime
    • Script C: show reboot-cause and uptime, so an unplanned reset during the soak shows up in the closing snapshot
    • LLDP disabled and transceiver low-power mode cleared before traffic, so the loopback counters only reflect the injected burst

    🐛 Bug fixes

    • Script A never got past the port wait. The threshold was strictly greater than 216, but a fully cabled unit reports exactly 216, so the loop spun forever on the very state it was waiting for. Now "at least 216"
    • Single-unit traffic paths were unreachable. All nine branch conditions compared SWB_UNIT0 against itself, so a DUT with only unit 0 ran the both-unit commands against an absent unit 1, and a DUT with only unit 1 skipped traffic altogether
    • config save -y was sent without waiting for the prompt, leaving the macro one step ahead of the DUT from that point on

    ⚠️ Deployment notes

    scp -r src/Script_ABC_Blanton/Blanton_Script admin@<DUT>:~/
    chmod +x ~/Blanton_Script/bmc_monitor*.sh      # required -- see below
    grep -rlU $'\r' ~/Blanton_Script               # expect no output
    

    The chmod +x is still not optional. bmc_monitor*.sh are executed rather than sourced, do_start re-execs its own path, and neither git (mode 100644) nor a Windows/USB copy carries the execute bit. Without it Script B's start fails with Permission denied and Script C's cat finds nothing — the BMC section ends up empty and nothing reports an error.

    Two settings in this build persist to config_db.json and survive a reboot: LLDP is left disabled, and Ethernet513 is left shut down. Restore them before the DUT moves on to other work.

    📦 Downloads

    File Contents
    Script_ABC_Blanton_V1.0.5.zip The full Tera Term working directory, including Blanton_Script/ to scp onto the DUT
    Downloads