Build Platform from Source

This topic describes how to clone the RIFT.ware platform repository and build and install the platform from source. Then you'll clone the UI and SO repos from the RIFT.ware GitHub repository and build and install them, as described in Build UI and SO from Source.

Note: If you are interested only in making changes to the RIFT.ware orchestration code, you can install the RIFT.ware platform from packages and then build MANO (SO) and UI from source. See Build UI and SO from Source.

Requirements

Dependency

Requirement

Notes

Release Notes

Read the Release Notes at https://open.riftio.com/documentation/. Filter the Branch drop-down menu for the version of RIFT.ware that you plan to install.

This document contains important information you need to know about before you install RIFT.ware.

Workspace

You'll need a single virtual machine or containerSelf-contained execution environments that contain their own CPU, memory, I/O, and network resources – anything you can install on a server. Containers share the kernel of the host operating system, which makes them feel like a virtual machine without the added overhead of a guest operating system. or server with Ubuntu 18.04 LTS as the base image.

You can download an image from http://releases.ubuntu.com/18.04/. RIFT.ware supports AMD64 images.

Host machine

The host machine (virtual machine or container or server) must be able to allocate the following minimum resources to the RIFT.ware Launchpad:

  • Recommended 8 vCPU (1 vCPU minimum)

  • Recommended 32768 MB RAM (8192 MB minimum)

  • Recommended 40 GB disk storage (30 GB minimum)

The minimum resources support a proof-of-concept environment.

Port availability

Your system must not be running services or software that the RIFT.ware Launchpad uses. If you are using a container environment, ports must be forwarded from the host.

See Port Requirements.

ConfD

The tail-f ConfD Core Engine is required to develop management interfaces and applications that are NETCONFNetwork Configuration (NETCONF) is an IETF configuration management protocol, and YANG is its data modeling language. NETCONF provides mechanisms to install, manipulate, and delete the configuration of network devices. The NETCONF protocol operations are realized as remote procedure calls (RPCs) to query and edit network device configuration. and YANGA data modeling language designed to write data models for the NETCONF protocol. YANG provides human-readable hierarchical configuration data models with reusable types and groupings (structured types). YANG supports the definition of operations via remote procedure calls (RPCs). compliant.

Download ConfD version 6.3 using an existing Cisco DevNet account from https://developer.cisco.com/site/confD/downloads/

Or register for a new account at https://developer.cisco.com/site/confD/

Install the platform

To transfer files from a Linux or Macintosh client, use curl or wget. From a windows client, use PuTTY or WinSCP. In the fetch, specify the URL, instead of an IP address. For example curl -option URL.

  1. Have a build system, which can be a bare-metal server or a virtual machine that runs on Ubuntu 18.04 LTS.

    Note: If you plan to run RIFT.ware Launchpad, standard ports must be visible externally (see Port Requirements).

  2. Clone the RIFT.ware repo, and install the external packages required to build the software.

    git clone https://github.com/RIFTIO/RIFT.ware
    cd RIFT.ware
    git checkout RIFT.ware-5.1.2.0
    ./rift-shell curl http://repos.riftio.com/public/xenial-riftware-public-key | sudo apt-key add - sudo ./modules/tools/scripts/container_tools/usr/rift/container_tools/mkcontainer --modes ext --modes build
  3. Download confd-basic-6.3.linux.x86_64.zip from Cisco DevNet Downloads and extract the file to a location on your system.

    The zip archive contains several files, but you need only the following two:

    • confd-basic-6.3.linux.x86_64.installer.bin

    • confd-basic-6.3.libconfd.tar.gz

  4. Move or copy the confd files to the modules/core/util/confd directory on your workspace. Type y (yes) if you are prompted to overwrite existing files:

    mv confd-basic-6.3.linux.x86_64.installer.bin modules/core/util/confd
    mv confd-basic-6.3.libconfd.tar.gz modules/core/util/confd
  5. Build the software:

    make -j<XX> NOT_DEVELOPER_BUILD=TRUE RIFT_AGENT_BUILD=CONFD_BASIC rw.package

    Note: For -j <XX> commands, replace <XX> with a value no greater than the total number of vCPUs in the VM.

    If you are using less than the recommended RAM, replace <XX> with the value 1.

  6. Verify that you have a gpg key pair and enough entropy.

    1. To see if you have a key pair, run this command:

      gpg --list-keys
    2. If you are using a VM, you will likely need to add additional entropy to the system before you generate a gpg key pair. If you encounter problems with insufficient entropy, run the following commands:

      sudo apt install -y rng-tools
      sudo rngd -r /dev/urandom
      
    3. To create a gpg key pair:

      gpg --gen-key
      

    Tip: RIFT recommends that you create a key pair that does not use a passphrase.

  7. Install the platform packages:

    make install-platform-packages
    
  8. Exit rift-shell:

    exit
    
  9. Change out of the /home/ubuntu/RIFT.ware directory:

    cd ..
  10. Proceed to Build UI and SO from Source , starting with Step 4 "Clone the UI and SO repos from GitHub and build the software."