Skip to content

Commit 90a11d6

Browse files
authored
Merge pull request #31737 from Sgitario/26180
OpenShift binary build fails when current namespace is different
2 parents 0231a81 + a884712 commit 90a11d6

File tree

2 files changed

+19
-2
lines changed

2 files changed

+19
-2
lines changed

extensions/container-image/container-image-openshift/deployment/src/main/java/io/quarkus/container/image/openshift/deployment/OpenshiftProcessor.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package io.quarkus.container.image.openshift.deployment;
22

3+
import static io.quarkus.container.image.openshift.deployment.OpenshiftUtils.getNamespace;
34
import static io.quarkus.container.image.openshift.deployment.OpenshiftUtils.mergeConfig;
45
import static io.quarkus.container.util.PathsUtil.findMainSourcesRoot;
56
import static io.quarkus.deployment.pkg.steps.JarResultBuildStep.DEFAULT_FAST_JAR_DIRECTORY_NAME;
@@ -264,7 +265,7 @@ public void openshiftBuildFromJar(OpenshiftConfig openshiftConfig,
264265
return;
265266
}
266267

267-
try (KubernetesClient kubernetesClient = kubernetesClientBuilder.buildClient()) {
268+
try (KubernetesClient kubernetesClient = buildClient(kubernetesClientBuilder)) {
268269
String namespace = Optional.ofNullable(kubernetesClient.getNamespace()).orElse("default");
269270
LOG.info("Starting (in-cluster) container image build for jar using: " + config.buildStrategy + " on server: "
270271
+ kubernetesClient.getMasterUrl() + " in namespace:" + namespace + ".");
@@ -324,7 +325,7 @@ public void openshiftBuildFromNative(OpenshiftConfig openshiftConfig, S2iConfig
324325
return;
325326
}
326327

327-
try (KubernetesClient kubernetesClient = kubernetesClientBuilder.buildClient()) {
328+
try (KubernetesClient kubernetesClient = buildClient(kubernetesClientBuilder)) {
328329
String namespace = Optional.ofNullable(kubernetesClient.getNamespace()).orElse("default");
329330

330331
LOG.info("Starting (in-cluster) container image build for jar using: " + config.buildStrategy + " on server: "
@@ -543,6 +544,11 @@ private static KubernetesClientBuilder newClientBuilderWithoutHttp2(Config confi
543544
return new KubernetesClientBuilder().withConfig(configuration).withHttpClientFactory(httpClientFactory);
544545
}
545546

547+
private static KubernetesClient buildClient(KubernetesClientBuildItem kubernetesClientBuilder) {
548+
getNamespace().ifPresent(kubernetesClientBuilder.getConfig()::setNamespace);
549+
return kubernetesClientBuilder.buildClient();
550+
}
551+
546552
// visible for test
547553
static String concatUnixPaths(String... elements) {
548554
StringBuilder result = new StringBuilder();

extensions/container-image/container-image-openshift/deployment/src/main/java/io/quarkus/container/image/openshift/deployment/OpenshiftUtils.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,9 @@
2828
*/
2929
public class OpenshiftUtils {
3030

31+
private static final String OPENSHIFT_NAMESPACE = "quarkus.openshift.namespace";
32+
private static final String KUBERNETES_NAMESPACE = "quarkus.kubernetes.namespace";
33+
3134
/**
3235
* Wait for the references ImageStreamTags to become available.
3336
*
@@ -142,4 +145,12 @@ public static OpenshiftConfig mergeConfig(OpenshiftConfig openshiftConfig, S2iCo
142145

143146
return result;
144147
}
148+
149+
/**
150+
* @return the openshift namespace set in the OpenShift extension.
151+
*/
152+
public static Optional<String> getNamespace() {
153+
return ConfigProvider.getConfig().getOptionalValue(OPENSHIFT_NAMESPACE, String.class)
154+
.or(() -> ConfigProvider.getConfig().getOptionalValue(KUBERNETES_NAMESPACE, String.class));
155+
}
145156
}

0 commit comments

Comments
 (0)