How to customize the AWS S3 backups for your controller to use your own endpoints via Cluster Operation

Article ID:360043824292
2 minute readKnowledge base

Issue

  • How to customize the AWS S3 backups for your controller to use your own endpoints?

  • I would like to create a Cluster Operation for backup my controllers to custom endpoints

Resolution

1.- Get the endpoints.json compatible with your AWS plugin( looking into the tag for the version) to get the version tag of the aws-java-sdk plguin run the following script in the Jenkins Script Console:

def plugin = Jenkins.instance.pluginManager.plugins.find{it.getShortName() == 'aws-java-sdk'} if (plugin){ println ("${plugin.getDisplayName()} (${plugin.getShortName()}): ${plugin.getVersion()}") } else { println ("aws-java-sdk is not installed in this instance") }

2.- Customize as explained here. A valid example would be:

{ "partitions" : [ { "defaults" : { "hostname" : "{service}.{region}.{dnsSuffix}", "protocols" : [ "http" ], "signatureVersions" : [ "v4" ] }, "dnsSuffix" : "cloudstorage.corp", "partition" : "CCC", "partitionName" : "Example storage", "regionRegex" : "*", "regions" : { "example-region" : { "description" : "example scality endpoint" } }, "services" : { "s3" : { "defaults": { "protocols": [ "http", "https" ], "signatureVersions": [ "s3", "s3v4" ] }, "endpoints" : { "example-region" : { "hostname": "s3.example.cloudstorage.corp" } } } } } ], "version" : 3 }

3.- Create the CLASSPATH_HOME folder to override endpoints.json and place your custom file there, com/amazonaws/partitions/override/endpoints.json for your Operation Ceneter as well as the controllers to backup.

$> mkdir -p $JENKINS_HOME/classpath/com/amazonaws/partitions/override/ $> CLASSPATH_HOME="$JENKINS_HOME/classpath" $> mv endpoints.json $JENKINS_HOME/classpath/com/amazonaws/partitions/override/

4.- Add to the JAVA Properties -Xbootclasspath/a:$CLASSPATH_HOME to the Operations Center as well as every controller.

5.- Create a Cluster Operation job, go to the Build section and add a Take Backup step, specifying Amazon S3 for Where to back up? and finally example-region must be shown as option.

Cluster Operation AWS Backup

Tested product/plugin versions