Storage Connector Validation Tool

The Syncplicity Storage Connector Validation Tool is a free script-based utility included as a part of the Storage Connector distributions. It enables administrators to validate their Storage Connector network dependencies, including:

  • Configuration with the Syncplicity service
  • Connectivity to Syncplicity Orchestration
  • Connectivity to Syncplicity Health service
  • Connectivity to an SMTP server (if configured).
  • Connectivity to the Syncplicity API gateway (if configured).
  • Connectivity to the Syncplicity Rights Management infrastructure (if configured).

Getting Started

The tool is pre-installed and pre-configured on Storage Connectors. It is designed to obtain environmental information about your configuration by reading the local Storage Connector config file located in /etc/syncp/syncp-storage.yml. The tool then uses this information to validate connectivity and access to various resources.

The tool is executed from the command line in any directory, and returns the results of each validation on screen.

Options and Output

Syntax:

syncp-storage-validate-config [-? | -v] [-c <CONFIG>] [-f <FORMAT>] [-l <LEVEL>] [-p] [-q]

The options for this command are as follows:

  • -?, --help - Prints this help information.
  • -c <CONFIG>, --config <CONFIG> - Path to the Storage Connector configuration file. The default is: /etc/syncp-storage/syncp-storage.yml
  • -f <FORMAT>, --format <FORMAT> - Determines how to display the output text. FORMAT can be PLAIN (default) or JSON.
  • -l <LEVEL>, --log <LEVEL> - indicates the logging level. LEVEL can be OFF (default), INFO, or DEBUG
  • -p - Print the config file as ordered dictionary.
  • -q - Turn off verbose mode.
  • -v , --version - Print the version information.

Running the tool

The tool requires elevated root privileges. If you do not know these credentials, contact your company system administrator or whomever deployed the Storage Connector.

To run the tool, enter the command:

sudo sudosyncp-storage-validate-config

Viewing and understanding responses

Here is an example of the output with the default plain text format:

[syncp@localhost syncp]# sudo syncp-storage-validate-config

TEST: orchestration-access-key-validation RESULT: PASS
TEST: orchestration-connectivity RESULT: PASS
TEST: external-server-connectivity RESULT: DISABLED
TEST: proxy-server-connectivity RESULT: DISABLED
TEST: health-server-connectivity RESULT: PASS
TEST: smtp-connectivity RESULT: PASS
TEST: irm-connectivity RESULT: DISABLED

In the above example, the tool was able to retrieve the environment information from the syncp-storage.yml file located in the /etc/syncp-storage directory. After capturing this information, it conducted the following validation checks:

  • The orchestration-access-key-validation check validates that the configured access key is valid according to Syncplicity Orchestration.
  • The orchestration-connectivity check performs an SSL connectivity test to Syncplicity Orchestration e.g. at https://xml.syncplicity.com.
  • The external-server-connectivity check performs an SSL connectivity test to the Syncplicity API gateway e.g. at https://api.syncplicity.com.
  • The proxy-server-connectivity check determines if there is a correctly formatted proxy server configured in the syncp-storage.yml file and is able to use this proxy to reach Orchestration.
  • The health-server-connectivity check performs an SSL connectivity test to Syncplicity's Health service e.g. at https://health.syncplicity.com
  • The smtp-connectivity check performs a connectivity validation of the SMTP server configured for use with Storage Vault Authentication (SVA).
  • The irm-connectivity check performs a connectivity validation for the Syncplicity Rights Management functionality in case it is enabled.

Here is an example of the output with the JSON format:

{
      "result": [{
            "orchestration-access-key-validation": {
              "is_enabled": true,
              "code": 200,
              "result": "PASS"
            }
      }, {
            "orchestration-connectivity": {
              "is_enabled": true,
              "code": 403,
              "result": "PASS"
            }
      }, {
            "external-server-connectivity": {
              "is_enabled": false
            }
      }, {
            "proxy-server-connectivity": {
              "is_enabled": false
            }
      }, {
            "irm-connectivity": {
              "is_enabled": false
            }
      },  {
            "health-server-connectivity": {
              "is_enabled": true,
              "code": 404,
              "result": "PASS"
            }
      }, {
            "smtp-connectivity": {
              "is_enabled": true,
              "result": "FAIL",
			  "error_message" : "javax.mail.MessagingException: Exception reading response;\n  nested exception is:\n\tjava.net.SocketTimeoutException: Read timed out"
           }
     }]
}

In this example, smtp-connectivity check had failed. The following ones: orchestration-connectivity, orchestration-access-key-validation and health-server-connectivity did pass successfully. The rest of the checks were not performed as these functionalities were not configured.

Troubleshooting

To view and verify the environmental information contained in the syncp-storage.yml file, the -p argument will list each value in an alphabetically ordered dictionary list such as what is shown below. This will eliminate the need to toggle back and forth between the command and the content of the config file.

[syncp@localhost syncp]# sudo syncp-storage-validate-config –p
 
 syncplicity.httpClient.proxy.enable: false
 syncplicity.httpClient.proxy.host: 
 syncplicity.httpClient.proxy.port: 8080
 syncplicity.mail.host: smtp.sendgrid.com
 syncplicity.mail.password: "*************"
 syncplicity.mail.port: 25
 syncplicity.mail.user: username
 syncplicity.storage.atmos.secret: "*************"
 syncplicity.storage.atmos.token: "*************"
 syncplicity.storage.atmos.url: http://10.10.10.10:80
 syncplicity.storage.fs.rootdir: /mnt/syncp
 syncplicity.storage.isilon.rootdir: /mnt/syncp
 syncplicity.storage.type: atmos
 syncplicity.ws.accesskey: "*************"

Support for third-party monitoring tools

The tool is designed to be run manually in real-time by an administrator or operator, as well as automatically from a third-party remote automated monitoring tool. The remote monitoring tool must have the ability to securely connect to the Storage Connector, execute the script from any command line and capture the responses in plain text or JSON. Please refer to your monitoring tool documentation for details.

Related Links