Skip to content

Ramen v0.1.0

Latest

Choose a tag to compare

@raghavendra-talur raghavendra-talur released this 10 Oct 13:23
· 68 commits to main since this release

Ramen v0.1.0

Ramen is a Kubernetes-native disaster recovery orchestrator for workloads and
their persistent data across Open Cluster Management (OCM) managed clusters.
This is the first published (non-rc) release. All APIs (ramendr.openshift.io/v1alpha1)
remain alpha; breaking changes are possible before 1.0.

This release supersedes v0.1.0-rc1 (2026-04-09). The release-0.1 branch was
brought up to date with main before tagging, so v0.1.0 contains over 400 commits
from 18 contributors that were not in rc1. If you tried rc1, read Upgrade
notes and behavior changes
below; job/cronjob hooks from rc1 were reverted
and job hooks re-added differently (#2508, #2571).

Artifacts

Artifact Reference
Operator image quay.io/ramendr/ramen-operator:v0.1.0 (linux/amd64)
Hub OLM bundle quay.io/ramendr/ramen-hub-operator-bundle:v0.1.0
DR-cluster OLM bundle quay.io/ramendr/ramen-dr-cluster-operator-bundle:v0.1.0
OLM catalog quay.io/ramendr/ramen-operator-catalog:v0.1.0 (channel alpha)
Go modules github.com/ramendr/ramen@v0.1.0, .../api@v0.1.0, .../e2e@v0.1.0

Image digests:

quay.io/ramendr/ramen-operator@sha256:a2a9682922888440cf0dab600ebd9b342b11164e290cf358b46026c8c758d7ae
quay.io/ramendr/ramen-hub-operator-bundle@sha256:8f09eae19dc5e1005c38d0131f237f10a611450bac5a1d82f32dea765cd2e351
quay.io/ramendr/ramen-dr-cluster-operator-bundle@sha256:7694a495e2dafa9bea104f41d9375f161259fb81bfae1cbda21e170d423478be
quay.io/ramendr/ramen-operator-catalog@sha256:00b22f67593e65e8ee21f09aa04192d6f39eb2d34e60b7ec4e442c3dcf56a25b

Release assets: rendered manifests for the hub (ramen-hub-operator-k8s.yaml,
ramen-hub-operator-ocp.yaml) and dr-cluster (ramen-dr-cluster-operator.yaml)
operators, CRD-only bundles (ramen-hub-crds.yaml, ramen-dr-cluster-crds.yaml)
and SHA256SUMS.

Install: kubectl apply -k "https://github.com/RamenDR/ramen/config/olm-install/hub?ref=v0.1.0"
(see docs/install.md at the tag).

Tested with: Kubernetes 1.35 (Kind) in CI; Go 1.26; controller-runtime v0.23;
OCM api v1.2.0; Velero v1.15; VolSync v0.11; CSI-Addons v0.14+ (main);
external-snapshotter client v8.6.

Highlights

Test failover (DR dry run)

  • New spec.dryRun on DRPlacementControl and VolumeReplicationGroup to test a
    failover on the peer cluster without disrupting the primary; new
    TestingFailover progression, dry-run snapshot management, abort/revert to
    the last action and promotion of a dry run to a real failover.
  • Dry run is refused when replication lags more than 3x the scheduling interval.

Global VolumeGroupReplication (global VGR)

  • Support for storage backends that replicate at the filesystem/group level
    shared by multiple VRGs: peerClasses[].global, detection from
    VolumeGroupReplicationClass labels, cross-DRPC consensus (GlobalAction
    condition, WaitOnGlobalAction progression), secondary transition gating on
    PVC readiness, metric and alert for global action consensus.

VM static IP preservation

  • DRPolicy spec.networkMappingRef (ConfigMap with bidirectional subnet
    mappings) and status.networkPeers; DRClusterConfig reports discovered
    NetworkAttachmentDefinitions; VRG staticIPTranslationSpec /
    status.staticIPDiscovery; DRPC surfaces protectedStaticIPVMs and
    NetworkMappingLoaded. Works when Multus/NAD CRD is absent.

Observability

  • DR telemetry metrics with Prometheus recording rules; DR action counts
    persisted on DRPC; progression_state metric for Metro DR; CIDR validation
    (CIDRsValidated DRCluster condition, UndetectedCIDRsFound metric and
    alert); Prometheus scraping RBAC; metrics Service now forwards to the
    controller-runtime metrics port.

Recipes and hooks

  • Job hooks in recipes; recipe automatically created on the destination
    cluster; excluded resources managed via ConfigMap; recipe ManifestWork/MCV
    cleanup on finalization; exec hook parsing fixed for complex shell quoting.

Storage and data path

  • CephFS consistency groups: incremental sync, ownership of restored PVCs.
  • Public VolumeGroupSnapshot API support with served-version detection.
  • Destination volume handle annotations for single volumes and volume groups;
    PV/VGRC clusterID and handles updated on restore after failover.
  • S3 profile validation now performs HeadBucket.
  • All Ramen-created resources labelled created-by-ramen.
  • Granular VM DR: immediate out-of-band backup when the VM list changes;
    guardrails preventing VM cleanup during VRG deletion.

Upgrade notes and behavior changes

  • VolSync PVC ownership: Ramen no longer sets ownerReferences on PVCs;
    legacy ownerReferences are stripped on upgrade and PVs are retained instead.
    ACM do-not-delete annotation handling was removed.
  • Configuration: the --config flag was removed. Operator configuration is
    compiled defaults merged with the operator ConfigMap; the ConfigMap is no
    longer generated at install time (the operator creates it; an OLM-managed
    ConfigMap is disowned on merge). RAMEN_CONTROLLER_TYPE env var is required.
  • Manager options (metrics/health bind address, leader election) are now
    command-line flags; the corresponding RamenConfig fields are deprecated and
    ignored with a warning.
  • Hub derives dr-cluster OLM settings (channel, catalog, CSV) from its own
    Subscription. retainNamespaceSCCAcrossPeers enabled by default.
  • RBAC files renamed from auth_proxy* to metrics_auth*.
  • Operator base image is now UBI 9 minimal (was UBI 8).

API changes (v1alpha1, additive)

DRPolicy spec.networkMappingRef, status.networkPeers, peerClasses[].global;
DRClusterConfig status.networkAttachments; DRCluster CIDRsValidated
condition; DRPC spec.dryRun, status.protectedStaticIPVMs; VRG spec.dryRun,
spec.staticIPTranslationSpec, status.staticIPDiscovery.

Notable fixes

Fencing with multiple NetworkFenceClasses; fencing stuck on S3 validation
failure; MaintenanceMode blocking unrelated backends during failover; PVC
orphaning/leftovers during VRG deletion; CephFS relocate cleanup; namespace
ManifestWork/MCV deletion for discovered apps; nil-pointer panics (global VGR
lastGroupSyncTime, reconcileAsSecondary); PeerReady set too early; ApplicationSet
matrix/merge generator VRG namespace detection; DRPolicy conflict validation;
hub-derived dr-cluster OLM package name when the hub is installed upstream via
OLM (ramen-dr-cluster-operator, not ramen-cluster-operator) (#2865).

Known issues

  • A secondary VRG can intermittently report Unknown because of a PVC update
    conflict while applying the consistency-group label (#2849).
  • CephFS consistency groups: final-sync temporary PVCs are not skipped in
    EnsureApplicationPVCsMounted (#2487).
  • Images are linux/amd64 only although the CSV lists ppc64le/s390x.
  • Images are not signed and ship no SBOM yet.

Tooling

drenv/ramendev (test/, ramendev/) are development tools and are not release
artifacts. Use ramenctl (github.com/RamenDR/ramenctl) for user-facing CLI.

Full changelog: v0.1.0-rc1...v0.1.0