diff --git a/x-pack/qa/rolling-upgrade/src/test/java/org/elasticsearch/upgrades/MLModelDeploymentsUpgradeIT.java b/x-pack/qa/rolling-upgrade/src/test/java/org/elasticsearch/upgrades/MLModelDeploymentsUpgradeIT.java index 28c4d0ae3f2f2..702e24782d9e5 100644 --- a/x-pack/qa/rolling-upgrade/src/test/java/org/elasticsearch/upgrades/MLModelDeploymentsUpgradeIT.java +++ b/x-pack/qa/rolling-upgrade/src/test/java/org/elasticsearch/upgrades/MLModelDeploymentsUpgradeIT.java @@ -97,7 +97,6 @@ public void removeLogging() throws IOException { client().performRequest(request); } - @AwaitsFix(bugUrl = "https://github.com/elastic/elasticsearch/issues/95360") public void testTrainedModelDeployment() throws Exception { assumeTrue("NLP model deployments added in 8.0", UPGRADE_FROM_VERSION.onOrAfter(Version.V_8_0_0)); @@ -113,10 +112,21 @@ public void testTrainedModelDeployment() throws Exception { request.addParameter("wait_for_status", "yellow"); request.addParameter("timeout", "70s"); })); - waitForDeploymentStarted(modelId); - // attempt inference on new and old nodes multiple times - for (int i = 0; i < 10; i++) { - assertInfer(modelId); + + // Workaround for an upgrade test failure where an ingest + // pipeline config cannot be parsed by older nodes: + // https://github.com/elastic/elasticsearch/issues/95766 + // + // In version 8.3.1 ml stopped parsing the full ingest + // pipeline configuration so will avoid this problem. + // TODO remove this check once https://github.com/elastic/elasticsearch/issues/95766 + // is resolved + if (UPGRADE_FROM_VERSION.onOrAfter(Version.V_8_3_1)) { + waitForDeploymentStarted(modelId); + // attempt inference on new and old nodes multiple times + for (int i = 0; i < 10; i++) { + assertInfer(modelId); + } } } case UPGRADED -> { diff --git a/x-pack/qa/rolling-upgrade/src/test/java/org/elasticsearch/upgrades/MlTrainedModelsUpgradeIT.java b/x-pack/qa/rolling-upgrade/src/test/java/org/elasticsearch/upgrades/MlTrainedModelsUpgradeIT.java index 0667c22212dff..7742b3fe28286 100644 --- a/x-pack/qa/rolling-upgrade/src/test/java/org/elasticsearch/upgrades/MlTrainedModelsUpgradeIT.java +++ b/x-pack/qa/rolling-upgrade/src/test/java/org/elasticsearch/upgrades/MlTrainedModelsUpgradeIT.java @@ -56,7 +56,6 @@ protected Collection templatesToWaitFor() { .collect(Collectors.toSet()); } - @AwaitsFix(bugUrl = "https://github.com/elastic/elasticsearch/issues/95360") public void testTrainedModelInference() throws Exception { assumeTrue("We should only test if old cluster is after trained models we GA", UPGRADE_FROM_VERSION.after(Version.V_7_13_0)); switch (CLUSTER_TYPE) { @@ -75,8 +74,19 @@ public void testTrainedModelInference() throws Exception { request.addParameter("timeout", "70s"); })); List modelIds = getTrainedModels(); - // Test that stats are serializable and can be gathered - getTrainedModelStats(); + + // Workaround for an upgrade test failure where an ingest + // pipeline config cannot be parsed by older nodes: + // https://github.com/elastic/elasticsearch/issues/95766 + // + // In version 8.3.1 ml stopped parsing the full ingest + // pipeline configuration so will avoid this problem. + // TODO remove this check once https://github.com/elastic/elasticsearch/issues/95766 + // is resolved + if (UPGRADE_FROM_VERSION.onOrAfter(Version.V_8_3_1)) { + // Test that stats are serializable and can be gathered + getTrainedModelStats(); + } // Verify that the pipelines still work and inference is possible testInfer(modelIds); }