From e0aa32f31a07e78ffbc47531881d664a75feaa3b Mon Sep 17 00:00:00 2001 From: Mattia Dal Ben Date: Tue, 24 May 2022 11:17:57 +0200 Subject: [PATCH] feat(ai.triton.server): Add Model Encryption support for Triton Server Service (#3986) * feat(EncryptionUtils): add class and methods skeleton Signed-off-by: Mattia Dal Ben * test(EncryptionUtils): add test skeleton Signed-off-by: Mattia Dal Ben * test(EncryptionUtils): add basic tests for createDecryptionFolder method Signed-off-by: Mattia Dal Ben * test(EncryptionUtils): refactor to Gherkin style Signed-off-by: Mattia Dal Ben * test(EncryptionUtils): removed comments, renamed method Signed-off-by: Mattia Dal Ben * test(EncryptionUtils): rename method Signed-off-by: Mattia Dal Ben * feature(EncryptionUtils): add createDecryptionFolder method implementation Signed-off-by: Mattia Dal Ben * test(EncryptionUtils): improve test with workdir setup/teardown Signed-off-by: Mattia Dal Ben * test(EncryptionUtils): renamed method cleanup -> teardown Signed-off-by: Mattia Dal Ben * test(resources): add encrypted files for testing Signed-off-by: Mattia Dal Ben * test(EncryptionUtils): add basic tests for decryptModel method Signed-off-by: Mattia Dal Ben * test(EncryptionUtils): simplify teardown method * test(EncryptionUtils): move test WORKDIR in java.io.tmpdir Signed-off-by: Mattia Dal Ben * test(EcryptionUtils): add Gherkin style comments Signed-off-by: Mattia Dal Ben * test(EncryptionUtils): add test for ASCII-armored file Signed-off-by: Mattia Dal Ben * test(EncryptionUtils): stricter checks on exception throw Signed-off-by: Mattia Dal Ben * docs: add copyright notice Signed-off-by: Mattia Dal Ben * test: fix expectation param order Signed-off-by: Mattia Dal Ben * build: add org.bouncycastle.openpgp as local dependency Signed-off-by: Mattia Dal Ben * feat(EncryptionUtils): add first implementation of decryptModel method Signed-off-by: Mattia Dal Ben * feat(EncryptionUtils): fix BouncyCastle provider addition Signed-off-by: Mattia Dal Ben * feat(EncryptionUtils): add preconditions check Signed-off-by: Mattia Dal Ben * refactor: improve var names Signed-off-by: Mattia Dal Ben * refactor: remove unnecessary toString Signed-off-by: Mattia Dal Ben * feat(EncryptionUtils): move stream instantiation in decryptFile method Signed-off-by: Mattia Dal Ben * refactor: move stream instantiation close to use Signed-off-by: Mattia Dal Ben * refactor: improve var names Signed-off-by: Mattia Dal Ben * feat(EncryptionUtils): rethrow PGPException on decryption failure Signed-off-by: Mattia Dal Ben * test(resources): rename resourse files Signed-off-by: Mattia Dal Ben * test(EncryptionUtils): add zip file test Signed-off-by: Mattia Dal Ben * test: refactor to Gerkhin style Signed-off-by: Mattia Dal Ben * test: remove unnecessary vars Signed-off-by: Mattia Dal Ben * test: remove unnecessary "this." Signed-off-by: Mattia Dal Ben * test: renamed method Signed-off-by: Mattia Dal Ben * test: renamed method givenAFileExistsAtPath Signed-off-by: Mattia Dal Ben * test: add basic test for deleteModel method Signed-off-by: Mattia Dal Ben * test: add test for missing directory for deleteModel Signed-off-by: Mattia Dal Ben * test: add check for parent folder in deleteModel test Signed-off-by: Mattia Dal Ben * feat(EncryptionUtils): add deleteModel method implemention Signed-off-by: Mattia Dal Ben * test: refactor to Gerkhin style Signed-off-by: Mattia Dal Ben * refactor: renamed method to thenAFolderExistsAtPath Signed-off-by: Mattia Dal Ben * test: remove forgotten comment Signed-off-by: Mattia Dal Ben * test: add .zip test file Signed-off-by: Mattia Dal Ben * test(EncryptionUtils): add unzipModel tests Signed-off-by: Mattia Dal Ben * test: add unzipModel method test for wrong file format Signed-off-by: Mattia Dal Ben * test: add decryptModel test for wrong file format Signed-off-by: Mattia Dal Ben * feat(EncryptionUtils): add check for wrong file format Signed-off-by: Mattia Dal Ben * test: improved test naming Signed-off-by: Mattia Dal Ben * test(resources): fixed wrong test .zip file Signed-off-by: Mattia Dal Ben * feat(EncryptionUtils): initial implementation of unzipModel method Signed-off-by: Mattia Dal Ben * build: add dependency on org.eclipse.kura.core.cloud for unZip class Signed-off-by: Mattia Dal Ben * feat(EncryptionUtils): add ZIP magic number check Signed-off-by: Mattia Dal Ben * test: refactor to Gerkhin style Signed-off-by: Mattia Dal Ben * feat(EncryptionUtils): remove unnecessary todo Signed-off-by: Mattia Dal Ben * test: improve error handling in given/then methods Signed-off-by: Mattia Dal Ben * feat(EncryptionUtils): add getEncryptedModelPath method skeleton Signed-off-by: Mattia Dal Ben * test: add getEncryptedModelPath tests Signed-off-by: Mattia Dal Ben * test: add forgotten no exception check Signed-off-by: Mattia Dal Ben * test: fixed typo in WORKDIR path Signed-off-by: Mattia Dal Ben * test: fix wrong "when" method Signed-off-by: Mattia Dal Ben * feat(EncryptionUtils): add getEncryptedModelPath method implementation Signed-off-by: Mattia Dal Ben * test: updated test with new behaviour for cleanModelRepository Signed-off-by: Mattia Dal Ben * feat(EncryptionUtils): updated cleanRepository behaviour Signed-off-by: Mattia Dal Ben * build: add bouncycastle lib in build properties Signed-off-by: Mattia Dal Ben * build: add necessary dependencies Signed-off-by: Mattia Dal Ben * refactor(EncryptionUtils): do not throw from cleanRepository method Signed-off-by: Mattia Dal Ben * feat(triton): add password field Signed-off-by: Mattia Dal Ben * feat(triton): add decrypted model folder path Signed-off-by: Mattia Dal Ben * feat(triton): add encrypted model support Signed-off-by: Mattia Dal Ben * test: temporary path fix Signed-off-by: Mattia Dal Ben * fix(build): use range for kura.crypto version dependency Signed-off-by: Mattia Dal Ben * refactor: use try-with-resource Signed-off-by: Mattia Dal Ben * fix: remove debug print Signed-off-by: Mattia Dal Ben * feat: improve decrypted model directory creation Signed-off-by: Mattia Dal Ben * feat(EncryptionUtils): use createTempDirectory for decryption dir Signed-off-by: Mattia Dal Ben * feat(EncryptionUtils): dynamic decrypted model folder Signed-off-by: Mattia Dal Ben * refactor: create startLocalInstance method Signed-off-by: Mattia Dal Ben * refactor: add isModelEncryptionActive method * refactor: rename method to modelsAreEcnrypted Signed-off-by: Mattia Dal Ben * test: temporary path fix Signed-off-by: Mattia Dal Ben * test: fix test work dir path Signed-off-by: Mattia Dal Ben * test: add dedicated var for temp dir path Signed-off-by: Mattia Dal Ben * feat(ai.triton): handle decrypt folder deletion Signed-off-by: Mattia Dal Ben * test: add decryptModelShouldThrowWithDirectory test Signed-off-by: Mattia Dal Ben * test: fix wrong path in unzipModel test Signed-off-by: Mattia Dal Ben * build: use bouncy castle provider from target platform Signed-off-by: Mattia Dal Ben * revert: use bouncy castle provider from target platform This reverts commit a2b746e97311a0ef7824ea0d6a5190c1eb437c1a. * fix: add check for non-existent folder in getEncryptedModelPath Signed-off-by: Mattia Dal Ben * build: use bouncy castle provider from target platform Signed-off-by: Mattia Dal Ben * feat(EncryptionUtils): log exception stacktrace on failure Signed-off-by: Mattia Dal Ben --- .../META-INF/MANIFEST.MF | 13 + ...a.ai.triton.server.TritonServerService.xml | 9 + ...a.ai.triton.server.TritonServerService.xml | 1 + .../build.properties | 1 + .../lib/bcpg-jdk15on-1.68.jar | Bin 0 -> 340185 bytes .../server/TritonServerEncryptionUtils.java | 202 +++++++ .../server/TritonServerLocalManager.java | 10 +- .../server/TritonServerServiceImpl.java | 79 ++- .../server/TritonServerServiceOptions.java | 25 +- .../META-INF/MANIFEST.MF | 1 + .../TritonServerEncryptionUtilsTest.java | 534 ++++++++++++++++++ .../src/test/resources/armored_plain_file.asc | 6 + .../src/test/resources/plain.txt.zip.gpg | 2 + .../src/test/resources/plain_file.gpg | 2 + .../test/resources/tf_autoencoder_fp32.zip | Bin 0 -> 1005 bytes 15 files changed, 869 insertions(+), 16 deletions(-) create mode 100644 kura/org.eclipse.kura.ai.triton.server/lib/bcpg-jdk15on-1.68.jar create mode 100644 kura/org.eclipse.kura.ai.triton.server/src/main/java/org/eclipse/kura/ai/triton/server/TritonServerEncryptionUtils.java create mode 100644 kura/test/org.eclipse.kura.ai.triton.server.test/src/test/java/org/eclipse/kura/ai/triton/server/TritonServerEncryptionUtilsTest.java create mode 100644 kura/test/org.eclipse.kura.ai.triton.server.test/src/test/resources/armored_plain_file.asc create mode 100644 kura/test/org.eclipse.kura.ai.triton.server.test/src/test/resources/plain.txt.zip.gpg create mode 100644 kura/test/org.eclipse.kura.ai.triton.server.test/src/test/resources/plain_file.gpg create mode 100644 kura/test/org.eclipse.kura.ai.triton.server.test/src/test/resources/tf_autoencoder_fp32.zip diff --git a/kura/org.eclipse.kura.ai.triton.server/META-INF/MANIFEST.MF b/kura/org.eclipse.kura.ai.triton.server/META-INF/MANIFEST.MF index f322a7e3305..be0f9977f29 100644 --- a/kura/org.eclipse.kura.ai.triton.server/META-INF/MANIFEST.MF +++ b/kura/org.eclipse.kura.ai.triton.server/META-INF/MANIFEST.MF @@ -7,6 +7,7 @@ Bundle-Vendor: Eclipse Kura Bundle-RequiredExecutionEnvironment: JavaSE-1.8 Service-Component: OSGI-INF/*.xml Bundle-ClassPath: ., + lib/bcpg-jdk15on-1.68.jar, lib/com.google.protobuf_3.19.3.jar, lib/grpc-netty-shaded-1.33.1.jar, lib/grpc-protobuf-1.33.1.jar, @@ -22,10 +23,22 @@ Import-Package: com.google.common.base;version="25.0.0", com.google.common.util.concurrent;version="25.0.0", com.google.gson;version="2.7.0", javax.annotation;version="1.2.0", + org.bouncycastle.jcajce;version="1.68.0", + org.bouncycastle.jcajce.util;version="1.68.0", + org.bouncycastle.jcajce.interfaces;version="1.68.0", + org.bouncycastle.jcajce.io;version="1.68.0", + org.bouncycastle.jcajce.spec;version="1.68.0", + org.bouncycastle.jce.provider;version="1.68.0", + org.bouncycastle.util;version="1.68.0", + org.bouncycastle.util.encoders;version="1.68.0", + org.bouncycastle.util.io;version="1.68.0", org.apache.commons.io;version="2.4.0", + org.apache.commons.io.filefilter;version="2.11.0", org.eclipse.kura;version="[1.0,2.0)", org.eclipse.kura.ai.inference;version="[1.0,1.1)", + org.eclipse.kura.cloud.app.command;version="[1.0,2.0)", org.eclipse.kura.configuration;version="[1.1,2.0)", + org.eclipse.kura.crypto;version="[1.0,2.0)", org.eclipse.kura.core.linux.executor;version="[1.0,2.0)", org.eclipse.kura.core.util;version="[1.0,2.0)", org.eclipse.kura.executor;version="[1.0,2.0)", diff --git a/kura/org.eclipse.kura.ai.triton.server/OSGI-INF/metatype/org.eclipse.kura.ai.triton.server.TritonServerService.xml b/kura/org.eclipse.kura.ai.triton.server/OSGI-INF/metatype/org.eclipse.kura.ai.triton.server.TritonServerService.xml index 0977ef95cd6..1a26d0cedb6 100644 --- a/kura/org.eclipse.kura.ai.triton.server/OSGI-INF/metatype/org.eclipse.kura.ai.triton.server.TritonServerService.xml +++ b/kura/org.eclipse.kura.ai.triton.server/OSGI-INF/metatype/org.eclipse.kura.ai.triton.server.TritonServerService.xml @@ -64,6 +64,15 @@ default="" description="Only for local instance, specify the path on the filesystem where the models are stored."> + + + + diff --git a/kura/org.eclipse.kura.ai.triton.server/build.properties b/kura/org.eclipse.kura.ai.triton.server/build.properties index ee898023f2a..52e7a6488d5 100644 --- a/kura/org.eclipse.kura.ai.triton.server/build.properties +++ b/kura/org.eclipse.kura.ai.triton.server/build.properties @@ -15,6 +15,7 @@ bin.includes = .,\ OSGI-INF/,\ about.html,\ about_files/,\ + lib/bcpg-jdk15on-1.68.jar/,\ lib/com.google.protobuf_3.19.3.jar,\ lib/grpc-netty-shaded-1.33.1.jar,\ lib/grpc-protobuf-1.33.1.jar,\ diff --git a/kura/org.eclipse.kura.ai.triton.server/lib/bcpg-jdk15on-1.68.jar b/kura/org.eclipse.kura.ai.triton.server/lib/bcpg-jdk15on-1.68.jar new file mode 100644 index 0000000000000000000000000000000000000000..340eefc5f18c0164101523ee630e060b3b9044e7 GIT binary patch literal 340185 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

h>{B_`o5Qo9Os$& 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

7dfn1v=^Z=yy$y&5^RTLf=}>et7> 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.TrE4_ur=^a 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 permissions = new HashSet<>(Arrays.asList(PosixFilePermission.OWNER_READ, + PosixFilePermission.OWNER_WRITE, PosixFilePermission.OWNER_EXECUTE)); + Path tempFolderPath = Files.createTempDirectory(prefix, PosixFilePermissions.asFileAttribute(permissions)); + + logger.debug("Created temporary directory at path {}", tempFolderPath); + + return tempFolderPath.toString(); + } + + protected static void decryptModel(String password, String inputFilePath, String outputFilePath) + throws IOException, KuraIOException { + if (Security.getProvider("BC") == null) { + Security.addProvider(new BouncyCastleProvider()); + } + + if (!Files.isRegularFile(Paths.get(inputFilePath))) { + throw new IOException("Input file " + inputFilePath + " does not exist/is not a file"); + } + + if (Files.exists(Paths.get(outputFilePath))) { + throw new IOException("Output file " + outputFilePath + " already exists"); + } + + try { + decryptFile(password, inputFilePath, outputFilePath); + } catch (PGPException e) { + throw new KuraIOException(e, "File decryption failed."); + } + } + + protected static void unzipModel(String inputFilePath, String outputFolder) throws IOException { + if (!Files.isRegularFile(Paths.get(inputFilePath))) { + throw new IOException("Input file " + inputFilePath + " does not exist/is not a file"); + } + + if (!isZipCompressed(inputFilePath)) { + throw new IOException("ZIP magic number check failed. Wrong file format"); + } + + if (!Files.isDirectory(Paths.get(outputFolder))) { + throw new IOException("Output folder " + outputFolder + " does not exist/is not a folder"); + } + + UnZip.unZipFile(inputFilePath, outputFolder); + } + + private static boolean isZipCompressed(String filePath) throws IOException { + byte b1 = 0; + byte b2 = 0; + + try (InputStream is = new FileInputStream(filePath)) { + b1 = (byte) is.read(); + b2 = (byte) is.read(); + } catch (IOException e) { + throw new IOException(e); + } + + return b1 == 0x50 && b2 == 0x4B; + } + + protected static void cleanRepository(String modelRootPath) { + if (!Files.isDirectory(Paths.get(modelRootPath))) { + logger.warn("Model root folder {} does not exist", modelRootPath); + return; + } + + try { + FileUtils.cleanDirectory(new File(modelRootPath)); + } catch (IOException e) { + logger.warn("Cannot clean directory at path {}", modelRootPath, e); + } + } + + private static void decryptFile(String password, String inputFilePath, String outputFilePath) + throws IOException, PGPException { + InputStream inStream = new BufferedInputStream(new FileInputStream(inputFilePath)); + + inStream = PGPUtil.getDecoderStream(inStream); + + JcaPGPObjectFactory pgpFactory = new JcaPGPObjectFactory(inStream); + Object currentObj = pgpFactory.nextObject(); + + PGPEncryptedDataList enc; + if (currentObj instanceof PGPEncryptedDataList) { + enc = (PGPEncryptedDataList) currentObj; + } else { + enc = (PGPEncryptedDataList) pgpFactory.nextObject(); + } + + if (enc == null) { + inStream.close(); + throw new IOException("PGP PBE File format read failed"); + } + + PGPPBEEncryptedData pbe = (PGPPBEEncryptedData) enc.get(0); + InputStream clear = pbe.getDataStream(new JcePBEDataDecryptorFactoryBuilder( + new JcaPGPDigestCalculatorProviderBuilder().setProvider("BC").build()).setProvider("BC") + .build(password.toCharArray())); + + pgpFactory = new JcaPGPObjectFactory(clear); + currentObj = pgpFactory.nextObject(); + + if (currentObj instanceof PGPCompressedData) { + PGPCompressedData compressedData = (PGPCompressedData) currentObj; + pgpFactory = new JcaPGPObjectFactory(compressedData.getDataStream()); + currentObj = pgpFactory.nextObject(); + } + + PGPLiteralData literalData = (PGPLiteralData) currentObj; + InputStream decryptedStream = literalData.getInputStream(); + + OutputStream outStream = new FileOutputStream(outputFilePath); + Streams.pipeAll(decryptedStream, outStream); + outStream.close(); + inStream.close(); + + if (pbe.isIntegrityProtected()) { + if (!pbe.verify()) { + logger.error("File failed integrity check"); + } else { + logger.info("File integrity check passed"); + } + } else { + logger.info("No file integrity check"); + } + } +} diff --git a/kura/org.eclipse.kura.ai.triton.server/src/main/java/org/eclipse/kura/ai/triton/server/TritonServerLocalManager.java b/kura/org.eclipse.kura.ai.triton.server/src/main/java/org/eclipse/kura/ai/triton/server/TritonServerLocalManager.java index 0d180888b20..83d80478ddc 100644 --- a/kura/org.eclipse.kura.ai.triton.server/src/main/java/org/eclipse/kura/ai/triton/server/TritonServerLocalManager.java +++ b/kura/org.eclipse.kura.ai.triton.server/src/main/java/org/eclipse/kura/ai/triton/server/TritonServerLocalManager.java @@ -36,6 +36,7 @@ public class TritonServerLocalManager { private static final int MONITOR_PERIOD = 30; private static final String[] TRITONSERVER = new String[] { "tritonserver" }; + private final String decryptionFolderPath; private final CommandExecutorService commandExecutorService; private final TritonServerServiceOptions options; private Command serverCommand; @@ -44,9 +45,10 @@ public class TritonServerLocalManager { private ScheduledFuture scheduledFuture; protected TritonServerLocalManager(TritonServerServiceOptions options, - CommandExecutorService commandExecutorService) { + CommandExecutorService commandExecutorService, String decryptionFolderPath) { this.options = options; this.commandExecutorService = commandExecutorService; + this.decryptionFolderPath = decryptionFolderPath; this.scheduledExecutorService = Executors.newSingleThreadScheduledExecutor(); } @@ -137,7 +139,11 @@ protected static void sleepFor(long timeout) { private Command createServerCommand() { List commandString = new ArrayList<>(); commandString.add("tritonserver"); - commandString.add("--model-repository=" + this.options.getModelRepositoryPath()); + if (this.options.modelsAreEncrypted()) { + commandString.add("--model-repository=" + this.decryptionFolderPath); + } else { + commandString.add("--model-repository=" + this.options.getModelRepositoryPath()); + } commandString.add("--backend-directory=" + this.options.getBackendsPath()); if (!this.options.getBackendsConfigs().isEmpty()) { this.options.getBackendsConfigs().forEach(config -> commandString.add("--backend-config=" + config)); diff --git a/kura/org.eclipse.kura.ai.triton.server/src/main/java/org/eclipse/kura/ai/triton/server/TritonServerServiceImpl.java b/kura/org.eclipse.kura.ai.triton.server/src/main/java/org/eclipse/kura/ai/triton/server/TritonServerServiceImpl.java index 92ffbd9df7c..623232fee10 100644 --- a/kura/org.eclipse.kura.ai.triton.server/src/main/java/org/eclipse/kura/ai/triton/server/TritonServerServiceImpl.java +++ b/kura/org.eclipse.kura.ai.triton.server/src/main/java/org/eclipse/kura/ai/triton/server/TritonServerServiceImpl.java @@ -15,6 +15,7 @@ import static java.util.Objects.isNull; import static java.util.Objects.nonNull; +import java.io.IOException; import java.nio.ByteBuffer; import java.nio.ByteOrder; import java.nio.DoubleBuffer; @@ -22,6 +23,8 @@ import java.nio.IntBuffer; import java.nio.LongBuffer; import java.nio.ShortBuffer; +import java.nio.file.Files; +import java.nio.file.Paths; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; @@ -39,6 +42,7 @@ import org.eclipse.kura.ai.inference.TensorDescriptor; import org.eclipse.kura.ai.inference.TensorDescriptorBuilder; import org.eclipse.kura.configuration.ConfigurableComponent; +import org.eclipse.kura.crypto.CryptoService; import org.eclipse.kura.executor.CommandExecutorService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -71,26 +75,32 @@ public class TritonServerServiceImpl implements InferenceEngineService, ConfigurableComponent { private static final Logger logger = LoggerFactory.getLogger(TritonServerServiceImpl.class); + private static final String TEMP_DIRECTORY_PREFIX = "decrypted_models"; private CommandExecutorService commandExecutorService; + private CryptoService cryptoService; private TritonServerServiceOptions options; private TritonServerLocalManager tritonServerLocalManager; private ManagedChannel grpcChannel; private GRPCInferenceServiceBlockingStub grpcStub; + private String decryptionFolderPath = ""; public void setCommandExecutorService(CommandExecutorService executorService) { this.commandExecutorService = executorService; } + public void setCryptoService(CryptoService cryptoService) { + this.cryptoService = cryptoService; + } + protected void activate(Map properties) { logger.info("Activate TritonServerService..."); this.options = new TritonServerServiceOptions(properties); if (isConfigurationValid()) { setGrpcResources(); if (this.options.isLocalEnabled()) { - this.tritonServerLocalManager = new TritonServerLocalManager(this.options, this.commandExecutorService); - this.tritonServerLocalManager.start(); + startLocalInstance(); } loadModels(); } else { @@ -101,14 +111,13 @@ protected void activate(Map properties) { public void updated(Map properties) { logger.info("Update TritonServerService..."); if (nonNull(this.tritonServerLocalManager)) { - this.tritonServerLocalManager.stop(); + stopLocalInstance(); } this.options = new TritonServerServiceOptions(properties); if (isConfigurationValid()) { setGrpcResources(); if (this.options.isLocalEnabled()) { - this.tritonServerLocalManager = new TritonServerLocalManager(this.options, this.commandExecutorService); - this.tritonServerLocalManager.start(); + startLocalInstance(); } else { this.tritonServerLocalManager = null; } @@ -121,11 +130,37 @@ public void updated(Map properties) { protected void deactivate() { logger.info("Deactivate TritonServerService..."); if (nonNull(this.tritonServerLocalManager)) { - this.tritonServerLocalManager.stop(); + stopLocalInstance(); } this.grpcChannel.shutdownNow(); } + private void startLocalInstance() { + if (this.options.modelsAreEncrypted()) { + try { + decryptionFolderPath = TritonServerEncryptionUtils.createDecryptionFolder(TEMP_DIRECTORY_PREFIX); + } catch (IOException e) { + logger.warn("Failed to create decryption model directory", e); + } + logger.info("Created decryption model directory at {}", decryptionFolderPath); + } + this.tritonServerLocalManager = new TritonServerLocalManager(this.options, this.commandExecutorService, + this.decryptionFolderPath); + this.tritonServerLocalManager.start(); + } + + private void stopLocalInstance() { + this.tritonServerLocalManager.stop(); + if (this.options.modelsAreEncrypted()) { + TritonServerEncryptionUtils.cleanRepository(decryptionFolderPath); + try { + Files.delete(Paths.get(decryptionFolderPath)); + } catch (IOException e) { + logger.warn("Could not delete decryption folder {}", decryptionFolderPath, e); + } + } + } + private void setGrpcResources() { this.grpcChannel = ManagedChannelBuilder.forAddress(this.options.getAddress(), this.options.getGrpcPort()) .usePlaintext().build(); @@ -172,13 +207,45 @@ protected void loadModels() { @Override public void loadModel(String modelName, Optional modelPath) throws KuraException { + if (this.options.modelsAreEncrypted()) { + String password = this.options.getModelRepositoryPassword(); + String plainPassword = String.valueOf(cryptoService.decryptAes(password.toCharArray())); + String encryptedModelPath = TritonServerEncryptionUtils.getEncryptedModelPath(modelName, + this.options.getModelRepositoryPath()); + String decryptedModelPath = Paths.get(decryptionFolderPath, modelName + ".zip").toString(); + + logger.info("Model decryption password detected. Decrypting model {} at {} into {}", modelName, + encryptedModelPath, decryptedModelPath); + try { + TritonServerEncryptionUtils.decryptModel(plainPassword, encryptedModelPath, decryptedModelPath); + TritonServerEncryptionUtils.unzipModel(decryptedModelPath, decryptionFolderPath); + } catch (KuraIOException | IOException e) { + throw new KuraIOException(e, "Cannot decrypt the model " + modelName); + } + } + RepositoryModelLoadRequest.Builder builder = RepositoryModelLoadRequest.newBuilder(); builder.setModelName(modelName); try { this.grpcStub.repositoryModelLoad(builder.build()); } catch (StatusRuntimeException e) { + if (this.options.modelsAreEncrypted()) { + TritonServerEncryptionUtils.cleanRepository(decryptionFolderPath); + } throw new KuraIOException(e, "Cannot load the model " + modelName); } + + if (this.options.modelsAreEncrypted()) { + int counter = 0; + while (!isModelLoaded(modelName)) { + if (counter++ >= 6) { + logger.warn("Cannot check if model was correctly loaded. Wiping decrypted model anyway"); + break; + } + TritonServerLocalManager.sleepFor(250); + } + TritonServerEncryptionUtils.cleanRepository(decryptionFolderPath); + } } @Override diff --git a/kura/org.eclipse.kura.ai.triton.server/src/main/java/org/eclipse/kura/ai/triton/server/TritonServerServiceOptions.java b/kura/org.eclipse.kura.ai.triton.server/src/main/java/org/eclipse/kura/ai/triton/server/TritonServerServiceOptions.java index 607e408b915..1ef2f537222 100644 --- a/kura/org.eclipse.kura.ai.triton.server/src/main/java/org/eclipse/kura/ai/triton/server/TritonServerServiceOptions.java +++ b/kura/org.eclipse.kura.ai.triton.server/src/main/java/org/eclipse/kura/ai/triton/server/TritonServerServiceOptions.java @@ -29,6 +29,7 @@ public class TritonServerServiceOptions { private static final String PROPERTY_ADDRESS = "server.address"; private static final String PROPERTY_PORTS = "server.ports"; private static final String PROPERTY_LOCAL_MODEL_REPOSITORY_PATH = "local.model.repository.path"; + private static final String PROPERTY_LOCAL_MODEL_REPOSITORY_PASSWORD = "local.model.repository.password"; private static final String PROPERTY_LOCAL_BACKENDS_PATH = "local.backends.path"; private static final String PROPERTY_LOCAL_BACKENDS_CONFIG = "local.backends.config"; private static final String PROPERTY_MODELS = "models"; @@ -103,11 +104,19 @@ public int getMetricsPort() { } public String getModelRepositoryPath() { - return getPath(PROPERTY_LOCAL_MODEL_REPOSITORY_PATH); + return getStringProperty(PROPERTY_LOCAL_MODEL_REPOSITORY_PATH); + } + + public String getModelRepositoryPassword() { + return getStringProperty(PROPERTY_LOCAL_MODEL_REPOSITORY_PASSWORD); } public String getBackendsPath() { - return getPath(PROPERTY_LOCAL_BACKENDS_PATH); + return getStringProperty(PROPERTY_LOCAL_BACKENDS_PATH); + } + + public boolean modelsAreEncrypted() { + return !getModelRepositoryPassword().isEmpty(); } public List getBackendsConfigs() { @@ -128,12 +137,12 @@ public List getModels() { return models; } - private String getPath(String propertyName) { - String path = ""; - final Object propertyPath = this.properties.get(propertyName); - if (propertyPath instanceof String) { - path = (String) propertyPath; + private String getStringProperty(String propertyName) { + String stringProperty = ""; + final Object stringPropertyObj = this.properties.get(propertyName); + if (stringPropertyObj instanceof String) { + stringProperty = (String) stringPropertyObj; } - return path; + return stringProperty; } } diff --git a/kura/org.eclipse.kura.core.cloud/META-INF/MANIFEST.MF b/kura/org.eclipse.kura.core.cloud/META-INF/MANIFEST.MF index 2e606343902..0489936ace8 100644 --- a/kura/org.eclipse.kura.core.cloud/META-INF/MANIFEST.MF +++ b/kura/org.eclipse.kura.core.cloud/META-INF/MANIFEST.MF @@ -45,3 +45,4 @@ Import-Package: com.eclipsesource.json;version="0.9.5", org.osgi.service.event;version="1.3.0", org.osgi.util.tracker;version="1.5.1", org.slf4j;version="1.6.4" +Export-Package: org.eclipse.kura.cloud.app.command;version="1.3" diff --git a/kura/test/org.eclipse.kura.ai.triton.server.test/src/test/java/org/eclipse/kura/ai/triton/server/TritonServerEncryptionUtilsTest.java b/kura/test/org.eclipse.kura.ai.triton.server.test/src/test/java/org/eclipse/kura/ai/triton/server/TritonServerEncryptionUtilsTest.java new file mode 100644 index 00000000000..e3089943e68 --- /dev/null +++ b/kura/test/org.eclipse.kura.ai.triton.server.test/src/test/java/org/eclipse/kura/ai/triton/server/TritonServerEncryptionUtilsTest.java @@ -0,0 +1,534 @@ +/******************************************************************************* + * Copyright (c) 2022 Eurotech and/or its affiliates and others + * + * 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: + * Eurotech + ******************************************************************************/ + +package org.eclipse.kura.ai.triton.server; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; + +import java.io.File; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.LinkOption; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.nio.file.attribute.PosixFilePermission; +import java.nio.file.attribute.PosixFilePermissions; +import java.util.List; +import java.util.Set; +import java.util.stream.Stream; + +import org.apache.commons.io.FileUtils; +import org.eclipse.kura.KuraIOException; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class TritonServerEncryptionUtilsTest { + + private static final String WORKDIR = Paths.get(System.getProperty("java.io.tmpdir"), "decr_folder").toString(); + private boolean exceptionOccurred = false; + private String tempDirectoryPrefix; + private String tempDirectoryPath; + private String targetFolder; + private String modelName; + private String expectedEncryptedModelPath; + private String foundEncryptedModelPath; + private String encryptedFile; + private String decryptedFile; + private String compressedFile; + + /* + * Scenarios + */ + @Test + public void getEncryptedModelPathShouldWork() { + givenTargetFolder(WORKDIR + "/model_repository"); + givenModelName("model_name"); + givenExpectedModelPath(targetFolder + "/" + modelName + ".zip.enc"); + givenAFolderAreadyExistsAtPath(targetFolder); + givenAFileAreadyExistsAtPath(expectedEncryptedModelPath); + + whenGetEncryptedModelPathIsCalledWith(modelName, targetFolder); + + thenNoExceptionOccurred(); + thenPathShouldMatch(expectedEncryptedModelPath, foundEncryptedModelPath); + } + + @Test + public void getEncryptedModelPathShouldWorkWithMultipleFiles() { + givenTargetFolder(WORKDIR + "/model_repository"); + givenModelName("model_name"); + givenExpectedModelPath(targetFolder + "/" + modelName + ".zip.enc"); + givenAFolderAreadyExistsAtPath(targetFolder); + givenAFileAreadyExistsAtPath(expectedEncryptedModelPath); + givenAFileAreadyExistsAtPath(targetFolder + "/another_model.zip.enc"); + givenAFileAreadyExistsAtPath(targetFolder + "/preprocessor.zip.enc"); + givenAFileAreadyExistsAtPath(targetFolder + "/postprocessor.zip.enc"); + + whenGetEncryptedModelPathIsCalledWith(modelName, targetFolder); + + thenNoExceptionOccurred(); + thenPathShouldMatch(expectedEncryptedModelPath, foundEncryptedModelPath); + } + + @Test + public void getEncryptedModelPathShouldThrowIfMissingDirectory() { + givenTargetFolder(WORKDIR + "/imaginary_folder"); + givenModelName("model_name"); + givenNoFileExistsAtPath(targetFolder); + + whenGetEncryptedModelPathIsCalledWith(modelName, targetFolder); + + thenAnExceptionOccurred(); + } + + @Test + public void getEncryptedModelPathShouldThrowIfNoMatchFound() { + givenTargetFolder(WORKDIR + "/model_repository"); + givenModelName("model_name"); + givenExpectedModelPath(targetFolder + "/" + modelName + ".zip.enc"); + givenAFolderAreadyExistsAtPath(targetFolder); + givenNoFileExistsAtPath(expectedEncryptedModelPath); + givenAFileAreadyExistsAtPath(targetFolder + "/another_model.zip.enc"); + givenAFileAreadyExistsAtPath(targetFolder + "/preprocessor.zip.enc"); + givenAFileAreadyExistsAtPath(targetFolder + "/postprocessor.zip.enc"); + + whenGetEncryptedModelPathIsCalledWith(modelName, targetFolder); + + thenAnExceptionOccurred(); + } + + @Test + public void getEncryptedModelPathShouldThrowIfMultipleMatchesFound() { + givenTargetFolder(WORKDIR + "/model_repository"); + givenModelName("model_name"); + givenExpectedModelPath(targetFolder + "/" + modelName + ".zip.enc"); + givenAFolderAreadyExistsAtPath(targetFolder); + givenAFileAreadyExistsAtPath(expectedEncryptedModelPath); + givenAFileAreadyExistsAtPath(targetFolder + "/" + modelName + ".zip.gpg"); + + whenGetEncryptedModelPathIsCalledWith(modelName, targetFolder); + + thenAnExceptionOccurred(); + } + + @Test + public void createDecryptionFolderShouldWork() { + givenTempDirectoryPrefix("prefix"); + + whenCreateDecryptionFolderIsCalledWith(tempDirectoryPrefix); + + thenAFolderExistsAtPath(tempDirectoryPath); + thenTargetFolderHasPermissions(tempDirectoryPath, "rwx------"); + thenNoExceptionOccurred(); + } + + @Test + public void decryptModelShouldWork() { + givenEncryptedFileAtPath("target/test-classes/plain_file.gpg"); + givenAFileExistsAtPath(encryptedFile); + givenDecryptedFileAtPath(WORKDIR + "/file"); + givenNoFileExistsAtPath(decryptedFile); + + whenDecryptModelIsCalledWith("password", encryptedFile, decryptedFile); + + thenFileExistsAtPath(decryptedFile); + thenFileContentMatches(decryptedFile, "cudumar"); + thenNoExceptionOccurred(); + } + + @Test + public void decryptModelShouldWorkWithZippedFiles() { + givenEncryptedFileAtPath("target/test-classes/plain.txt.zip.gpg"); + givenAFileExistsAtPath(encryptedFile); + givenDecryptedFileAtPath(WORKDIR + "/file"); + givenNoFileExistsAtPath(decryptedFile); + + whenDecryptModelIsCalledWith("secret", encryptedFile, decryptedFile); + + thenFileExistsAtPath(decryptedFile); + thenNoExceptionOccurred(); + } + + @Test + public void decryptModelShouldWorkWithASCIIArmoredFormat() { + givenEncryptedFileAtPath("target/test-classes/armored_plain_file.asc"); + givenAFileExistsAtPath(encryptedFile); + givenDecryptedFileAtPath(WORKDIR + "/file"); + givenNoFileExistsAtPath(decryptedFile); + + whenDecryptModelIsCalledWith("eurotech", encryptedFile, decryptedFile); + + thenFileExistsAtPath(decryptedFile); + thenFileContentMatches(decryptedFile, "42"); + thenNoExceptionOccurred(); + } + + @Test + public void decryptModelShouldThrowWithWrongPassword() { + givenEncryptedFileAtPath("target/test-classes/armored_plain_file.asc"); + givenAFileExistsAtPath(encryptedFile); + givenDecryptedFileAtPath(WORKDIR + "/file"); + givenNoFileExistsAtPath(decryptedFile); + + whenDecryptModelIsCalledWith("wrongpassword", encryptedFile, decryptedFile); + + thenAnExceptionOccurred(); + thenFileDoesNotExistsAtPath(decryptedFile); + } + + @Test + public void decryptModelShouldThrowWithDirectory() { + givenEncryptedFileAtPath(WORKDIR + "/model_repository"); + givenAFolderAreadyExistsAtPath(encryptedFile); + givenDecryptedFileAtPath(WORKDIR + "/file"); + givenNoFileExistsAtPath(decryptedFile); + + whenDecryptModelIsCalledWith("anything", encryptedFile, decryptedFile); + + thenAnExceptionOccurred(); + thenFileDoesNotExistsAtPath(decryptedFile); + } + + @Test + public void decryptModelShouldThrowWithWrongFileFormat() { + givenEncryptedFileAtPath("target/test-classes/tf_autoencoder_fp32.zip"); + givenAFileExistsAtPath(encryptedFile); + givenDecryptedFileAtPath(WORKDIR + "/file"); + givenNoFileExistsAtPath(decryptedFile); + + whenDecryptModelIsCalledWith("anything", encryptedFile, decryptedFile); + + thenAnExceptionOccurred(); + thenFileDoesNotExistsAtPath(decryptedFile); + } + + @Test + public void decryptModelShouldThrowIfDestinationFileAlreadyExists() { + givenEncryptedFileAtPath("target/test-classes/armored_plain_file.asc"); + givenAFileExistsAtPath(encryptedFile); + givenDecryptedFileAtPath(WORKDIR + "/file"); + givenAFileAreadyExistsAtPath(decryptedFile); + + whenDecryptModelIsCalledWith("eurotech", encryptedFile, decryptedFile); + + thenAnExceptionOccurred(); + } + + @Test + public void unzipModelShouldWork() { + givenCompressedFileAtPath("target/test-classes/tf_autoencoder_fp32.zip"); + givenAFileExistsAtPath(compressedFile); + givenTargetFolder(WORKDIR); + givenAFolderExistsAtPath(targetFolder); + givenFolderAtPathIsEmpty(targetFolder); + + whenUnzipModelIsCalledWith(compressedFile, targetFolder); + + thenAFolderExistsAtPath(targetFolder + "/tf_autoencoder_fp32"); + thenFileExistsAtPath(targetFolder + "/tf_autoencoder_fp32/config.pbtxt"); + thenFileContentMatches(targetFolder + "/tf_autoencoder_fp32/config.pbtxt", "test"); + thenAFolderExistsAtPath(targetFolder + "/tf_autoencoder_fp32/1"); + thenAFolderExistsAtPath(targetFolder + "/tf_autoencoder_fp32/1/model.savedmodel"); + thenFileExistsAtPath(targetFolder + "/tf_autoencoder_fp32/1/model.savedmodel/saved_model.pb"); + thenFileContentMatches(targetFolder + "/tf_autoencoder_fp32/1/model.savedmodel/saved_model.pb", "model"); + thenNoExceptionOccurred(); + } + + @Test + public void unzipModelShouldThrowIfFileDoesNotExist() { + givenCompressedFileAtPath(WORKDIR + "/non_existent_file.zip"); + givenNoFileExistsAtPath(compressedFile); + givenTargetFolder(WORKDIR); + givenAFolderExistsAtPath(targetFolder); + givenFolderAtPathIsEmpty(targetFolder); + + whenUnzipModelIsCalledWith(compressedFile, targetFolder); + + thenAnExceptionOccurred(); + thenFolderIsEmpty(targetFolder); + } + + @Test + public void unzipModelShouldThrowWithWrongFileFormat() { + givenCompressedFileAtPath("target/test-classes/armored_plain_file.asc"); + givenAFileExistsAtPath(compressedFile); + givenTargetFolder(WORKDIR); + givenAFolderExistsAtPath(targetFolder); + givenFolderAtPathIsEmpty(targetFolder); + + whenUnzipModelIsCalledWith(compressedFile, targetFolder); + + thenAnExceptionOccurred(); + thenFolderIsEmpty(targetFolder); + } + + @Test + public void unzipModelShouldThrowIfDestinationFolderDoesNotExist() { + givenCompressedFileAtPath("target/test-classes/tf_autoencoder_fp32.zip"); + givenAFileExistsAtPath(compressedFile); + givenTargetFolder(WORKDIR + "/an_imaginary_folder"); + givenNoFileExistsAtPath(targetFolder); + + whenUnzipModelIsCalledWith(compressedFile, targetFolder); + + thenAnExceptionOccurred(); + thenFileDoesNotExistsAtPath(targetFolder); + } + + @Test + public void cleanModelRepositoryShouldWork() { + givenTargetFolder(WORKDIR + "/model_dir"); + givenAFolderAreadyExistsAtPath(targetFolder); + givenAFileAreadyExistsAtPath(targetFolder + "/test_file1"); + givenAFileAreadyExistsAtPath(targetFolder + "/test_file2"); + givenAFolderAreadyExistsAtPath(targetFolder + "/test_folder"); + + whenCleanModelRepositoryIsCalledWith(targetFolder); + + thenAFolderExistsAtPath(targetFolder); + thenFolderIsEmpty(targetFolder); + thenNoExceptionOccurred(); + } + + @Test + public void deleteModelShouldThrowWithNonExistingFolder() { + givenTargetFolder(WORKDIR + "/imaginary_dir"); + givenNoFileExistsAtPath(targetFolder); + + whenCleanModelRepositoryIsCalledWith(targetFolder); + + thenNoExceptionOccurred(); + thenFileDoesNotExistsAtPath(targetFolder); + thenAFolderExistsAtPath(WORKDIR); + } + + /* + * Steps + */ + + /* + * Given + */ + private void givenModelName(String modelName) { + this.modelName = modelName; + } + + private void givenExpectedModelPath(String modelPath) { + this.expectedEncryptedModelPath = modelPath; + } + + private void givenTempDirectoryPrefix(String prefix) { + this.tempDirectoryPrefix = prefix; + } + + private void givenTargetFolder(String folderPath) { + this.targetFolder = folderPath; + } + + private void givenEncryptedFileAtPath(String filePath) { + this.encryptedFile = filePath; + } + + private void givenDecryptedFileAtPath(String filePath) { + this.decryptedFile = filePath; + } + + private void givenCompressedFileAtPath(String filePath) { + this.compressedFile = filePath; + } + + private void givenAFileExistsAtPath(String filePath) { + Path targetFilePath = Paths.get(filePath); + assertTrue(Files.exists(targetFilePath)); + assertTrue(Files.isRegularFile(targetFilePath)); + } + + private void givenAFolderExistsAtPath(String folderPath) { + Path targetPath = Paths.get(folderPath); + assertTrue(Files.exists(targetPath)); + assertTrue(Files.isDirectory(targetPath)); + } + + private void givenFolderAtPathIsEmpty(String folderPath) { + try (Stream entries = Files.list(Paths.get(targetFolder))) { + assertFalse(entries.findFirst().isPresent()); + } catch (IOException e) { + e.printStackTrace(); + fail(); + } + } + + private void givenNoFileExistsAtPath(String folderPath) { + assertFalse(Files.exists(Paths.get(folderPath))); + } + + private void givenAFolderAreadyExistsAtPath(String folderPath) { + Path targetFolderPath = Paths.get(folderPath); + assertFalse(Files.exists(targetFolderPath)); + + try { + Files.createDirectory(targetFolderPath); + } catch (IOException e) { + e.printStackTrace(); + fail(); + } + + assertTrue(Files.isDirectory(targetFolderPath)); + } + + private void givenAFileAreadyExistsAtPath(String folderPath) { + Path targetFolderPath = Paths.get(folderPath); + assertFalse(Files.exists(targetFolderPath)); + + try { + Files.createFile(targetFolderPath); + } catch (IOException e) { + e.printStackTrace(); + fail(); + } + + assertTrue(Files.isRegularFile(targetFolderPath)); + } + + /* + * When + */ + private void whenGetEncryptedModelPathIsCalledWith(String modelName, String folderPath) { + try { + this.foundEncryptedModelPath = TritonServerEncryptionUtils.getEncryptedModelPath(modelName, folderPath); + } catch (KuraIOException e) { + e.printStackTrace(); + this.exceptionOccurred = true; + } + } + + private void whenCreateDecryptionFolderIsCalledWith(String folderPath) { + try { + this.tempDirectoryPath = TritonServerEncryptionUtils.createDecryptionFolder(folderPath); + } catch (IOException e) { + e.printStackTrace(); + this.exceptionOccurred = true; + } + } + + private void whenDecryptModelIsCalledWith(String password, String encryptedFilePath, String decryptedFilePath) { + try { + TritonServerEncryptionUtils.decryptModel(password, encryptedFilePath, decryptedFilePath); + } catch (IOException | KuraIOException e) { + e.printStackTrace(); + this.exceptionOccurred = true; + } + } + + private void whenUnzipModelIsCalledWith(String compressedFilePath, String folderPath) { + try { + TritonServerEncryptionUtils.unzipModel(compressedFilePath, folderPath); + } catch (IOException e1) { + e1.printStackTrace(); + this.exceptionOccurred = true; + } + } + + private void whenCleanModelRepositoryIsCalledWith(String folderPath) { + TritonServerEncryptionUtils.cleanRepository(folderPath); + } + + /* + * Then + */ + private void thenPathShouldMatch(String expectedPath, String foundPath) { + assertEquals(expectedPath, foundPath); + } + + private void thenFileExistsAtPath(String filePath) { + assertTrue(Files.isRegularFile(Paths.get(filePath))); + } + + private void thenFileDoesNotExistsAtPath(String filePath) { + assertFalse(Files.exists(Paths.get(filePath))); + } + + private void thenAFolderExistsAtPath(String folderPath) { + assertTrue(Files.isDirectory(Paths.get(folderPath))); + } + + private void thenTargetFolderHasPermissions(String folderPath, String permissions) { + try { + Set readPermissions = Files.getPosixFilePermissions(Paths.get(folderPath), + LinkOption.NOFOLLOW_LINKS); + Set expectedPermissions = PosixFilePermissions.fromString(permissions); + + assertEquals(expectedPermissions, readPermissions); + } catch (IOException e) { + e.printStackTrace(); + fail(); + } + } + + private void thenFolderIsEmpty(String folderPath) { + try (Stream entries = Files.list(Paths.get(targetFolder))) { + assertFalse(entries.findFirst().isPresent()); + } catch (IOException e) { + e.printStackTrace(); + fail(); + } + } + + private void thenFileContentMatches(String filePath, String expectedContent) { + try { + List content = Files.readAllLines(Paths.get(filePath)); + + assertEquals(1, content.size()); + assertEquals(expectedContent, content.get(0)); + } catch (IOException e) { + e.printStackTrace(); + fail(); + } + } + + private void thenNoExceptionOccurred() { + assertFalse(this.exceptionOccurred); + } + + private void thenAnExceptionOccurred() { + assertTrue(this.exceptionOccurred); + } + + /* + * Cleanup + */ + @Before + public void setup() { + try { + Files.createDirectories(Paths.get(WORKDIR)); + } catch (IOException e) { + e.printStackTrace(); + fail("Setup failed."); + } + } + + @After + public void teardown() { + try { + FileUtils.cleanDirectory(new File(WORKDIR)); + Files.delete(Paths.get(WORKDIR)); + } catch (IOException e) { + e.printStackTrace(); + fail("Teardown failed."); + } + } +} diff --git a/kura/test/org.eclipse.kura.ai.triton.server.test/src/test/resources/armored_plain_file.asc b/kura/test/org.eclipse.kura.ai.triton.server.test/src/test/resources/armored_plain_file.asc new file mode 100644 index 00000000000..ee58e75cb12 --- /dev/null +++ b/kura/test/org.eclipse.kura.ai.triton.server.test/src/test/resources/armored_plain_file.asc @@ -0,0 +1,6 @@ +-----BEGIN PGP MESSAGE----- + +jA0ECQMCiNttyuKTHlbz0kIB8XeXnsjDfmL8loWNdhoT8eIZHrAL7rJZ8tftktM7 +vNtdiSDzHTPlE6t0Yg+dBPFjIaOyQYX7ejpE/ofOL1697c4= +=OHwo +-----END PGP MESSAGE----- diff --git a/kura/test/org.eclipse.kura.ai.triton.server.test/src/test/resources/plain.txt.zip.gpg b/kura/test/org.eclipse.kura.ai.triton.server.test/src/test/resources/plain.txt.zip.gpg new file mode 100644 index 00000000000..948c14c50b8 --- /dev/null +++ b/kura/test/org.eclipse.kura.ai.triton.server.test/src/test/resources/plain.txt.zip.gpg @@ -0,0 +1,2 @@ +�  g.�C*�P���.���Ɣ}�N�.[*�R[F}�_cH#��p(d���0L;G{�i�r��M"��vwzn��5uU�.������Q�����y呉�Й֢�f'= +CҿK��`Iw�x����XǟoM�# �8�>:G�� \ No newline at end of file diff --git a/kura/test/org.eclipse.kura.ai.triton.server.test/src/test/resources/plain_file.gpg b/kura/test/org.eclipse.kura.ai.triton.server.test/src/test/resources/plain_file.gpg new file mode 100644 index 00000000000..c6be129775d --- /dev/null +++ b/kura/test/org.eclipse.kura.ai.triton.server.test/src/test/resources/plain_file.gpg @@ -0,0 +1,2 @@ +�  䎆 �V���IJ� �RP�w]3��I~��'�T#,�� L���-u��ユg���5��a� %h�1ȑ +� }=� � \ No newline at end of file diff --git a/kura/test/org.eclipse.kura.ai.triton.server.test/src/test/resources/tf_autoencoder_fp32.zip b/kura/test/org.eclipse.kura.ai.triton.server.test/src/test/resources/tf_autoencoder_fp32.zip new file mode 100644 index 0000000000000000000000000000000000000000..63ac33d1436f96621b8c90ec3ccd40c271424726 GIT binary patch literal 1005 zcmWIWW@h1H0D&0ywIN^zln`N%VJJz9Pb@9TPt8ltPf0C`Pb)As(hm*cWME#;SeFFC zr4`%^j4T%{17caK%MVlsz)ed*GffPKX@(H6 znCVVyR-lC-tboJP_pfu=!VkW?#cJza+J|1ZX@XlN>XyNRh`hL(J$$wz>r90&KB^nizn#fD!|SEv%qK3`|t43@l6x K43|N^VE_Q+AO8yg literal 0 HcmV?d00001

gI6q#(?3(n@G*-#$BS%n%a4^(Pd=kYTk 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