stratus-config

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.

stratus-install

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.

stratus-test

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.

stratus-manifest

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.

stratus-policy-image

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 :

  • whitelistendorser: list of authorized endorsers
  • blacklistendorser: list of unauthorized endorsers
  • whitelistechecksum: list of authorized sha-1 checksums
  • blacklistchecksum: list of unauthorized sha-1 checksums
  • whitelisteimage: list of authorized images id
  • blacklistimage: list of unauthorized images id
  • validatematadata: policy for validate metada, this is activated by default. The configuration file allow it to be deactivated for tests.

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

stratus-remote-install

Allows remote installation and configuration of the Cloud frontend and Nodes.

stratus-storage

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.

stratus-storage-search

Allows to search persistent disks by key/value.

Usage: stratus-storage-search <key> <value>

Search persistent disks by key/value

stratus-storage-update

Updates information (key/value) on persistent disk identified by UUID.

Usage: stratus-storage-update <uuid> <key> <value>

Update an existing storage disk

stratus-storage-quarantine

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.

stratus-storage-delete

Deletes an existing persistent disk identified by UUID.

Usage: stratus-storage-delete <uuid>

Delete an existing persistent disk

stratus-download-image

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

stratus-msg-publisher

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.

stratus-generate-p12

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)
  • Bookmark at
  • Bookmark "stratus-config" at del.icio.us
  • Bookmark "stratus-config" at Digg
  • Bookmark "stratus-config" at Reddit
  • Bookmark "stratus-config" at Google
  • Bookmark "stratus-config" at StumbleUpon
  • Bookmark "stratus-config" at Facebook
  • Bookmark "stratus-config" at Twitter