Compatibility Check for External Object Storage with Automation Suite

How to perform a compatibility check for External Object Storage with Automation Suite without disturbing any existing configuration on the Automation suite cluster?

Issue description:

Ensuring compatibility of an external S3-compatible Object Storage with the Automation Suite environment by verifying configuration settings and performing necessary validation checks.

Prerequisites:

To perform the compatibility check, one needs:

  1. Access to an existing Automation Suite environment or
  2. A Linux machine with the as-installer.zip downloaded contains the validationReadiness.sh script and cluster_config.json file.

Refer to the documentation for downloading and generating the required files:

Configuration Steps:

  • Modify the cluster_config.json file by appending the following section with precise S3-compatible object storage details:
{

"external_object_storage": {

"enabled": true,

"create_bucket": true,

"storage_type": "s3",

"use_instance_profile": false,

"region": "us-east-1",

"access_key": "",

"secret_key": "*",

"port": 8000,

"fqdn": "aiext.newstorage.UiPathext.uip.com",

"bucket_name_prefix": "",

"bucket_name_suffix": ""

}

}

  • Ensure the following details are correctly configured:
    • Set create_bucket to true if the installer should create the bucket. If the bucket already exists, set it to false.
    • Provide the correct access_key and secret_key.
    • Verify the fqdn and port match the external storage configuration.
    • Setup the bucket_name_prefix as per the organisation's standards.
  • Test network connectivity to the object storage using the below command:
    • nc -vz aiext.newstorage.uipathext.uip.com 8000

Validation Steps:

Once the configuration is complete, run the validationReadiness.sh script against the cluster_config.json file.

-- Online:

./validateUiPathASReadiness.sh
–node-type server \ # replace server with task-mining, gpu if you wish to install.
–install-type online

– Offline:
./validateUiPathASReadiness.sh
–node-type server
–install-type offline
–prereq-bundle ../as-infra.tar.gz \
–prereq-tmp-folder /opt/UiPathAutomationSuite/tmp

The script will validate access levels and display any issues related to read/write permissions when testing the necessary APIs.

For further reference, visit:

Troubleshooting:

1. Network Connectivity Issues

  • Ensure the firewall allows outbound access to the object storage FQDN and port.
  • Run:
    • ping aiext.newstorage.uipathext.uip.com
    • nc -vz aiext.newstorage.uipathext.uip.com 8000
  • If the connection fails, check the network rules and retry.

2. Access Denied Errors

  • Verify the access_key and secret_key are correct.
  • Ensure the bucket permissions allow read/write access.
  • Try creating a test object in the bucket manually to confirm accessibility.

3. Validation Script Fails

  • Check the script logs for specific error messages.
  • Ensure the cluster_config.json file has no formatting errors.
  • Refer to the official validation guide linked above.