Author: reschke
Date: Fri Jan 31 18:24:20 2020
New Revision: 1873428
URL: http://svn.apache.org/viewvc?rev=1873428&view=rev
Log:
OAK-6632: oak-upgrade should support azure blobstorage (merged r1872809 and
r1872810 into 1.22.0)
Added:
jackrabbit/oak/branches/1.22/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/blob/AzureDataStoreFactory.java
(props changed)
- copied unchanged from r1872809,
jackrabbit/oak/trunk/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/blob/AzureDataStoreFactory.java
jackrabbit/oak/branches/1.22/oak-upgrade/src/test/java/org/apache/jackrabbit/oak/upgrade/cli/blob/AzureDataStoreFactoryTest.java
(props changed)
- copied unchanged from r1872809,
jackrabbit/oak/trunk/oak-upgrade/src/test/java/org/apache/jackrabbit/oak/upgrade/cli/blob/AzureDataStoreFactoryTest.java
jackrabbit/oak/branches/1.22/oak-upgrade/src/test/java/org/apache/jackrabbit/oak/upgrade/cli/blob/AzureToFbsTest.java
(props changed)
- copied unchanged from r1872809,
jackrabbit/oak/trunk/oak-upgrade/src/test/java/org/apache/jackrabbit/oak/upgrade/cli/blob/AzureToFbsTest.java
jackrabbit/oak/branches/1.22/oak-upgrade/src/test/java/org/apache/jackrabbit/oak/upgrade/cli/blob/AzureToInlinedTest.java
(props changed)
- copied unchanged from r1872809,
jackrabbit/oak/trunk/oak-upgrade/src/test/java/org/apache/jackrabbit/oak/upgrade/cli/blob/AzureToInlinedTest.java
jackrabbit/oak/branches/1.22/oak-upgrade/src/test/java/org/apache/jackrabbit/oak/upgrade/cli/blob/AzureToS3Test.java
(props changed)
- copied unchanged from r1872809,
jackrabbit/oak/trunk/oak-upgrade/src/test/java/org/apache/jackrabbit/oak/upgrade/cli/blob/AzureToS3Test.java
jackrabbit/oak/branches/1.22/oak-upgrade/src/test/java/org/apache/jackrabbit/oak/upgrade/cli/blob/FbsToAzureTest.java
(props changed)
- copied unchanged from r1872809,
jackrabbit/oak/trunk/oak-upgrade/src/test/java/org/apache/jackrabbit/oak/upgrade/cli/blob/FbsToAzureTest.java
jackrabbit/oak/branches/1.22/oak-upgrade/src/test/java/org/apache/jackrabbit/oak/upgrade/cli/blob/S3ToAzureTest.java
(props changed)
- copied unchanged from r1872809,
jackrabbit/oak/trunk/oak-upgrade/src/test/java/org/apache/jackrabbit/oak/upgrade/cli/blob/S3ToAzureTest.java
jackrabbit/oak/branches/1.22/oak-upgrade/src/test/java/org/apache/jackrabbit/oak/upgrade/cli/container/AzureDataStoreContainer.java
(props changed)
- copied unchanged from r1872809,
jackrabbit/oak/trunk/oak-upgrade/src/test/java/org/apache/jackrabbit/oak/upgrade/cli/container/AzureDataStoreContainer.java
Modified:
jackrabbit/oak/branches/1.22/ (props changed)
jackrabbit/oak/branches/1.22/oak-upgrade/pom.xml
jackrabbit/oak/branches/1.22/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/parser/DatastoreArguments.java
jackrabbit/oak/branches/1.22/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/parser/MigrationOptions.java
jackrabbit/oak/branches/1.22/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/parser/OptionParserFactory.java
Propchange: jackrabbit/oak/branches/1.22/
------------------------------------------------------------------------------
Merged /jackrabbit/oak/trunk:r1872809-1872810
Modified: jackrabbit/oak/branches/1.22/oak-upgrade/pom.xml
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.22/oak-upgrade/pom.xml?rev=1873428&r1=1873427&r2=1873428&view=diff
==============================================================================
--- jackrabbit/oak/branches/1.22/oak-upgrade/pom.xml (original)
+++ jackrabbit/oak/branches/1.22/oak-upgrade/pom.xml Fri Jan 31 18:24:20 2020
@@ -88,6 +88,11 @@
</dependency>
<dependency>
<groupId>org.apache.jackrabbit</groupId>
+ <artifactId>oak-blob-cloud-azure</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.jackrabbit</groupId>
<artifactId>oak-core-spi</artifactId>
<version>${project.version}</version>
</dependency>
Propchange:
jackrabbit/oak/branches/1.22/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/blob/AzureDataStoreFactory.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified:
jackrabbit/oak/branches/1.22/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/parser/DatastoreArguments.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.22/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/parser/DatastoreArguments.java?rev=1873428&r1=1873427&r2=1873428&view=diff
==============================================================================
---
jackrabbit/oak/branches/1.22/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/parser/DatastoreArguments.java
(original)
+++
jackrabbit/oak/branches/1.22/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/parser/DatastoreArguments.java
Fri Jan 31 18:24:20 2020
@@ -25,6 +25,7 @@ import org.apache.jackrabbit.oak.upgrade
import org.apache.jackrabbit.oak.upgrade.cli.blob.FileDataStoreFactory;
import org.apache.jackrabbit.oak.upgrade.cli.blob.LoopbackBlobStoreFactory;
import org.apache.jackrabbit.oak.upgrade.cli.blob.S3DataStoreFactory;
+import org.apache.jackrabbit.oak.upgrade.cli.blob.AzureDataStoreFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -140,7 +141,9 @@ public class DatastoreArguments {
return new FileBlobStoreFactory(options.getSrcFbs());
} else if (options.isSrcS3()) {
return new S3DataStoreFactory(options.getSrcS3Config(),
options.getSrcS3(), ignoreMissingBinaries);
- } else if (options.isSrcFds()) {
+ } else if (options.isSrcAzure()) {
+ return new AzureDataStoreFactory(options.getSrcAzureConfig(),
options.getSrcAzure(), ignoreMissingBinaries);
+ } else if (options.isSrcFds()) {
return new FileDataStoreFactory(options.getSrcFds(),
ignoreMissingBinaries);
} else {
return null;
@@ -152,6 +155,8 @@ public class DatastoreArguments {
return new FileBlobStoreFactory(options.getDstFbs());
} else if (options.isDstS3()) {
return new S3DataStoreFactory(options.getDstS3Config(),
options.getDstS3(), false);
+ } else if (options.isDstAzure()) {
+ return new AzureDataStoreFactory(options.getDstAzureConfig(),
options.getDstAzure(), false);
} else if (options.isDstFds()) {
return new FileDataStoreFactory(options.getDstFds(), false);
} else {
Modified:
jackrabbit/oak/branches/1.22/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/parser/MigrationOptions.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.22/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/parser/MigrationOptions.java?rev=1873428&r1=1873427&r2=1873428&view=diff
==============================================================================
---
jackrabbit/oak/branches/1.22/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/parser/MigrationOptions.java
(original)
+++
jackrabbit/oak/branches/1.22/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/parser/MigrationOptions.java
Fri Jan 31 18:24:20 2020
@@ -83,6 +83,10 @@ public class MigrationOptions {
private final String srcS3Config;
private final String srcS3;
+
+ private final String srcAzureConfig;
+
+ private final String srcAzure;
private final String dstFbs;
@@ -91,6 +95,10 @@ public class MigrationOptions {
private final String dstS3Config;
private final String dstS3;
+
+ private final String dstAzureConfig;
+
+ private final String dstAzure;
private final Boolean srcExternalBlobs;
@@ -139,11 +147,15 @@ public class MigrationOptions {
this.srcFds = args.getOption(OptionParserFactory.SRC_FDS);
this.srcS3 = args.getOption(OptionParserFactory.SRC_S3);
this.srcS3Config = args.getOption(OptionParserFactory.SRC_S3_CONFIG);
+ this.srcAzure = args.getOption(OptionParserFactory.SRC_AZURE);
+ this.srcAzureConfig =
args.getOption(OptionParserFactory.SRC_AZURE_CONFIG);
this.dstFbs = args.getOption(OptionParserFactory.DST_FBS);
this.dstFds = args.getOption(OptionParserFactory.DST_FDS);
this.dstS3 = args.getOption(OptionParserFactory.DST_S3);
this.dstS3Config = args.getOption(OptionParserFactory.DST_S3_CONFIG);
+ this.dstAzure = args.getOption(OptionParserFactory.DST_AZURE);
+ this.dstAzureConfig =
args.getOption(OptionParserFactory.DST_AZURE_CONFIG);
if (args.hasOption(OptionParserFactory.SRC_EXTERNAL_BLOBS)) {
this.srcExternalBlobs =
args.getBooleanOption(OptionParserFactory.SRC_EXTERNAL_BLOBS);
@@ -259,6 +271,14 @@ public class MigrationOptions {
public String getSrcS3() {
return srcS3;
}
+
+ public String getSrcAzureConfig() {
+ return srcAzureConfig;
+ }
+
+ public String getSrcAzure() {
+ return srcAzure;
+ }
public String getDstFbs() {
return dstFbs;
@@ -275,6 +295,14 @@ public class MigrationOptions {
public String getDstS3() {
return dstS3;
}
+
+ public String getDstAzureConfig() {
+ return dstAzureConfig;
+ }
+
+ public String getDstAzure() {
+ return dstAzure;
+ }
public boolean isSrcFds() {
return StringUtils.isNotBlank(srcFds);
@@ -287,6 +315,12 @@ public class MigrationOptions {
public boolean isSrcS3() {
return StringUtils.isNotBlank(srcS3) &&
StringUtils.isNotBlank(srcS3Config);
}
+
+ public boolean isSrcAzure() {
+
+ // OAK-6632 - only Azure config should be required (path not needed)
+ return StringUtils.isNotBlank(srcAzureConfig);
+ }
public boolean isDstFds() {
return StringUtils.isNotBlank(dstFds);
@@ -299,13 +333,18 @@ public class MigrationOptions {
public boolean isDstS3() {
return StringUtils.isNotBlank(dstS3) &&
StringUtils.isNotBlank(dstS3Config);
}
+
+ public boolean isDstAzure() {
+ // OAK-6632 - only Azure config should be required (path not needed)
+ return StringUtils.isNotBlank(dstAzureConfig);
+ }
public boolean isSrcBlobStoreDefined() {
- return isSrcFbs() || isSrcFds() || isSrcS3();
+ return isSrcFbs() || isSrcFds() || isSrcS3() || isSrcAzure();
}
public boolean isDstBlobStoreDefined() {
- return isDstFbs() || isDstFds() || isDstS3();
+ return isDstFbs() || isDstFds() || isDstS3() || isDstAzure();
}
public void logOptions() {
Modified:
jackrabbit/oak/branches/1.22/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/parser/OptionParserFactory.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.22/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/parser/OptionParserFactory.java?rev=1873428&r1=1873427&r2=1873428&view=diff
==============================================================================
---
jackrabbit/oak/branches/1.22/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/parser/OptionParserFactory.java
(original)
+++
jackrabbit/oak/branches/1.22/oak-upgrade/src/main/java/org/apache/jackrabbit/oak/upgrade/cli/parser/OptionParserFactory.java
Fri Jan 31 18:24:20 2020
@@ -51,12 +51,20 @@ public class OptionParserFactory {
public static final String SRC_S3 = "src-s3datastore";
public static final String SRC_S3_CONFIG = "src-s3config";
+
+ public static final String SRC_AZURE = "src-azuredatastore";
+
+ public static final String SRC_AZURE_CONFIG = "src-azureconfig";
public static final String SRC_EXTERNAL_BLOBS = "src-external-ds";
public static final String DST_FDS = "datastore";
public static final String DST_FBS = "fileblobstore";
+
+ public static final String DST_AZURE = "azuredatastore";
+
+ public static final String DST_AZURE_CONFIG = "azureconfig";
public static final String DST_S3 = "s3datastore";
@@ -110,6 +118,9 @@ public class OptionParserFactory {
op.accepts(SRC_S3, "Datastore directory to be used for the source
S3").withRequiredArg().ofType(String.class);
op.accepts(SRC_S3_CONFIG, "Configuration file for the source
S3DataStore").withRequiredArg()
.ofType(String.class);
+ op.accepts(SRC_AZURE, "Datastore directory to be used for the source
Azure").withRequiredArg().ofType(String.class);
+ op.accepts(SRC_AZURE_CONFIG, "Configuration file for the source
AzureDataStore").withRequiredArg()
+ .ofType(String.class);
op.accepts(DST_FDS, "Datastore directory to be used as a target
FileDataStore").withRequiredArg()
.ofType(String.class);
op.accepts(DST_FBS, "Datastore directory to be used as a target
FileBlobStore").withRequiredArg()
@@ -117,6 +128,9 @@ public class OptionParserFactory {
op.accepts(DST_S3, "Datastore directory to be used for the target
S3").withRequiredArg().ofType(String.class);
op.accepts(DST_S3_CONFIG, "Configuration file for the target
S3DataStore").withRequiredArg()
.ofType(String.class);
+ op.accepts(DST_AZURE, "Datastore directory to be used for the target
Azure").withRequiredArg().ofType(String.class);
+ op.accepts(DST_AZURE_CONFIG, "Configuration file for the target
AzureBlobStore").withRequiredArg()
+ .ofType(String.class);
op.accepts(IGNORE_MISSING_BINARIES, "Don't break the migration if some
binaries are missing");
op.accepts(SRC_EXTERNAL_BLOBS, "Flag specifying if the source Store
has external references or not")
.withRequiredArg().ofType(Boolean.class);
Propchange:
jackrabbit/oak/branches/1.22/oak-upgrade/src/test/java/org/apache/jackrabbit/oak/upgrade/cli/blob/AzureDataStoreFactoryTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
jackrabbit/oak/branches/1.22/oak-upgrade/src/test/java/org/apache/jackrabbit/oak/upgrade/cli/blob/AzureToFbsTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
jackrabbit/oak/branches/1.22/oak-upgrade/src/test/java/org/apache/jackrabbit/oak/upgrade/cli/blob/AzureToInlinedTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
jackrabbit/oak/branches/1.22/oak-upgrade/src/test/java/org/apache/jackrabbit/oak/upgrade/cli/blob/AzureToS3Test.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
jackrabbit/oak/branches/1.22/oak-upgrade/src/test/java/org/apache/jackrabbit/oak/upgrade/cli/blob/FbsToAzureTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
jackrabbit/oak/branches/1.22/oak-upgrade/src/test/java/org/apache/jackrabbit/oak/upgrade/cli/blob/S3ToAzureTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
jackrabbit/oak/branches/1.22/oak-upgrade/src/test/java/org/apache/jackrabbit/oak/upgrade/cli/container/AzureDataStoreContainer.java
------------------------------------------------------------------------------
svn:eol-style = native