Skip to content

Release v0.1.0-rc.8

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 10 Aug 07:37
· 102 commits to main since this release
v0.1.0-rc.8
8e84a3d

CRE v0.1.0-rc.8

The Cluster Readiness Engine (CRE) is a Kubernetes controller that
certifies GPU clusters before production use. It runs real training
and communication workloads across topology-aware node groups,
measures goodput and bandwidth, detects hardware failures, and
quarantines bad nodes. See the
README
for the full feature list.

Install ncrectl

# Requires gh CLI authenticated, or GITHUB_TOKEN set.
curl -sSL https://github.com/NVIDIA/cluster-readiness-engine/releases/download/v0.1.0-rc.8/installer | bash -s -- -v v0.1.0-rc.8

The version is named explicitly because releases/latest resolves only to
the newest stable release, and every release so far is a pre-release.
Once v0.1.0 is tagged, this shorter form installs the newest stable one:

curl -sSL https://github.com/NVIDIA/cluster-readiness-engine/releases/latest/download/installer | bash

Helm Chart

helm install cluster-readiness-engine \
  oci://ghcr.io/nvidia/cluster-readiness-engine \
  --version v0.1.0-rc.8 \
  --namespace cluster-readiness-engine \
  --create-namespace

The controller image for this release is
ghcr.io/nvidia/cluster-readiness-engine/manager:v0.1.0-rc.8.

ncrectl CLI

Download the binary for your platform from the assets below and place it on your $PATH.

Platform Binary
Linux amd64 ncrectl-linux-amd64
Linux arm64 ncrectl-linux-arm64
macOS amd64 ncrectl-darwin-amd64
macOS arm64 (Apple Silicon) ncrectl-darwin-arm64

Verify your download

Every asset is listed in checksums.txt with its SHA-256 digest.
After you download an asset, verify it:

sha256sum --check --ignore-missing checksums.txt

Third-Party Notices

Third-party Go module licenses are listed in
THIRD_PARTY_NOTICES.md
and attached as a release asset.

Support

What's Changed

Dependency Updates

  • build(deps): bump nvidia/distroless/static from v4.0.0 to v4.0.1 in the docker-images group by @dependabot[bot] in #40
  • build(deps): bump the actions group with 8 updates by @dependabot[bot] in #43

Other Changes

  • docs: expand the README for open source readiness by @dims in #12
  • ci: richer release notes and checksums in the release flow by @dims in #20
  • build: add make ci and document how to replicate CI locally by @dims in #25
  • docs: correct the exitDurationMins default in the BuildConfig comment by @dims in #24
  • fix: make the ServiceMonitor optional and add a missing chart default by @dims in #23
  • feat: add gangScheduler field to WorkloadRun for KAI Scheduler support by @ndipebot in #32
  • chore: fix CODEOWNERS GitHub handle by @ndipebot in #33
  • chore: narrow CodeRabbit to behavior changing findings by @dims in #34
  • docs: add a first-certification getting started guide by @dims in #21
  • docs: remove stale remediation references and fix broken README examples by @dims in #22
  • fix: fail docker-buildx on build errors and stop pushing from PR validation by @dims in #26
  • test: remove the e2e scaffolding and vet the uat suite by @dims in #27
  • fix: let the installer pin a version and fix the release install commands by @dims in #28
  • fix: accept pre-release tags when resolving the helm chart version by @dims in #29
  • fix: parse pod log timestamps from nodes that are not on UTC by @dims in #31
  • feat: report the DCGM service in setup status by @dims in #35
  • fix: report the GPUs each node really has in cluster info by @dims in #36
  • build: pin the container base images by digest and let Dependabot raise them by @dims in #38
  • docs: name UAT as a required check in the local CI instructions by @dims in #39
  • fix: strip CNI annotations from UAT pod golden files by @dims in #41
  • build: make Dependabot wait before adopting a new version by @dims in #42
  • ci: scan binaries for malware and gate the release on it by @dims in #44
  • ci: pull docker.io images through a mirror to avoid rate limiting by @dims in #49
  • docs: add RELEASE.md by @dims in #46
  • ci: run UAT nightly against main by @dims in #45
  • docs: name the registry CRE publishes to in the README by @dims in #48
  • ci: pin the last floating action refs to commit SHAs by @dims in #50
  • ci: group the generated release notes by category by @dims in #47
  • docs: correct the GB300 render spot-check in the agent guide by @dims in #53
  • docs: add an index of the architecture decision records by @dims in #37
  • fix: install the Kubeflow Trainer chart that matches the compiled API by @dims in #56
  • fix: report an unresolved logProfileRef instead of hiding it by @dims in #54
  • fix: make failureLog usable for triage by @dims in #55
  • fix: render the orchestration options the controller will actually use by @dims in #59
  • docs: add /cre-test skill and fix CLAUDE.md testing section by @ndipebot in #60
  • feat: add OCI GB300 RoCE catalog support by @ndipebot in #62
  • fix: make testScale intra-node actually test one node at a time by @dims in #61
  • fix: read the logs once more before a goodput measurement completes by @dims in #63
  • docs: state the training GPU minimums and namespace the chart install by @dims in #65
  • fix: do not lose a group's completion when the Workflow conditions do not change by @dims in #69
  • fix: catch a goodput measurement that computed zero, not just an absent one by @dims in #70
  • test: cover the NCCL log parser with a real capture at the integration tier by @dims in #81
  • docs: correct four claims a reader would act on and get wrong by @dims in #80
  • fix: report the test scale that was asked for, not one inferred from the result by @dims in #72
  • fix: say which nodes a certification left untested, and make discovery deterministic by @dims in #57
  • fix: say why a certification is waiting when no nodes are schedulable by @dims in #74
  • feat: report INCOMPLETE when a certification skipped nodes it targeted by @dims in #73
  • fix: say when a node shortfall came from mixing GPU architectures by @dims in #75
  • fix: size a job against the nodes that survive GPU architecture filtering by @dims in #76
  • fix: give a WorkloadRun a safe way to request a GPU off a DGX by @dims in #58
  • fix: report INCOMPLETE when a certification skipped cordoned nodes by @dims in #84
  • fix: bound a WorkloadRun Job so it cannot run forever by @dims in #64

Full Changelog: v0.1.0-rc.7...v0.1.0-rc.8