跳至主要内容

Federation P4 Operational Qualification — Evidence

Fill in after running scripts/cloudedge-federation-qualification.sh. Copy this file, replace TEMPLATE with the run date, and commit the filled version.

Run metadata

FieldValue
Run ID(runId from run-metadata.json)
Commit(git short SHA)
Date(YYYY-MM-DD)
Branchfeat/p4-federation-operational-qualification
Harnessscripts/cloudedge-federation-qualification.sh
Cycles(N)
Duration/scenario(N)s

Topology

RoleHostProviderConfig digest
Sender(hostname)(pve/aws/azure/oci)(sha256)
Receiver(hostname)(pve/aws/azure/oci)(sha256)

Scenario results

#ScenarioResultDurationNotes
1healthyBaseline delivery + doctor PASS
2partitionPeer partition → violation → recovery
3ttl-refreshTTL refresh across partition boundary
4restarteventd restart recovery
5subscriptionSubscription failure + recovery
6config-faultExpected-peer / config fault detection
7securityHMAC / malformed rejection
8multi-groupMulti-group SLO isolation

Overall: (pass/fail)

Doctor snapshots

Before qualification

(paste doctorBefore from healthy.json)

After qualification

(paste doctorAfter from last scenario)

Remediation plan (plan-only)

(paste remediationPlan from healthy.json)

Metrics verification

MetricObservedExpectedStatus
routerd_eventd_delivery_total>0
routerd_eventd_delivery_lag_secondswithin SLO threshold
routerd_eventd_repush_total≥0
routerd_eventd_stale_ttl_total0 after recovery
routerd_eventd_accepted_total>0
routerd_eventd_duplicate_total≥0
routerd_eventd_reject_total≥0 (>0 for security scenario)

Evidence files

Machine-readable JSON evidence is in the --evidence-dir output directory:

  • run-metadata.json — run parameters and topology
  • healthy.json — baseline scenario
  • partition.json — partition/recovery scenario
  • ttl-refresh.json — TTL refresh scenario
  • restart.json — eventd restart scenario
  • subscription.json — subscription failure scenario
  • config-fault.json — config fault detection scenario
  • security.json — security rejection scenario
  • multi-group.json — multi-group isolation scenario

Security note

This document contains no secrets, HMAC keys, or endpoint credentials. Config digests are SHA-256 hashes of the config file, not the config contents.