Skip to content
This repository has been archived by the owner on Oct 7, 2021. It is now read-only.

Deployer Tool

Zeyuan Shang edited this page Jul 13, 2016 · 6 revisions

The CMDBAC's deployer tool allows you to download an application from the catalog and install it locally on your own machine. You can then enable query logging to capture the workload or perform other experiments.

Important: This script will execute the application inside of a VM sandbox. The sandbox is configured to block all outbound network connections. You should not run an application from the catalog outside of the sandbox. We have not vetted them for safety. We are only providing a mechanism to run them more easily.

Install Requirements

To start, please install the required Python packages for running the command line tool. You can install them by pip as following

$ pip install requests
$ pip install django

Please add enough permission for the local-deployer.py file as following

$ chmod +x local-deployer.py

The list of commands and options for the deployer is available using the --help flag:

$ ./local-deployer.py --help

Get Attempt Information

You can get information about an existing attempt in the CMDBAC using the info action:

$ ./local-deployer.py info --attempt=ATTEMPT

where ATTEMPT is the id of the attempt you want to inquire.

Deploy Attempt

The first step is to prepare the Vagrant environment on your local machine, see here to configure the VM. After this, you can deploy the attempt locally using the deploy action:

$ ./local-deployer.py deploy --attempt=ATTEMPT \
   --db-type={mysql,postgres,sqlite} \
   --db-host=DB_HOST --db-port=DB_PORT \
   --db-name=DB_NAME \
   --db-user=DB_USER \
   --db-pass=DB_PASS \
   --num_threads=NUM_THREADS \
   --timeout=TIMEOUT \
   --db_size=DB_SIZE\

Use Different Catalog

If you create your own local catalog, you can change use the --catalog option to change the URL for the deployer tool:

$ ./local-deployer.py info --attempt=ATTEMPT --catalog=http://hostname.com
Clone this wiki locally