[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 as username
without one (e.g., by running ssh-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.org
letmein
[STILL TO DO]: