fixup! chore: remove che.workspace.pod.node_selector property

pull/378/head
Andrew Obuchowicz 2022-10-13 12:06:46 -04:00 committed by Ilya Buziuk
parent 8c7c008831
commit 2adc95d690
6 changed files with 0 additions and 139 deletions

View File

@ -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);

View File

@ -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);
}
}
}

View File

@ -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)

View File

@ -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();
}
}

View File

@ -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);

View File

@ -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)