wiki:GENI-in-a-Box/GiB-Implementation

Version 11 (modified by Vic Thomas, 12 years ago) (diff)

--

This Page is Under Construction


Implementing GENI-in-a-Box

This page describes how to set up the complete GENI-in-a-Box environments on your computer.

Getting Started

To get started there are a couple things that need to be done prior to development. This includes setting up VirtualBox and the development environment. Instructions for doing both are outlined below. If you have any questions or suggestions about the set up process don't hesitate to send an email to help@geni.net.

Installing and Setting Up VirtualBox

  1. VirtualBox can be downloaded from https://www.virtualbox.org/wiki/Downloads. Please make sure you install version 4.1.23 or newer.
  1. Once installed you will need to create a VirtualBox 'machine' with a minimum disc space of 40 GB and ram of 2GB. Instructions on creating a virtual machine are at http://www.virtualbox.org/manual/ch01.html#gui-createvm. The VirtualBox 'New Virtual Machine Wizard' will walk you through the steps of creating the virtual machine. Accept the default settings in the wizard except for the base memory size (set this to 2GB or more) and virtual disk size (set this to 40 GB or more).
  1. After the virtual machine is created, select it in the 'Oracle VM VirtualBox Manager' window and click on settings. Under 'Display' settings, turn on 3D acceleration.
  1. Choose the OS you want to develop in. Currently supported versions are Fedora 15 and Ubuntu 10.04.4 LTS Lucid Lynx. Download the OS you want to your computer. Fedora download: http://download.fedoraproject.org/pub/fedora/linux/releases/15/Fedora/i386/iso/Fedora-15-i386-DVD.iso.
    Ubuntu download: http://releases.ubuntu.com/lucid/ubuntu-10.04.4-desktop-i386.iso
  1. You can install an OS on the VirtualBox virtual machine you created. To do this select in the Oracle VM VirtualBox Manager widow the virtual machine you just created and click the green arrow labeled Start. Detailed instructions for installing an OS on a virtual machine are at http://www.virtualbox.org/manual/ch01.html#idp13614032. Fedora specific install instructions may be found at http://www.sysprobs.com/install-fedora-15-virtualbox-steps-install-virtualbox-guest-additions-fedora-15. During the OS install you'll be asked to create a user account. Give this user account the username gib and give this account administrative privileges.
  1. Install any updates available for the OS.
  1. Change user account settings for gib to be automatically logged in when the system boots. Also, change the screen settings to not lock the screen.

Once the OS of your choice is installed on the virtual machine you are ready to start setting up the development environment.

Installing OpenVZ

GENI-in-a-Box uses OpenVZ containers for virtualization i.e. the nodes used in an experiment are realized as containers. The following are instructions for installing OpenVZ on Fedora and Ubuntu:

Fedora OpenVZ Setup

Ubuntu OpenVZ Setup

Installing GENI-in-a-Box

  1. If you don't have a GPO Lab account that will allow you to access the GCF git repository, send an email to gpo-infra@geni.net to request an account.

2 Clone the repository and switch to the geni-in-a-box branch:

$ git clone http://trac.gpolab.bbn.com/srv/git/gcf
$ cd gcf
$ git branch geni-in-a-box
$ git pull origin geni-in-a-box
  1. Run the script that sets up the OS in the VM:
    $ cd ~/gcf/src/geni/am/gibaggregate/standardScripts
    $ ./hostSetup.sh
    

You'll be prompted for the root password as the script includes sudo commands.

  1. Edit the sudoers file to allow sudo without a tty
    $ sudo visudo
    
  1. Make sure the root account and the gib account have the password in ~/.gcf/passwords. Change the root and gib account passwords if necessary to match that in the ~/.gcf/passwords file.
  1. Restart the VM. When it starts up the AM and CH should be running. If they are you'll find their outputs logged at /tmp/am-log and /tmp/ch-log respectively.
  1. Run some tests using Omni and the rspecs in the ~/geni-in-a-box directory.