Developer Guide
The paragraph described general guidelines for developers who want to download and work on the M-CORD source code, or need to to mock special development environments.
Download the M-CORD source code
M-CORD is part of the default CORD code base. To know how you can download the cord source code, go at https://guide.opencord.org/getting_the_code.html. Each M-CORD service lives in a specific repository. A list of M-CORD services and links to their repositories is available in the main page of this guide, at https://guide.opencord.org/profiles/mcord/.
Note: M-CORD source code is available from the 4.1 release (branch) of CORD.
Developer environments
As for other CORD profiles, M-CORD can also be deployed in environments other than physical PODs. This creates a more convenient environment for developers, using less resources and providing a faster development life-cycle.
Two environments are available, depending on your needs:
- Mock/Local Developer Machine: a development environment running directly on your laptop
- CORD-in-a-Box
Mock/local Machine Development Environment
To understand what a local development environment is, what it can help you with, and how to build it, look at https://guide.opencord.org/xos/dev/workflow_mock_single.html. When it’s time to specify the PODCONFIG file, use mcord-ng4t-mock.yml, instead of the default value (rcord-mock.yml)
CORD-in-a-Box (CiaB) Development
To understand what CiaB is and what it can help you with, look at https://guide.opencord.org/xos/dev/workflow_pod.html. Note that, in general, CiaB is useful for validating basic functionality and not for testing performance.
To build M-CORD CiaB, follow the steps at https://guide.opencord.org/install_virtual.html.
Note: If you are building on CloudLab, specify the profile
MCORD-in-a-Box
rather thanOnePC-Ubuntu14.04.5
. This will select a machine with enough resources to run M-CORD.
When it’s time to specify the PODCONFIG file, use mcord-ng40-virtual.yml
, instead of the default value, rcord-virtual.yml
.
Warning: At today, given the number of VNFs that M-CORD provides, it requires more resources than what other CORD use-cases do. For this reason, in order to experiment with M-CORD-in-a-Box you’ll need a bigger physical server than the ones required to build other physical PODs. Specifically, you'll need to have processors with at least a total of 24 physical cores.
More detailed instructions on how to develop and deploy using CiaB can be found in the general CORD troubleshooting guide, at https://guide.opencord.org/troubleshooting.html.