Clusters: Support persistent storage on remote clusters.

With this merged users can request persistent volumes and PostgreSQL
instances on remote clusters.

This is achieved by Cluster manager installing open-iscsi on all
remote servers and running longhorn on top of them.

Change-Id: Ic1b24ede12fa32bb99f38e560207230437b45fd6
diff --git a/core/installer/cluster/ssh.go b/core/installer/cluster/ssh.go
index 751a797..21562a3 100644
--- a/core/installer/cluster/ssh.go
+++ b/core/installer/cluster/ssh.go
@@ -109,7 +109,8 @@
 
 func GetTailscaleIP(c *SSHClient) (string, error) {
 	fmt.Println("Getting Tailscale IP")
-	if _, err := c.Exec("sudo apt-get install net-tools -y"); err != nil {
+	// TODO(gio): install all necessary packages beforehand
+	if _, err := c.Exec("sudo apt-get install net-tools open-iscsi -y"); err != nil {
 		return "", err
 	}
 	ip, err := c.Exec("sudo ifconfig | grep 10.42")