From f14d7c4e6990c3cb11cc6037ea401eea5557ecaa Mon Sep 17 00:00:00 2001 From: Remmelt Pit Date: Wed, 20 Apr 2016 14:39:08 +0200 Subject: [PATCH] Applied IntelliJ's automatic code formatting to all code in the subdirectory As long as we have the same settings in our IDE, we will no longer have merge conflicts in imports or unnecessary code changes due to spaces/tabs/etc. --- .editorconfig | 11 + minimesos/build.gradle | 50 +- .../minimesos/config/ConfigParser.groovy | 8 +- .../minimesos/config/ConsulConfig.groovy | 4 +- .../minimesos/config/ContainerConfig.groovy | 4 +- .../minimesos/config/MarathonConfig.groovy | 4 +- .../minimesos/config/MesosAgentConfig.groovy | 4 +- .../minimesos/config/MesosMasterConfig.groovy | 4 +- .../minimesos/config/RegistratorConfig.groovy | 4 +- .../minimesos/config/ResourceDefScalar.groovy | 1 + .../minimesos/config/ZooKeeperConfig.groovy | 4 +- .../minimesos/cluster/ClusterProcess.java | 1 + .../minimesos/cluster/ClusterRepository.java | 3 +- .../minimesos/cluster/MesosCluster.java | 3 +- .../minimesos/cluster/MesosContainer.java | 1 + .../minimesos/cluster/MesosMaster.java | 1 + .../minimesos/container/ContainerName.java | 6 +- .../docker/DockerContainersUtil.java | 4 +- .../minimesos/junit/MesosClusterTestRule.java | 2 +- .../minimesos/main/CommandInit.java | 10 +- .../minimesos/main/CommandInstall.java | 3 +- .../minimesos/main/CommandUp.java | 14 +- .../minimesos/mesos/ClusterArchitecture.java | 16 +- .../minimesos/mesos/ClusterContainers.java | 7 +- .../mesos/MesosClusterContainersFactory.java | 10 +- .../minimesos/mesos/ZooKeeperContainer.java | 1 + .../minimesos/util/CollectionsUtils.java | 10 +- .../minimesos/util/ResourceUtil.java | 4 +- minimesos/src/main/resources/logback.xml | 36 +- .../resources/marathon/elasticsearch.json | 19 +- .../main/resources/marathon/mesos-consul.json | 18 +- .../config/AgentResourcesConfigTest.groovy | 16 +- .../minimesos/config/ConfigParserTest.groovy | 12 +- .../minimesos/config/ConfigWriterTest.groovy | 4 +- .../minimesos/ConsulRegistrationTest.java | 2 +- .../minimesos/DefaultMinimumClusterTest.java | 3 +- .../minimesos/ExposedPortsTest.java | 2 +- .../minimesos/HelloWorldContainer.java | 2 +- .../minimesos/MesosClusterTest.java | 4 +- .../minimesos/ParseStateJSONTest.java | 483 +++++++++--------- .../containersol/minimesos/RunTaskTest.java | 4 +- .../container/ContainerNameTest.java | 4 +- .../minimesos/jdepend/JDependCyclesTest.java | 2 +- .../minimesos/main/CommandInitTest.java | 1 - .../minimesos/main/CommandUpTest.java | 4 +- .../containersol/minimesos/main/MainTest.java | 18 +- .../mesos/ClusterArchitectureTest.java | 12 +- .../mesos/ClusterContainersTest.java | 8 +- .../minimesos/mesos/ClusterUtilTest.java | 4 +- .../minimesos/mesos/MesosAgentTest.java | 1 - .../resources/clusterconfig/two-agents.groovy | 6 +- 51 files changed, 463 insertions(+), 396 deletions(-) create mode 100644 .editorconfig diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 00000000..f711a017 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,11 @@ +root = true + +[*] +end_of_line = lf +insert_final_newline = true +charset = utf-8 +trim_trailing_whitespace = true + +[*.java] +indent_style = space +indent_size = 4 diff --git a/minimesos/build.gradle b/minimesos/build.gradle index bf1fc1da..1036b4e0 100644 --- a/minimesos/build.gradle +++ b/minimesos/build.gradle @@ -1,5 +1,5 @@ -import com.bmuschko.gradle.docker.tasks.image.DockerPushImage import com.bmuschko.gradle.docker.tasks.image.DockerBuildImage +import com.bmuschko.gradle.docker.tasks.image.DockerPushImage import com.bmuschko.gradle.docker.tasks.image.DockerTagImage ext { @@ -71,11 +71,11 @@ jar { baseName = "minimesos" manifest { attributes( - 'Main-Class' : mainClassName, - 'Implementation-Version' : project.version + 'Main-Class': mainClassName, + 'Implementation-Version': project.version ) } - exclude 'META-INF/*.RSA', 'META-INF/*.SF','META-INF/*.DSA' + exclude 'META-INF/*.RSA', 'META-INF/*.SF', 'META-INF/*.DSA' } jacocoTestReport { @@ -92,16 +92,16 @@ task executableJar(type: Jar) { with jar manifest { attributes( - 'Main-Class' : mainClassName, - 'Implementation-Version' : project.version + 'Main-Class': mainClassName, + 'Implementation-Version': project.version ) } - exclude 'META-INF/*.RSA', 'META-INF/*.SF','META-INF/*.DSA' + exclude 'META-INF/*.RSA', 'META-INF/*.SF', 'META-INF/*.DSA' } task installMinimesosScript(type: Copy) { - from "$rootDir/bin/minimesos" - into "/usr/local/bin" + from "$rootDir/bin/minimesos" + into "/usr/local/bin" } task copyExecutableJar(type: Copy) { @@ -109,23 +109,23 @@ task copyExecutableJar(type: Copy) { rename { String fileName -> fileName.replace("-${project.version}-all", "") } - from "build/libs/minimesos-${project.version}-all.jar" - into 'build/libs' + from "build/libs/minimesos-${project.version}-all.jar" + into 'build/libs' } task copyFilesForDocker(type: Copy) { - dependsOn 'copyExecutableJar' - from "build/libs/minimesos.jar" - into 'build/docker' + dependsOn 'copyExecutableJar' + from "build/libs/minimesos.jar" + into 'build/docker' rename { String fileName -> fileName.replace("-${project.version}", "") } } task copyDockerfile(type: Copy) { - dependsOn 'copyFilesForDocker' - from "Dockerfile" - into 'build/docker' + dependsOn 'copyFilesForDocker' + from "Dockerfile" + into 'build/docker' } artifacts { @@ -145,35 +145,35 @@ afterEvaluate { project -> + ' contains Dockerfile, but it does not define project.ext.imageName value') } docker.url = 'unix:///var/run/docker.sock' - if(!System.properties['os.name'].equals('Mac OS X')) { + if (!System.properties['os.name'].equals('Mac OS X')) { docker.certPath = null } if (System.env.DOCKER_HOST) { - docker.url = "$System.env.DOCKER_HOST".replace("tcp","https") + docker.url = "$System.env.DOCKER_HOST".replace("tcp", "https") if (System.env.DOCKER_CERT_PATH) { docker.certPath = new File(System.env.DOCKER_CERT_PATH) } } task buildDockerImage(type: DockerBuildImage, dependsOn: [copyDockerfile], description: 'build Docker image') { - inputDir = new File( "${buildDir}/docker") + inputDir = new File("${buildDir}/docker") tag = project.imageName } project.build.dependsOn buildDockerImage - [ 'snapshot', 'version' ].each { aTag -> + ['snapshot', 'version'].each { aTag -> String uppercasedName = aTag.capitalize() task "tagDockerImageWith$uppercasedName"(type: DockerTagImage, description: 'tag Docker image') { imageId = project.imageName - tag = ( 'version'.equals(aTag) ) ? project.version : aTag + tag = ('version'.equals(aTag)) ? project.version : aTag repository = project.imageName force = true } task "publishDockerImageWith$uppercasedName"(type: DockerPushImage, dependsOn: ["tagDockerImageWith$uppercasedName"], description: 'publish Docker image') { imageName = project.imageName - tag = ( 'version'.equals(aTag) ) ? project.version : aTag + tag = ('version'.equals(aTag)) ? project.version : aTag doFirst { ['dockerHubUsername', 'dockerHubPassword', 'dockerHubEmail'].each { - assert project.hasProperty(it) : 'Undefined "' + it + '" property' + assert project.hasProperty(it): 'Undefined "' + it + '" property' } docker { registryCredentials { @@ -189,4 +189,4 @@ afterEvaluate { project -> } assemble.dependsOn copyExecutableJar -// install.dependsOn installMinimesosScript \ No newline at end of file +// install.dependsOn installMinimesosScript diff --git a/minimesos/src/main/groovy/com/containersol/minimesos/config/ConfigParser.groovy b/minimesos/src/main/groovy/com/containersol/minimesos/config/ConfigParser.groovy index 76a0d625..b6eab709 100644 --- a/minimesos/src/main/groovy/com/containersol/minimesos/config/ConfigParser.groovy +++ b/minimesos/src/main/groovy/com/containersol/minimesos/config/ConfigParser.groovy @@ -20,10 +20,10 @@ class ConfigParser { private final Map propsDictionary = [ "agents": "agent", - "cpus": "cpu", - "mems": "mem", - "disks": "disk", - "apps": "app" + "cpus" : "cpu", + "mems" : "mem", + "disks" : "disk", + "apps" : "app" ] private final List ignoredProperties = ["class", "format"] diff --git a/minimesos/src/main/groovy/com/containersol/minimesos/config/ConsulConfig.groovy b/minimesos/src/main/groovy/com/containersol/minimesos/config/ConsulConfig.groovy index d492cf88..603952fb 100644 --- a/minimesos/src/main/groovy/com/containersol/minimesos/config/ConsulConfig.groovy +++ b/minimesos/src/main/groovy/com/containersol/minimesos/config/ConsulConfig.groovy @@ -9,8 +9,8 @@ public class ConsulConfig extends ContainerConfigBlock implements ContainerConfi public static final int CONSUL_DNS_PORT = 8600 public ConsulConfig() { - imageName = CONSUL_IMAGE_NAME - imageTag = CONSUL_TAG_NAME + imageName = CONSUL_IMAGE_NAME + imageTag = CONSUL_TAG_NAME } } diff --git a/minimesos/src/main/groovy/com/containersol/minimesos/config/ContainerConfig.groovy b/minimesos/src/main/groovy/com/containersol/minimesos/config/ContainerConfig.groovy index 9defdcef..883a5d55 100644 --- a/minimesos/src/main/groovy/com/containersol/minimesos/config/ContainerConfig.groovy +++ b/minimesos/src/main/groovy/com/containersol/minimesos/config/ContainerConfig.groovy @@ -6,9 +6,11 @@ package com.containersol.minimesos.config interface ContainerConfig { String getImageName() + void setImageName(String imageName) String getImageTag() + void setImageTag(String imageTag) -} \ No newline at end of file +} diff --git a/minimesos/src/main/groovy/com/containersol/minimesos/config/MarathonConfig.groovy b/minimesos/src/main/groovy/com/containersol/minimesos/config/MarathonConfig.groovy index 0f314ccf..b95a089d 100644 --- a/minimesos/src/main/groovy/com/containersol/minimesos/config/MarathonConfig.groovy +++ b/minimesos/src/main/groovy/com/containersol/minimesos/config/MarathonConfig.groovy @@ -11,8 +11,8 @@ public class MarathonConfig extends ContainerConfigBlock implements ContainerCon List apps = new ArrayList<>(); public MarathonConfig() { - imageName = MARATHON_IMAGE - imageTag = MARATHON_IMAGE_TAG + imageName = MARATHON_IMAGE + imageTag = MARATHON_IMAGE_TAG } def app(@DelegatesTo(AppConfig) Closure cl) { diff --git a/minimesos/src/main/groovy/com/containersol/minimesos/config/MesosAgentConfig.groovy b/minimesos/src/main/groovy/com/containersol/minimesos/config/MesosAgentConfig.groovy index 67cae8e6..bde83f35 100644 --- a/minimesos/src/main/groovy/com/containersol/minimesos/config/MesosAgentConfig.groovy +++ b/minimesos/src/main/groovy/com/containersol/minimesos/config/MesosAgentConfig.groovy @@ -13,8 +13,8 @@ class MesosAgentConfig extends MesosContainerConfig { AgentResourcesConfig resources = new AgentResourcesConfig() public MesosAgentConfig() { - imageName = MESOS_AGENT_IMAGE - imageTag = MESOS_IMAGE_TAG + imageName = MESOS_AGENT_IMAGE + imageTag = MESOS_IMAGE_TAG } def resources(@DelegatesTo(AgentResourcesConfig) Closure cl) { diff --git a/minimesos/src/main/groovy/com/containersol/minimesos/config/MesosMasterConfig.groovy b/minimesos/src/main/groovy/com/containersol/minimesos/config/MesosMasterConfig.groovy index f84e40b0..b8bf82e7 100644 --- a/minimesos/src/main/groovy/com/containersol/minimesos/config/MesosMasterConfig.groovy +++ b/minimesos/src/main/groovy/com/containersol/minimesos/config/MesosMasterConfig.groovy @@ -9,8 +9,8 @@ class MesosMasterConfig extends MesosContainerConfig { public static final int MESOS_MASTER_PORT = 5050 public MesosMasterConfig() { - imageName = MESOS_MASTER_IMAGE - imageTag = MESOS_IMAGE_TAG + imageName = MESOS_MASTER_IMAGE + imageTag = MESOS_IMAGE_TAG } boolean authenticate = false diff --git a/minimesos/src/main/groovy/com/containersol/minimesos/config/RegistratorConfig.groovy b/minimesos/src/main/groovy/com/containersol/minimesos/config/RegistratorConfig.groovy index beff3c88..cb74547a 100644 --- a/minimesos/src/main/groovy/com/containersol/minimesos/config/RegistratorConfig.groovy +++ b/minimesos/src/main/groovy/com/containersol/minimesos/config/RegistratorConfig.groovy @@ -6,8 +6,8 @@ public class RegistratorConfig extends ContainerConfigBlock implements Container public static final String REGISTRATOR_TAG_NAME = "v6" public RegistratorConfig() { - imageName = REGISTRATOR_IMAGE_NAME - imageTag = REGISTRATOR_TAG_NAME + imageName = REGISTRATOR_IMAGE_NAME + imageTag = REGISTRATOR_TAG_NAME } } diff --git a/minimesos/src/main/groovy/com/containersol/minimesos/config/ResourceDefScalar.groovy b/minimesos/src/main/groovy/com/containersol/minimesos/config/ResourceDefScalar.groovy index 9140d06b..f1c564a9 100644 --- a/minimesos/src/main/groovy/com/containersol/minimesos/config/ResourceDefScalar.groovy +++ b/minimesos/src/main/groovy/com/containersol/minimesos/config/ResourceDefScalar.groovy @@ -2,6 +2,7 @@ package com.containersol.minimesos.config import java.text.DecimalFormat import java.text.DecimalFormatSymbols + /** * Check http://mesos.apache.org/documentation/latest/attributes-resources/ for possible types of values */ diff --git a/minimesos/src/main/groovy/com/containersol/minimesos/config/ZooKeeperConfig.groovy b/minimesos/src/main/groovy/com/containersol/minimesos/config/ZooKeeperConfig.groovy index 0658361b..586a8893 100644 --- a/minimesos/src/main/groovy/com/containersol/minimesos/config/ZooKeeperConfig.groovy +++ b/minimesos/src/main/groovy/com/containersol/minimesos/config/ZooKeeperConfig.groovy @@ -8,8 +8,8 @@ public class ZooKeeperConfig extends ContainerConfigBlock implements ContainerCo public static final String ZOOKEEPER_IMAGE_TAG = "3.4.6" public ZooKeeperConfig() { - imageName = MESOS_LOCAL_IMAGE - imageTag = ZOOKEEPER_IMAGE_TAG + imageName = MESOS_LOCAL_IMAGE + imageTag = ZOOKEEPER_IMAGE_TAG } } diff --git a/minimesos/src/main/java/com/containersol/minimesos/cluster/ClusterProcess.java b/minimesos/src/main/java/com/containersol/minimesos/cluster/ClusterProcess.java index d9f4f70b..971d6ffc 100644 --- a/minimesos/src/main/java/com/containersol/minimesos/cluster/ClusterProcess.java +++ b/minimesos/src/main/java/com/containersol/minimesos/cluster/ClusterProcess.java @@ -6,6 +6,7 @@ public interface ClusterProcess { MesosCluster getCluster(); + void setCluster(MesosCluster mesosCluster); /** diff --git a/minimesos/src/main/java/com/containersol/minimesos/cluster/ClusterRepository.java b/minimesos/src/main/java/com/containersol/minimesos/cluster/ClusterRepository.java index 3e07384d..95cc7858 100644 --- a/minimesos/src/main/java/com/containersol/minimesos/cluster/ClusterRepository.java +++ b/minimesos/src/main/java/com/containersol/minimesos/cluster/ClusterRepository.java @@ -19,7 +19,8 @@ public class ClusterRepository { public static final String MINIMESOS_FILE_PROPERTY = "minimesos.cluster"; - private ClusterRepository() {} + private ClusterRepository() { + } /** * Loads representation of the running cluster diff --git a/minimesos/src/main/java/com/containersol/minimesos/cluster/MesosCluster.java b/minimesos/src/main/java/com/containersol/minimesos/cluster/MesosCluster.java index df16b595..a2c831c5 100644 --- a/minimesos/src/main/java/com/containersol/minimesos/cluster/MesosCluster.java +++ b/minimesos/src/main/java/com/containersol/minimesos/cluster/MesosCluster.java @@ -220,7 +220,7 @@ public void destroy(MesosClusterFactory factory) { * Starts a container. This container will be removed when the Mesos cluster is shut down. * * @param process container to be started - * @param timeout in seconds + * @param timeout in seconds * @return container ID */ public String addAndStartProcess(ClusterProcess process, int timeout) { @@ -374,7 +374,6 @@ public static File getHostDir() { * Taking either URI or path to a file, returns string with its content * * @param location either absolute URI or path to a file - * * @return input stream with location content or null */ public static InputStream getInputStream(String location) { diff --git a/minimesos/src/main/java/com/containersol/minimesos/cluster/MesosContainer.java b/minimesos/src/main/java/com/containersol/minimesos/cluster/MesosContainer.java index d5768453..90af135e 100644 --- a/minimesos/src/main/java/com/containersol/minimesos/cluster/MesosContainer.java +++ b/minimesos/src/main/java/com/containersol/minimesos/cluster/MesosContainer.java @@ -9,6 +9,7 @@ public interface MesosContainer extends ClusterProcess { void setZooKeeper(ZooKeeper zookeeper); + JSONObject getStateInfoJSON() throws UnirestException; } diff --git a/minimesos/src/main/java/com/containersol/minimesos/cluster/MesosMaster.java b/minimesos/src/main/java/com/containersol/minimesos/cluster/MesosMaster.java index 48274968..88795103 100644 --- a/minimesos/src/main/java/com/containersol/minimesos/cluster/MesosMaster.java +++ b/minimesos/src/main/java/com/containersol/minimesos/cluster/MesosMaster.java @@ -10,6 +10,7 @@ public interface MesosMaster extends MesosContainer { String getStateUrl(); + void waitFor(); Map getFlags() throws UnirestException; diff --git a/minimesos/src/main/java/com/containersol/minimesos/container/ContainerName.java b/minimesos/src/main/java/com/containersol/minimesos/container/ContainerName.java index fccf1f83..6dc52966 100644 --- a/minimesos/src/main/java/com/containersol/minimesos/container/ContainerName.java +++ b/minimesos/src/main/java/com/containersol/minimesos/container/ContainerName.java @@ -37,9 +37,9 @@ public static boolean hasRoleInCluster(String containerName, String clusterId, S /** * Based on container name check if it has the given role in the cluster * - * @param dockerNames as returned by container.getNames() - * @param clusterId cluster to check - * @param role role to check + * @param dockerNames as returned by container.getNames() + * @param clusterId cluster to check + * @param role role to check * @return true if container has the role */ public static boolean hasRoleInCluster(String[] dockerNames, String clusterId, String role) { diff --git a/minimesos/src/main/java/com/containersol/minimesos/docker/DockerContainersUtil.java b/minimesos/src/main/java/com/containersol/minimesos/docker/DockerContainersUtil.java index 6aef46cf..2d45d62c 100644 --- a/minimesos/src/main/java/com/containersol/minimesos/docker/DockerContainersUtil.java +++ b/minimesos/src/main/java/com/containersol/minimesos/docker/DockerContainersUtil.java @@ -1,9 +1,9 @@ package com.containersol.minimesos.docker; import com.containersol.minimesos.MinimesosException; +import com.github.dockerjava.api.DockerException; import com.github.dockerjava.api.command.InspectContainerResponse; import com.github.dockerjava.api.command.LogContainerCmd; -import com.github.dockerjava.api.DockerException; import com.github.dockerjava.api.model.Container; import com.github.dockerjava.api.model.Frame; import com.github.dockerjava.api.model.PullResponseItem; @@ -37,6 +37,7 @@ private DockerContainersUtil(List containers) { /** * Use this getter if you need to iterate over docker objects + * * @return set of docker containers */ public List getContainers() { @@ -164,6 +165,7 @@ public static String getIpAddress(String containerId) { /** * Synchronized method for returning logs of docker container + * * @param containerId - ID of the container ot lookup logs * @return list of strings, where every string is log line */ diff --git a/minimesos/src/main/java/com/containersol/minimesos/junit/MesosClusterTestRule.java b/minimesos/src/main/java/com/containersol/minimesos/junit/MesosClusterTestRule.java index e2a9f8b2..1da87bec 100644 --- a/minimesos/src/main/java/com/containersol/minimesos/junit/MesosClusterTestRule.java +++ b/minimesos/src/main/java/com/containersol/minimesos/junit/MesosClusterTestRule.java @@ -13,7 +13,7 @@ /** * JUnit Rule extension of Mesos Cluster to use in JUnit. - * + *

* TODO: see https://github.com/ContainerSolutions/minimesos/issues/8 for completion */ public class MesosClusterTestRule implements TestRule { diff --git a/minimesos/src/main/java/com/containersol/minimesos/main/CommandInit.java b/minimesos/src/main/java/com/containersol/minimesos/main/CommandInit.java index 942e8934..a0d1e801 100644 --- a/minimesos/src/main/java/com/containersol/minimesos/main/CommandInit.java +++ b/minimesos/src/main/java/com/containersol/minimesos/main/CommandInit.java @@ -3,7 +3,15 @@ import com.beust.jcommander.Parameters; import com.containersol.minimesos.MinimesosException; import com.containersol.minimesos.cluster.MesosCluster; -import com.containersol.minimesos.config.*; +import com.containersol.minimesos.config.AppConfig; +import com.containersol.minimesos.config.ClusterConfig; +import com.containersol.minimesos.config.ConfigParser; +import com.containersol.minimesos.config.ConsulConfig; +import com.containersol.minimesos.config.MarathonConfig; +import com.containersol.minimesos.config.MesosAgentConfig; +import com.containersol.minimesos.config.MesosMasterConfig; +import com.containersol.minimesos.config.RegistratorConfig; +import com.containersol.minimesos.config.ZooKeeperConfig; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/minimesos/src/main/java/com/containersol/minimesos/main/CommandInstall.java b/minimesos/src/main/java/com/containersol/minimesos/main/CommandInstall.java index 67cc2dcf..164a5f4a 100644 --- a/minimesos/src/main/java/com/containersol/minimesos/main/CommandInstall.java +++ b/minimesos/src/main/java/com/containersol/minimesos/main/CommandInstall.java @@ -7,7 +7,8 @@ import com.containersol.minimesos.cluster.MesosCluster; import com.containersol.minimesos.mesos.MesosClusterContainersFactory; -import java.io.*; +import java.io.IOException; +import java.io.InputStream; import java.util.Scanner; /** diff --git a/minimesos/src/main/java/com/containersol/minimesos/main/CommandUp.java b/minimesos/src/main/java/com/containersol/minimesos/main/CommandUp.java index f8d87355..ad6efd23 100644 --- a/minimesos/src/main/java/com/containersol/minimesos/main/CommandUp.java +++ b/minimesos/src/main/java/com/containersol/minimesos/main/CommandUp.java @@ -3,13 +3,18 @@ import com.beust.jcommander.Parameter; import com.beust.jcommander.Parameters; import com.containersol.minimesos.MinimesosException; -import com.containersol.minimesos.cluster.ClusterProcess; import com.containersol.minimesos.cluster.ClusterRepository; import com.containersol.minimesos.cluster.MesosCluster; -import com.containersol.minimesos.config.*; +import com.containersol.minimesos.config.ClusterConfig; +import com.containersol.minimesos.config.ConfigParser; +import com.containersol.minimesos.config.ConsulConfig; +import com.containersol.minimesos.config.MarathonConfig; +import com.containersol.minimesos.config.MesosAgentConfig; +import com.containersol.minimesos.config.MesosMasterConfig; +import com.containersol.minimesos.config.RegistratorConfig; +import com.containersol.minimesos.config.ZooKeeperConfig; import com.containersol.minimesos.mesos.MesosClusterContainersFactory; import org.apache.commons.io.IOUtils; -import org.apache.commons.lang.StringUtils; import org.slf4j.LoggerFactory; import java.io.InputStream; @@ -140,9 +145,8 @@ public void execute() { /** * Reads ClusterConfig from minimesosFile. * - * @throws MinimesosException if minimesosFile is not found or malformed - * * @return configuration of the cluster from the minimesosFile + * @throws MinimesosException if minimesosFile is not found or malformed */ public ClusterConfig readClusterConfigFromMinimesosFile() { InputStream clusterConfigFile = MesosCluster.getInputStream(getClusterConfigPath()); diff --git a/minimesos/src/main/java/com/containersol/minimesos/mesos/ClusterArchitecture.java b/minimesos/src/main/java/com/containersol/minimesos/mesos/ClusterArchitecture.java index 1af0be74..0c3f2911 100644 --- a/minimesos/src/main/java/com/containersol/minimesos/mesos/ClusterArchitecture.java +++ b/minimesos/src/main/java/com/containersol/minimesos/mesos/ClusterArchitecture.java @@ -1,7 +1,19 @@ package com.containersol.minimesos.mesos; -import com.containersol.minimesos.cluster.*; -import com.containersol.minimesos.config.*; +import com.containersol.minimesos.cluster.ClusterProcess; +import com.containersol.minimesos.cluster.Consul; +import com.containersol.minimesos.cluster.Filter; +import com.containersol.minimesos.cluster.Marathon; +import com.containersol.minimesos.cluster.MesosAgent; +import com.containersol.minimesos.cluster.MesosMaster; +import com.containersol.minimesos.cluster.Registrator; +import com.containersol.minimesos.cluster.ZooKeeper; +import com.containersol.minimesos.config.AgentResourcesConfig; +import com.containersol.minimesos.config.ClusterConfig; +import com.containersol.minimesos.config.ConsulConfig; +import com.containersol.minimesos.config.MesosAgentConfig; +import com.containersol.minimesos.config.RegistratorConfig; +import com.containersol.minimesos.config.ZooKeeperConfig; import com.containersol.minimesos.container.AbstractContainer; import com.containersol.minimesos.marathon.MarathonContainer; import org.slf4j.Logger; diff --git a/minimesos/src/main/java/com/containersol/minimesos/mesos/ClusterContainers.java b/minimesos/src/main/java/com/containersol/minimesos/mesos/ClusterContainers.java index 3c8c5f1e..cf58ab95 100644 --- a/minimesos/src/main/java/com/containersol/minimesos/mesos/ClusterContainers.java +++ b/minimesos/src/main/java/com/containersol/minimesos/mesos/ClusterContainers.java @@ -1,6 +1,6 @@ package com.containersol.minimesos.mesos; -import com.containersol.minimesos.cluster.*; +import com.containersol.minimesos.cluster.ClusterProcess; import java.util.ArrayList; import java.util.List; @@ -23,6 +23,7 @@ public ClusterContainers() { /** * Create a container List from another List + * * @param containers another List of {@link ClusterProcess} */ public ClusterContainers(List containers) { @@ -31,6 +32,7 @@ public ClusterContainers(List containers) { /** * Add a container to the list of containers. + * * @param container of type {@link ClusterProcess} * @return this, for fluent adding. */ @@ -48,7 +50,7 @@ public List getContainers() { * If it doesn't find that type, the optional is empty so the cast doesn't need to be performed. * * @param filter A predicate that is true when an {@link ClusterProcess} in the list is of type T - * @param A container of type T that extends {@link ClusterProcess} + * @param A container of type T that extends {@link ClusterProcess} * @return the first container it comes across. */ @SuppressWarnings("unchecked") @@ -58,6 +60,7 @@ public Optional getOne(Predicate f /** * Checks to see whether a container exists + * * @param filter A predicate that is true when an {@link ClusterProcess} in the list is of type T * @return true if it exists */ diff --git a/minimesos/src/main/java/com/containersol/minimesos/mesos/MesosClusterContainersFactory.java b/minimesos/src/main/java/com/containersol/minimesos/mesos/MesosClusterContainersFactory.java index d3196eca..acc35b9a 100644 --- a/minimesos/src/main/java/com/containersol/minimesos/mesos/MesosClusterContainersFactory.java +++ b/minimesos/src/main/java/com/containersol/minimesos/mesos/MesosClusterContainersFactory.java @@ -1,7 +1,15 @@ package com.containersol.minimesos.mesos; import com.containersol.minimesos.MinimesosException; -import com.containersol.minimesos.cluster.*; +import com.containersol.minimesos.cluster.ClusterProcess; +import com.containersol.minimesos.cluster.Consul; +import com.containersol.minimesos.cluster.Marathon; +import com.containersol.minimesos.cluster.MesosAgent; +import com.containersol.minimesos.cluster.MesosCluster; +import com.containersol.minimesos.cluster.MesosClusterFactory; +import com.containersol.minimesos.cluster.MesosMaster; +import com.containersol.minimesos.cluster.Registrator; +import com.containersol.minimesos.cluster.ZooKeeper; import com.containersol.minimesos.config.ClusterConfig; import com.containersol.minimesos.config.ConfigParser; import com.containersol.minimesos.config.MesosMasterConfig; diff --git a/minimesos/src/main/java/com/containersol/minimesos/mesos/ZooKeeperContainer.java b/minimesos/src/main/java/com/containersol/minimesos/mesos/ZooKeeperContainer.java index eeaae25e..7cb1061d 100644 --- a/minimesos/src/main/java/com/containersol/minimesos/mesos/ZooKeeperContainer.java +++ b/minimesos/src/main/java/com/containersol/minimesos/mesos/ZooKeeperContainer.java @@ -27,6 +27,7 @@ protected ZooKeeperContainer() { public ZooKeeperContainer(MesosCluster cluster, String uuid, String containerId) { this(cluster, uuid, containerId, new ZooKeeperConfig()); } + public ZooKeeperContainer(MesosCluster cluster, String uuid, String containerId, ZooKeeperConfig config) { super(cluster, uuid, containerId, config); this.config = config; diff --git a/minimesos/src/main/java/com/containersol/minimesos/util/CollectionsUtils.java b/minimesos/src/main/java/com/containersol/minimesos/util/CollectionsUtils.java index e1126089..e3768900 100644 --- a/minimesos/src/main/java/com/containersol/minimesos/util/CollectionsUtils.java +++ b/minimesos/src/main/java/com/containersol/minimesos/util/CollectionsUtils.java @@ -16,13 +16,13 @@ private CollectionsUtils() { public static List typedList(List original, Class clazz) { - ArrayList typed = new ArrayList<>( original.size() ); + ArrayList typed = new ArrayList<>(original.size()); - for( Object obj : original ) { - if( (obj == null ) || clazz.isAssignableFrom(obj.getClass() ) ) { - typed.add( clazz.cast(obj) ); + for (Object obj : original) { + if ((obj == null) || clazz.isAssignableFrom(obj.getClass())) { + typed.add(clazz.cast(obj)); } else { - throw new MinimesosException( "Not possible to cast " + obj + " to " + clazz.getCanonicalName() ); + throw new MinimesosException("Not possible to cast " + obj + " to " + clazz.getCanonicalName()); } } diff --git a/minimesos/src/main/java/com/containersol/minimesos/util/ResourceUtil.java b/minimesos/src/main/java/com/containersol/minimesos/util/ResourceUtil.java index eb04ee32..f1f56304 100644 --- a/minimesos/src/main/java/com/containersol/minimesos/util/ResourceUtil.java +++ b/minimesos/src/main/java/com/containersol/minimesos/util/ResourceUtil.java @@ -16,13 +16,11 @@ private ResourceUtil() { /** * Turns a Mesos resource string into a List of ports. - * + *

* Example: 'ports(*):[31000-32000],;cpus(*):0.2; mem(*):256; disk(*):200' returns [31000, 32000] * * @param mesosResourceString Mesos resource string - * * @return list of ports if any - * * @throws MinimesosException if resource string is incorrect */ public static ArrayList parsePorts(String mesosResourceString) { diff --git a/minimesos/src/main/resources/logback.xml b/minimesos/src/main/resources/logback.xml index 48a626a8..81f808de 100644 --- a/minimesos/src/main/resources/logback.xml +++ b/minimesos/src/main/resources/logback.xml @@ -1,24 +1,24 @@ - - System.out - - %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n - - + + System.out + + %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n + + - - - %msg%n - - + + + %msg%n + + - - - + + + - - - + + + - \ No newline at end of file + diff --git a/minimesos/src/main/resources/marathon/elasticsearch.json b/minimesos/src/main/resources/marathon/elasticsearch.json index 1ff03ec2..a4e52f12 100644 --- a/minimesos/src/main/resources/marathon/elasticsearch.json +++ b/minimesos/src/main/resources/marathon/elasticsearch.json @@ -1,16 +1,21 @@ { "id": "elasticsearch-mesos-scheduler", "container": { - "docker": { - "image": "mesos/elasticsearch-scheduler", - "network": "BRIDGE" - } + "docker": { + "image": "mesos/elasticsearch-scheduler", + "network": "BRIDGE" + } }, - "args": ["--zookeeperMesosUrl", "{{MINIMESOS_ZOOKEEPER}}", "--useIpAddress", "true"], + "args": [ + "--zookeeperMesosUrl", + "{{MINIMESOS_ZOOKEEPER}}", + "--useIpAddress", + "true" + ], "cpus": 0.2, "mem": 512.0, "env": { - "JAVA_OPTS": "-Xms128m -Xmx256m" + "JAVA_OPTS": "-Xms128m -Xmx256m" }, "instances": 1 -} \ No newline at end of file +} diff --git a/minimesos/src/main/resources/marathon/mesos-consul.json b/minimesos/src/main/resources/marathon/mesos-consul.json index 7a70fc9b..6aa3ea0b 100644 --- a/minimesos/src/main/resources/marathon/mesos-consul.json +++ b/minimesos/src/main/resources/marathon/mesos-consul.json @@ -1,18 +1,18 @@ { "args": [ - "--zk={{MINIMESOS_ZOOKEEPER}}", - "--consul=1", - "--consul-ip={{MINIMESOS_CONSUL_IP}}" + "--zk={{MINIMESOS_ZOOKEEPER}}", + "--consul=1", + "--consul-ip={{MINIMESOS_CONSUL_IP}}" ], "container": { - "type": "DOCKER", - "docker": { - "network": "BRIDGE", - "image": "containersol/mesos-consul:latest" - } + "type": "DOCKER", + "docker": { + "network": "BRIDGE", + "image": "containersol/mesos-consul:latest" + } }, "id": "mesos-consul", "instances": 1, "cpus": 0.1, "mem": 256 -} \ No newline at end of file +} diff --git a/minimesos/src/test/groovy/com/containersol/minimesos/config/AgentResourcesConfigTest.groovy b/minimesos/src/test/groovy/com/containersol/minimesos/config/AgentResourcesConfigTest.groovy index ca44f27a..d8088121 100644 --- a/minimesos/src/test/groovy/com/containersol/minimesos/config/AgentResourcesConfigTest.groovy +++ b/minimesos/src/test/groovy/com/containersol/minimesos/config/AgentResourcesConfigTest.groovy @@ -1,8 +1,8 @@ -package com.containersol.minimesos.config; +package com.containersol.minimesos.config -import org.junit.Test; +import org.junit.Test -import static org.junit.Assert.*; +import static org.junit.Assert.assertEquals; public class AgentResourcesConfigTest { @@ -61,11 +61,11 @@ public class AgentResourcesConfigTest { assertEquals("one role is expected for mem", 1, resourcesConfig.mems.size()) assertEquals("one role is expected for disk", 1, resourcesConfig.disks.size()) - assertEquals( "[9200-9200,9300-9300]", resourcesConfig.ports["testRole"].value) - assertEquals( 0.2, resourcesConfig.cpus["testRole"].value, 0.0001) - assertEquals( 256, resourcesConfig.mems["testRole"].value, 0.0001) - assertEquals( 200, resourcesConfig.disks["testRole"].value, 0.0001) + assertEquals("[9200-9200,9300-9300]", resourcesConfig.ports["testRole"].value) + assertEquals(0.2, resourcesConfig.cpus["testRole"].value, 0.0001) + assertEquals(256, resourcesConfig.mems["testRole"].value, 0.0001) + assertEquals(200, resourcesConfig.disks["testRole"].value, 0.0001) } -} \ No newline at end of file +} diff --git a/minimesos/src/test/groovy/com/containersol/minimesos/config/ConfigParserTest.groovy b/minimesos/src/test/groovy/com/containersol/minimesos/config/ConfigParserTest.groovy index 32a55ee1..1a6d629e 100644 --- a/minimesos/src/test/groovy/com/containersol/minimesos/config/ConfigParserTest.groovy +++ b/minimesos/src/test/groovy/com/containersol/minimesos/config/ConfigParserTest.groovy @@ -1,12 +1,10 @@ package com.containersol.minimesos.config import com.containersol.minimesos.MinimesosException -import org.junit.Before; -import org.junit.Test; +import org.junit.Before +import org.junit.Test -import static org.junit.Assert.assertEquals -import static org.junit.Assert.assertNotNull -import static org.junit.Assert.assertNull; +import static org.junit.Assert.* public class ConfigParserTest { @@ -121,7 +119,7 @@ public class ConfigParserTest { @Test public void testLoadTwoAgents() { - String config = """ + String config = """ minimesos { agent { } @@ -207,7 +205,7 @@ public class ConfigParserTest { ClusterConfig dsl = parser.parse(config) assertNotNull(dsl.master) assertEquals("containersol/mesos-master", dsl.master.imageName) - assertEquals( MesosContainerConfig.MESOS_IMAGE_TAG, dsl.master.imageTag) + assertEquals(MesosContainerConfig.MESOS_IMAGE_TAG, dsl.master.imageTag) } @Test diff --git a/minimesos/src/test/groovy/com/containersol/minimesos/config/ConfigWriterTest.groovy b/minimesos/src/test/groovy/com/containersol/minimesos/config/ConfigWriterTest.groovy index 4935ecf7..bc155a4e 100644 --- a/minimesos/src/test/groovy/com/containersol/minimesos/config/ConfigWriterTest.groovy +++ b/minimesos/src/test/groovy/com/containersol/minimesos/config/ConfigWriterTest.groovy @@ -3,9 +3,7 @@ package com.containersol.minimesos.config import org.junit.Before import org.junit.Test -import static org.junit.Assert.assertEquals -import static org.junit.Assert.assertNotNull -import static org.junit.Assert.fail +import static org.junit.Assert.* public class ConfigWriterTest { diff --git a/minimesos/src/test/java/com/containersol/minimesos/ConsulRegistrationTest.java b/minimesos/src/test/java/com/containersol/minimesos/ConsulRegistrationTest.java index 094fb630..45837218 100644 --- a/minimesos/src/test/java/com/containersol/minimesos/ConsulRegistrationTest.java +++ b/minimesos/src/test/java/com/containersol/minimesos/ConsulRegistrationTest.java @@ -37,7 +37,7 @@ public void testRegisterServiceWithConsul() { String ipAddress = DockerContainersUtil.getIpAddress(CLUSTER.getConsul().getContainerId()); String url = String.format("http://%s:%d/v1/catalog/service/%s", - ipAddress, ConsulConfig.CONSUL_HTTP_PORT, HelloWorldContainer.SERVICE_NAME); + ipAddress, ConsulConfig.CONSUL_HTTP_PORT, HelloWorldContainer.SERVICE_NAME); final JSONArray[] body = new JSONArray[1]; diff --git a/minimesos/src/test/java/com/containersol/minimesos/DefaultMinimumClusterTest.java b/minimesos/src/test/java/com/containersol/minimesos/DefaultMinimumClusterTest.java index 73d3bb76..90669f9a 100644 --- a/minimesos/src/test/java/com/containersol/minimesos/DefaultMinimumClusterTest.java +++ b/minimesos/src/test/java/com/containersol/minimesos/DefaultMinimumClusterTest.java @@ -3,9 +3,9 @@ import com.containersol.minimesos.cluster.MesosAgent; import com.containersol.minimesos.cluster.MesosCluster; import com.containersol.minimesos.config.AgentResourcesConfig; +import com.containersol.minimesos.docker.DockerClientFactory; import com.containersol.minimesos.docker.DockerContainersUtil; import com.containersol.minimesos.junit.MesosClusterTestRule; -import com.containersol.minimesos.docker.DockerClientFactory; import com.containersol.minimesos.util.ResourceUtil; import com.github.dockerjava.api.command.InspectContainerResponse; import com.github.dockerjava.api.model.ExposedPort; @@ -18,7 +18,6 @@ import org.junit.ClassRule; import org.junit.Test; -import java.io.File; import java.util.ArrayList; import java.util.List; import java.util.Map; diff --git a/minimesos/src/test/java/com/containersol/minimesos/ExposedPortsTest.java b/minimesos/src/test/java/com/containersol/minimesos/ExposedPortsTest.java index a93ce9ae..c72eb39b 100644 --- a/minimesos/src/test/java/com/containersol/minimesos/ExposedPortsTest.java +++ b/minimesos/src/test/java/com/containersol/minimesos/ExposedPortsTest.java @@ -21,6 +21,6 @@ public void testLoadCluster() { MesosCluster cluster = MesosCluster.loadCluster(clusterId, new MesosClusterContainersFactory()); assertTrue("Deserialize cluster is expected to remember exposed ports setting", cluster.isExposedHostPorts()); - } + } } diff --git a/minimesos/src/test/java/com/containersol/minimesos/HelloWorldContainer.java b/minimesos/src/test/java/com/containersol/minimesos/HelloWorldContainer.java index 77c72914..6ee00dd7 100644 --- a/minimesos/src/test/java/com/containersol/minimesos/HelloWorldContainer.java +++ b/minimesos/src/test/java/com/containersol/minimesos/HelloWorldContainer.java @@ -16,7 +16,7 @@ class HelloWorldContainer extends AbstractContainer { public static final String CONTAINER_NAME_PATTERN = "^helloworld-[0-9a-f\\-]*$"; public HelloWorldContainer() { - super( new ContainerConfigBlock(HELLO_WORLD_IMAGE, "latest")); + super(new ContainerConfigBlock(HELLO_WORLD_IMAGE, "latest")); } @Override diff --git a/minimesos/src/test/java/com/containersol/minimesos/MesosClusterTest.java b/minimesos/src/test/java/com/containersol/minimesos/MesosClusterTest.java index 90a6a438..f589dc13 100644 --- a/minimesos/src/test/java/com/containersol/minimesos/MesosClusterTest.java +++ b/minimesos/src/test/java/com/containersol/minimesos/MesosClusterTest.java @@ -27,7 +27,9 @@ import java.util.List; import java.util.Map; -import static org.junit.Assert.*; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; public class MesosClusterTest { diff --git a/minimesos/src/test/java/com/containersol/minimesos/ParseStateJSONTest.java b/minimesos/src/test/java/com/containersol/minimesos/ParseStateJSONTest.java index abcaaf88..18f2d877 100644 --- a/minimesos/src/test/java/com/containersol/minimesos/ParseStateJSONTest.java +++ b/minimesos/src/test/java/com/containersol/minimesos/ParseStateJSONTest.java @@ -1,28 +1,29 @@ package com.containersol.minimesos; -import com.fasterxml.jackson.core.JsonParseException; -import com.fasterxml.jackson.databind.JsonMappingException; import com.containersol.minimesos.state.Framework; import com.containersol.minimesos.state.State; +import com.fasterxml.jackson.core.JsonParseException; +import com.fasterxml.jackson.databind.JsonMappingException; import org.junit.Test; -import static org.junit.Assert.*; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; public class ParseStateJSONTest { public final String EXAMPLE_STATE_JSON = "{" + - "\"activated_slaves\": 3," + - "\"build_date\": \"2015-05-05 06:15:50\"," + - "\"build_time\": 1430806550," + - "\"build_user\": \"root\"," + - "\"completed_frameworks\": [" + + "\"activated_slaves\": 3," + + "\"build_date\": \"2015-05-05 06:15:50\"," + + "\"build_time\": 1430806550," + + "\"build_user\": \"root\"," + + "\"completed_frameworks\": [" + "" + - "]," + - "\"deactivated_slaves\": 0," + - "\"elected_time\": 1441628978.271," + - "\"failed_tasks\": 0," + - "\"finished_tasks\": 0," + - "\"flags\": {" + + "]," + + "\"deactivated_slaves\": 0," + + "\"elected_time\": 1441628978.271," + + "\"failed_tasks\": 0," + + "\"finished_tasks\": 0," + + "\"flags\": {" + "\"allocation_interval\": \"1secs\"," + "\"authenticate\": \"false\"," + "\"authenticate_slaves\": \"false\"," + @@ -51,243 +52,243 @@ public class ParseStateJSONTest { "\"work_dir\": \"\\/var\\/lib\\/mesos\"," + "\"zk\": \"zk:\\/\\/localhost:2181\\/mesos\"," + "\"zk_session_timeout\": \"10secs\"" + - "}," + - "\"frameworks\": [" + + "}," + + "\"frameworks\": [" + + "{" + + "\"active\": true," + + "\"checkpoint\": true," + + "\"completed_tasks\": [" + + "" + + "]," + + "\"failover_timeout\": 2592000," + + "\"hostname\": \"0f43d2f7606a\"," + + "\"id\": \"20150907-122934-3858764204-5050-23-0000\"," + + "\"name\": \"elasticsearch\"," + + "\"offered_resources\": {" + + "\"cpus\": 0," + + "\"disk\": 0," + + "\"mem\": 0" + + "}," + + "\"offers\": [" + + "" + + "]," + + "\"registered_time\": 1441629007.9145," + + "\"resources\": {" + + "\"cpus\": 3," + + "\"disk\": 3072," + + "\"mem\": 768," + + "\"ports\": \"[9200-9202, 9300-9302]\"" + + "}," + + "\"role\": \"*\"," + + "\"tasks\": [" + + "{" + + "\"discovery\": {" + + "\"ports\": {" + + "\"ports\": [" + + "{" + + "\"name\": \"CLIENT_PORT\"," + + "\"number\": 9200" + + "}," + + "{" + + "\"name\": \"TRANSPORT_PORT\"," + + "\"number\": 9300" + + "}" + + "]" + + "}," + + "\"visibility\": \"EXTERNAL\"" + + "}," + + "\"executor_id\": \"29deeca9-0f28-4df7-af1d-14ae790044f6\"," + + "\"framework_id\": \"20150907-122934-3858764204-5050-23-0000\"," + + "\"id\": \"elasticsearch_slave1_20150907T123008.379Z\"," + + "\"labels\": [" + + "" + + "]," + + "\"name\": \"esdemo\"," + + "\"resources\": {" + + "\"cpus\": 1," + + "\"disk\": 1024," + + "\"mem\": 256," + + "\"ports\": \"[9200-9200, 9300-9300]\"" + + "}," + + "\"slave_id\": \"20150907-122934-3858764204-5050-23-S1\"," + + "\"state\": \"TASK_RUNNING\"," + + "\"statuses\": [" + + "{" + + "\"state\": \"TASK_STARTING\"," + + "\"timestamp\": 1441629015.6595" + + "}," + + "{" + + "\"state\": \"TASK_RUNNING\"," + + "\"timestamp\": 1441629278.4553" + + "}" + + "]" + + "}," + + "{" + + "\"discovery\": {" + + "\"ports\": {" + + "\"ports\": [" + + "{" + + "\"name\": \"CLIENT_PORT\"," + + "\"number\": 9202" + + "}," + + "{" + + "\"name\": \"TRANSPORT_PORT\"," + + "\"number\": 9302" + + "}" + + "]" + + "}," + + "\"visibility\": \"EXTERNAL\"" + + "}," + + "\"executor_id\": \"ec8dee06-4176-4d7e-b5e1-9e6f1f8b5fdf\"," + + "\"framework_id\": \"20150907-122934-3858764204-5050-23-0000\"," + + "\"id\": \"elasticsearch_slave3_20150907T123008.294Z\"," + + "\"labels\": [" + + "" + + "]," + + "\"name\": \"esdemo\"," + + "\"resources\": {" + + "\"cpus\": 1," + + "\"disk\": 1024," + + "\"mem\": 256," + + "\"ports\": \"[9202-9202, 9302-9302]\"" + + "}," + + "\"slave_id\": \"20150907-122934-3858764204-5050-23-S0\"," + + "\"state\": \"TASK_RUNNING\"," + + "\"statuses\": [" + + "{" + + "\"state\": \"TASK_STARTING\"," + + "\"timestamp\": 1441629015.3181" + + "}," + + "{" + + "\"state\": \"TASK_RUNNING\"," + + "\"timestamp\": 1441629278.3756" + + "}" + + "]" + + "}," + + "{" + + "\"discovery\": {" + + "\"ports\": {" + + "\"ports\": [" + "{" + - "\"active\": true," + - "\"checkpoint\": true," + - "\"completed_tasks\": [" + - "" + - "]," + - "\"failover_timeout\": 2592000," + - "\"hostname\": \"0f43d2f7606a\"," + - "\"id\": \"20150907-122934-3858764204-5050-23-0000\"," + - "\"name\": \"elasticsearch\"," + - "\"offered_resources\": {" + - "\"cpus\": 0," + - "\"disk\": 0," + - "\"mem\": 0" + - "}," + - "\"offers\": [" + - "" + - "]," + - "\"registered_time\": 1441629007.9145," + - "\"resources\": {" + - "\"cpus\": 3," + - "\"disk\": 3072," + - "\"mem\": 768," + - "\"ports\": \"[9200-9202, 9300-9302]\"" + - "}," + - "\"role\": \"*\"," + - "\"tasks\": [" + - "{" + - "\"discovery\": {" + - "\"ports\": {" + - "\"ports\": [" + - "{" + - "\"name\": \"CLIENT_PORT\"," + - "\"number\": 9200" + - "}," + - "{" + - "\"name\": \"TRANSPORT_PORT\"," + - "\"number\": 9300" + - "}" + - "]" + - "}," + - "\"visibility\": \"EXTERNAL\"" + - "}," + - "\"executor_id\": \"29deeca9-0f28-4df7-af1d-14ae790044f6\"," + - "\"framework_id\": \"20150907-122934-3858764204-5050-23-0000\"," + - "\"id\": \"elasticsearch_slave1_20150907T123008.379Z\"," + - "\"labels\": [" + - "" + - "]," + - "\"name\": \"esdemo\"," + - "\"resources\": {" + - "\"cpus\": 1," + - "\"disk\": 1024," + - "\"mem\": 256," + - "\"ports\": \"[9200-9200, 9300-9300]\"" + - "}," + - "\"slave_id\": \"20150907-122934-3858764204-5050-23-S1\"," + - "\"state\": \"TASK_RUNNING\"," + - "\"statuses\": [" + - "{" + - "\"state\": \"TASK_STARTING\"," + - "\"timestamp\": 1441629015.6595" + - "}," + - "{" + - "\"state\": \"TASK_RUNNING\"," + - "\"timestamp\": 1441629278.4553" + - "}" + - "]" + - "}," + - "{" + - "\"discovery\": {" + - "\"ports\": {" + - "\"ports\": [" + - "{" + - "\"name\": \"CLIENT_PORT\"," + - "\"number\": 9202" + - "}," + - "{" + - "\"name\": \"TRANSPORT_PORT\"," + - "\"number\": 9302" + - "}" + - "]" + - "}," + - "\"visibility\": \"EXTERNAL\"" + - "}," + - "\"executor_id\": \"ec8dee06-4176-4d7e-b5e1-9e6f1f8b5fdf\"," + - "\"framework_id\": \"20150907-122934-3858764204-5050-23-0000\"," + - "\"id\": \"elasticsearch_slave3_20150907T123008.294Z\"," + - "\"labels\": [" + - "" + - "]," + - "\"name\": \"esdemo\"," + - "\"resources\": {" + - "\"cpus\": 1," + - "\"disk\": 1024," + - "\"mem\": 256," + - "\"ports\": \"[9202-9202, 9302-9302]\"" + - "}," + - "\"slave_id\": \"20150907-122934-3858764204-5050-23-S0\"," + - "\"state\": \"TASK_RUNNING\"," + - "\"statuses\": [" + - "{" + - "\"state\": \"TASK_STARTING\"," + - "\"timestamp\": 1441629015.3181" + - "}," + - "{" + - "\"state\": \"TASK_RUNNING\"," + - "\"timestamp\": 1441629278.3756" + - "}" + - "]" + - "}," + - "{" + - "\"discovery\": {" + - "\"ports\": {" + - "\"ports\": [" + - "{" + - "\"name\": \"CLIENT_PORT\"," + - "\"number\": 9201" + - "}," + - "{" + - "\"name\": \"TRANSPORT_PORT\"," + - "\"number\": 9301" + - "}" + - "]" + - "}," + - "\"visibility\": \"EXTERNAL\"" + - "}," + - "\"executor_id\": \"5aa2fc1d-6ad5-4710-9f47-1f9ddcf01ecb\"," + - "\"framework_id\": \"20150907-122934-3858764204-5050-23-0000\"," + - "\"id\": \"elasticsearch_slave2_20150907T123008.041Z\"," + - "\"labels\": [" + - "" + - "]," + - "\"name\": \"esdemo\"," + - "\"resources\": {" + - "\"cpus\": 1," + - "\"disk\": 1024," + - "\"mem\": 256," + - "\"ports\": \"[9201-9201, 9301-9301]\"" + - "}," + - "\"slave_id\": \"20150907-122934-3858764204-5050-23-S2\"," + - "\"state\": \"TASK_RUNNING\"," + - "\"statuses\": [" + - "{" + - "\"state\": \"TASK_STARTING\"," + - "\"timestamp\": 1441629015.8581" + - "}," + - "{" + - "\"state\": \"TASK_RUNNING\"," + - "\"timestamp\": 1441629278.2919" + - "}" + - "]" + - "}" + - "]," + - "\"unregistered_time\": 0," + - "\"used_resources\": {" + - "\"cpus\": 3," + - "\"disk\": 3072," + - "\"mem\": 768," + - "\"ports\": \"[9200-9202, 9300-9302]\"" + - "}," + - "\"user\": \"root\"," + - "\"webui_url\": \"http:\\/\\/0f43d2f7606a:31100\"" + + "\"name\": \"CLIENT_PORT\"," + + "\"number\": 9201" + + "}," + + "{" + + "\"name\": \"TRANSPORT_PORT\"," + + "\"number\": 9301" + "}" + - "]," + - "\"git_sha\": \"d6309f92a7f9af3ab61a878403e3d9c284ea87e0\"," + - "\"git_tag\": \"0.22.1\"," + - "\"hostname\": \"d3666e54bf39\"," + - "\"id\": \"20150907-122934-3858764204-5050-23\"," + - "\"killed_tasks\": 0," + - "\"leader\": \"master@172.17.0.230:5050\"," + - "\"log_dir\": \"\\/var\\/log\"," + - "\"lost_tasks\": 0," + - "\"orphan_tasks\": [" + + "]" + + "}," + + "\"visibility\": \"EXTERNAL\"" + + "}," + + "\"executor_id\": \"5aa2fc1d-6ad5-4710-9f47-1f9ddcf01ecb\"," + + "\"framework_id\": \"20150907-122934-3858764204-5050-23-0000\"," + + "\"id\": \"elasticsearch_slave2_20150907T123008.041Z\"," + + "\"labels\": [" + "" + - "]," + - "\"pid\": \"master@172.17.0.230:5050\"," + - "\"slaves\": [" + + "]," + + "\"name\": \"esdemo\"," + + "\"resources\": {" + + "\"cpus\": 1," + + "\"disk\": 1024," + + "\"mem\": 256," + + "\"ports\": \"[9201-9201, 9301-9301]\"" + + "}," + + "\"slave_id\": \"20150907-122934-3858764204-5050-23-S2\"," + + "\"state\": \"TASK_RUNNING\"," + + "\"statuses\": [" + "{" + - "\"active\": true," + - "\"attributes\": {" + - "" + - "}," + - "\"hostname\": \"slave2\"," + - "\"id\": \"20150907-122934-3858764204-5050-23-S2\"," + - "\"pid\": \"slave(1)@172.17.0.230:5052\"," + - "\"registered_time\": 1441628979.0617," + - "\"resources\": {" + - "\"cpus\": 3," + - "\"disk\": 13483," + - "\"mem\": 4936," + - "\"ports\": \"[9201-9201, 9301-9301]\"" + - "}" + + "\"state\": \"TASK_STARTING\"," + + "\"timestamp\": 1441629015.8581" + "}," + "{" + - "\"active\": true," + - "\"attributes\": {" + - "" + - "}," + - "\"hostname\": \"slave1\"," + - "\"id\": \"20150907-122934-3858764204-5050-23-S1\"," + - "\"pid\": \"slave(1)@172.17.0.230:5051\"," + - "\"registered_time\": 1441628978.5892," + - "\"resources\": {" + - "\"cpus\": 3," + - "\"disk\": 13483," + - "\"mem\": 4936," + - "\"ports\": \"[9200-9200, 9300-9300]\"" + - "}" + + "\"state\": \"TASK_RUNNING\"," + + "\"timestamp\": 1441629278.2919" + + "}" + + "]" + + "}" + + "]," + + "\"unregistered_time\": 0," + + "\"used_resources\": {" + + "\"cpus\": 3," + + "\"disk\": 3072," + + "\"mem\": 768," + + "\"ports\": \"[9200-9202, 9300-9302]\"" + + "}," + + "\"user\": \"root\"," + + "\"webui_url\": \"http:\\/\\/0f43d2f7606a:31100\"" + + "}" + + "]," + + "\"git_sha\": \"d6309f92a7f9af3ab61a878403e3d9c284ea87e0\"," + + "\"git_tag\": \"0.22.1\"," + + "\"hostname\": \"d3666e54bf39\"," + + "\"id\": \"20150907-122934-3858764204-5050-23\"," + + "\"killed_tasks\": 0," + + "\"leader\": \"master@172.17.0.230:5050\"," + + "\"log_dir\": \"\\/var\\/log\"," + + "\"lost_tasks\": 0," + + "\"orphan_tasks\": [" + + "" + + "]," + + "\"pid\": \"master@172.17.0.230:5050\"," + + "\"slaves\": [" + + "{" + + "\"active\": true," + + "\"attributes\": {" + + "" + + "}," + + "\"hostname\": \"slave2\"," + + "\"id\": \"20150907-122934-3858764204-5050-23-S2\"," + + "\"pid\": \"slave(1)@172.17.0.230:5052\"," + + "\"registered_time\": 1441628979.0617," + + "\"resources\": {" + + "\"cpus\": 3," + + "\"disk\": 13483," + + "\"mem\": 4936," + + "\"ports\": \"[9201-9201, 9301-9301]\"" + + "}" + "}," + "{" + - "\"active\": true," + - "\"attributes\": {" + - "" + - "}," + - "\"hostname\": \"slave3\"," + - "\"id\": \"20150907-122934-3858764204-5050-23-S0\"," + - "\"pid\": \"slave(1)@172.17.0.230:5053\"," + - "\"registered_time\": 1441628978.5096," + - "\"resources\": {" + - "\"cpus\": 3," + - "\"disk\": 13483," + - "\"mem\": 4936," + - "\"ports\": \"[9202-9202, 9302-9302]\"" + - "}" + + "\"active\": true," + + "\"attributes\": {" + + "" + + "}," + + "\"hostname\": \"slave1\"," + + "\"id\": \"20150907-122934-3858764204-5050-23-S1\"," + + "\"pid\": \"slave(1)@172.17.0.230:5051\"," + + "\"registered_time\": 1441628978.5892," + + "\"resources\": {" + + "\"cpus\": 3," + + "\"disk\": 13483," + + "\"mem\": 4936," + + "\"ports\": \"[9200-9200, 9300-9300]\"" + + "}" + + "}," + + "{" + + "\"active\": true," + + "\"attributes\": {" + + "" + + "}," + + "\"hostname\": \"slave3\"," + + "\"id\": \"20150907-122934-3858764204-5050-23-S0\"," + + "\"pid\": \"slave(1)@172.17.0.230:5053\"," + + "\"registered_time\": 1441628978.5096," + + "\"resources\": {" + + "\"cpus\": 3," + + "\"disk\": 13483," + + "\"mem\": 4936," + + "\"ports\": \"[9202-9202, 9302-9302]\"" + + "}" + "}" + - "]," + - "\"staged_tasks\": 3," + - "\"start_time\": 1441628974.9045," + - "\"started_tasks\": 3," + - "\"unregistered_frameworks\": [" + + "]," + + "\"staged_tasks\": 3," + + "\"start_time\": 1441628974.9045," + + "\"started_tasks\": 3," + + "\"unregistered_frameworks\": [" + "" + - "]," + - "\"version\": \"0.22.1\"" + - "}"; + "]," + + "\"version\": \"0.22.1\"" + + "}"; @Test public void exampleStateJSONIsParsedCorrectly() throws JsonParseException, JsonMappingException { diff --git a/minimesos/src/test/java/com/containersol/minimesos/RunTaskTest.java b/minimesos/src/test/java/com/containersol/minimesos/RunTaskTest.java index c3853d30..98c36dde 100644 --- a/minimesos/src/test/java/com/containersol/minimesos/RunTaskTest.java +++ b/minimesos/src/test/java/com/containersol/minimesos/RunTaskTest.java @@ -6,8 +6,8 @@ import com.containersol.minimesos.config.MesosAgentConfig; import com.containersol.minimesos.config.MesosContainerConfig; import com.containersol.minimesos.container.AbstractContainer; -import com.containersol.minimesos.junit.MesosClusterTestRule; import com.containersol.minimesos.docker.DockerClientFactory; +import com.containersol.minimesos.junit.MesosClusterTestRule; import com.github.dockerjava.api.command.CreateContainerCmd; import com.github.dockerjava.api.model.Frame; import com.github.dockerjava.core.command.LogContainerResultCallback; @@ -52,7 +52,7 @@ public String getRole() { @Override protected CreateContainerCmd dockerCommand() { return DockerClientFactory.build().createContainerCmd(String.format("%s:%s", MesosAgentConfig.MESOS_AGENT_IMAGE, MesosContainerConfig.MESOS_IMAGE_TAGS.get("0.25"))) - .withName( getName() ) + .withName(getName()) .withEntrypoint( "mesos-execute", "--master=" + CLUSTER.getMaster().getIpAddress() + ":5050", diff --git a/minimesos/src/test/java/com/containersol/minimesos/container/ContainerNameTest.java b/minimesos/src/test/java/com/containersol/minimesos/container/ContainerNameTest.java index d037cb98..7ccab14a 100644 --- a/minimesos/src/test/java/com/containersol/minimesos/container/ContainerNameTest.java +++ b/minimesos/src/test/java/com/containersol/minimesos/container/ContainerNameTest.java @@ -6,7 +6,9 @@ import org.junit.Before; import org.junit.Test; -import static org.junit.Assert.*; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; public class ContainerNameTest { private MesosCluster cluster; diff --git a/minimesos/src/test/java/com/containersol/minimesos/jdepend/JDependCyclesTest.java b/minimesos/src/test/java/com/containersol/minimesos/jdepend/JDependCyclesTest.java index 2563f0de..5ad31c1a 100644 --- a/minimesos/src/test/java/com/containersol/minimesos/jdepend/JDependCyclesTest.java +++ b/minimesos/src/test/java/com/containersol/minimesos/jdepend/JDependCyclesTest.java @@ -33,7 +33,7 @@ public void before() throws IOException { public void testAllPackages() { jdepend.analyze(); - assertTrue("Something is wrong with JDepend setup", jdepend.getPackages().size() > 0 ); + assertTrue("Something is wrong with JDepend setup", jdepend.getPackages().size() > 0); assertNotNull("Package " + EXPECTED_PACKAGE + " is not found. Please, check", jdepend.getPackage(EXPECTED_PACKAGE)); assertEquals("Dependency Cycles are introduced", false, jdepend.containsCycles()); diff --git a/minimesos/src/test/java/com/containersol/minimesos/main/CommandInitTest.java b/minimesos/src/test/java/com/containersol/minimesos/main/CommandInitTest.java index 25092492..08e51a35 100644 --- a/minimesos/src/test/java/com/containersol/minimesos/main/CommandInitTest.java +++ b/minimesos/src/test/java/com/containersol/minimesos/main/CommandInitTest.java @@ -4,7 +4,6 @@ import com.containersol.minimesos.cluster.MesosCluster; import com.containersol.minimesos.config.ClusterConfig; import org.apache.commons.io.FileUtils; - import org.junit.Before; import org.junit.Test; diff --git a/minimesos/src/test/java/com/containersol/minimesos/main/CommandUpTest.java b/minimesos/src/test/java/com/containersol/minimesos/main/CommandUpTest.java index e6cc901c..809586b4 100644 --- a/minimesos/src/test/java/com/containersol/minimesos/main/CommandUpTest.java +++ b/minimesos/src/test/java/com/containersol/minimesos/main/CommandUpTest.java @@ -10,8 +10,8 @@ import java.io.IOException; -import static org.junit.Assert.*; - +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; diff --git a/minimesos/src/test/java/com/containersol/minimesos/main/MainTest.java b/minimesos/src/test/java/com/containersol/minimesos/main/MainTest.java index 74beff1e..5654184b 100644 --- a/minimesos/src/test/java/com/containersol/minimesos/main/MainTest.java +++ b/minimesos/src/test/java/com/containersol/minimesos/main/MainTest.java @@ -8,7 +8,9 @@ import java.io.PrintStream; import static org.junit.Assert.assertTrue; -import static org.mockito.Mockito.*; +import static org.mockito.Mockito.doNothing; +import static org.mockito.Mockito.spy; +import static org.mockito.Mockito.verify; public class MainTest { @@ -101,7 +103,7 @@ public void testMinusMinusHelp() throws IOException { public void testInstallNoParameters() throws IOException { main.run(new String[]{"install"}); String output = outputStream.toString(); - assertTrue( output.contains("Usage: install [options]") ); + assertTrue(output.contains("Usage: install [options]")); } @Test @@ -112,12 +114,12 @@ public void testHelp() throws IOException { } private static void assertUsageText(String output) { - assertTrue( output.contains("Usage: minimesos [options] [command] [command options]") ); - assertTrue( output.contains("Options:") ); - assertTrue( output.contains("Commands:") ); - assertTrue( output.contains("Usage: up [options]") ); - assertTrue( output.contains("Usage: install [options]") ); - assertTrue( output.contains("Usage: state [options]") ); + assertTrue(output.contains("Usage: minimesos [options] [command] [command options]")); + assertTrue(output.contains("Options:")); + assertTrue(output.contains("Commands:")); + assertTrue(output.contains("Usage: up [options]")); + assertTrue(output.contains("Usage: install [options]")); + assertTrue(output.contains("Usage: state [options]")); } } diff --git a/minimesos/src/test/java/com/containersol/minimesos/mesos/ClusterArchitectureTest.java b/minimesos/src/test/java/com/containersol/minimesos/mesos/ClusterArchitectureTest.java index a2860270..ea4967aa 100644 --- a/minimesos/src/test/java/com/containersol/minimesos/mesos/ClusterArchitectureTest.java +++ b/minimesos/src/test/java/com/containersol/minimesos/mesos/ClusterArchitectureTest.java @@ -1,6 +1,10 @@ package com.containersol.minimesos.mesos; -import com.containersol.minimesos.cluster.*; +import com.containersol.minimesos.cluster.ClusterProcess; +import com.containersol.minimesos.cluster.Filter; +import com.containersol.minimesos.cluster.MesosAgent; +import com.containersol.minimesos.cluster.MesosMaster; +import com.containersol.minimesos.cluster.ZooKeeper; import org.junit.Test; import static org.junit.Assert.assertEquals; @@ -21,12 +25,12 @@ public void shouldAllowDefaultArchitecture() { assertTrue(clusterArchitecture.getClusterContainers().getContainers().stream().filter(Filter.mesosAgent()).findFirst().isPresent()); } - @Test( expected = ClusterArchitecture.MesosArchitectureException.class) + @Test(expected = ClusterArchitecture.MesosArchitectureException.class) public void shouldErrorIfNoZooKeeperIsPresentAndMasterAdded() { new ClusterArchitecture.Builder().withMaster(); } - @Test( expected = ClusterArchitecture.MesosArchitectureException.class) + @Test(expected = ClusterArchitecture.MesosArchitectureException.class) public void shouldErrorIfNoZooKeeperIsPresentAndAgentAdded() { new ClusterArchitecture.Builder().withAgent(); } @@ -79,4 +83,4 @@ public void plainContainerOrderingShouldNotMatter() { private int minimumViableClusterSize() { return new ClusterArchitecture.Builder().build().getClusterContainers().getContainers().size(); } -} \ No newline at end of file +} diff --git a/minimesos/src/test/java/com/containersol/minimesos/mesos/ClusterContainersTest.java b/minimesos/src/test/java/com/containersol/minimesos/mesos/ClusterContainersTest.java index 89e9c8eb..46c2125a 100644 --- a/minimesos/src/test/java/com/containersol/minimesos/mesos/ClusterContainersTest.java +++ b/minimesos/src/test/java/com/containersol/minimesos/mesos/ClusterContainersTest.java @@ -1,6 +1,10 @@ package com.containersol.minimesos.mesos; -import com.containersol.minimesos.cluster.*; +import com.containersol.minimesos.cluster.ClusterProcess; +import com.containersol.minimesos.cluster.Filter; +import com.containersol.minimesos.cluster.MesosAgent; +import com.containersol.minimesos.cluster.MesosMaster; +import com.containersol.minimesos.cluster.ZooKeeper; import org.junit.Test; import java.util.ArrayList; @@ -54,4 +58,4 @@ public void shouldFilterMesosAgent() { assertTrue(clusterContainers.isPresent(Filter.mesosAgent())); } -} \ No newline at end of file +} diff --git a/minimesos/src/test/java/com/containersol/minimesos/mesos/ClusterUtilTest.java b/minimesos/src/test/java/com/containersol/minimesos/mesos/ClusterUtilTest.java index 49c9b792..4b2a4996 100644 --- a/minimesos/src/test/java/com/containersol/minimesos/mesos/ClusterUtilTest.java +++ b/minimesos/src/test/java/com/containersol/minimesos/mesos/ClusterUtilTest.java @@ -3,7 +3,7 @@ import com.containersol.minimesos.cluster.MesosAgent; import org.junit.Test; -import static org.junit.Assert.*; +import static org.junit.Assert.assertEquals; import static org.mockito.Mockito.mock; /** @@ -22,4 +22,4 @@ public void shouldBeAbleToAddCustomAgents() { ClusterArchitecture.Builder builder = ClusterUtil.withAgent(3, zk -> mock); assertEquals(3 + 1 + 1, builder.build().getClusterContainers().getContainers().size()); } -} \ No newline at end of file +} diff --git a/minimesos/src/test/java/com/containersol/minimesos/mesos/MesosAgentTest.java b/minimesos/src/test/java/com/containersol/minimesos/mesos/MesosAgentTest.java index cfd07243..f48c8a97 100644 --- a/minimesos/src/test/java/com/containersol/minimesos/mesos/MesosAgentTest.java +++ b/minimesos/src/test/java/com/containersol/minimesos/mesos/MesosAgentTest.java @@ -1,7 +1,6 @@ package com.containersol.minimesos.mesos; import com.containersol.minimesos.MinimesosException; -import com.containersol.minimesos.cluster.MesosAgent; import com.containersol.minimesos.cluster.ZooKeeper; import com.containersol.minimesos.config.MesosAgentConfig; import org.junit.Test; diff --git a/minimesos/src/test/resources/clusterconfig/two-agents.groovy b/minimesos/src/test/resources/clusterconfig/two-agents.groovy index 4124ecb5..154d42a2 100644 --- a/minimesos/src/test/resources/clusterconfig/two-agents.groovy +++ b/minimesos/src/test/resources/clusterconfig/two-agents.groovy @@ -4,11 +4,11 @@ minimesos { agent { resources { cpu { - role = "*" + role = "*" value = 2 } mem { - role = "*" + role = "*" value = 1024 } disk { @@ -19,4 +19,4 @@ minimesos { } agent { } -} \ No newline at end of file +}