in src/com/epam/digital/data/platform/pipelines/stages/impl/lowcode/FormDataStorageMigration.groovy [31:72]
void run() {
String migrationCM = "form-data-storage-migration"
if (context.platform.checkObjectExists("cm", migrationCM)) {
context.logger.info("Skip form data storage migration because it is already migrated")
} else {
CephBucket formDataStorageBucket = new CephBucket("lowcode-form-data-storage", context)
formDataStorageBucket.init()
try {
context.logger.info("Migrating form data storage from OBC to redis")
LinkedHashMap redisSecretJson = context.platform.getAsJson("secret", Redis.REDIS_SECRET)["data"]
String password = DecodeHelper.decodeBase64(redisSecretJson["password"])
String additionalKeyPatterns = context.getParameterValue("ADDITIONAL_KEY_PATTERNS", "")
String migratorParams = "" +
"--delete-invalid-data=" +
"${context.getParameterValue("DELETE_INVALID_DATA", "false").toBoolean()} " +
"--delete-after-migration=" +
"${context.getParameterValue("DELETE_AFTER_MIGRATION", "false").toBoolean()} " +
"--s3.config.client.protocol=http " +
"--s3.config.options.pathStyleAccess=true " +
"--storage.backend.redis.sentinel.nodes=${Redis.REDIS_NODES} " +
"--storage.backend.redis.sentinel.master=${Redis.REDIS_MASTER} " +
"--storage.backend.redis.password=${password} " +
"--storage.backend.ceph.bucket=${formDataStorageBucket.cephBucketName} " +
"--storage.backend.ceph.http-endpoint=${formDataStorageBucket.cephHttpEndpoint} " +
"--storage.backend.ceph.access-key=${formDataStorageBucket.cephAccessKey} " +
"--storage.backend.ceph.secret-key=${formDataStorageBucket.cephSecretKey} "
if (additionalKeyPatterns) {
migratorParams += "--additional-key-patterns=${additionalKeyPatterns} "
}
context.script.sh(script: "set +x; java -jar " +
"${MIGRATOR_JAR} " +
"${migratorParams} " +
"${context.logLevel == "DEBUG" ? "1>&2" : ""}")
context.logger.info("Form data storage has been successfully migrated")
context.platform.create("cm", migrationCM)
} catch (any) {
context.script.error("Failed to migrate form data storage")
}
}
}