test: retain completed two-hour client lifecycle evidence
v2-ci / unit-tests (pull_request) Has been cancelled

This commit is contained in:
Joseph Doherty
2026-11-10 14:54:38 -05:00
parent c6c05a1001
commit ab35ddd3c2
9 changed files with 2951 additions and 23 deletions
+42 -5
View File
@@ -321,16 +321,24 @@ The same-cap self-contained **Linux ARM64 server/node-manager workload also
failed**, at **248 cycles / 61 restarts / 903.508 seconds**: RSS353,931,264
exceeded351,850,496 bytes (cycle3 baseline+128MiB). Managed memory~20.5MB,
descriptors189, PKI descriptors0, cached stores2 and logical collections remained
bounded. Runtime10.0.14, SDK2.0.1; test/container/launcher fail. This broadens
bounded. Runtime10.0.14, SDK 2.0.1; test/container/launcher fail. This broadens
#799 beyond macOS; no complete/two-hour pass exists.
[Selected Linux failed-run receipts](evidence/2026-11-10-opcua2/server-linux-soak-failed.json)
retain hashes, unchanged limits, positive descriptor controls and failure.
The independent root-owned actual production Shared/driver/live-reinitialize/
browser lifecycle run on Linux is still in progress. Its final elapsed duration,
counters, resource limits and completion/exit guards must be recorded separately.
A short diagnostic, a running process, or a different workload is never substituted
for a required passing gate. G4 and release approval remain open.
browser lifecycle run on Linux **passed after 7,200.984 seconds**, with 5,420 cycles,
10,840 rounds per product, 10,840 additional live driver reinitializations and
43,360 verified certificate-manager disposals. All 543 samples had zero weak product
survivors and zero open PKI descriptors. Final managed memory was 3,988,520 bytes,
RSS 86,102,016 bytes and global FDs 148. Own certificates remained unchanged; the
manager disposal positive control passed. Container/test exit 0 and the real
monotonic duration guard passed. [Full counter/hash receipts](../../scripts/validation/opcua-client-lifecycle/evidence/2026-11-10-full/verification.json)
record source `c25561c6`, exact SDK 2.0.1 and Linux ARM64 runtime 10.0.3. The later
HG 1.0 consumer change is independently tested and does not relabel these artifacts.
This is a completed client lifecycle gate, **not an RSS performance-budget or full
G4 pass**. Its workload does not replace the failed canonical server soak.
G4 and release approval remain open.
## Final integrated source review and diagnostic instrumentation
@@ -392,3 +400,32 @@ That experiment has not run and cannot pass G4. Matched full acceptance requires
an original-SDK adapter for the identical canonical workload and at least7,200
seconds **after** a prospectively reviewed fixed warmup. Historical failures and
macOS native retention remain open in #799. No release approval was given.
## Included HistorianGateway 1.0 consumer change
The user's added [historiangw#131](https://gitea.dohertylan.com/dohertj2/historiangw/issues/131)
was delivered independently on OtOpcUa master `230cef4e`, then merged into the
SDK2 branch at `67bc6123`. Both real published Client/Contracts packages are 1.0.0;
the adapter maps `AllowUntrustedServerCertificate = UseTls && configuredOptOut`
and retains strict TLS defaults and h2c certificate-option filtering. Astra
approved source/security and corrected real-wire tests. Full master Release
build: 0 warnings/errors; Gateway 523 passed/6 existing live skips, Runtime1,002
passed/3 existing retired-fixture skips, zero failures, execution guards passed.
The three new wire tests prove typed TLS rejection before RPC, explicit opt-out
success and h2c success. The issue was closed with a verification comment after
master push; [immutable package/test receipt](evidence/2026-11-10-historiangw-131.json).
Independent actual-package SDK2 Gateway verification also passed 523/0/6.
The integrated SDK2/HG 1.0 solution built with 0 warnings/errors in 46.91 seconds.
Fresh CI3 is running under `artifacts/opcua2/f2a8ce13/solution-tests3/`, preserving
its test/guard exits and the 12,000 execution floor. CI2 remains the historical
pre-HG 1.0 result; CI3 final counters will be recorded after completion.
All four self-contained Host/CLI publishes and actual Linux Host two-start/stop
checks were repeated on the HG 1.0 graph at `f2a8ce13`: all passed. Both Host
artifacts contain the exact published 1.0.0 Client/Contracts DLLs; the Foundation
SDK family remains 2.0.1. Six strict HMAC/peer cases, two Good published-CLI reads,
preserved certificate identity and zero task-secret matches passed. See the
[fresh publication/runtime report](evidence/2026-11-10-opcua2/publish-smoke-hg100.md).
Windows actual install/runtime #800 and live/paired-environment #801 remain pending.
+15 -11
View File
@@ -3,7 +3,7 @@
This operator runbook accompanies [#782](https://gitea.dohertylan.com/dohertj2/lmxopcua/issues/782),
the [implementation plan](2026-11-10-opcua-sdk-2-upgrade.md) and
[execution evidence](2026-11-10-opcua-sdk-2-evidence.md). Gitea is the single
status system. This runbook was reconciled with checkout `aa9af0dc` and the
status system. This runbook was reconciled with SDK2/HG1.0 checkout `f2a8ce13` and the
commit-specific local receipts linked below. It records local validation, not
operator release approval or a fleet deployment. Receipt revisions vary; use each
report's full source/artifact identity rather than treating every result as a test
@@ -52,8 +52,9 @@ also touches gateway/retired sidecar paths outside this SDK rollout.
SDK FILETIME-zero maps to the existing CLR unset-time sentinel at history boundaries.
- No new historian backend, companion specification, PubSub, ManagedSession, AOT or
cluster rolling-upgrade capability is claimed. HistorianGateway Client/Contracts
**0.4.0** is already on gateway master `16111a5e` (historiangw#119 closed);
the real gateway gate historiangw#78 remains separate from package alignment.
**1.0.0** is on OtOpcUa master `230cef4e` and merged into this candidate
(historiangw#131 closed after published-package/TLS verification). The preceding
0.4.0 alignment closed #119. The live gateway gate historiangw#78 remains separate.
- Certificate creation correction `bd3143b7` uses the SDK's **12-month** default
instead of treating 2048 as months. The separate RSA minimum stays 2048 bits;
existing certificates/private-key bytes and PKI identity are retained.
@@ -72,7 +73,8 @@ unexecuted operator or duration gates. Keep secrets out of logs and release reco
| Actual ScadaBridge adapter | **18 None/API-key cases pass**, nine against each server. Encrypted attempts fail against both due to the preexisting own-certificate configuration gap, [ScadaBridge#121](https://gitea.dohertylan.com/dohertj2/ScadaBridge/issues/121); secure interoperability is blocked. [Consumer receipts](../../scripts/validation/scadabridge-sdk-compatibility/). |
| Local historian backends | SQL Server **195/195** on each version; QuestDB **233 passed, 0 failed, 1 existing opt-in race-stress skip** on each. Case outcomes match. [Backend matrix](evidence/2026-11-10-opcua2/backend-matrix.md). This is not live AVEVA evidence. |
| Bounded performance subset | Three warmed measurements per version: median rebuild **17→15 ms**, removal **81→80 ms**, equal visit counts. [Benchmark scope/load caveats](evidence/2026-11-10-opcua2/lock-benchmarks.md); these are not full wire-throughput, p95 or steady-RSS approval. |
| Publish/package and Linux smoke | **Four** self-contained Linux ARM64/Windows x64 Host/CLI publishes pass. Actual Linux full Host passes **two start/stop cycles**, strict security/health checks and unchanged PKI. [Per-artifact revisions, SHA-256 manifests and runtime receipts](evidence/2026-11-10-opcua2/publish-smoke.md). Windows execution is still pending. |
| Publish/package and Linux smoke | **Four** self-contained Linux ARM64/Windows x64 Host/CLI publishes pass. Actual Linux full Host passes **two start/stop cycles**, strict security/health checks and unchanged PKI. [Fresh HG1.0 artifact hashes and runtime receipts](evidence/2026-11-10-opcua2/publish-smoke-hg100.md). Both Hosts contain Client/Contracts1.0.0; Foundation remains2.0.1. Windows execution is still pending. |
| Production client lifecycle | **7,200.984 seconds,5,420 cycles,43,360 verified manager disposals**, zero weak product survivors and PKI descriptors across543 samples. [Exact source/runtime/counter receipts](../../scripts/validation/opcua-client-lifecycle/evidence/2026-11-10-full/verification.json). This is a client lifecycle pass, not a server RSS or full G4 pass. |
| Source review | Independent reviews covered identity, ownership, aggregate preservation, hierarchy and filtered audit paths. [Review scope](2026-11-10-opcua-sdk-2-evidence.md#integrated-implementation-and-source-reviews). Source review is not release approval. |
The second full CI-equivalent run completed with **63 TRX, 19,121 discovered,
@@ -80,7 +82,7 @@ The second full CI-equivalent run completed with **63 TRX, 19,121 discovered,
**1**; execution guard exit was **0** at floor 12,000. It is not green: the exact
failures are ten unchanged PercentGood cases and one ShadowMode 250 ms timing
assertion (585.7377 ms), independently reproduced on baseline, with no new failure
classes. Summary: `/tmp/opcua2-ci2-summary.json`; final provenance is in the
classes. [Versioned CI2 counters and exact failures](evidence/2026-11-10-opcua2/solution-tests2.json); provenance is in the
[main evidence](2026-11-10-opcua-sdk-2-evidence.md#solution-performance-and-package-evidence).
The ten PercentGood failures are tracked in
[#796](https://gitea.dohertylan.com/dohertj2/lmxopcua/issues/796), and the separately
@@ -97,8 +99,9 @@ exceeded **351,850,496 bytes**. Its retained result is
`/tmp/opcua2-server-linux-full-20261110/task/results/soak.trx`.
[#799](https://gitea.dohertylan.com/dohertj2/lmxopcua/issues/799) owns investigation;
no cap waiver or two-hour server pass is recorded. The distinct actual-production
Shared/driver/reinitialize/browser two-hour Linux lifecycle run is still active;
its partial duration is not a pass. See [long-run scope](2026-11-10-opcua-sdk-2-evidence.md#resource-finding-and-long-run-scope)
Shared/driver/reinitialize/browser Linux lifecycle run passed its actual two-hour
duration and cleanup checks, as recorded above; it does not replace this failed
server workload. See [long-run scope](2026-11-10-opcua-sdk-2-evidence.md#resource-finding-and-long-run-scope)
for instrumentation limitations and final-result updates.
| Operator release field | Still required before its release decision |
@@ -319,9 +322,10 @@ thresholds or count absent environments as passed.
Local build, security/wire, aggregate, backend, compatibility, publish and Linux
smoke evidence is linked above with its actual scope and revisions. The server
RSS gate is failed (#799), full CI retains the 11 baseline failures (#796/#798),
the client lifecycle run is still active, secure ScadaBridge interoperability is
blocked (ScadaBridge#121), and
the client lifecycle run completed two hours with cleanup checks passed, secure
ScadaBridge interoperability is blocked (ScadaBridge#121), and
Windows/live AVEVA/pair/operator gates remain pending (#800/#801). No fleet rollout
or rollback has been executed. The coordinator records the final client-lifecycle result
and remaining decisions in #782 and the main evidence; none is inferred from a
or rollback has been executed. The fresh post-HG1.0 solution CI3 run remains in
progress; its final counters will supplement the retained CI2 failures. The
coordinator records remaining decisions in #782 and the main evidence; none is inferred from a
passing subset or cross-published artifact.