Marvin as a framework provides few facilities viz., deploying a datacenter, deleting a datacenter, running tests(both selfservice and provisioning), generating api information using spec file, retrieve and generate api information through cs endpoint etc. Using nose, python unit testing module, and few other python packages, marvin framework provides these facilitation. To use these facilities, users need to be aware of few usages of marvin, few python packages, basic installation etc.
To simplify usage of these facilities, marvincli will be added. using this new cli, all the above tasks mentioned can be easily achieved. It provides an easy to use command and cli approach for users. marvincli, gets installed as part of marvin installation, so no new additional installation is required and marvin still continues to function as it is in its current form.
So, once marvin is installed, users can run the following commands using the new cli:
S.No | Command Name | Command text | Description | |
---|---|---|---|---|
1. | deploy | marvincli deploy config-file=<marvin-config-file> EX: marvincli deploy config-file=setup/dev/advanced.cfg | Deploys a data center under CS. Args:
| |
2. | generatepisfromspecfile | marvincli generateapis api-spec-file= <api-spec-file> folder-path=<path where the output cloudstackAPI information is dumped> EX: marvincli generateapis api-spec-file=/etc/cloud/cli/commands.xml folder-path=tools/marvin/marvin/ | Generates the CloudStack API directory containing CS api information references, which is further used by marvin when making api calls to CS. It uses /etc/cloud/cli/commands.xml to generate these. Args:
Note: This currently, is generated as part of mvn profile, with this we can remove the particular mvn profile. | |
3. | generatepisfromendpoint | marvincli generateapis end-point=<CS Endpoint ip> folder-path=<path where the output cloudstackAPI information is dumped> EX: marvincli generateapis end-point=localhost folder-path=tools/marvin/marvin/ | Generates the CloudStack API directory containing CS api information references, which is further used by marvin when making api calls to CS. Host ip of CS machine, is used to retrieve this information. Args:
Note: This currently, is generated as part of mvn profile, with this we can remove the particular mvn profile. | |
4. | deployandruntcs | marvincli deployandruntcs config-file=<path_to_marvin_cfg> zone=<name of the zone> hyp-type=<hypervisor_type> EX: marvincli deployandruntcs config-file=setup/dev/advanced.cfg zone=sandbox-siumulator hyp-type=simulator tc-path=test/integration/smoke required-hardware=False | Deploys a datacenter and runs test cases Args:
| |
5. | cli-help | marvincli --h (or) marvincli --cli-help | Prints the marvincli help. Its commands usage and args information in colored text. | |
6. | version | marvincli --v (or) marvincli --version
| Prints the marvincli version information, as similar to marvin version information. |