Genome Browser in a box config
Virtual machines
The Gbib is a ubuntu 13 linux with apache, mysql and the default tools. See Preparing_VirtualBox_images
Hgwdev has virtualbox installed and one virtual machine (VMs) added called "browserbox". It is the "master" image of the gbib and used by QA.
qateam has aliases to start and stop the VMs: boxStart / boxStop
Once started, browserbox listens at port 1234 for web requests and at 1235 for ssh
Development for the Gbib is a different business and described in Gbib development.
SSH into the box from hgwdev
From hgwdev, as qateam, you can do "ssh box" to connect to the box (this is configured in .ssh/config).
There is no password, because the qateam ssh key was added to the box.
http access to the box from your desktop machine
browserbox accepts only connections from hgwdev, not from outside. You cannot connect from your desktop machine directly. So ssh on your desktop has to be told to forward two ports to hgwdev. To make this happen, add this to your file ~/.ssh/config (create it if necessary) on your own OSX or linux machine:
Host hgwdevtunnel Hostname hgwdev.sdsc.edu User <YOURHGWDEVUSER e.g. rhead> #http LocalForward 127.0.0.1:1234 127.0.0.1:1234 # RDP for box administrator # LocalForward 127.0.0.1:3389 127.0.0.1:3389 # the following line is only needed for developers # LocalForward 127.0.0.1:1236 127.0.0.1:1236 # the following line is only needed for developers that need to configure the devbox # LocalForward 127.0.0.1:3390 127.0.0.1:3390
You can then do a "ssh devtunnel" to get connected to hgwdev and have the port 1234 on your machine 1234 forwarded to the box. Port 1234 is a http port, so you can then test the browserbox by pointing your internet browser on your desktop to http://127.0.0.1:1234
Box release overview
- during beta testing time, the update option "beta" on the box can pull in the beta CGIs that were compiled by the buildmeister
- at public release time, the box in this beta state is cleaned and zipped. This zip can be (optionally) tested on Windows or OSX. This can then be pushed to hgdownload.
For development see Gbib development.
Beta testing
As qateam, pull the cgi-bin-beta binaries into the box:
ssh box updateBrowser beta
Setup the tunnel from your desktop to hgwdev:
ssh hgwdevtunnel
Now you can test the beta CGIs via http://127.0.0.1:1234.
Release
To prepare the box for download run this as qateam on hgwdev:
boxRelease.csh
This will ssh into the box, clean it (remove temp files, sessions, etc), stop it, zip it and place it onto hgwdev on http://hgwdev.soe.ucsc.edu/browserbox/browserbox.zip
The zipfile can be downloaded to OSX or Windows and possibly tested there again, with the slowNet command (necessary?).
At the end of the testing week (Friday?), then zipfile can be pushed to hgdownload.
At the next update of hgdownload, all boxes with activated auto-updateds should update themselves automatically, see Gbib_auto_updates.
completely cleaning the box (optional, probably only needed once per year)
Each time a new file is created on the box, the virtual disk file gets filled with the data, even if the file is deleted. The browserbox zipfile will therefore grow. If the zipfile is getting very big, it might be good to overwrite the empty space on the virtual disk with zeros.
To do this, install an RDP client on your OSX machine (Microsoft RDP client for OSX, in the app store, free), uncomment the RDP 3389 port forward in your .ssh/config and do an "ssh hgwdevtunnel" your desktop.
Start your RDP client, connect to localhost. You should see the console of the browserbox. Type:
sudo reboot
- Keep shift pressed while the box is rebooting.
- Select the Recovery mode, type "enter".
- Type "r" to select "root". Type "enter".
- Password is "browser".
- Run the script "zeroVm.sh". run "sudo reboot".