Nova2ools

Set of simple utilities to work with OpenStack. As python-novaclient they are working via native Nova v1.1 API.

They were created to provide ability to use GridDynamics extensions for OpenStack, like billing sytems, DNS as the Service, etc.

Utilities are available in OpenStack-Core Yum repositories:

All utilities are prefixed by nova2ools- and contain builtin documentation, for e. g.:

$ nova2ools-vms --help
usage: nova2ools-vms [-h] [--debug] [--version] [--host HOST]
                     [--username USERNAME] [--api-key API_KEY]
                     [--project PROJECT]
                     {spawn,list,remove,show} ...

Manage Virtual Machines

positional arguments:
  {spawn,list,remove,show}
    list                List spawned VMs
    remove              Remove Virtual Machine
    show                Show information about VM
    spawn               Spawn a new VM

optional arguments:
  -h, --help            show this help message and exit
  --debug               Run in debug mode
  --version, -v         Show version
  --host HOST           Nova API Host (with port)
  --username USERNAME, -u USERNAME
                        OpenStack user name
  --api-key API_KEY, -k API_KEY
                        OpenStack API secret key
  --project PROJECT, -p PROJECT
                        OpenStack Project(Tenant) name
$ nova2ools-vms spawn --help
usage: nova2ools-vms spawn [-h] -n NAME -i IMAGE -f FLAVOR [-p PASSWORD]
                           [-m [METADATA [METADATA ...]]] [-k KEYNAME]
                           [-j [INJECT [INJECT ...]]]
                           [-s [SECURITY_GROUPS [SECURITY_GROUPS ...]]]

optional arguments:
  -h, --help            show this help message and exit
  -n NAME, --name NAME  VM name
  -i IMAGE, --image IMAGE
                        Image to use
  -f FLAVOR, --flavor FLAVOR
                        Flavor to use
  -p PASSWORD, --password PASSWORD
                        Administrator Password
  -m [METADATA [METADATA ...]], --metadata [METADATA [METADATA ...]]
                        Server Metadata
  -k KEYNAME, --keyname KEYNAME
                        Registered SSH Key Name
  -j [INJECT [INJECT ...]], --inject [INJECT [INJECT ...]]
                        Inject file to image (personality)
  -s [SECURITY_GROUPS [SECURITY_GROUPS ...]], --security-groups [SECURITY_GROUPS [SECURITY_GROUPS ...]]
                        Apply security groups to a new VM