Copy from DockerHub

Change-Id: Ibf9f2ec748b8ddbab8b34a9734a90095f69df349
Signed-off-by: Saheer Babu <saheer.babu@arm.com>
2 files changed
tree: a3e65c8b57fe3d3cc74afbb77aaf81534c3c7297
  1. agent-sanity-test/
  2. copy-k8s-template-candidate-images/
  3. smoke-controller-integrations/
  4. smoke-downstream-trigger/
  5. smoke-downstream-trigger-child/
  6. smoke-gerrit-trigger/
  7. smoke-groovy-postbuild-badge/
  8. smoke-inline-pipeline/
  9. smoke-kubernetes-agent/
  10. smoke-multibranch/
  11. smoke-pipeline-scm/
  12. smoke-publishing/
  13. smoke-timestamper/
  14. upgrade-validation/
  15. agent-sanity-test.yaml
  16. copy-k8s-template-candidate-images.yaml
  17. infra-smoke-test-view.yaml
  18. README.md
  19. smoke-controller-integrations.yaml
  20. smoke-downstream-trigger-child.yaml
  21. smoke-downstream-trigger.yaml
  22. smoke-freestyle-shell.yaml
  23. smoke-gerrit-trigger.yaml
  24. smoke-groovy-postbuild-badge.yaml
  25. smoke-inline-pipeline.yaml
  26. smoke-kubernetes-agent.yaml
  27. smoke-matrix.yaml
  28. smoke-multibranch.yaml
  29. smoke-multiple-scms.yaml
  30. smoke-pipeline-scm.yaml
  31. smoke-publishing.yaml
  32. smoke-timestamper.yaml
  33. upgrade-validation.yaml
README.md

infra-smoke-test

This repo contains infra-owned Jenkins validation jobs used to exercise CloudBees and Jenkins controller behaviour after infrastructure changes.

Upgrade validation

  • upgrade-validation fans out to the smoke jobs under this repo and is the main controller upgrade gate.
  • copy-k8s-template-candidate-images mirrors the current bundle image set into a candidate suffix so DEV and TEST can exercise upgraded controllers against candidate agent images.
  • agent-sanity-test validates a curated set of Kubernetes and EC2 agent labels by running java --version on each label.

CloudBees upgrade agent scaffold

tools/cloudbees_upgrade_agent is a dependency-free runner that turns the upgrade runbook into a manifest-driven workflow.

It does four things today:

  • inspects the relevant repos and records their Git state
  • plans deterministic file mutations such as the fleet-cjmc chart version bump
  • checks drift between bundle-defined agent labels and agent-sanity-test
  • runs a DEV-first environment workflow with explicit approval gates for TEST and PROD

The runner is intentionally bounded:

  • command execution is driven by policy-defined argv templates, not free-form shell
  • file mutations are deterministic regex replacements defined in policy
  • the analyzer defaults to a local heuristic mode, but you can plug in an external model command later

Example usage

From this repo root:

python3 -m tools.cloudbees_upgrade_agent \
  --manifest tools/cloudbees_upgrade_agent/examples/upgrade-manifest.json \
  --policy tools/cloudbees_upgrade_agent/examples/policy.json \
  plan

Dry-run the workflow:

python3 -m tools.cloudbees_upgrade_agent \
  --manifest tools/cloudbees_upgrade_agent/examples/upgrade-manifest.json \
  --policy tools/cloudbees_upgrade_agent/examples/policy.json \
  run

Resume through a gated environment:

python3 -m tools.cloudbees_upgrade_agent \
  --manifest tools/cloudbees_upgrade_agent/examples/upgrade-manifest.json \
  --policy tools/cloudbees_upgrade_agent/examples/policy.json \
  run --approve test

Check label drift only:

python3 -m tools.cloudbees_upgrade_agent \
  --manifest tools/cloudbees_upgrade_agent/examples/upgrade-manifest.json \
  --policy tools/cloudbees_upgrade_agent/examples/policy.json \
  check-agent-labels