void run()

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")
            }
        }
    }