[This description is for a stand-alone bare-metal target server. If we succeed to bring up CORD on a VM, we will relax the text and go for the simpler experience.]
This tutorial walks you through the steps to bring up a CORD "POD" on a single server. This deployment uses a simulated fabric, but it is good to get a quick feel for what is involved and how CORD works.
Specifically, the tutorial covers the following:
You will need a build machine (can be your developer laptop) and a target server.
Build host:
Target server:
On the build host, clone the CORD integration repository and switch into its top directory:
For now you can clone the repository anonymously:
git clone https://gerrit.opencord.org/cord cd cord
If -- for whatever reason -- you decide to clone the repo as a private repository using ssh, then you should add your private key to your local ssh forwarding agent, because we will clone additional CORD repositories within the Vagrant environment using the same git access mode, and this will require your local agent to know your identity:
ssh-add ~/.ssh/id_rsa
Bring up the standardized CORD build and development environment (VM). This will take a few minutes, depending on your connection speed:
vagrant up corddev
Login to the build environment:
vagrant ssh corddev
Switch to the CORD integration directory, which is shared from your host:
cd /cord
Pre-fetch all pre-requisites needed to build all components for CORD. This is the step that takes the longest time as a large number of images and files need to be downloaded.
./gradlew fetch
Time to build artifacts needed for deployment:
./gradlew buildImages
Lets publish all artifacts to the staging registry (Docker registry).
./gradlew publish
Deploy the software to the target platform:
./gradlew deploy
Execute a set of basic health tests on the platform:
./gradlew post-deploy-tests
Exit from the build environment and destroy it:
exit vagrant destroy -f
If you got this far, you successfully built, deployed, and tested your first CORD POD.
[TODO]