Syncplicity Support

Follow

Storage Connector Validation Tool

The Syncplicity Storage Connector Validation Tool is a free script-based utility included in the v2.6.1.4 .ova image and rpm update. It enables administrators to validate their Storage Connector network dependencies, including: 

  • Configuration with the Syncplicity service
  • Connectivity to xml.syncplicity.com
  • Connectivity to health.syncplicity.com
  • Access to an SMTP server (if configured).
  • Access to the Syncplicity API gateway (api.syncplicity.com) (if configured)

Getting Started

The tool is pre-installed and pre-configured on all v.2.6.1.4 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.conf. 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-validator.py [-c path_to_config_file][-f plain/json][-v][-h]

The options for this command are as follows:

  • -h, --help

Show the help

  • -c CONFIG, --config=CONFIG

Path to the Storage Connector configuration file. The default is: /etc/syncp-storage/syncp-storage.conf

  • -f FORMAT, --format=FORMAT

Determines how to display the output text. FORMAT can be json (default) or plain.

  • -q

Turn off verbose mode.

  • -p

Print the config file as ordered dictionary.

Running the tool

The tool executes a python-based script that requires elevated root privileges and is executed under the sudo option. 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 python syncp-storage-validator.py

Viewing and understanding responses

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

[syncp@localhost ~]$ sudo python syncp-storage-validator.py

[sudo] password for syncp:
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

In the above example, the tool was able to retrieve the environment information from the syncp-storage.conf 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 access key configured in the file is valid according to Syncplicity Orchestration.
  • The orchestration-connectivity check performs an SSL connectivity test to Syncplicity Orchestration at https://xml.syncplicity.com.
  • The external-server-connectivity check performs an SSL connectivity test to the Syncplicity API gateway (if configured for your account) at https://api.syncplicity.com.
  • The proxy-server-connectivity check determines if there is a correctly formatted proxy server configured in the syncp-storage.conf 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 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).

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

Outputs:
{
     "result": [{
           "orchestration-access-key-validation": {
                 "is_enabled": true,
                 "code": 500,
                 "result": "PASS"
           }
     }, {
           "orchestration-connectivity": {
                 "is_enabled": true,
                 "code": 403,
                 "result": "PASS"
           }
     }, {
           "external-server-connectivity": {
                 "is_enabled": false
           }
     }, {
           "proxy-server-connectivity": {
                 "is_enabled": false
           }
     }, {
           "health-server-connectivity": {
                 "is_enabled": true,
                 "code": 404,
                 "result": "PASS"
           }
     }, {
           "smtp-connectivity": {
                "is_enabled": true,
                "code": -1,
               "result": "FAIL",
              "error_message": "Traceback (most recent call last):\n  File \" syncp-storage-validator.py\", line 106, in check_smtp\n    smtp.login(user=username, password=password)\n  File \"/usr/lib/python2.7/smtplib.py\", line 622, in login\n    raise SMTPAuthenticationError(code, resp)\nSMTPAuthenticationError: (535, 'Authentication failed: Bad username / password')\n"
          }
    }]
}

Troubleshooting

To view and verify the environmental information contained in the syncp-storage.conf 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-storage]$ sudo python syncp-storage-validator.py –p
computeIO-context.fork-join-executor.parallelism-factor: 20
computeIO-context.fork-join-executor.parallelism-max: 300
computeIO-context.fork-join-executor.parallelism-min: 200
smtp.host: smtp.sendgrid.com
smtp.password: "*************"
smtp.port: 25
smtp.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.storage.vnx.rootdir: /mnt/syncp/data
syncplicity.ws.accesskey: "*************"
syncplicity.ws.proxy.enable: false
syncplicity.ws.proxy.host:
syncplicity.ws.proxy.port: 8080
[syncp@localhost syncp-storage]$

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.

Powered by Zendesk