Skip to content
This repository has been archived by the owner on Jun 19, 2024. It is now read-only.

Commit

Permalink
Removed RuntimeMode from ResourceMojo
Browse files Browse the repository at this point in the history
  • Loading branch information
rohanKanojia committed Feb 22, 2019
1 parent acfbe74 commit 653c95e
Show file tree
Hide file tree
Showing 23 changed files with 76 additions and 128 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@
import io.fabric8.kubernetes.api.model.ObjectMetaBuilder;
import io.fabric8.kubernetes.api.model.PodSpec;
import io.fabric8.kubernetes.api.model.PodTemplateSpec;
import io.fabric8.maven.core.config.PlatformMode;
import io.fabric8.maven.core.config.ResourceConfig;
import io.fabric8.maven.core.config.RuntimeMode;
import io.fabric8.maven.core.util.kubernetes.KubernetesHelper;
import io.fabric8.maven.docker.config.ImageConfiguration;
import io.fabric8.maven.docker.util.ImageName;
Expand All @@ -42,11 +42,11 @@ public class DeploymentConfigHandler {
}

public DeploymentConfig getDeploymentConfig(ResourceConfig config,
List<ImageConfiguration> images, Long openshiftDeployTimeoutSeconds, RuntimeMode runtimeMode, Boolean enableAutomaticTrigger) {
List<ImageConfiguration> images, Long openshiftDeployTimeoutSeconds, Boolean imageChangeTrigger, Boolean enableAutomaticTrigger, PlatformMode platformMode) {

DeploymentConfig deploymentConfig = new DeploymentConfigBuilder()
.withMetadata(createDeploymentConfigMetaData(config))
.withSpec(createDeploymentConfigSpec(config, images, openshiftDeployTimeoutSeconds, runtimeMode, enableAutomaticTrigger))
.withSpec(createDeploymentConfigSpec(config, images, openshiftDeployTimeoutSeconds, imageChangeTrigger, enableAutomaticTrigger, platformMode))
.build();

return deploymentConfig;
Expand All @@ -60,7 +60,7 @@ private ObjectMeta createDeploymentConfigMetaData(ResourceConfig config) {
.build();
}

private DeploymentConfigSpec createDeploymentConfigSpec(ResourceConfig config, List<ImageConfiguration> images, Long openshiftDeployTimeoutSeconds, RuntimeMode runtimeMode, Boolean enableAutomaticTrigger) {
private DeploymentConfigSpec createDeploymentConfigSpec(ResourceConfig config, List<ImageConfiguration> images, Long openshiftDeployTimeoutSeconds, Boolean imageChangeTrigger, Boolean enableAutomaticTrigger, PlatformMode platformMode) {
DeploymentConfigSpecBuilder specBuilder = new DeploymentConfigSpecBuilder();

PodTemplateSpec podTemplateSpec = podTemplateHandler.getPodTemplate(config,images);
Expand All @@ -80,7 +80,7 @@ private DeploymentConfigSpec createDeploymentConfigSpec(ResourceConfig config, L
}

// add a new image change trigger for the build stream
if (containerToImageMap.size() != 0 && runtimeMode == RuntimeMode.openshift) {
if (containerToImageMap.size() != 0 && imageChangeTrigger) {
for (Map.Entry<String, String> entry : containerToImageMap.entrySet()) {
String containerName = entry.getKey();
ImageName image = new ImageName(entry.getValue());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,6 @@ public class ReplicaSetHandler {

public ReplicaSet getReplicaSet(ResourceConfig config,
List<ImageConfiguration> images) {

return new ReplicaSetBuilder()
.withMetadata(createRsMetaData(config))
.withSpec(createRsSpec(config, images))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -237,7 +237,6 @@ private static Map<String, Object> readAndEnrichFragment(PlatformMode platformMo

if (type != null) {
kind = getAndValidateKindFromType(file, type);

} else {
// Try name as type
kind = FILENAME_TO_KIND_MAPPER.get(name.toLowerCase());
Expand All @@ -247,9 +246,6 @@ private static Map<String, Object> readAndEnrichFragment(PlatformMode platformMo
}
}

if(kind != null && kind.equals("Deployment") && platformMode.equals(PlatformMode.openshift)) {
kind = "DeploymentConfig";
}
addKind(fragment, kind, file.getName());

String apiVersion = apiVersions.getCoreVersion();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
package io.fabric8.maven.core.handler;

import io.fabric8.kubernetes.api.model.apps.ReplicaSet;
import io.fabric8.maven.core.config.PlatformMode;
import io.fabric8.maven.core.config.ResourceConfig;
import io.fabric8.maven.core.config.VolumeConfig;
import io.fabric8.maven.core.model.GroupArtifactVersion;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,6 @@
import java.io.File;
import java.util.List;
import java.util.Optional;
import java.util.Properties;

import io.fabric8.maven.core.config.PlatformMode;
import io.fabric8.maven.core.config.RuntimeMode;
import io.fabric8.maven.core.model.Configuration;
import io.fabric8.maven.core.model.Dependency;
import io.fabric8.maven.core.model.GroupArtifactVersion;
Expand Down Expand Up @@ -111,12 +107,11 @@ default Optional<String> getDependencyVersion(String groupId, String artifactId)
return Optional.empty();
}


PlatformMode getPlatformMode();

RuntimeMode getRuntimeMode();

/**
* Gets a system property used in project.
*
* @param key name of property
* @return value of property if set.
*/
Object getProperty(String key);

Properties getProperties();
}
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,8 @@

import com.google.gson.JsonObject;
import com.google.gson.JsonPrimitive;
import io.fabric8.maven.core.config.PlatformMode;
import io.fabric8.maven.core.config.ProcessorConfig;
import io.fabric8.maven.core.config.ResourceConfig;
import io.fabric8.maven.core.config.RuntimeMode;
import io.fabric8.maven.core.model.Configuration;
import io.fabric8.maven.core.model.Dependency;
import io.fabric8.maven.core.model.GroupArtifactVersion;
Expand Down Expand Up @@ -64,10 +62,6 @@ public class MavenEnricherContext implements EnricherContext {

private MavenSession session;

private RuntimeMode runtimeMode;

private PlatformMode platformMode;

private Properties properties;

private MavenEnricherContext() {}
Expand All @@ -87,10 +81,6 @@ public Logger getLog() {
}


public PlatformMode getPlatformMode() {
return platformMode;
}

@Override
public GroupArtifactVersion getGav() {

Expand Down Expand Up @@ -140,16 +130,11 @@ public ProjectClassLoaders getProjectClassLoaders() {
);
}

@Override
public RuntimeMode getRuntimeMode() { return runtimeMode; }

@Override
public Object getProperty(String key) {
return properties.getProperty(key);
}

@Override
public Properties getProperties() { return properties; }
// ========================================================================
// Maven specific methods, only available after casting
public MavenProject getProject() {
Expand Down Expand Up @@ -242,22 +227,11 @@ public Builder settings(Settings settings) {
return this;
}

public Builder runtimeMode(RuntimeMode mode) {
ctx.runtimeMode = mode;
return this;
}

public Builder properties(Properties properties) {
ctx.properties = properties;
return this;
}


public Builder platformMode(PlatformMode platformMode) {
ctx.platformMode = platformMode;
return this;
}

public MavenEnricherContext build() {
ctx.configuration =
new Configuration.Builder()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,8 +61,6 @@ public class DefaultControllerEnricher extends BaseEnricher {
protected static final String[] POD_CONTROLLER_KINDS =
{ "ReplicationController", "ReplicaSet", "Deployment", "DeploymentConfig", "StatefulSet", "DaemonSet", "Job" };

private final RuntimeMode runtimeMode;

private final DeploymentHandler deployHandler;
private final DeploymentConfigHandler deployConfigHandler;
private final ReplicationControllerHandler rcHandler;
Expand All @@ -86,7 +84,6 @@ public DefaultControllerEnricher(MavenEnricherContext buildContext) {

HandlerHub handlers = new HandlerHub(
getContext().getGav(), getContext().getConfiguration().getProperties());
runtimeMode = buildContext.getRuntimeMode();
rcHandler = handlers.getReplicationControllerHandler();
rsHandler = handlers.getReplicaSetHandler();
deployHandler = handlers.getDeploymentHandler();
Expand Down Expand Up @@ -119,7 +116,7 @@ public void create(PlatformMode platformMode, KubernetesListBuilder builder) {
builder.addToDeploymentItems(deployHandler.getDeployment(config, images));
} else {
log.info("Adding a default DeploymentConfig");
builder.addToDeploymentConfigItems(deployConfigHandler.getDeploymentConfig(config, images, getOpenshiftDeployTimeoutInSeconds(3600L),runtimeMode, isAutomaticTriggerEnabled(true)));
builder.addToDeploymentConfigItems(deployConfigHandler.getDeploymentConfig(config, images, getOpenshiftDeployTimeoutInSeconds(3600L), getImageChangeTriggerFlag(true), isAutomaticTriggerEnabled(true), platformMode));
}
} else if ("statefulSet".equalsIgnoreCase(type)) {
log.info("Adding a default StatefulSet");
Expand Down Expand Up @@ -227,4 +224,12 @@ private Long getOpenshiftDeployTimeoutInSeconds(Long defaultValue) {
return defaultValue;
}
}

private Boolean getImageChangeTriggerFlag(Boolean defaultValue) {
if (getContext().getProperty("fabric8.openshift.imageChangeTriggers") != null) {
return Boolean.parseBoolean(getContext().getProperty("fabric8.openshift.imageChangeTriggers").toString());
} else {
return defaultValue;
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@
import io.fabric8.kubernetes.api.model.apps.DeploymentSpec;
import io.fabric8.kubernetes.api.model.apps.DeploymentStrategy;
import io.fabric8.maven.core.config.PlatformMode;
import io.fabric8.maven.core.config.RuntimeMode;
import io.fabric8.maven.docker.util.ImageName;
import io.fabric8.maven.enricher.api.BaseEnricher;
import io.fabric8.maven.enricher.api.MavenEnricherContext;
Expand All @@ -42,14 +41,14 @@

public class DeploymentConfigEnricher extends BaseEnricher {
static final String ENRICHER_NAME = "fmp-openshift-deploymentconfig";
private RuntimeMode runtimeMode;
private Boolean enableAutomaticTrigger;
private Boolean enableImageChangeTrigger;
private Long openshiftDeployTimeoutSeconds;

public DeploymentConfigEnricher(MavenEnricherContext context) {
super(context, ENRICHER_NAME);
this.runtimeMode = context.getRuntimeMode();
this.enableAutomaticTrigger = isAutomaticTriggerEnabled(context, true);
this.enableImageChangeTrigger = getImageChangeTriggerFlag(true);
this.openshiftDeployTimeoutSeconds = getOpenshiftDeployTimeoutInSeconds(context, 3600L);
}

Expand All @@ -58,7 +57,7 @@ public void create(PlatformMode platformMode, KubernetesListBuilder builder) {
if(platformMode == PlatformMode.openshift) {
for(HasMetadata item : builder.buildItems()) {
if(item instanceof Deployment) {
DeploymentConfig deploymentConfig = convert(item);
DeploymentConfig deploymentConfig = convert(item, platformMode);
removeItemFromBuilder(builder, item);
builder.addToDeploymentConfigItems(deploymentConfig);
}
Expand All @@ -77,7 +76,7 @@ private void removeItemFromBuilder(KubernetesListBuilder builder, HasMetadata it
builder.withItems(newListItems);
}

private DeploymentConfig convert(HasMetadata item) {
private DeploymentConfig convert(HasMetadata item, PlatformMode platformMode) {
Deployment resource = (Deployment) item;
DeploymentConfigBuilder builder = new DeploymentConfigBuilder();
builder.withMetadata(resource.getMetadata());
Expand Down Expand Up @@ -139,7 +138,7 @@ private DeploymentConfig convert(HasMetadata item) {

// add a new image change trigger for the build stream
if (containerToImageMap.size() != 0) {
if(runtimeMode.equals(RuntimeMode.openshift)) {
if(enableImageChangeTrigger) {
for (Map.Entry<String, String> entry : containerToImageMap.entrySet()) {
String containerName = entry.getKey();
ImageName image = new ImageName(entry.getValue());
Expand Down Expand Up @@ -180,6 +179,13 @@ private Long getOpenshiftDeployTimeoutInSeconds(MavenEnricherContext enricherCon
return defaultValue;
}
}
private Boolean getImageChangeTriggerFlag(Boolean defaultValue) {
if (getContext().getProperty("fabric8.openshift.imageChangeTriggers") != null) {
return Boolean.parseBoolean(getContext().getProperty("fabric8.openshift.imageChangeTriggers").toString());
} else {
return defaultValue;
}
}

private void validateContainer(Container container) {
if (container.getImage() == null) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ public FromSelector(GeneratorContext context) {
}

public String getFrom() {
RuntimeMode mode = context.getPlatformMode();
RuntimeMode mode = context.getRuntimeMode();
OpenShiftBuildStrategy strategy = context.getStrategy();
if (mode == RuntimeMode.openshift && strategy == OpenShiftBuildStrategy.s2i) {
return getS2iBuildFrom();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
package io.fabric8.maven.generator.api;

import io.fabric8.maven.core.config.OpenShiftBuildStrategy;
import io.fabric8.maven.core.config.PlatformMode;
import io.fabric8.maven.core.config.ProcessorConfig;
import io.fabric8.maven.core.config.RuntimeMode;
import io.fabric8.maven.core.service.ArtifactResolverService;
Expand All @@ -31,7 +30,7 @@ public class GeneratorContext {
private MavenProject project;
private ProcessorConfig config;
private Logger logger;
private RuntimeMode platformMode;
private RuntimeMode runtimeMode;
private OpenShiftBuildStrategy strategy;

private boolean useProjectClasspath;
Expand All @@ -55,8 +54,8 @@ public Logger getLogger() {
return logger;
}

public RuntimeMode getPlatformMode() {
return platformMode;
public RuntimeMode getRuntimeMode() {
return runtimeMode;
}

public OpenShiftBuildStrategy getStrategy() {
Expand Down Expand Up @@ -106,8 +105,8 @@ public Builder logger(Logger logger) {
return this;
}

public Builder platformMode(RuntimeMode mode) {
ctx.platformMode = mode;
public Builder runtimeMode(RuntimeMode mode) {
ctx.runtimeMode = mode;
return this;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@

import io.fabric8.maven.core.config.OpenShiftBuildStrategy;
import io.fabric8.maven.core.config.RuntimeMode;
import io.fabric8.maven.core.config.RuntimeMode;
import io.fabric8.maven.core.util.Configs;
import io.fabric8.maven.core.util.PrefixedLogger;
import io.fabric8.maven.docker.config.BuildImageConfiguration;
Expand Down Expand Up @@ -112,7 +111,7 @@ protected String getFromAsConfigured() {
* @param builder for the build image configuration to add the from to.
*/
protected void addFrom(BuildImageConfiguration.Builder builder) {
String fromMode = getConfigWithSystemFallbackAndDefault(Config.fromMode, "fabric8.generator.fromMode", getFromModeDefault(context.getPlatformMode()));
String fromMode = getConfigWithSystemFallbackAndDefault(Config.fromMode, "fabric8.generator.fromMode", getFromModeDefault(context.getRuntimeMode()));
String from = getConfigWithSystemFallbackAndDefault(Config.from, "fabric8.generator.from", null);
if ("docker".equalsIgnoreCase(fromMode)) {
String fromImage = from;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ public void simple() {
.project(project)
.config(new ProcessorConfig())
.logger(logger)
.platformMode((RuntimeMode) data[i])
.runtimeMode((RuntimeMode) data[i])
.strategy((OpenShiftBuildStrategy) data[i + 1])
.build();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -296,7 +296,7 @@ public void setupContextKubernetes(final Properties projectProps, final String c
ctx.getConfig(); result = config;
config.getConfig("test-generator", "from"); result = configFrom; minTimes = 0;
config.getConfig("test-generator", "fromMode"); result = configFromMode; minTimes = 0;
ctx.getPlatformMode();result = RuntimeMode.kubernetes;minTimes = 0;
ctx.getRuntimeMode();result = RuntimeMode.kubernetes;minTimes = 0;
ctx.getStrategy(); result = null; minTimes = 0;
}};
}
Expand All @@ -308,7 +308,7 @@ public void setupContextOpenShift(final Properties projectProps, final String co
ctx.getConfig(); result = config;
config.getConfig("test-generator", "from"); result = configFrom; minTimes = 0;
config.getConfig("test-generator", "fromMode"); result = configFromMode; minTimes = 0;
ctx.getPlatformMode();result = RuntimeMode.openshift;minTimes = 0;
ctx.getRuntimeMode();result = RuntimeMode.openshift;minTimes = 0;
ctx.getStrategy(); result = OpenShiftBuildStrategy.s2i; minTimes = 0;
}};
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ private Expectations prepareExpectation(final String version, final RuntimeMode
ctx.getProject(); result = project;
project.getPlugin("io.fabric8:fabric8-maven-plugin"); result = plugin;
plugin.getVersion(); result = version;
ctx.getPlatformMode();result = mode;
ctx.getRuntimeMode();result = mode;
ctx.getStrategy(); result = strategy;
}};
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ public boolean isApplicable(List<ImageConfiguration> configs) {

@Override
public List<ImageConfiguration> customize(List<ImageConfiguration> configs, boolean prePackagePhase) {
if (getContext().getPlatformMode() == RuntimeMode.openshift &&
if (getContext().getRuntimeMode() == RuntimeMode.openshift &&
getContext().getStrategy() == OpenShiftBuildStrategy.s2i &&
!prePackagePhase) {
throw new IllegalArgumentException("S2I not yet supported for the webapp-generator. Use -Dfabric8.mode=kubernetes or " +
Expand Down
Loading

0 comments on commit 653c95e

Please sign in to comment.