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:

Other Server                   bare_metal
Azure                          azure
EC2                            ec2                  Tokyo                ec2_ap_northeast
EC2                            ec2                  Singapore            ec2_ap_southeast
EC2                            ec2                  Sydney               ec2_ap_southeast_2
EC2                            ec2                  Ireland              ec2_eu_west
EC2                            ec2                  Sao Paulo            ec2_sa_east
EC2                            ec2                  N. Virginia          ec2_us_east
EC2                            ec2                  N. California        ec2_us_west
EC2                            ec2                  Oregon               ec2_us_west_oregon
Google Compute Engine          gce
NephoScale                     nephoscale
DigitalOcean                   digitalocean
Linode                         linode
OpenStack                      openstack
Rackspace                      rackspace            Dallas               dfw
Rackspace                      rackspace            Chicago              ord
Rackspace                      rackspace            N. Virginia          iad
Rackspace                      rackspace            London               lon
Rackspace                      rackspace            Sydney               syd
Rackspace                      rackspace            Hong Kong            hkg
Rackspace                      rackspace            US-First Gen         rackspace_first_gen:us
Rackspace                      rackspace            UK-First Gen         rackspace_first_gen:uk
SoftLayer                      softlayer
HP Helion Cloud                hpcloud              US West              region-a.geo-1
HP Helion Cloud                hpcloud              US East              region-b.geo-1
Docker                         docker
VMware vCloud                  vcloud
Indonesian Cloud               indonesian_vcloud
KVM (via libvirt)              libvirt

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:

+-----------------------+-------------------+---------------+------------------------+
|        Provider       |    Provider ID    |     Region    |       Region ID        |
+-----------------------+-------------------+---------------+------------------------+
|      Other Server     |     bare_metal    |       -       |           -            |
|         Azure         |       azure       |       -       |           -            |
|          EC2          |        ec2        |     Tokyo     |    ec2_ap_northeast    |
|          EC2          |        ec2        |   Singapore   |    ec2_ap_southeast    |
|          EC2          |        ec2        |     Sydney    |   ec2_ap_southeast_2   |
|          EC2          |        ec2        |    Ireland    |      ec2_eu_west       |
|          EC2          |        ec2        |   Sao Paulo   |      ec2_sa_east       |
|          EC2          |        ec2        |  N. Virginia  |      ec2_us_east       |
|          EC2          |        ec2        | N. California |      ec2_us_west       |
|          EC2          |        ec2        |     Oregon    |   ec2_us_west_oregon   |
| Google Compute Engine |        gce        |       -       |           -            |
|       NephoScale      |     nephoscale    |       -       |           -            |
|      DigitalOcean     |    digitalocean   |       -       |           -            |
|         Linode        |       linode      |       -       |           -            |
|       OpenStack       |     openstack     |       -       |           -            |
|       Rackspace       |     rackspace     |     Dallas    |          dfw           |
|       Rackspace       |     rackspace     |    Chicago    |          ord           |
|       Rackspace       |     rackspace     |  N. Virginia  |          iad           |
|       Rackspace       |     rackspace     |     London    |          lon           |
|       Rackspace       |     rackspace     |     Sydney    |          syd           |
|       Rackspace       |     rackspace     |   Hong Kong   |          hkg           |
|       Rackspace       |     rackspace     |  US-First Gen | rackspace_first_gen:us |
|       Rackspace       |     rackspace     |  UK-First Gen | rackspace_first_gen:uk |
|       SoftLayer       |     softlayer     |       -       |           -            |
|    HP Helion Cloud    |      hpcloud      |    US West    |     region-a.geo-1     |
|    HP Helion Cloud    |      hpcloud      |    US East    |     region-b.geo-1     |
|         Docker        |       docker      |       -       |           -            |
|     VMware vCloud     |       vcloud      |       -       |           -            |
|    Indonesian Cloud   | indonesian_vcloud |       -       |           -            |
|   KVM (via libvirt)   |      libvirt      |       -       |           -            |
+-----------------------+-------------------+---------------+------------------------+

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 --region ec2_ap_northeast --ec2-api-key AKIAHKIB7OIJCX7YLIO3JA --ec2-api-secret knbkGJKHG9gjhUuhgfjtiu987

Add a Rackspace backend:

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

Add a Nephoscale backend:

mist add-backend --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 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

Add a Google Compute Engine backend:

To add a GCE backend you have to download the private key file

mist add-backend --provider gce --gce-email 46234234246-3oiuoiu0980989873yui@developer.gserviceaccount.com --gce-project-id gifted-electron-10 --gce-private-key /home/user/gce.key

Add VMware(vCloud) backend:

mist add-backend --provider vcloud --vcloud-username admin --vcloud-password ioiuYoiuOIU --vcloud-organization MyOrg.io --vcloud-host compute.idcloudonline.com

Add Indonesian vCloud backend:

mist add-backend --provider indonesian_vcloud --indonesian-username admin --indonesian-password kjOIULKJLlkj --indonesian-organization MyOrg.io

Add KVM(via libvirt) backend:

mist add-backend --provider libvirt --libvirt-hostname 10.0.0.1 --libvirt-user root --libvirt-key MyAddedKey

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