Skip to content

New SubutaiTray [DRAFT]

Alex O. Karasulu edited this page Mar 10, 2018 · 6 revisions

The main purpose of redesigning SubutaiTray is to make Launcher and Tray as one application by embedding core functions of Launcher to Tray.

New Functionalities

  1. Handling Virtual Machine operations by sitting on top of the Vagrant
  2. Access for managing multiple Peers
  3. Delete/Create new Peers
  4. Delete/Create new Resource Hosts

Design of Tray Menu

  1. Subutai Bazaar (Old: Launch->Bazaar website)
  2. Balance: 107.2
  3. Separator
  4. Peers
    • Create New Peer
      • New Dialog to Create a Peer
      • Specify Name, RAM usage for Peer
    • List of Peers
      • New Dialog For Each Peer
      • Peer Name
      • Management (Old: Launch->Subutai Console)
      • Stop/Start (Old: Virtual Machines-> Stop/Start)
      • Resource Host #1 (Old: Settings->RH) (note: it might be used as the button to start/stop VM)
      • Resource Host #2
      • ....
      • Resource Host #n
      • Delete Peer
  5. Environments
    • Create New Environment (maybe? link to Bazaar/Create Environment)
    • List of Environments
      • New Dialog For Each Environment
      • Environment Name
      • Container #1
      • Container #2
      • ...
      • Container #n
      • Delete Environment (maybe?)
  6. Separator
  7. Settings
    • SSH keys (Old: SSH-keys management)
    • Vagrant Settings (maybe)
    • Common
    • Commands
  8. Logout
  9. Notification history
  10. Updates
    • Updating frequencies (Old: Settings->Updating)
    • Updates (Old: About)
  11. Quit

Vagrant

We think that Vagrant would fit our needs because it can handle complicated commands to manage multiple VMs. And since in new SubutaiTray user should be able to create more than one Peers and more than one Resource Hosts, Vagrant could be the best tool for this purposes.

Plan using Vagrant

For each Peer and Resource Host, we need to create a new folder, where we vagrant init subutai/stretch to get the bridged version of ubuntu. Then vagrant up to up the virtual machine.

Note #1: while vagrant uping, vagrant checks if there already exists an Image of subutai/stretch, if it doesn't exist then it starts to download, else it uses already existing one. So we need to install an image once for all Peers and Resource Hosts.

Note #2: Vagrant can complain that there is an already existing VM with the same name subutai/stretch. In this case we should rename VM by giving the new name for each Peer or RH in configuration file .VagrantFile.

Create New Peer
  1. vagrant init subutai/stretch <---> configure VM (rename, set CPU, etc.)
  2. vagrant up
  3. vagrant ssh
  4. sudo /bin/snap/subutai import management <---> case for discussion
  5. vagrant halt ()
Create New Resource Host
  1. vagrant init subutai/stretch <---> configure VM (rename, set CPU, etc.)
  2. vagrant up
Access Peer in Subtai Console

While Creating a new Peer, we should save the ipaddress of that Peer, so that we can access to console later.

SSH to Resource Host

Not sure if we need this feature.