Getting started

FRINX UniConfig is a suite of applications aimed at network configuration management.
FRINX UniConfig runs on lighty.io platform of OpenDaylight.

This guide explains how to run the FRINX UniConfig for the first time.

Overview

The purpose of UniConfig is to manage the intent (desired configuration) of physical and virtual networking devices through a single network API. In addition, UniConfig enables device and network wide transactions so that the network will always remain in a well-defined state without leftovers from failed configuration attempts. UniConfig is delivered as an application in the FRINX OpenDaylight (ODL) distribution and as a standalone application. UniConfig enables users to communicate with their network infrastructure via three different options:

  1. Via unstructured data through CLI

  2. Via OpenConfig API with the help of our open source device library

  3. Via vendor YANG models native to the connected devices

Option 1) gives users similar capabilities like access through Ansible or similar tools and allows to pass strings to the device and receive strings from the device in a programmatic way. UniConfig provides the mechanism to authenticate and provide a channel to send and receive data but does not interpret the data. That is left for the user application to do.

Option 2) provides users with an OpenConfig API that is translated into device specific CLI or YANG models. This requires “translation units” to be installed for the devices under control. FRINX provides an open source device library that includes many devices from widely deployed network vendors.

Option 3) also called “UniConfig native”, provides the ability to configure devices with any YANG model that is supported by the device. After mounting a device, UniConfig native maps the vendor models into its UniConfig data store and provides stateful configuration capabilities to applications and users.

UniConfig solution

System requirements

RAM: 8GB minimum; 16GB recommended
Linux: Supported Linux distributions are Centos7, Ubuntu 16.04 and Ubuntu 18.04
Java: FRINX distribution requires Java 8 (OpenJDK 1.8.0-171 or newer, Amazon Corretto 8)

Note

Unless stated otherwise, this documentation assumes you are using Linux.

To install Java

CentOS: Open a terminal and run the command:

sudo yum install java-1.8.0-openjdk

Ubuntu: Open a terminal and run the command:

sudo apt-get install openjdk-8-jdk

Run FRINX UniConfig

Uniconfig is provided as a plain SE Java application using lighty.io. UniConfig is also provided as docker container.

Java application

Download FRINX UniConfig

Click on the link to download a zip archive of the latest Oxygen FRINX UniConfig:

uniconfig-4.2.3.frinx.zip

By downloading the file you accept the FRINX software agreement: EULA

Activate FRINX UniConfig

To start and activate UniConfig, unzip the file, open the directory and run the following command:

./run_uniconfig.sh -l [frinx-license-secret-token]

Note

Replace [frinx-licence-secret-token] with your unique token. The token is unique to your user account on frinx.io and cannot be shared with other users. It can be found here (you need to be logged in frinx.io to view your token)

Note

For more information on the different arguments run the startup script with the -h flag

UniConfig is listening on port 8181 and the default credentials are:

username: admin
password: admin

You can verify that at http://localhost:8181/auth/v1/users

For other setups like UniConfig behind proxy or without Internet access, contact us on support@frinx.io.

Stopping UniConfig

UniConfig can be stopped by hitting ctrl + c

Docker container

Download and activate FRINX UniConfig

Enter the following commands to download, activate and start UniConfig in Docker container:

docker pull frinx/uniconfig:4.2.3.frinx
TOKEN=[frinx-license_secret-token]
docker run -it --hostname uniconfig --name uniconfig -p 8181:8181 frinx/uniconfig:4.2.3.frinx -l $TOKEN

Note

Replace [frinx-licence-secret-token] with your unique token. The token is unique to your user account on frinx.io and cannot be shared with other users. It can be found here (you need to be logged in frinx.io to view your token)

UniConfig is listening on port 8181 and the default credentials are:

username: admin
password: admin

You can verify that at http://localhost:8181/auth/v1/users

Note about networking

In the previous example only port 8181 was mapped to the docker host. To access all other ports there are more options, most notably:

Use docker0 ethernet bridge

By default, Docker runs with an isolated network interface. From the Docker host type:

docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' uniconfig

to get the IP of the running container. You can then access all ports including the web server (8181) using that IP. The IP is accessible only from the docker host, unless routing is set up.

Use host networking

If you want to map all ports exposed by the image, you can use host networking:

docker run --net=host ...

To the outside world this would be the same as running UniConfig directly on the host.

Advanced networking

For these options please refer to the official Docker networking documentation.

Stopping the container

As the container was given the name uniconfig, type:

docker stop uniconfig

Learning labs

Get to know FRINX UniConfig through a series of labs right here.