- COT requires either Python 2.7 or Python 3.3 or later.
- COT is tested to work under Mac OS X and Ubuntu Linux and similar distros.
- COT now has limited support for CentOS and related distros as well.
Since COT is written in Python, it can be installed like any other Python package using the pip tool. For most users this is the recommended installation method.
sudo pip install cot
or, to install for the current user only (typically installing to
pip install --user cot
If you have already installed COT and wish to update to the latest available version:
sudo pip install --upgrade cot
pip install --user --upgrade cot
COT has a number of optional Python package dependencies that enable optional
features. If you want to use these features, you can instruct
install them as part of the COT installation process, or you can install them
separately after the fact.
Tab-completion of COT CLI parameters in
bash, enabled with the argcomplete package.
sudo pip install cot[tab-completion]
sudo pip install argcomplete
After installing argcomplete by either method, you must configure your
bashenvironment to enable it. Refer to the argcomplete documentation for the required steps.
If you wish to install bleeding-edge unreleased code or make code contributions of your own, you can install COT from source as described below.
You can download COT via Git or using HTTP.
git clone git://github.com/glennmatthews/cot cd cot
wget -O cot.tgz https://github.com/glennmatthews/cot/archive/master.tar.gz tar zxf cot.tgz cd cot-master
curl -o cot.tgz https://github.com/glennmatthews/cot/archive/master.tar.gz tar zxf cot.tgz cd cot-master
Certain COT features require helper programs - you can install these as part of the COT installation process, or they can be installed as-needed by COT:
- COT uses qemu-img as a helper program for various operations involving the creation, inspection, and modification of hard disk image files packaged in an OVF.
cot add-diskcommand requires either qemu-img (version 2.1 or later) or vmdktool as a helper program when adding hard disks to an OVF.
cot inject-configcommand requires mkisofs (or its fork
genisoimage) and/or xorriso to create ISO (CD-ROM) images for platforms that use ISOs to package the configuration.
- Similarly, for platforms using hard disks for bootstrap configuration,
cot inject-configrequires fatdisk to format hard disk images.
cot deploy ... esxicommand requires ovftool to communicate with an ESXi server. If ovftool is installed, COT's automated unit tests will also make use of ovftool to perform additional verification that OVFs and OVAs created by COT align with VMware's expectations for these file types.
COT can attempt to install these tools using the appropriate package manager
for your platform (i.e., MacPorts for Mac OS X, and either
yum for Linux).
Unfortunately, VMware requires a site login to download ovftool, so if you need this tool, you will have to install it yourself. COT cannot install it for you at present.
To let COT attempt to pre-install all of the above helpers, you can optionally run:
See here for more details.
If you skip this step, then when you are running COT, and it encounters the need for a helper that has not been installed, COT will prompt you to allow it to install the helper in question.