Skip to content

Refactor/ipa telco kpis prow migration report generation#464

Merged
openshift-merge-bot[bot] merged 1 commit into
openshift-kni:mainfrom
ccardenosa:refactor/ipa-telco-kpis-prow-migration-report-generation
Jun 24, 2026
Merged

Refactor/ipa telco kpis prow migration report generation#464
openshift-merge-bot[bot] merged 1 commit into
openshift-kni:mainfrom
ccardenosa:refactor/ipa-telco-kpis-prow-migration-report-generation

Conversation

@ccardenosa

Copy link
Copy Markdown
Collaborator

No description provided.

@openshift-ci openshift-ci Bot requested review from cplacani and mkochanowski May 6, 2026 19:03
@openshift-ci openshift-ci Bot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label May 13, 2026
@ccardenosa ccardenosa force-pushed the refactor/ipa-telco-kpis-prow-migration-report-generation branch from d3b9035 to a594da3 Compare June 3, 2026 13:21
@openshift-ci openshift-ci Bot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Jun 3, 2026
@ccardenosa ccardenosa force-pushed the refactor/ipa-telco-kpis-prow-migration-report-generation branch 7 times, most recently from 96334b8 to 89137f7 Compare June 15, 2026 15:36
@ccardenosa ccardenosa force-pushed the refactor/ipa-telco-kpis-prow-migration-report-generation branch 6 times, most recently from a95c39f to 77229c2 Compare June 24, 2026 08:39
Comment on lines +290 to +300
- name: Run analyze-podman-test-results.py in test-runner container
ansible.builtin.shell: |
podman run --rm \
-v {{ shared_artifact_dir }}:/reports/podman-runs:ro,Z \
-v {{ shared_artifact_dir }}:/reports/rds-compare:ro,Z \
-v {{ temp_output_dir.path }}:/workspace/output:rw,Z \
telco-kpis-test-runner:latest \
python3.11 /opt/analyze-podman-test-results.py {{ python_args }}
register: report_result
failed_when: report_result.rc != 0
changed_when: false

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think you should use the podman module here

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

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>
@ccardenosa ccardenosa force-pushed the refactor/ipa-telco-kpis-prow-migration-report-generation branch from 77229c2 to ea5f322 Compare June 24, 2026 10:10
@eifrach

eifrach commented Jun 24, 2026

Copy link
Copy Markdown
Collaborator

/lgm

@eifrach

eifrach commented Jun 24, 2026

Copy link
Copy Markdown
Collaborator

/lgtm

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Jun 24, 2026
@ccardenosa

Copy link
Copy Markdown
Collaborator Author

/approve

@openshift-ci

openshift-ci Bot commented Jun 24, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: ccardenosa

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci openshift-ci Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jun 24, 2026
@openshift-merge-bot openshift-merge-bot Bot merged commit 1e618f9 into openshift-kni:main Jun 24, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. lgtm Indicates that a PR is ready to be merged.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants