An application team reports deployment failures during a cloud migration, while the platform team sees healthy worker nodes. The service team needs a reproducible test case. The migration lead needs evidence to decide whether the next wave can proceed.

My work supporting enterprise adoption of Oracle Cloud Infrastructure (OCI) has often required me to connect technical issues with workload requirements, engineering ownership, and migration decisions. A consistent sequence helps teams define the evidence needed to move forward:

Observed behavior → Reproduction → Business impact → Acceptance criteria → Validation → Customer decision

The method is familiar from software development quality assurance: define testable requirements, then evaluate evidence. During migration, the change under test often lies in the operating environment, even when application code changes little. Connectivity, identity, storage, and operating procedures may need validation. The testing principles are similar; migration acceptance brings application, infrastructure, security, and operations teams together to assess those changes.

Start with the workload behavior

Consider an illustrative migration to OCI Kubernetes Engine (OKE). Initial deployment succeeds, but later deployments intermittently fail during worker-node replacement.

A report that “deployments sometimes fail” needs context. Record the failing operation, node activity, and cluster and application configuration. Capture the frequency, recovery behavior, and matching logs, events, timestamps, and errors.

Keep observations separate from suspected causes. An admission-webhook timeout confirms that an interaction failed. Further investigation is needed to establish why. A stronger issue statement would be:

During controlled worker-node replacement in the migration test environment, some application deployments fail with admission-webhook timeouts. The team needs to establish the failure conditions and validate deployment behavior during the planned node maintenance procedure.

Build a reproduction that preserves the failure conditions

Establish the application baseline, generate representative deployment activity, initiate the approved node replacement procedure, and observe application and platform behavior. Record node-pool configuration, replicas, webhook placement, scheduling constraints, deployment concurrency, and timeouts.

Simplify the reproduction while preserving the conditions that trigger the failure. A deployment against an idle cluster may not reproduce failures during concurrent changes. Capture successful and failed runs, including the number and timing of attempts and any differences between runs, so another engineer can repeat the investigation.

For background on replacing managed worker nodes, see Oracle’s overview of on-demand node cycling.

Explain the migration consequence

Connect the findings to the customer’s decision. In this scenario, the application team cannot yet validate its release process during planned maintenance. That uncertainty may prevent the workload from entering the next migration wave.

Record the affected workload, milestone, workaround options, and conditions for continuing. Keep the scope specific: one application’s deployment failure does not establish a broader platform issue. Identify which migration activities are blocked and which can proceed independently.

Agree on acceptance criteria before implementing the change

“Node replacement works” leaves the outcome undefined. Specify the environment, action, expected behavior, measurement, and evidence. For example:

In the agreed test environment, execute the documented worker-node replacement procedure while running representative application deployment activity. Deployments must complete within the application team’s agreed completion window, and application availability must remain within the approved maintenance objective.

Supporting checks could require that:

  • Replacement nodes become ready and affected workloads reschedule.
  • Webhook-dependent operations meet agreed error and latency limits.
  • Retries remain within supported application behavior.
  • Logs and metrics support investigation of failed runs.

Agree on thresholds and repetition count before testing, using workload requirements and the observed failure pattern. Record them with the test procedure. If acceptable interruption or completion time is undefined, resolve it before evaluating results.

Give the blocker a complete ownership model

Assign a coordinating owner to maintain the record and connect it to the migration plan. Name technical owners for investigation and changes, a validation owner to run the tests, and a customer owner accountable for acceptance.

FieldWhat to capture
Observed behaviorExpected and actual results
Affected scopeWorkload, environment, and migration dependency
ReproductionVersioned procedure and configuration
Business impactActivity that cannot proceed
Acceptance criteriaObservable results and agreed thresholds
OwnershipCoordination, investigation, validation, and acceptance
EvidenceLogs, metrics, test results, and relevant identifiers
DecisionProceed, continue testing, use a workaround, or defer

Validate the proposed resolution against the original scenario

Rerun the documented scenario and evaluate the results against the agreed criteria. Record the applied change, software versions, procedure revision, execution time, and any differences from the original environment.

Check whether a configuration adjustment introduces operational dependencies, such as extra capacity or placement rules. Document any workaround’s limits and name the owner responsible for maintaining or retiring it. Keep these statuses distinct:

  • Change available: A proposed fix or workaround can be evaluated.
  • Validation passed: The agreed tests passed in the documented environment.
  • Customer accepted: The customer reviewed the results and accepted the outcome for the stated scope.

Carry the result into the next migration wave

Retain useful tests after customer acceptance. The node replacement scenario can become a maintenance check for later migration waves. Review it when versions, architecture, or workload requirements change, and keep each result tied to the configuration tested.

Wrapping up

Resolving a migration blocker requires agreement on the problem, its impact, and the evidence needed to proceed. Reproducible tests, measurable criteria, and clear ownership give teams a shared basis for customer acceptance.

Start with one open blocker. Use the record above to define the acceptance test and agree on who validates the result and who makes the decision. For the OKE scenario, review Oracle’s guidance on viewing OKE work requests to help correlate infrastructure operations with application observations.