This utility serves for update and listing of configuration parameters defined in /etc/stratuslab/stratuslab.cfg configuration file. The configuration file defines parameters for configuring different components of the StratusLab distribution. For more details please see Manual installation. Configuration.
This utility is used for actual configuration and optional installation of different components constituting the StratusLab distribution as well as third party services the distribution depends on. After setting up all required parameters in /etc/stratuslab/stratuslab.cfg configuration file, to configure Cloud frontend one would usually run
$ stratus-install -vv
The same utility is used for installation and configuration of other StratusLab components like Web Monitor (–web-monitor), Cloudia (–claudia). To know what components are possible to install/configure please run the utility with -h/–help and check reference configuration file (/etc/stratuslab/stratuslab.cfg.ref) for additional parameters and explanations.
To install and configure a node -n ADDRESS parameter should be used. The main gole is to install and configure virtualization software.
For more details pelase see Manual installation. Configuration.
Runs a set of test against deployed Cloud instance as well as other StratusLab services. Use -l to list available tests. Currently available tests:
$ stratus-test -l
Available tests:
- webMonitorTest: Web Monitor test
- createImageTest: Create a machine image based on a given one.
- marketPlaceTest: Place holder for marketplace test
- runInstanceLocalNetworkTest: Start new instance, ping it via local network and ssh into it, then stop it.
- exceedCpuQuotaTest: Start x instances, where x is the cpu quota +1, then stop them.
- oneReportsErrorViaXmlRpcTest: Test if ONE reports error messages via XML RPC
- runInstanceRequestedNetworkTest: Start new instance, ping it via requested IP address and ssh into it, then stop it.
- clusterTest: Cluster test
- errorMessageInWebMonitorTest: Check if VM creation error message is on Web Monitor's VM details page
- registrarTest: Register a new node with ONE server, check that it is properly registered and remove it
- registrationTest: Registration test
- ldapAuthenticationTest: LDAP authentication test
- claudiaTest: Cloudia test
- runInstancePublicNetworkTest: Start new instance, ping it via public network and ssh into it, then stop it.
- applianceRepositoryTest: Authenticate, then upload a dummy image to the appliance repository, and remove after
$
To run only desired tests provide them as comma separated list. To exclude tests use –exclude parameter.
To run certain test one might need to provide credentials to handshake to endpoints under the test.
Utility to query image metadata from MarketPlace.
Example
$ stratus-manifest \ --get-element location \ http://appliances.stratuslab.eu:8081/metadata/MVtdRuENlChXp8Gm-LQy5imrDa4 http://appliances.stratuslab.eu/images/base/centos-5.5-x86_64-OpenMPI_1_4/1.0/centos-5.5-x86_64-OpenMPI.qcow $
If the requested element is not found in the metadata for the image the utility prints error message to stderr and returns with 1.
List of elements that can be queried:
identifier, bytes, md5, sha-1, sha-256, sha-512, type, kind, os, os-version, arch, compression, location, format, creator, created, hypervisor, publisher
Currently this utility is used internally on Cloud frontend to facilitate retrieval of appliances.
System administrators can define a policy that determines whether a given machine image is trustworthy enough to run on their clouds. The system uses the metadata associated with the entry in the MarketPlace. This test creates metadata entries and evaluates them against a range of policies to ensure that the system accepts or rejects the associated images correctly.
The system is easily extensible to allow arbitrary policies to be implemented.
By default, we are using 7 policies :
Sysadmin should defines which list will be used for the site policy.
The policies should be defined in /etc/stratuslab/policy.cfg configuration file.
By default, all the images are accepted to be run in the site.
Example of policy.cfg file
[whitelistendorsers] email=endorser@example.org email1=endorser1@example.org [blacklistendorsers] email2=hackers@example.org [whitelistimages] image1=GOaxJFdoEXvqAm9ArJgnZ0_ky6F [blacklistimages] image2=GOaxJFdoEXvqAm9ArJgnZ0_GGG [whitelistchecksums] checksum_sha1=639ac4915da045efa809bd02b2609d9d3f932e86 [blacklistchecksums] checksum2_sha1= [validatemetadatafile] activate=False
stratus-policy-image usage and options
$ stratus-policy-image -h
Usage: stratus-policy-image [options] <identifier-endpoint> <policy-config>
<identifier-endpoint> Marketplace endpoint + Image identifier(example: http://appliances.stratuslab.eu/marketplace/metadata/GOaxJFdoEXvqAm9ArJgnZ0_ky6F)
<policy-config> Policy configuration file
Options:
-h, --help show this help message and exit
-v, --verbose verbose level. Add more to get more details
-c FILE, --config=FILE
configuration file. Default
/etc/stratuslab/stratuslab.cfg
Allows remote installation and configuration of the Cloud frontend and Nodes.
Command to create new persistent disk in Persistent Disk Service.
Usage: stratus-storage [options] Create a new persistent disk
Also allows to:
--cow=UUID Create a copy on write volume based on this uuid
--rebase=UUID Rebase the CoW volume
--private Set the disk as private (default). Only you can see,
use and delete the disk.
--public Set the disk visibility as public. Any one can see it
and use it but can't delete it.
Allows to search persistent disks by key/value.
Usage: stratus-storage-search <key> <value> Search persistent disks by key/value
Updates information (key/value) on persistent disk identified by UUID.
Usage: stratus-storage-update <uuid> <key> <value> Update an existing storage disk
Sends request to Persistent Disk Service to clean up disk(s) identified as being in quarantine.
Usage: stratus-storage-quarantine [uuid] Perform quarantine actions
Operate on the full quarantine store.
--clean Clean quarantine store. No uuid parameter should be
provided.
Deletes an existing persistent disk identified by UUID.
Usage: stratus-storage-delete <uuid> Delete an existing persistent disk
Given image ID in Marketplace - download the physical image.
Usage: stratus-download-image [options] <uri> <uri> URI of the metadata entry corresponding to the image to download
Send a message to messaging system identified by ”–msg-type”. (At the moment Amazon SQS is only supported.) The utility is used in transfer management layer to notify other external services about new image creation if ”–imageid” option is provided.
Usage: stratus-msg-publisher [options] message
Notable options.
--msg-type=NAME Type of messaging queue: amazonsqs. Mandatory.
--msg-endpoint=ENDPOINT
Messaging service endpoint. Mandatory.
--msg-queue=NAME Message queue name. Mandatory.
--imageid=ID Image ID. Assumes message is JSON representation of a
dictionary on which the ID will be set. JSON can be
base64 encoded.
Generate p12 self-signed certificate.
Usage: stratus-generate-p12 [options]
Notable options.
-n NAME, --common-name=NAME
Common Name for the certificate. (Default: Jane
Tester)
-o FILE, --output=FILE
file to store the generated certificate (Default:
cert.p12)
-p PASS, --password=PASS
password for the certificate. (Default: XYZXYZ)
--validity=DAYS validity of the certificate. (Default: 365)
-e EMAIL, --email=EMAIL
subject email. (Default: jane.tester@example.org)