Add automated diagnostics convergence workflow for failure pattern analysis#1459
Open
Add automated diagnostics convergence workflow for failure pattern analysis#1459
Conversation
Co-authored-by: hwindlas <108932456+hwindlas@users.noreply.github.com>
Co-authored-by: hwindlas <108932456+hwindlas@users.noreply.github.com>
Co-authored-by: hwindlas <108932456+hwindlas@users.noreply.github.com>
Co-authored-by: hwindlas <108932456+hwindlas@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Add automated diagnostics convergence workflow
Add automated diagnostics convergence workflow for failure pattern analysis
Feb 18, 2026
…t-merge.yml from 2026.0.15 to 2026.0.17 (#1572) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…1570) Co-authored-by: Sonia Bhattacharya <sonia.bhattacharya@intel.com>
Co-authored-by: rranjan3 <rajeev2.ranjan@intel.com> Co-authored-by: ppanigra <106302035+ppanigra@users.noreply.github.com> Co-authored-by: Hardik Windlass <108932456+hwindlas@users.noreply.github.com>
Co-authored-by: SYS-EMF <sys-emf-github@intel.com> Co-authored-by: Sonia Bhattacharya <sonia.bhattacharya@intel.com>
Co-authored-by: Sonia Bhattacharya <sonia.bhattacharya@intel.com>
Co-authored-by: Vignesh Chandrasekharan <vignesh.chandrasekharan@intel.com>
Co-authored-by: Vignesh Chandrasekharan <vignesh.chandrasekharan@intel.com> Co-authored-by: Sunil Parida <sunil.kumar.parida@intel.com> Co-authored-by: PalashGoelIntel <palash.goel@intel.com>
Co-authored-by: Sunil Parida <sunil.kumar.parida@intel.com> Co-authored-by: Sonia Bhattacharya <sonia.bhattacharya@intel.com>
Co-authored-by: johnoloughlin <26579487+johnoloughlin@users.noreply.github.com>
Contributor
Author
Contributor
|
@copilot sort the conflicts |
Co-authored-by: Sunil Parida <sunil.kumar.parida@intel.com> Co-authored-by: John O'Loughlin <john.oloughlin@intel.com> Co-authored-by: SYS-EMF <sys-emf-github@intel.com> Co-authored-by: Hardik Windlass <108932456+hwindlas@users.noreply.github.com>
Co-authored-by: Andrei Palade <andrei.palade@intel.com> Co-authored-by: SYS-EMF <sys-emf-github@intel.com>
Co-authored-by: Sonia Bhattacharya <sonia.bhattacharya@intel.com>
…uration (#1559) Co-authored-by: SYS-EMF <sys-emf-github@intel.com> Co-authored-by: Sonia Bhattacharya <sonia.bhattacharya@intel.com> Co-authored-by: Sunil Parida <sunil.kumar.parida@intel.com> Co-authored-by: Hardik Windlass <108932456+hwindlas@users.noreply.github.com>
Signed-off-by: Goyal, Pankaj <pankaj.goyal@intel.com> Co-authored-by: hemapriya <hema.senthilkumar@outlook.com> Co-authored-by: Loughnane, Gary <gary.loughnane@intel.com> Co-authored-by: mengalax <madhulathax.engalathuru@intel.com> Co-authored-by: Sunil Parida <sunil.kumar.parida@intel.com> Co-authored-by: Pankaj Goyal <pankaj.goyal@intel.com> Co-authored-by: Sonia Bhattacharya <sonia.bhattacharya@intel.com>
Signed-off-by: Rajeev Ranjan <rajeev2.ranjan@intel.com>
Co-authored-by: johnoloughlin <26579487+johnoloughlin@users.noreply.github.com>
Contributor
Author
Conflicts resolved in commit 1143c6c. Successfully rebased onto latest main (commit 6977565 - "Release EMT OS 3.0. 20260310"). The branch now includes 7 additional commits from main since the previous rebase. All files validated and all previous fixes preserved (job name extraction, core injection comment, normalization patterns). |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Implementation Plan: Diagnostics Convergence Workflow
Create
.github/workflows/diagnostics-convergence.ymlworkflow fileworkflow_runtrigger for "Virtual Integration" workflow (on non-success completion)workflow_dispatchtrigger with optional inputs (branch, event, runs, jobs)Create
ci/diagnostics_convergence.pyPython scriptconvergence.json(machine-readable with metadata)convergence.md(human-readable report with per-job tables)Add documentation
Test and validate
Recent Changes
Rebased onto latest main (6977565): Branch has been successfully rebased onto the latest main branch (commit 6977565 - "Release EMT OS 3.0. 20260310"). This rebase includes 7 new commits from main since the last rebase. All conflicts have been resolved and all previous functionality is preserved.
Previous fixes maintained:
Original prompt
Create an automated diagnostics convergence workflow for the
open-edge-platform/edge-manageability-frameworkrepo.Context:
.github/actions/collect_diagnostics/action.yamlthat runsci/orch_k8s_diagnostics.pyand uploads artifacts includingdiagnostics_full_*.jsonunder an artifact name likediagnostics-${{ github.job }}-${{ github.event_name }}-${{ github.event.pull_request.number || github.run_number }}-${{ github.run_attempt }}..github/workflows/virtual-integration.ymlruns jobs includingdeploy-kind,deploy-on-prem, anddeploy-oxm-profile, each invoking thecollect_diagnosticsaction with--output-json.Requested change:
Add a new GitHub Actions workflow triggered by
workflow_runcompletion of theVirtual Integrationworkflow:on: workflow_runforworkflows: ["Virtual Integration"],types: [completed].github.event.workflow_run.conclusion != 'success'.workflow_dispatchentry too (manual trigger) to allow ad-hoc runs and optional filters.branch(optional; if empty, aggregate across all branches)event(optional; if empty, aggregate across all event types)runs(default 20)jobs(default csv of the 3 jobs)Use
actions/github-scriptto query GitHub API:Virtual Integration.branch/eventfilters if provided; otherwise omit those filters).diagnostics-and match selected jobs (artifact name containsdiagnostics-<job>-).Download artifact zips based on the manifest and extract them.
Add a small Python script (e.g.,
ci/diagnostics_convergence.py) that:diagnostics_full_*.json.summary.pods_w_errors): signature usingreasonif present elsestatus, and a normalized hash ofmessageorlast_event(normalize to strip timestamps, IPs, UUIDs, image digests, and pod RS suffixes).summary.deployments_not_ready): signaturedeploy_not_ready::<namespace>::<name>::<reason>(normalize reason).summary.argocd_apps_unhealthy): signatureargocd::<namespace>::<name>::<health>::<sync>::<operation_phase>plus optional normalized message hash.summary.pvc_not_bound):pvc::<namespace>::<pvc>::<status>.convergence.json(machine-readable, includes metadata like runs_scanned, filters, generated_at)convergence.md(human readable report with per-job tables/rankings)Upload
convergence.jsonandconvergence.mdas artifacts in the convergence workflow.Permissions:
actions: read,contents: read.Implementation notes:
workflow_run(use info fromgithub.event.workflow_runto infer repo/owner) and when manually triggered viaworkflow_dispatch.workflow_runtriggered, default filters should be empty (aggregate across all branches/events) unless user specifies via inputs (not available in workflow_run); consider using the failing run’shead_branchas an optional default only if it doesn’t violate the “keep options open” requirement—prefer leaving unfiltered by default.Deliverables in PR:
.github/workflows/(name appropriately, e.g.diagnostics-convergence.yml).ci/diagnostics_convergence.py(plus any helper module if needed).This pull request was created from Copilot chat.
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.