fixup! chore: remove che.workspace.pod.node_selector property
parent
8c7c008831
commit
2adc95d690
|
|
@ -23,7 +23,6 @@ import org.eclipse.che.workspace.infrastructure.kubernetes.provision.GatewayRout
|
|||
import org.eclipse.che.workspace.infrastructure.kubernetes.provision.GitConfigProvisioner;
|
||||
import org.eclipse.che.workspace.infrastructure.kubernetes.provision.ImagePullSecretProvisioner;
|
||||
import org.eclipse.che.workspace.infrastructure.kubernetes.provision.KubernetesTrustedCAProvisioner;
|
||||
import org.eclipse.che.workspace.infrastructure.kubernetes.provision.NodeSelectorProvisioner;
|
||||
import org.eclipse.che.workspace.infrastructure.kubernetes.provision.PodTerminationGracePeriodProvisioner;
|
||||
import org.eclipse.che.workspace.infrastructure.kubernetes.provision.SecurityContextProvisioner;
|
||||
import org.eclipse.che.workspace.infrastructure.kubernetes.provision.ServiceAccountProvisioner;
|
||||
|
|
@ -68,7 +67,6 @@ public interface KubernetesEnvironmentProvisioner<T extends KubernetesEnvironmen
|
|||
private final PodTerminationGracePeriodProvisioner podTerminationGracePeriodProvisioner;
|
||||
private final TlsProvisioner<KubernetesEnvironment> externalServerTlsProvisioner;
|
||||
private final ImagePullSecretProvisioner imagePullSecretProvisioner;
|
||||
private final NodeSelectorProvisioner nodeSelectorProvisioner;
|
||||
private final TolerationsProvisioner tolerationsProvisioner;
|
||||
private final ServiceAccountProvisioner serviceAccountProvisioner;
|
||||
private final CertificateProvisioner certificateProvisioner;
|
||||
|
|
@ -90,7 +88,6 @@ public interface KubernetesEnvironmentProvisioner<T extends KubernetesEnvironmen
|
|||
PodTerminationGracePeriodProvisioner podTerminationGracePeriodProvisioner,
|
||||
TlsProvisionerProvider<KubernetesEnvironment> externalServerTlsProvisionerProvider,
|
||||
ImagePullSecretProvisioner imagePullSecretProvisioner,
|
||||
NodeSelectorProvisioner nodeSelectorProvisioner,
|
||||
TolerationsProvisioner tolerationsProvisioner,
|
||||
ServiceAccountProvisioner serviceAccountProvisioner,
|
||||
CertificateProvisioner certificateProvisioner,
|
||||
|
|
@ -109,7 +106,6 @@ public interface KubernetesEnvironmentProvisioner<T extends KubernetesEnvironmen
|
|||
this.podTerminationGracePeriodProvisioner = podTerminationGracePeriodProvisioner;
|
||||
this.externalServerTlsProvisioner = externalServerTlsProvisionerProvider.get();
|
||||
this.imagePullSecretProvisioner = imagePullSecretProvisioner;
|
||||
this.nodeSelectorProvisioner = nodeSelectorProvisioner;
|
||||
this.tolerationsProvisioner = tolerationsProvisioner;
|
||||
this.serviceAccountProvisioner = serviceAccountProvisioner;
|
||||
this.certificateProvisioner = certificateProvisioner;
|
||||
|
|
@ -139,7 +135,6 @@ public interface KubernetesEnvironmentProvisioner<T extends KubernetesEnvironmen
|
|||
LOG.debug("Provisioning environment items for workspace '{}'", workspaceId);
|
||||
restartPolicyRewriter.provision(k8sEnv, identity);
|
||||
resourceLimitRequestProvisioner.provision(k8sEnv, identity);
|
||||
nodeSelectorProvisioner.provision(k8sEnv, identity);
|
||||
tolerationsProvisioner.provision(k8sEnv, identity);
|
||||
externalServerTlsProvisioner.provision(k8sEnv, identity);
|
||||
securityContextProvisioner.provision(k8sEnv, identity);
|
||||
|
|
|
|||
|
|
@ -1,49 +0,0 @@
|
|||
/*
|
||||
* Copyright (c) 2012-2022 Red Hat, Inc.
|
||||
* This program and the accompanying materials are made
|
||||
* available under the terms of the Eclipse Public License 2.0
|
||||
* which is available at https://www.eclipse.org/legal/epl-2.0/
|
||||
*
|
||||
* SPDX-License-Identifier: EPL-2.0
|
||||
*
|
||||
* Contributors:
|
||||
* Red Hat, Inc. - initial API and implementation
|
||||
*/
|
||||
package org.eclipse.che.workspace.infrastructure.kubernetes.provision;
|
||||
|
||||
import static java.util.Collections.emptyMap;
|
||||
|
||||
import io.fabric8.kubernetes.api.model.PodSpec;
|
||||
import java.util.Map;
|
||||
import javax.inject.Inject;
|
||||
import org.eclipse.che.api.core.model.workspace.runtime.RuntimeIdentity;
|
||||
import org.eclipse.che.api.workspace.server.spi.InfrastructureException;
|
||||
import org.eclipse.che.workspace.infrastructure.kubernetes.environment.KubernetesEnvironment;
|
||||
|
||||
/** Provisions node selector into workspace pod spec. */
|
||||
public class NodeSelectorProvisioner implements ConfigurationProvisioner {
|
||||
|
||||
private final Map<String, String> nodeSelectorAttributes;
|
||||
|
||||
@Inject
|
||||
public NodeSelectorProvisioner() {
|
||||
this.nodeSelectorAttributes = emptyMap();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void provision(KubernetesEnvironment k8sEnv, RuntimeIdentity identity)
|
||||
throws InfrastructureException {
|
||||
if (!nodeSelectorAttributes.isEmpty()) {
|
||||
k8sEnv
|
||||
.getPodsData()
|
||||
.values()
|
||||
.forEach(d -> d.getSpec().setNodeSelector(nodeSelectorAttributes));
|
||||
}
|
||||
}
|
||||
|
||||
public void provision(PodSpec podSpec) {
|
||||
if (!nodeSelectorAttributes.isEmpty()) {
|
||||
podSpec.setNodeSelector(nodeSelectorAttributes);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -23,7 +23,6 @@ import org.eclipse.che.workspace.infrastructure.kubernetes.provision.GatewayRout
|
|||
import org.eclipse.che.workspace.infrastructure.kubernetes.provision.GitConfigProvisioner;
|
||||
import org.eclipse.che.workspace.infrastructure.kubernetes.provision.ImagePullSecretProvisioner;
|
||||
import org.eclipse.che.workspace.infrastructure.kubernetes.provision.KubernetesTrustedCAProvisioner;
|
||||
import org.eclipse.che.workspace.infrastructure.kubernetes.provision.NodeSelectorProvisioner;
|
||||
import org.eclipse.che.workspace.infrastructure.kubernetes.provision.PodTerminationGracePeriodProvisioner;
|
||||
import org.eclipse.che.workspace.infrastructure.kubernetes.provision.SecurityContextProvisioner;
|
||||
import org.eclipse.che.workspace.infrastructure.kubernetes.provision.ServiceAccountProvisioner;
|
||||
|
|
@ -74,7 +73,6 @@ public class KubernetesEnvironmentProvisionerTest {
|
|||
@Mock private GitConfigProvisioner gitConfigProvisioner;
|
||||
@Mock private PreviewUrlExposer previewUrlExposer;
|
||||
@Mock private VcsSslCertificateProvisioner vcsSslCertificateProvisioner;
|
||||
@Mock private NodeSelectorProvisioner nodeSelectorProvisioner;
|
||||
@Mock private TolerationsProvisioner tolerationsProvisioner;
|
||||
@Mock private KubernetesTrustedCAProvisioner trustedCAProvisioner;
|
||||
@Mock private GatewayRouterProvisioner gatewayRouterProvisioner;
|
||||
|
|
@ -98,7 +96,6 @@ public class KubernetesEnvironmentProvisionerTest {
|
|||
podTerminationGracePeriodProvisioner,
|
||||
externalServerIngressTlsProvisionerProvider,
|
||||
imagePullSecretProvisioner,
|
||||
nodeSelectorProvisioner,
|
||||
tolerationsProvisioner,
|
||||
serviceAccountProvisioner,
|
||||
certificateProvisioner,
|
||||
|
|
@ -115,7 +112,6 @@ public class KubernetesEnvironmentProvisionerTest {
|
|||
envVarsProvisioner,
|
||||
restartPolicyRewriter,
|
||||
ramLimitProvisioner,
|
||||
nodeSelectorProvisioner,
|
||||
tolerationsProvisioner,
|
||||
securityContextProvisioner,
|
||||
podTerminationGracePeriodProvisioner,
|
||||
|
|
@ -138,7 +134,6 @@ public class KubernetesEnvironmentProvisionerTest {
|
|||
provisionOrder.verify(restartPolicyRewriter).provision(eq(k8sEnv), eq(runtimeIdentity));
|
||||
|
||||
provisionOrder.verify(ramLimitProvisioner).provision(eq(k8sEnv), eq(runtimeIdentity));
|
||||
provisionOrder.verify(nodeSelectorProvisioner).provision(eq(k8sEnv), eq(runtimeIdentity));
|
||||
provisionOrder.verify(tolerationsProvisioner).provision(eq(k8sEnv), eq(runtimeIdentity));
|
||||
provisionOrder
|
||||
.verify(externalServerIngressTlsProvisioner)
|
||||
|
|
|
|||
|
|
@ -1,70 +0,0 @@
|
|||
/*
|
||||
* Copyright (c) 2012-2022 Red Hat, Inc.
|
||||
* This program and the accompanying materials are made
|
||||
* available under the terms of the Eclipse Public License 2.0
|
||||
* which is available at https://www.eclipse.org/legal/epl-2.0/
|
||||
*
|
||||
* SPDX-License-Identifier: EPL-2.0
|
||||
*
|
||||
* Contributors:
|
||||
* Red Hat, Inc. - initial API and implementation
|
||||
*/
|
||||
package org.eclipse.che.workspace.infrastructure.kubernetes.provision;
|
||||
|
||||
import static org.testng.Assert.assertTrue;
|
||||
|
||||
import io.fabric8.kubernetes.api.model.ContainerBuilder;
|
||||
import io.fabric8.kubernetes.api.model.Pod;
|
||||
import io.fabric8.kubernetes.api.model.PodBuilder;
|
||||
import java.util.HashMap;
|
||||
import org.eclipse.che.api.core.model.workspace.runtime.RuntimeIdentity;
|
||||
import org.eclipse.che.workspace.infrastructure.kubernetes.environment.KubernetesEnvironment;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.testng.MockitoTestNGListener;
|
||||
import org.testng.annotations.BeforeMethod;
|
||||
import org.testng.annotations.Listeners;
|
||||
import org.testng.annotations.Test;
|
||||
|
||||
@Listeners(MockitoTestNGListener.class)
|
||||
public class NodeSelectorProvisionerTest {
|
||||
|
||||
@Mock private RuntimeIdentity runtimeId;
|
||||
private KubernetesEnvironment k8sEnv;
|
||||
|
||||
private NodeSelectorProvisioner provisioner;
|
||||
|
||||
@BeforeMethod
|
||||
public void setUp() {
|
||||
k8sEnv = KubernetesEnvironment.builder().build();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void shouldOmitEmptySelector() throws Exception {
|
||||
// given
|
||||
k8sEnv.addPod(createPod("pod"));
|
||||
k8sEnv.addPod(createPod("pod2"));
|
||||
|
||||
provisioner = new NodeSelectorProvisioner();
|
||||
|
||||
// when
|
||||
provisioner.provision(k8sEnv, runtimeId);
|
||||
|
||||
// then
|
||||
for (Pod pod : k8sEnv.getPodsCopy().values()) {
|
||||
assertTrue(pod.getSpec().getNodeSelector().isEmpty());
|
||||
}
|
||||
}
|
||||
|
||||
private Pod createPod(String podName) {
|
||||
return new PodBuilder()
|
||||
.withNewMetadata()
|
||||
.withName(podName)
|
||||
.endMetadata()
|
||||
.withNewSpec()
|
||||
.withNodeSelector(new HashMap<>())
|
||||
.withInitContainers(new ContainerBuilder().build())
|
||||
.withContainers(new ContainerBuilder().build(), new ContainerBuilder().build())
|
||||
.endSpec()
|
||||
.build();
|
||||
}
|
||||
}
|
||||
|
|
@ -23,7 +23,6 @@ import org.eclipse.che.workspace.infrastructure.kubernetes.provision.DeploymentM
|
|||
import org.eclipse.che.workspace.infrastructure.kubernetes.provision.GatewayRouterProvisioner;
|
||||
import org.eclipse.che.workspace.infrastructure.kubernetes.provision.GitConfigProvisioner;
|
||||
import org.eclipse.che.workspace.infrastructure.kubernetes.provision.ImagePullSecretProvisioner;
|
||||
import org.eclipse.che.workspace.infrastructure.kubernetes.provision.NodeSelectorProvisioner;
|
||||
import org.eclipse.che.workspace.infrastructure.kubernetes.provision.PodTerminationGracePeriodProvisioner;
|
||||
import org.eclipse.che.workspace.infrastructure.kubernetes.provision.ServiceAccountProvisioner;
|
||||
import org.eclipse.che.workspace.infrastructure.kubernetes.provision.SshKeysProvisioner;
|
||||
|
|
@ -65,7 +64,6 @@ public class OpenShiftEnvironmentProvisioner
|
|||
private final ContainerResourceProvisioner resourceLimitRequestProvisioner;
|
||||
private final PodTerminationGracePeriodProvisioner podTerminationGracePeriodProvisioner;
|
||||
private final ImagePullSecretProvisioner imagePullSecretProvisioner;
|
||||
private final NodeSelectorProvisioner nodeSelectorProvisioner;
|
||||
private final TolerationsProvisioner tolerationsProvisioner;
|
||||
private final ServiceAccountProvisioner serviceAccountProvisioner;
|
||||
private final CertificateProvisioner certificateProvisioner;
|
||||
|
|
@ -87,7 +85,6 @@ public class OpenShiftEnvironmentProvisioner
|
|||
ContainerResourceProvisioner resourceLimitRequestProvisioner,
|
||||
PodTerminationGracePeriodProvisioner podTerminationGracePeriodProvisioner,
|
||||
ImagePullSecretProvisioner imagePullSecretProvisioner,
|
||||
NodeSelectorProvisioner nodeSelectorProvisioner,
|
||||
TolerationsProvisioner tolerationsProvisioner,
|
||||
ServiceAccountProvisioner serviceAccountProvisioner,
|
||||
CertificateProvisioner certificateProvisioner,
|
||||
|
|
@ -106,7 +103,6 @@ public class OpenShiftEnvironmentProvisioner
|
|||
this.resourceLimitRequestProvisioner = resourceLimitRequestProvisioner;
|
||||
this.podTerminationGracePeriodProvisioner = podTerminationGracePeriodProvisioner;
|
||||
this.imagePullSecretProvisioner = imagePullSecretProvisioner;
|
||||
this.nodeSelectorProvisioner = nodeSelectorProvisioner;
|
||||
this.tolerationsProvisioner = tolerationsProvisioner;
|
||||
this.serviceAccountProvisioner = serviceAccountProvisioner;
|
||||
this.certificateProvisioner = certificateProvisioner;
|
||||
|
|
@ -137,7 +133,6 @@ public class OpenShiftEnvironmentProvisioner
|
|||
restartPolicyRewriter.provision(osEnv, identity);
|
||||
routeTlsProvisioner.provision(osEnv, identity);
|
||||
resourceLimitRequestProvisioner.provision(osEnv, identity);
|
||||
nodeSelectorProvisioner.provision(osEnv, identity);
|
||||
tolerationsProvisioner.provision(osEnv, identity);
|
||||
podTerminationGracePeriodProvisioner.provision(osEnv, identity);
|
||||
imagePullSecretProvisioner.provision(osEnv, identity);
|
||||
|
|
|
|||
|
|
@ -21,7 +21,6 @@ import org.eclipse.che.workspace.infrastructure.kubernetes.provision.DeploymentM
|
|||
import org.eclipse.che.workspace.infrastructure.kubernetes.provision.GatewayRouterProvisioner;
|
||||
import org.eclipse.che.workspace.infrastructure.kubernetes.provision.GitConfigProvisioner;
|
||||
import org.eclipse.che.workspace.infrastructure.kubernetes.provision.ImagePullSecretProvisioner;
|
||||
import org.eclipse.che.workspace.infrastructure.kubernetes.provision.NodeSelectorProvisioner;
|
||||
import org.eclipse.che.workspace.infrastructure.kubernetes.provision.PodTerminationGracePeriodProvisioner;
|
||||
import org.eclipse.che.workspace.infrastructure.kubernetes.provision.ServiceAccountProvisioner;
|
||||
import org.eclipse.che.workspace.infrastructure.kubernetes.provision.SshKeysProvisioner;
|
||||
|
|
@ -69,7 +68,6 @@ public class OpenShiftEnvironmentProvisionerTest {
|
|||
@Mock private GitConfigProvisioner gitConfigProvisioner;
|
||||
@Mock private OpenShiftPreviewUrlExposer previewUrlEndpointsProvisioner;
|
||||
@Mock private VcsSslCertificateProvisioner vcsSslCertificateProvisioner;
|
||||
@Mock private NodeSelectorProvisioner nodeSelectorProvisioner;
|
||||
@Mock private TolerationsProvisioner tolerationsProvisioner;
|
||||
@Mock private GatewayRouterProvisioner gatewayRouterProvisioner;
|
||||
@Mock private DeploymentMetadataProvisioner deploymentMetadataProvisioner;
|
||||
|
|
@ -92,7 +90,6 @@ public class OpenShiftEnvironmentProvisionerTest {
|
|||
ramLimitProvisioner,
|
||||
podTerminationGracePeriodProvisioner,
|
||||
imagePullSecretProvisioner,
|
||||
nodeSelectorProvisioner,
|
||||
tolerationsProvisioner,
|
||||
serviceAccountProvisioner,
|
||||
certificateProvisioner,
|
||||
|
|
@ -111,7 +108,6 @@ public class OpenShiftEnvironmentProvisionerTest {
|
|||
tlsRouteProvisioner,
|
||||
restartPolicyRewriter,
|
||||
ramLimitProvisioner,
|
||||
nodeSelectorProvisioner,
|
||||
tolerationsProvisioner,
|
||||
podTerminationGracePeriodProvisioner,
|
||||
imagePullSecretProvisioner,
|
||||
|
|
@ -135,7 +131,6 @@ public class OpenShiftEnvironmentProvisionerTest {
|
|||
provisionOrder.verify(restartPolicyRewriter).provision(eq(osEnv), eq(runtimeIdentity));
|
||||
provisionOrder.verify(tlsRouteProvisioner).provision(eq(osEnv), eq(runtimeIdentity));
|
||||
provisionOrder.verify(ramLimitProvisioner).provision(eq(osEnv), eq(runtimeIdentity));
|
||||
provisionOrder.verify(nodeSelectorProvisioner).provision(eq(osEnv), eq(runtimeIdentity));
|
||||
provisionOrder.verify(tolerationsProvisioner).provision(eq(osEnv), eq(runtimeIdentity));
|
||||
provisionOrder
|
||||
.verify(podTerminationGracePeriodProvisioner)
|
||||
|
|
|
|||
Loading…
Reference in New Issue