Skip to content

Commit ea5f322

Browse files
committed
feat(telco-kpis): Add comprehensive test report generation
Implement aggregated test report generation system that combines all Telco-KPIs test results into comprehensive Markdown reports with Gitea publishing. ## Playbook **playbooks/telco-kpis/generate-report.yml:** - Aggregates artifacts from shared location: `/home/telcov10n/telco-kpis-artifacts/{spoke}/` - Runs analyze-podman-test-results.py in telco-kpis-test-runner container - Filters tests based on node-info timestamp (freshness check) - Integrates ZTP deployment timeline into report - Publishes Markdown report + compressed tarball to Gitea repository ## Features **Test Freshness Check:** - Compares test timestamps against node-info baseline - Skips report generation if no new tests since last report - Ensures reports only include tests from current environment configuration **Timestamp-Based Filtering:** - All tests use UTC timestamps: `{test-name}-{spoke}-{YYYYMMDD-HHMMSS}` - Report generation filters out stale tests from previous deployments - Prevents mixing results from different cluster configurations **Report Components:** - Hardware metadata (from collect-node-info) - Performance test results (oslat, cyclictest, ptp, cpu_util, reboot) - BIOS validation results - RDS comparison - ZTP deployment timeline (inserted before "Report Metadata" section) - RFC2544 network performance **Gitea Integration:** - Publishes to Gitea repository via gitea role - Creates timestamped release with artifacts tarball - Updates repository README with latest report links - Implements retention policy (keeps last 15 reports) ## Implementation Details **Task:** `tasks/generate-report.yml` **Artifact Directory Pattern:** ``` /home/telcov10n/telco-kpis-artifacts/{spoke}/ ├── node-info-{spoke}.json # Baseline ├── {test-name}-{spoke}-{YYYYMMDD-HHMMSS}/ # Tests │ ├── junit_{test-name}.xml │ └── {test-specific-artifacts} ``` **Report Action Logic:** - `create`: Generate new report (node-info exists, tests newer than last report) - `update`: Regenerate with fresh tests - `skip`: No new tests since last report **Container Execution:** - Uses telco-kpis-test-runner:latest - Mounts shared artifact base to /reports/podman-runs - Runs analyze-podman-test-results.py with spoke filter - Outputs to temporary directory for Gitea publishing ## UTC Timestamp Consistency All telco-kpis tests use UTC timestamps to ensure correct chronological ordering and freshness comparison across different bastion timezones. ## Benefits - Single comprehensive report per spoke cluster - Automatic staleness detection prevents mixing results - Gitea hosting provides accessible web UI for stakeholders - Retention policy prevents unbounded storage growth - Git-based versioning of historical reports Related: Telco-KPIs test infrastructure, Gitea deployment Signed-off-by: Carlos Cardenosa <ccardeno@redhat.com>
1 parent da06b24 commit ea5f322

2 files changed

Lines changed: 932 additions & 0 deletions

File tree

0 commit comments

Comments
 (0)