summaryrefslogtreecommitdiff
path: root/opendc-model-odc/setup
diff options
context:
space:
mode:
Diffstat (limited to 'opendc-model-odc/setup')
-rw-r--r--opendc-model-odc/setup/Dockerfile29
-rw-r--r--opendc-model-odc/setup/build.gradle44
-rw-r--r--opendc-model-odc/setup/src/main/kotlin/com/atlarge/opendc/model/odc/platform/JpaPlatformRunner.kt65
-rw-r--r--opendc-model-odc/setup/src/main/resources/META-INF/persistence.xml41
4 files changed, 0 insertions, 179 deletions
diff --git a/opendc-model-odc/setup/Dockerfile b/opendc-model-odc/setup/Dockerfile
deleted file mode 100644
index bfebc044..00000000
--- a/opendc-model-odc/setup/Dockerfile
+++ /dev/null
@@ -1,29 +0,0 @@
-# Docker mysql image for the OpenDC simulator project
-# This image requires the context to be set to the root directory of the project in order to correctly build.
-FROM gradle:alpine
-MAINTAINER Fabian Mastenbroek <f.s.mastenbroek@student.tudelft.nl>
-
-# Set the home directory to our gradle user's home.
-ENV HOME=/home/gradle
-ENV APP_HOME=$HOME/simulator
-
-# Copy OpenDC simulator
-COPY ./ $APP_HOME
-
-# Build as root
-USER root
-
-# Set the working directory to the simulator
-WORKDIR $APP_HOME
-
-# Build the application
-RUN gradle --no-daemon assemble installDist
-
-# Fix permissions
-RUN chown -R gradle:gradle $APP_HOME
-
-# Downgrade user
-USER gradle
-
-# Start the Gradle application on run
-CMD opendc-model-odc/setup/build/install/setup/bin/setup
diff --git a/opendc-model-odc/setup/build.gradle b/opendc-model-odc/setup/build.gradle
deleted file mode 100644
index c3976986..00000000
--- a/opendc-model-odc/setup/build.gradle
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * MIT License
- *
- * Copyright (c) 2017 atlarge-research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-/* Build configuration */
-apply from: '../../gradle/kotlin.gradle'
-apply plugin: 'application'
-
-mainClassName = "com.atlarge.opendc.model.odc.platform.JpaPlatformRunnerKt"
-
-/* Project configuration */
-repositories {
- jcenter()
-}
-
-dependencies {
- compile project(':opendc-model-odc:jpa')
- compile project(':opendc-kernel-omega')
- compile "io.github.microutils:kotlin-logging:1.4.6"
-
- runtimeOnly "org.slf4j:slf4j-simple:1.7.25"
- runtimeOnly "org.hibernate:hibernate-core:5.2.5.Final"
- runtimeOnly "mysql:mysql-connector-java:5.1.13"
-}
diff --git a/opendc-model-odc/setup/src/main/kotlin/com/atlarge/opendc/model/odc/platform/JpaPlatformRunner.kt b/opendc-model-odc/setup/src/main/kotlin/com/atlarge/opendc/model/odc/platform/JpaPlatformRunner.kt
deleted file mode 100644
index ab701259..00000000
--- a/opendc-model-odc/setup/src/main/kotlin/com/atlarge/opendc/model/odc/platform/JpaPlatformRunner.kt
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * MIT License
- *
- * Copyright (c) 2017 atlarge-research
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-package com.atlarge.opendc.model.odc.platform
-
-import com.atlarge.opendc.omega.OmegaKernel
-import mu.KotlinLogging
-import java.util.concurrent.Executors
-import javax.persistence.Persistence
-
-val logger = KotlinLogging.logger {}
-
-/**
- * The main entry point of the program. This program polls experiments from a database and runs the
- * simulation and reports the results back to the database.
- *
- * @param args The command line arguments of the program.
- */
-fun main(args: Array<String>) {
- val properties = HashMap<Any, Any>()
- val env = System.getenv()
- properties["javax.persistence.jdbc.url"] = env["PERSISTENCE_URL"] ?: ""
- properties["javax.persistence.jdbc.user"] = env["PERSISTENCE_USER"] ?: ""
- properties["javax.persistence.jdbc.password"] = env["PERSISTENCE_PASSWORD"] ?: ""
- val factory = Persistence.createEntityManagerFactory("opendc-simulator", properties)
-
- val timeout = 30000L
- val threads = 4
- val executorService = Executors.newFixedThreadPool(threads)
- val experiments = JpaExperimentManager(factory)
- val kernel = OmegaKernel
-
- logger.info { "Waiting for enqueued experiments..." }
- while (true) {
- experiments.poll()?.let { experiment ->
- logger.info { "Found experiment. Submitting for simulation now..." }
- executorService.submit {
- experiment.use { it.run(kernel, timeout) }
- }
- }
-
- Thread.sleep(500)
- }
-}
diff --git a/opendc-model-odc/setup/src/main/resources/META-INF/persistence.xml b/opendc-model-odc/setup/src/main/resources/META-INF/persistence.xml
deleted file mode 100644
index a091bdbd..00000000
--- a/opendc-model-odc/setup/src/main/resources/META-INF/persistence.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- ~ MIT License
- ~
- ~ Copyright (c) 2017 atlarge-research
- ~
- ~ Permission is hereby granted, free of charge, to any person obtaining a copy
- ~ of this software and associated documentation files (the "Software"), to deal
- ~ in the Software without restriction, including without limitation the rights
- ~ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- ~ copies of the Software, and to permit persons to whom the Software is
- ~ furnished to do so, subject to the following conditions:
- ~
- ~ The above copyright notice and this permission notice shall be included in all
- ~ copies or substantial portions of the Software.
- ~
- ~ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- ~ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- ~ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- ~ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- ~ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- ~ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- ~ SOFTWARE.
- -->
-
-<persistence xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns="http://java.sun.com/xml/ns/persistence"
- xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
- version="2.0">
- <persistence-unit name="opendc-simulator">
- <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
- <mapping-file>jpa/schema.xml</mapping-file>
- <properties>
- <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/>
- <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>
- <property name="hibernate.show_sql" value="false"/>
- <property name="hibernate.hbm2ddl.auto" value="validate"/>
- <property name="hibernate.jdbc.batch_size" value="100"/>
- </properties>
- </persistence-unit>
-</persistence>