Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents
maxLevel3

SCSP Proxy Essentials

The Swarm SCSP Proxy accepts HTTP requests from a host network, forwards them to a Swarm cluster, handles redirects transparently, and then supplies the response back to the requestor. In many deployments, a Swarm cluster may be isolated on an internal network, protecting it from undesired interaction with the host network, and also protecting the host network from services like PXE boot and multicast traffic that can interfere with other network resources.

...

To properly route subsequent requests, the SCSP Proxy returns one Location response header with its own external IP address and discards any other Location headers. For Replicate on Write requests, all Location response headers are rewritten and only the one generated Location header is returned.

Remote Cluster Communication and Coordination

Developers who need to interact with multiple Swarm clusters, either independently or in multi-cluster requests, can use the SCSP Proxy for remote cluster communication and can even coordinate requests between more than one cluster at a time.

...

Syntax

Description

Code Block
/proxy/cluster-name/uuid-or-name_

Sends a request for an object, referenced by UUID or by name, to a specific cluster-name.

Code Block
/proxy/all/uuid-or-name_

Queries all configured clusters (remote and local) for a particular object, determines the current version, and returns that object to the client.

Code Block
/proxy/any/uuid-or-name_

any is valid only for remote INFO requests and results in an error if used with any other method.
any causes a request to be sent for an object, referenced by UUID or by name, to any available cluster (local or remote).
If The information is returned if the object exists in the local cluster the information is returned. Otherwise, the . The request is sent to each remote cluster in random order . If if this condition is not met. The error response from the local server is returned if no cluster is able to locate the data, the error response from the local server is returned.

Code Block
/proxy/remote/uuid-or-name_

remote is valid only for remote INFO requests and results in an error if used with any other method.
remote causes a request for an object to be sent, referenced by UUID or by name, to a remote cluster.
The information is returned from the first cluster that has the object. The error response received from the first remote cluster attempted is returned if the object is not found in the remote clusters.

...

You must supply a list of either URL-encoded names or UUIDs. (Use percent encoding for object names, if needed.) The name, UUID, or the consistency checkpoint, is stored as a Swarm object.

...

If the first line does not have a valid UUID, the SCSP Proxy responds with a single error message in the response body stating that the checkpoint stream is incorrectly formatted and stops processing.

Installing the SCSP Proxy

The Swarm SCSP Proxy installs as an RPM and is managed like other RPM packages. The installation and base configuration are performed automatically as part of CSN setup if the Swarm SCSP Proxy is being used on a CSN.

...

Red Hat does not support in-place upgrades between major versions, so to use RHEL 6.x for an existing installation running RHEL 5.x, see the Red Hat documentation.

Info

Important

Before starting the SCSP Proxy installation, verify the RHEL installation is running the correct version.

...

The SCSP Proxy installation script installs the watchdog process monit, which performs a variety of functions, including starting and restarting SCSP Proxy services if they fail unexpectedly. If monit is not already installed on your system, SCSP Proxy installs and configures it automatically.

...

  • Changes /etc/monit.conf by adding the following:

    Code Block
    #START Caringo additions
    set daemon 15 					# check services at 15 second intervals
    set httpd port 2812 and
    	use address localhost 		# only accept connection from localhost
    	allow localhost 			# allow localhost to connect to server
    set logfile /var/log/monit.log	# logs to local file
    ##END Caringo Additions
  • Saves your original /etc/monit.conf as /etc/monit.conf.orig

  • Installs a product-specific configuration file under /etc/monit.d. The filename ends with .monitrc

  • With RHEL 6: Adds /etc/init/monit.conf to enable the upstart service to monitor monit so it runs when the machine restarts.

...

Code Block
# Sample scspproxy Remote Host Configuration file #
# ClusterName RemoteAddress Port RemoteAdminName RemoteAdminPassword # One entry per line
# Fields are whitespace (space and tab) separated, although the password field # may contain whitespace.
# Note that this implies that none of the other fields may contain whitespace. #
#DRCluster 192.168.1.123 80 admin yourpwdofchoicehere
#dr 192.168.1.123 80 admin yourpwdofchoicehere
#dr2 192.168.1.123 80 admin yourpwdofchoicehere

NewYorkCluster 192.168.1.148 80 admin yourpwdofchoicehere

Running the SCSP Proxy

After the configuration file has been updated, start and stop the SCSP Proxy either way discussed below. You must run these commands as a user with root privileges.

...

Validation

GET

HEAD

POST

DELETE

PUT

COPY

APPEND

Header: Lifepoint (date)



V


V

V


Header: Lifepoint (deletion)



V


V

V


Header: replica count



V


V

V


Header: Host

V

V

V

V

V

V

V

Header: Content- Length



V


V


V

Header: Allow



V


V

V


Header: Content- Type



V


V

V


Header: Content- Disposition



V


V

V


Query Argument: replicate



V


V

V

V

Query Argument: admin

V

V

V

V

V

V

V

Query Argument: alias

V

V

V

V

V

V

V

Query Argument: domain

V

V

V

V

V

V

V

Query Argument: validate

V







Query Argument: hashtype

V


V


V

V

V

Query Argument: hash

V







Query Argument: newhashtype

V







Query Argument: countreps


V






Query Argument: indirect

V







Uninstalling the SCSP Proxy

Enter the following command as a user with root privileges to uninstall the SCSP Proxy:

...