You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by al...@apache.org on 2019/08/14 19:21:44 UTC

[nifi-minifi] branch master updated: MINIFI-509 S2S security properties are picked up from bootstrap.conf

This is an automated email from the ASF dual-hosted git repository.

aldrin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nifi-minifi.git


The following commit(s) were added to refs/heads/master by this push:
     new 3528af2  MINIFI-509 S2S security properties are picked up from bootstrap.conf
3528af2 is described below

commit 3528af24b622f7f9a911d6f06921461d1a8dda8d
Author: Ferenc Kis <fk...@hortonworks.com>
AuthorDate: Tue Aug 13 15:29:11 2019 +0200

    MINIFI-509 S2S security properties are picked up from bootstrap.conf
    
    This closes #164.
    
    Signed-off-by: Aldrin Piri <al...@apache.org>
---
 .../java/org/apache/nifi/minifi/bootstrap/RunMiNiFi.java  | 15 ++++++++++-----
 .../org/apache/nifi/minifi/bootstrap/RunMiNiFiTest.java   |  9 ++++++---
 2 files changed, 16 insertions(+), 8 deletions(-)

diff --git a/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/RunMiNiFi.java b/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/RunMiNiFi.java
index e7ac3ed..26fbf53 100644
--- a/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/RunMiNiFi.java
+++ b/minifi-bootstrap/src/main/java/org/apache/nifi/minifi/bootstrap/RunMiNiFi.java
@@ -1687,7 +1687,7 @@ public class RunMiNiFi implements QueryableStatusAggregator, ConfigurationFileHo
                             newConfigBais.reset();
 
                             logger.info("Performing transformation for input and saving outputs to {}", confDir);
-                            ByteBuffer tempConfigFile = performTransformation(newConfigBais, confDir);
+                            ByteBuffer tempConfigFile = runner.performTransformation(newConfigBais, confDir);
                             runner.currentConfigFileReference.set(tempConfigFile.asReadOnlyBuffer());
 
                             try {
@@ -1695,7 +1695,7 @@ public class RunMiNiFi implements QueryableStatusAggregator, ConfigurationFileHo
                                 restartInstance();
                             } catch (Exception e) {
                                 logger.debug("Transformation of new config file failed after transformation into Flow.xml and nifi.properties, reverting.");
-                                ByteBuffer resetConfigFile = performTransformation(new FileInputStream(swapConfigFile), confDir);
+                                ByteBuffer resetConfigFile = runner.performTransformation(new FileInputStream(swapConfigFile), confDir);
                                 runner.currentConfigFileReference.set(resetConfigFile.asReadOnlyBuffer());
                                 throw e;
                             }
@@ -1758,11 +1758,15 @@ public class RunMiNiFi implements QueryableStatusAggregator, ConfigurationFileHo
         }
     }
 
-    private static ByteBuffer performTransformation(InputStream configIs, String configDestinationPath) throws ConfigurationChangeException, IOException {
+    private ByteBuffer performTransformation(InputStream configIs, String configDestinationPath) throws ConfigurationChangeException, IOException {
         try (ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
              TeeInputStream teeInputStream = new TeeInputStream(configIs, byteArrayOutputStream)) {
 
-            ConfigTransformer.transformConfigFile(teeInputStream, configDestinationPath);
+            ConfigTransformer.transformConfigFile(
+                teeInputStream,
+                configDestinationPath,
+                buildSecurityPropertiesFromBootstrap(getBootstrapProperties()).orElse(null)
+            );
 
             return ByteBuffer.wrap(byteArrayOutputStream.toByteArray());
         } catch (ConfigurationChangeException e){
@@ -1772,7 +1776,8 @@ public class RunMiNiFi implements QueryableStatusAggregator, ConfigurationFileHo
         }
     }
 
-    public static Optional<SecurityPropertiesSchema> buildSecurityPropertiesFromBootstrap(final Properties bootstrapProperties) {
+    // TODO extract this to separate class BootstrapTransformer, and make private
+    public Optional<SecurityPropertiesSchema> buildSecurityPropertiesFromBootstrap(final Properties bootstrapProperties) {
 
         Optional<SecurityPropertiesSchema> securityPropsOptional = Optional.empty();
 
diff --git a/minifi-bootstrap/src/test/java/org/apache/nifi/minifi/bootstrap/RunMiNiFiTest.java b/minifi-bootstrap/src/test/java/org/apache/nifi/minifi/bootstrap/RunMiNiFiTest.java
index 055bab2..f6e0cb6 100644
--- a/minifi-bootstrap/src/test/java/org/apache/nifi/minifi/bootstrap/RunMiNiFiTest.java
+++ b/minifi-bootstrap/src/test/java/org/apache/nifi/minifi/bootstrap/RunMiNiFiTest.java
@@ -30,15 +30,17 @@ public class RunMiNiFiTest {
 
     @Test
     public void buildSecurityPropertiesNotDefined() throws Exception {
+        final RunMiNiFi testMiNiFi = new RunMiNiFi(null);
         final Properties bootstrapProperties = getTestBootstrapProperties("bootstrap-ssl-ctx/bootstrap.conf.default");
-        final Optional<SecurityPropertiesSchema> securityPropsOptional = RunMiNiFi.buildSecurityPropertiesFromBootstrap(bootstrapProperties);
+        final Optional<SecurityPropertiesSchema> securityPropsOptional = testMiNiFi.buildSecurityPropertiesFromBootstrap(bootstrapProperties);
         Assert.assertTrue(!securityPropsOptional.isPresent());
     }
 
     @Test
     public void buildSecurityPropertiesDefined() throws Exception {
+        final RunMiNiFi testMiNiFi = new RunMiNiFi(null);
         final Properties bootstrapProperties = getTestBootstrapProperties("bootstrap-ssl-ctx/bootstrap.conf.configured");
-        final Optional<SecurityPropertiesSchema> securityPropsOptional = RunMiNiFi.buildSecurityPropertiesFromBootstrap(bootstrapProperties);
+        final Optional<SecurityPropertiesSchema> securityPropsOptional = testMiNiFi.buildSecurityPropertiesFromBootstrap(bootstrapProperties);
         Assert.assertTrue(securityPropsOptional.isPresent());
 
         final SecurityPropertiesSchema securityPropertiesSchema = securityPropsOptional.get();
@@ -66,8 +68,9 @@ public class RunMiNiFiTest {
 
     @Test
     public void buildSecurityPropertiesDefinedButInvalid() throws Exception {
+        final RunMiNiFi testMiNiFi = new RunMiNiFi(null);
         final Properties bootstrapProperties = getTestBootstrapProperties("bootstrap-ssl-ctx/bootstrap.conf.configured.invalid");
-        final Optional<SecurityPropertiesSchema> securityPropsOptional = RunMiNiFi.buildSecurityPropertiesFromBootstrap(bootstrapProperties);
+        final Optional<SecurityPropertiesSchema> securityPropsOptional = testMiNiFi.buildSecurityPropertiesFromBootstrap(bootstrapProperties);
         Assert.assertTrue(securityPropsOptional.isPresent());
 
         final SecurityPropertiesSchema securityPropertiesSchema = securityPropsOptional.get();