This page documents how to build CORD. There are two target environments: (1) a physical hardware POD, and (2) a virtualized development environment known as CORD-in-a-Box (CiaB). An alternative testing environment, called CORD-in-the-Cloud, is also available for evaluation.
There are three releases of CORD:
The most recent development branch is master. The rest of this page references the master branch. Adjust accordingly for the various releases.
This page links to a mirror of the CORD source on GitHub, which is the quickest way to see what's there. If you're serious about building and contributing to CORD, you will want to come up-to-speed on Gerrit and the
repo tool: Getting the Source Code.
The CORD distribution includes a large set of repositories, with the build process launched out of the https://github.com/opencord/cord repository. Documentation for building CORD on the two target environments can be found in the docs directory, where you will find:
- docs/quickstart_physical.md – instructions on bringing up a physical POD.
- docs/quickstart.md – instructions on bringing up CORD-in-a-Box.
The rest of this page focuses on the process of building a physical POD.
Assemble the POD
When bringing up a physical POD, the first step is to assemble the cluster of commodity servers and white-box switches that comprise the POD. Specific access devices (e.g., OLT blades) are brought up separately during a later customization step.
Servers – OCP-qualified QuantaGrid D51B-1U server. Each server is configured with 2x Intel E5-2630 v4 10C 2.2GHz 85W, 64GB of RAM 2133MHz DDR4, 2x hdd500GB and a 40 Gig adapter: Intel Ethernet Converged Network Adapters XL710 10/40 GbE PCIe 3.0, x8 Dual port.
Switches – OCP-qualified Accton 6712 switch. Each switch is configured with 32x40GE ports, and can double as both leaf and spine switches in the CORD fabric.
The reference POD includes four servers (one serving as a head node and three serving as compute nodes), two virtual racks with one leaf (ToR) switch each, and two spine switches connecting the (virtual) racks. Alternative configurations are also possible (e.g., more head nodes, additional racks, two ToR per rack).
Servers and switches in the reference POD are wired as follows:
As POD assembly involves local specifics, you will need to manually edit a handful of configuration files (as instructed in docs/quickstart_physical.md). In preparation for doing that, it will be helpful to familiarize yourself with the network sub-system, including
- Configuring the switching fabric: see Fabric Configuration Guide for more information.
- Configuring the virtual network overlay: see VTN Configuration Guide for more information.
Install CORD Software
Customize the POD
After booting the base platform, the next step is to configure the POD for the local environment. This is currently a manual process that includes:
- Installing Access Blades – A CORD POD is typically configured with one or more access technologies. For example, OLT boxes from Celestica, Fujitsu, and TiBiT are possibilities for residential access. Click here for information about connecting an access device to CORD.
- Peering with an Upstream Router – A CORD POD is typically connected to (and peers with) an upstream router. For an example of how to configure a POD to peer via BGP, click here. Click here for information on connecting the POD to upstream networks.