[This description is for bringing up a CORD POD on virtual machines on a single physical host. The purpose of this solution is to enable those interested in understanding how CORD works to examine and interact with a running CORD environment.]
This tutorial walks you through the steps to bring up a CORD "POD" on a single server using multiple virtual machines.
You will need a build machine (can be your developer laptop) and a target server.
Build host:
git (2.5.4 or later)Vagrant (1.8.1 or later)Target server:
If you do not have a target server available, you can borrow one on CloudLab. Sign up for an account using your organization's email address and choose "Join Existing Project"; for "Project Name" enter cord-testdrive.
[Note: CloudLab is supporting CORD as a courtesy. It is expected that you will not use CloudLab resources for purposes other than evaluating CORD. If, after a week or two, you wish to continue using CloudLab to experiment with or develop CORD, then you must apply for your own separate CloudLab project.]
Once your account is approved, start an experiment using the OnePC-Ubuntu14.04.4 profile on either the Wisconsin or Clemson cluster. This will provide you with a temporary target server meeting the above requirements.
Refer to the CloudLab documentation for more information.
On the build host, clone the cord repository anonymously and switch into its top directory:
git clone https://gerrit.opencord.org/cord cd cord
Bring up the development Vagrant box. This will take a few minutes, depending on your connection speed:
vagrant up corddev
Login to the Vagrant box:
vagrant ssh corddev
Switch to the /cord directory.
cd /cord
Fetch the sub-modules required by CORD:
./gradlew fetch
Note that the above steps are standard for installing a single-node or multi-node CORD POD.
Edit the configuration file /cord/components/platform-install/config/default.yml. Add the IP address of your target server as well as the username / password for accessing the server. You can skip adding the password if you can SSH to the target server from inside the Vagrant VM asusernamewithout one (e.g., by runningssh-agent`).
If your target server is a CloudLab machine, uncomment the following two lines in the configuration file:
#extraVars: # - 'on_cloudlab=True'
Edit /cord/gradle.properties to add the following line:
deployConfig=/cord/components/platform-install/config/default.yml
Deploy the CORD software to the the target server and configure it to form a running POD.
./gradlew deploySingle
What this does:
This command uses an Ansible playbook (cord-single-playbook.yml) to install OpenStack services, ONOS, and XOS in VMs on the target server. It also brings up a compute node as a VM.
Note that this step usually takes at least an hour to complete. Be patient!
Once the above step completes, you can log into XOS as follows:
http://<target-server>/padmin@vicci.orgletmein[STILL TO DO]: