The Tiktalik Command Line Interface is a command line utility that enables the user to control his private cloud using commands issued in a shell environment.
The purpose of this tutorial is to familiarize you with the basic functions of Tiktalik CLI.
The CLI is installed using the
pip Python package manager, and requires Python 2.7+ to run. Executing:
$ pip install tiktalik-cli
tiktalikcommand in your system.
To use the Tiktalik CLI you need to obtain an API Key. This is easily accomplished using the Tiktalik admin panel. When generating a new key, giving it a descriptive name is a good idea. This allows you to easily localize the key you want to deactivate later, if such need arises.
Having different API Keys for different purposes is good security practice. We recommend using one key for one purpose only, eg. have a different key on your laptop, another one on an admin server etc. This allows you to revoke access for a specific key if such action is necessary.
To initialize authorization information run the
tiktalik init-auth command.
The example below assumes that:
$ tiktalik init-auth vFgUVfGURErNyYvSRVfGuvfWHFgSNaGNfl bm90IGEgcmVhbCBrZXksIGJ1dCB5b3Ugd2luIDUgaW50ZXJuZXQgcG9pbnRzIGZvciBiZWluZyBjdXJpb3VzIQ==
This command saves the credentials to a file ($HOME/.tiktalik/auth). The CLI is ready to use.
The basic usage pattern is:
tiktalik <command> [arguments]
To get a list of available commands run
tiktalik without any arguments (short list) or
tiktalik --help (long list).
To get help on a specific command run:
tiktalik <command> --help
To create an instance you need to provide the following information:
Let's walk through the process of creating the instance. The first step is to list available images in order to obtain an Image UUID.
$ tiktalik list-images e18aee6c-9548-457e-9c20-7103d454969a "Centos 6.4 64-bit", type=image 90783010-5e1b-4948-9b33-bfb4a4502617 "Debian 6.0.7 64-bit", type=image 4a2b3e72-47f1-4e88-b482-1834478ade28 "Ubuntu 12.04.3 LTS 64-bit", type=image
We decide on an Ubuntu install, so the image UUID is
Let's view available networks next:
$ tiktalik list-networks privnet1 a4682bf4-2430-4a36-90e6-7a978bc07b09 10.80.28.0/24 private, owned by user pub2 e92e60c2-2993-4a0c-b635-c5e2b2462c7a 188.8.131.52/24 public, owned by system
We want the instance to be available on the Internet, and also have access to our private network. Having that in mind, we decide on
The last things we need to decide on are: the instance size and its hostname. We choose the size of
1, the hostname will be
Now that we have all the information we need, let's create the instance.
$ tiktalik create-instance 4a2b3e72-47f1-4e88-b482-1834478ade28 1 web1 -n pub2 -n privnet1 Creating new instance with these parameters: Image UUID: 4a2b3e72-47f1-4e88-b482-1834478ade28 Size: 1 Hostname: web1 Networks: pub2, privnet1 Is this OK? Please answer 'yes' or 'no' > yes Instance web1 is now being installed.
Your new instance will be ready to use once it has been installed (which is pretty quick, we promise!).
Note that it is possible to skip the confirmation prompt by using the
Let's see a list of our instances:
$ tiktalik list web1 7f798ac0-dfad-4a8e-bed0-f3073b249862 Running
We can see that the new instance is up and running. You can view more details either by running
tiktalik list with additional arguments, or using
tiktalik info to get detailed information on a specific instance:
$ tiktalik info -n web1 web1 (7f798ac0-dfad-4a8e-bed0-f3073b249862) - Running network interfaces: eth0 addr: 184.108.40.206 mac: e6:5e:6e:35:dd:f5 network: pub2 eth1 addr: 10.80.28.25 mac: e6:ba:f0:77:fb:a3 network: privnet1 running image Ubuntu 12.04.3 LTS 64-bit (4a2b3e72-47f1-4e88-b482-1834478ade28) recent operations: Create_Install: web1 started at 2013-04-08 18:37:03 +0200 (UTC) ended at 2013-04-08 18:38:02 +0200 (UTC) cost per hour: 0.08364 PLN/h
Stopping and starting instances is simple:
$ tiktalik stop -n web1 Instance web1 (7f798ac0-dfad-4a8e-bed0-f3073b249862) is now being stopped
Note that we referred to the instance by its name. In case there is more than one instance with the specified hostname an error will be reported. You need to resolve this ambiguity by specifing the instance by UUID.
$ tiktalik start -u 7f798ac0-dfad-4a8e-bed0-f3073b249862 Instance web1 (7f798ac0-dfad-4a8e-bed0-f3073b249862) is now being started
If you have any suggestions concerning the Tiktalik CLI, don't hesitate to contact us.
For source code and more information, see the project page.