fix: using non-interpretted args for import (#44862)

closes: #44861

Signed-off-by: Steve Hawkins <shawkins@redhat.com>
This commit is contained in:
Steven Hawkins 2026-01-07 02:48:08 -05:00 committed by GitHub
parent 19014814e5
commit 81e31fa4cc
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 5 additions and 15 deletions

View File

@ -151,14 +151,9 @@ public class KeycloakRealmImportJobDependentResource extends KubernetesDependent
private void buildKeycloakJobContainer(Container keycloakContainer, KeycloakRealmImport keycloakRealmImport, String volumeName, Config config) { private void buildKeycloakJobContainer(Container keycloakContainer, KeycloakRealmImport keycloakRealmImport, String volumeName, Config config) {
var importMntPath = "/mnt/realm-import/"; var importMntPath = "/mnt/realm-import/";
var command = List.of("/bin/bash"); var command = List.of("/opt/keycloak/bin/kc.sh");
var override = "--override=false"; var commandArgs = List.of("--verbose", "import", "--file=" + importMntPath + keycloakRealmImport.getRealmName() + "-realm.json", "--override=false");
var runBuild = !keycloakContainer.getArgs().contains(KeycloakDeploymentDependentResource.OPTIMIZED_ARG) ? "/opt/keycloak/bin/kc.sh --verbose build && " : "";
var commandArgs = List.of("-c",
runBuild + "/opt/keycloak/bin/kc.sh --verbose import --optimized --file='" + importMntPath + keycloakRealmImport.getRealmName() + "-realm.json' " + override);
keycloakContainer.setCommand(command); keycloakContainer.setCommand(command);
keycloakContainer.setArgs(commandArgs); keycloakContainer.setArgs(commandArgs);

View File

@ -20,7 +20,6 @@ package org.keycloak.operator.testsuite.integration;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors;
import jakarta.inject.Inject; import jakarta.inject.Inject;
@ -87,7 +86,7 @@ public class RealmImportTest extends BaseOperatorTest {
k8sclient.resource(getResourceFromFile("example-smtp-secret.yaml", Secret.class)).delete(); k8sclient.resource(getResourceFromFile("example-smtp-secret.yaml", Secret.class)).delete();
} }
private String getJobArgs() { private List<String> getJobArgs() {
return k8sclient return k8sclient
.batch() .batch()
.v1() .v1()
@ -100,16 +99,13 @@ public class RealmImportTest extends BaseOperatorTest {
.getSpec() .getSpec()
.getContainers() .getContainers()
.get(0) .get(0)
.getArgs() .getArgs();
.stream()
.collect(Collectors.joining());
} }
protected static void deploySmtpSecret() { protected static void deploySmtpSecret() {
K8sUtils.set(k8sclient, getResourceFromFile("example-smtp-secret.yaml", Secret.class)); K8sUtils.set(k8sclient, getResourceFromFile("example-smtp-secret.yaml", Secret.class));
} }
@DisabledIfApiServerTest
@Test @Test
public void testWorkingRealmImport() { public void testWorkingRealmImport() {
// Arrange // Arrange
@ -126,7 +122,6 @@ public class RealmImportTest extends BaseOperatorTest {
assertWorkingRealmImport(kc); assertWorkingRealmImport(kc);
} }
@DisabledIfApiServerTest
@Test @Test
public void testWorkingRealmImportWithReplacement() { public void testWorkingRealmImportWithReplacement() {
// Arrange // Arrange
@ -209,7 +204,7 @@ public class RealmImportTest extends BaseOperatorTest {
assertThat(curlOutput).isEqualTo("200"); assertThat(curlOutput).isEqualTo("200");
}); });
assertThat(getJobArgs()).contains("build"); assertThat(getJobArgs()).contains("import");
assertThat(job.getMetadata().getLabels().get("example")).isEqualTo("test"); assertThat(job.getMetadata().getLabels().get("example")).isEqualTo("test");
return envvars; return envvars;