![]() | ![]() | contents |
/mgmt/deployments — Manage deployment resources
/mgmt/deployments
/mgmt/deployments/{deployment-id}
Fetches information about the deployments defined within the Enterprise Manager. A call without a deployment ID returns a list of the known deployments. A call with a deployment ID returns the attributes for that deployment.
Adds a deployment to the Enterprise Manager. You must provide the attributes of the deployment as arguments in the body of the request.
Updates the deployment specified by ID in the URL with the attribute values in the body of the request.
Deletes the specified deployment from the Enterprise Manager. You must specify a valid deployment ID in the URL and the deployment cannot be currently included in any active database object.
A deployment is a set of attributes used for configuring the database servers at startup. These attributes are similar to the arguments you specify in a deployment file when starting a VoltDB database manually.
For the POST and PUT methods, you must provide the attribute values in the body of the call. You specify the attributes as a JSON-encoded string. The structure of the deployment object is as follows:
| Argument Name | Type | Description |
|---|---|---|
| name | Text | The name of the deployment |
| voltroot | Text | The destination directory where files are stored on the cluster nodes |
| kfactor | Integer | The K-safety value for the cluster |
| sitesperhost | Integer | The number of sites per host to create on each node |
| httpport | Integer | The HTTP port |
| jsonenabled | Boolean | Whether the JSON API is to be enabled or not |
| snapshotpath | String | The path where automated snapshots are stored on the cluster nodes. Paths are relative to the VoltDB root path, which is a subfolder of voltroot, using the database ID as the subfolder name. |
| snapshotfrequency | Integer | The frequency (in seconds) for automated snapshots. A frequency of zero disables automated snapshots. |
| snapshotretain | Integer | The number of automated snapshots to keep on the server(s). If more automated snapshots are created, any older snapshots above the retention limit are purged. |
| export | Boolean | Whether export is enabled or not |
| exportoverflowpath | String | The path where export overflow data is stored on the cluster nodes. Paths are relative to the VoltDB root path, which is a subfolder of voltroot, using the database ID as the subfolder name. |
| exporttype | String | The target for export, Allowable values are "file" and "jdbc". If this attribute is null or empty, no export client is run on the database server(s). |
| exportparameters | List | The configuration properties for the export client run on the database server(s). |
| security | Boolean | Whether security is enabled or not |
| partitiondetection | Boolean | Whether network partition detection is enabled or not |
| adminport | Integer | The admin port number |
| userbytes | Byte String | The contents of a VoltDB deployment containing user definitions to import |
| heartbeattimeout | Integer | The cluster heartbeat timeout interval (in seconds) |
| commandlogenabled | Boolean | Whether command logging is enabled or not |
| commandlogsync | Boolean | Whether command logging is synchronous (true) or not (false) |
| commandlogfreqtime | Integer | The frequency of command logging (in milliseconds) |
| commandlogfreqtxns | Integer | The frequency of command logging (in number of transactions) |
| commandlogpath | String | The path where command logs are written. Paths are relative to the VoltDB root path, which is a subfolder of voltroot, using the database ID as the subfolder name. |
| commandlogsnapshotpath | String | The path where command log snapshots are stored. Paths are relative to the VoltDB root path, which is a subfolder of voltroot, using the database ID as the subfolder name. |
| commandlogsize | Integer | The initial space allocated for the command logs (in megabytes) |
| snapshotpriority | Integer | The priority of snapshot activity (from 0 to 10) |
| maxtemptablememory | Integer | The maximum size of temp table memory usage (in megabytes) |
Since no arguments are required, it is possible to specify an empty top-level JSON object, to create a deployment with the default settings:
curl --data '{"Deployment":{}}' \
http://localhost:9000/man/api/1.0/mgmt/deployments/The next example uses several attributes to create a deployment useful for local testing (in this case, without K-safety and with a destination directory in /tmp):
curl --data '{"Deployment":{"name":"test",
"kfactor":"0",
"voltroot":"/tmp/test"}}' \
http://localhost:9000/man/api/1.0/mgmt/deployments/The last example demonstrates how to load user names and passwords into the deployment object. Security credentials are imported from an existing VoltDB deployment file. In this example, two user definitions are written to a file, Base64 encoded, then inserted using the userbytes argument:
echo '<deployment><users>
<user name="spade" password="hammett" groups="users"/>
<user name="marlowe" password="chandler" groups="users"/>
</users></deployment>' > userdef.xml
BYTES=$( base64 userdef.xml )
curl --data "{\"Deployment\":{\"name\":\"test\", \
\"userbytes\":\"$BYTES\"}}" \
http://localhost:9000/man/api/1.0/mgmt/deployments/
The Tao of VoltDB
The 5 Principles of VoltDB
VoltDB Technosphere
Products and Solutions
Technical Support
Key Features
Download VoltDB
No Limits
VoltDB Application Gallery
Infinite Possibilities
VoltBuilder Program
