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();