mist backends

With mist you can handle multiple machines on multiple providers from one interface, the mist.io service. In order to do so, the very first thing to do when using mist.io is to ensure that you have added your backends. After doing that you’ll be able to provision, monitor and in general handle all your machines on all those providers.

Supported Providers

Before you add a new backend, you’ll find it useful to see a list of all the providers that mist.io supports:

mist list-providers

Output:

Bare Metal Server              bare_metal
Azure                          azure
EC2 AP NORTHEAST               ec2_ap_northeast
EC2 AP SOUTHEAST               ec2_ap_southeast
EC2 AP Sydney                  ec2_ap_southeast_2
EC2 EU Ireland                 ec2_eu_west
EC2 SA EAST                    ec2_sa_east
EC2 US EAST                    ec2_us_east
EC2 US WEST                    ec2_us_west
EC2 US WEST OREGON             ec2_us_west_oregon
Google Compute Engine          gce
NephoScale                     nephoscale
DigitalOcean                   digitalocean
Linode                         linode
OpenStack                      openstack
Rackspace DFW                  rackspace:dfw
Rackspace ORD                  rackspace:ord
Rackspace IAD                  rackspace:iad
Rackspace LON                  rackspace:lon
Rackspace AU                   rackspace:syd
Rackspace HKG                  rackspace:hkg
Rackspace US (OLD)             rackspace_first_gen:us
Rackspace UK (OLD)             rackspace_first_gen:uk
SoftLayer                      softlayer
HP Helion Cloud - US West      hpcloud:region-a.geo-1
HP Helion Cloud - US East      hpcloud:region-b.geo-1
Docker                         docker

Note

With every list action, you can have the output in a more pretty format by providing the --pretty flag.

For example, mist list-providers --pretty will return this output:

+---------------------------+------------------------+
|           Title           |      Provider ID       |
+---------------------------+------------------------+
|     Bare Metal Server     |       bare_metal       |
|           Azure           |         azure          |
|      EC2 AP NORTHEAST     |    ec2_ap_northeast    |
|      EC2 AP SOUTHEAST     |    ec2_ap_southeast    |
|       EC2 AP Sydney       |   ec2_ap_southeast_2   |
|       EC2 EU Ireland      |      ec2_eu_west       |
|        EC2 SA EAST        |      ec2_sa_east       |
|        EC2 US EAST        |      ec2_us_east       |
|        EC2 US WEST        |      ec2_us_west       |
|     EC2 US WEST OREGON    |   ec2_us_west_oregon   |
|   Google Compute Engine   |          gce           |
|         NephoScale        |       nephoscale       |
|        DigitalOcean       |      digitalocean      |
|           Linode          |         linode         |
|         OpenStack         |       openstack        |
|       Rackspace DFW       |     rackspace:dfw      |
|       Rackspace ORD       |     rackspace:ord      |
|       Rackspace IAD       |     rackspace:iad      |
|       Rackspace LON       |     rackspace:lon      |
|        Rackspace AU       |     rackspace:syd      |
|       Rackspace HKG       |     rackspace:hkg      |
|     Rackspace US (OLD)    | rackspace_first_gen:us |
|     Rackspace UK (OLD)    | rackspace_first_gen:uk |
|         SoftLayer         |       softlayer        |
| HP Helion Cloud - US West | hpcloud:region-a.geo-1 |
| HP Helion Cloud - US East | hpcloud:region-b.geo-1 |
|           Docker          |         docker         |
+---------------------------+------------------------+

From here on you’ll need your desired provider’s id in order to use it when adding a new backend.

Backend Actions

Add an EC2 backend:

mist add-backend --provider ec2_ap_northeast --ec2-api-key AKIAHKIB7OIJCX7YLIO3JA --ec2-api-secret knbkGJKHG9gjhUuhgfjtiu987

Add a Rackspace backend:

mist add-backend --provider rackspace:iad --rackspace-username my_username --rackspace-api-key 098er098eqwec98dqdqd098

Add a Nephoscale backend:

mist list backends --provider nephoscale --nepho-username nepho_username --nepho-password nepho_passwd

Add a DigitalOcean backend:

mist add-backend --provider digitalocean --digi-token kjhdkfh897dfodlkfjlkhdf90sdfusldkfjkljsdf098lkjlkj

Add a Linode backend:

mist add-backend --provider linode --linode-api-key dkljflkjlkgddgijgd00987ghudGgcf9Glkjh

Add an OpenStack backend:

mist add-backend --provider openstack --openstack-username demo --openstack-password mypass --openstack-auth-url http://10.0.0.1:5000 --openstack-tenant demo

Add a Softlayer backend:

mist add-backend --provider softlayer --softlayer-username soft_username --softlayer-api-key kjhfdkjahf098OIjhkFChiugiGIIUuoh

Add a HP Cloud backend:

mist add-backend --provider hpcloud:region-a.geo-1 --hp-username hp_username --hp-password my_pass --hp-tenant my_tenant

Add a Azure backend:

To add a Azure backend you have to download to a file the Azure certificate.

mist add-backend --provider azure --azure-sub-id lkjoiy8-kjdjkhd-987-hd9d --azure-cert-path /home/user/azure.cert

Add a Docker backend:

mist add-backend --provider docker --docker-host 10.0.0.1 --docker-port 4243

Add a Bare Metal Server (or any server):

mist add-backend --provider bare_metal --bare-hostname 198.230.89.3 --bare-user root --bare-port 22 --bare-ssh-key-id my_ssh_key

You can now see a list of all your added backends:

mist list-backends

Output:

openstackaf0.mist.io                     2Mn2ZnCoXhK3ywqzGn1fzWVmSSe6             bare_metal                     online
Icehouse                                 4ukW6Juooqa8bTu2YgM4mE8RAsk7             openstack                      online
EC2 AP Sydney                            25ykPERh5D17DyoeKsCgw35DLmvw             ec2_ap_southeast_2             online
Openstack Juno                           2u5yKqXmDiZ7BHCk1u17FFcmFS2m             openstack                      online
HP Helion Cloud                          3WwgPBXETjdeMEbM5fUCACSvedGT             hpcloud                        online
Google Compute Engine                    g6T3HYae2ZMcHfHyFGKVtMG6PZU              gce                            online
Docker                                   B3rbEA6bteaqMWJ4obVbgbqrXWf              docker                         online
openstackdfe.mist.io                     XMdRN2u3NVASMm14BuHo4HJnS15              bare_metal                     online

Note

You can use the --pretty flag. mist list-backends --pretty will return:

+-----------------------+------------------------------+--------------------+--------+
|          Name         |              ID              |      Provider      | State  |
+-----------------------+------------------------------+--------------------+--------+
|  openstackaf0.mist.io | 2Mn2ZnCoXhK3ywqzGn1fzWVmSSe6 |     bare_metal     | online |
|        Icehouse       | 4ukW6Juooqa8bTu2YgM4mE8RAsk7 |     openstack      | online |
|     EC2 AP Sydney     | 25ykPERh5D17DyoeKsCgw35DLmvw | ec2_ap_southeast_2 | online |
|     Openstack Juno    | 2u5yKqXmDiZ7BHCk1u17FFcmFS2m |     openstack      | online |
|    HP Helion Cloud    | 3WwgPBXETjdeMEbM5fUCACSvedGT |      hpcloud       | online |
| Google Compute Engine | g6T3HYae2ZMcHfHyFGKVtMG6PZU  |        gce         | online |
|         Docker        | B3rbEA6bteaqMWJ4obVbgbqrXWf  |       docker       | online |
|  openstackdfe.mist.io | XMdRN2u3NVASMm14BuHo4HJnS15  |     bare_metal     | online |
+-----------------------+------------------------------+--------------------+--------+

You can also display information about a specific backend, either by providing the backend’s name or ID. The following commands are equivalent:

mist describe-backend Icehouse
mist describe-backend 4ukW6Juooqa8bTu2YgM4mE8RAsk7
mist describe-backend --id 4ukW6Juooqa8bTu2YgM4mE8RAsk7
mist describe-backend --name Icehouse

Output:

+----------+------------------------------+-----------+--------+
|  Title   |              ID              |  Provider | State  |
+----------+------------------------------+-----------+--------+
| Icehouse | 4ukW6Juooqa8bTu2YgM4mE8RAsk7 | openstack | online |
+----------+------------------------------+-----------+--------+

Machines:
+---------+--------------------------------------+---------+-------------+
|   Name  |                  ID                  |  State  |  Public Ips |
+---------+--------------------------------------+---------+-------------+
| atlanta | c9411bbe-2bb2-4a88-996c-d831272b426e | running | 109.59.77.32|
+---------+--------------------------------------+---------+-------------+

You have the option to rename a backend:

mist rename-backend Icehouse --new-name Openstack_Icehouse

Finally you can delete a backend. The following two commands are equivalent:

mist delete-backend Docker