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) {
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 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);
var commandArgs = List.of("--verbose", "import", "--file=" + importMntPath + keycloakRealmImport.getRealmName() + "-realm.json", "--override=false");
keycloakContainer.setCommand(command);
keycloakContainer.setArgs(commandArgs);

View File

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