.. _centos:

.. toctree::

Setup the fd.io Repository - Centos 7
=====================================

Update the OS
-------------

It is probably a good idea to update and upgrade the OS before starting:

.. code-block:: console

    $ sudo yum update


Point to the Repository
-----------------------

For CentOS based systems, there are two respositories to pull VPP binaries
from.

* CentOS NFV SIG Repository
* Nexus Repository


CentOS NFV SIG Repository
^^^^^^^^^^^^^^^^^^^^^^^^^

VPP is not in the official CentOS 7 distro. However, CentOS has Special
Interest Groups (SIG), which are smaller groups within the CentOS community that
focus on a small set of issues. The CentOS NFV (Network Function Virtualization)
SIG was created to provide a CentOS-based stack that will serve as a platform
for the deployment and testing of virtual network functions (VNFs). VPP has been
included in this SIG.

To install released packages from the CentOS NFV SIG Repository on an updated
Centos 7 system, first, install the CentOS NFV SIG FIDO repo file:

.. code-block:: console

    $ sudo yum install centos-release-fdio

then **'Install VPP RPMs'**, as described below.

This will install the latest VPP version from the repository. To install an
older version, once the CentOS NFV SIG FDIO repo file has been installed, list
the stored versions:

.. code-block:: console

    $ sudo yum --showduplicates list vpp* | expand
    Loaded plugins: fastestmirror
    Loading mirror speeds from cached hostfile
     * base: repos-va.psychz.net
     * epel: download-ib01.fedoraproject.org
     * extras: mirror.siena.edu
     * updates: repo1.ash.innoscale.net
    Available Packages
    vpp.x86_64                                17.10-1                    centos-fdio
    vpp.x86_64                                18.01.1-1                  centos-fdio
    vpp.x86_64                                18.01.2-1                  centos-fdio
    vpp.x86_64                                18.04-1                    centos-fdio
    vpp-api-java.x86_64                       17.10-1                    centos-fdio
    vpp-api-java.x86_64                       18.01.1-1                  centos-fdio
    vpp-api-java.x86_64                       18.01.2-1                  centos-fdio
    vpp-api-java.x86_64                       18.04-1                    centos-fdio
    vpp-api-lua.x86_64                        17.10-1                    centos-fdio
    vpp-api-lua.x86_64                        18.01.1-1                  centos-fdio
    vpp-api-lua.x86_64                        18.01.2-1                  centos-fdio
    vpp-api-lua.x86_64                        18.04-1                    centos-fdio
    vpp-api-python.x86_64                     17.10-1                    centos-fdio
    vpp-api-python.x86_64                     18.01.1-1                  centos-fdio
    vpp-api-python.x86_64                     18.01.2-1                  centos-fdio
    vpp-api-python.x86_64                     18.04-1                    centos-fdio
    vpp-devel.x86_64                          17.10-1                    centos-fdio
    vpp-devel.x86_64                          18.01.1-1                  centos-fdio
    vpp-devel.x86_64                          18.01.2-1                  centos-fdio
    vpp-devel.x86_64                          18.04-1                    centos-fdio
    vpp-lib.x86_64                            17.10-1                    centos-fdio
    vpp-lib.x86_64                            18.01.1-1                  centos-fdio
    vpp-lib.x86_64                            18.01.2-1                  centos-fdio
    vpp-lib.x86_64                            18.04-1                    centos-fdio
    vpp-plugins.x86_64                        17.10-1                    centos-fdio
    vpp-plugins.x86_64                        18.01.1-1                  centos-fdio
    vpp-plugins.x86_64                        18.01.2-1                  centos-fdio
    vpp-plugins.x86_64                        18.04-1                    centos-fdio
    vpp-selinux-policy.x86_64                 18.04-1                    centos-fdio

Then install a particular version:

.. code-block:: console

    $ sudo yum install vpp-17.10-1.x86_64


Nexus Repository
^^^^^^^^^^^^^^^^

Build artifacts are also posted to a FD.io Nexus Repository. This includes
official point releases, as well as nightly builds. To use any of these build
artifacts, create a file *'/etc/yum.repos.d/fdio-release.repo'* with the
content that points to the version needed. Below are some common examples of
the content needed:


VPP Latest Release
""""""""""""""""""

To allow *'yum'* access to the official VPP releases, create the file
*'/etc/yum.repos.d/fdio-release.repo'* with the following content:

.. code-block:: console

   $ cat /etc/yum.repos.d/fdio-release.repo
   [fdio-release]
   name=fd.io release branch latest merge
   baseurl=https://nexus.fd.io/content/repositories/fd.io.centos7/
   enabled=1
   gpgcheck=0

The *'yum install vpp'* command will install the most recent release. To
install older releases, run the following command to get the list of releases
provided:

.. code-block:: console

   $ sudo yum --showduplicates list vpp* | expand

Then choose the release to install. See **'CentOS NFV SIG Repository'** for
sample *'yum --showduplicates list'* output and an example of installing a
particular version of the RPMs.

VPP Stable Branch
"""""""""""""""""

To allow *yum* access to the build artifacts for a VPP stable branch, create
the file *'/etc/yum.repos.d/fdio-release.repo'* with the following content:

.. code-block:: console

   $ cat /etc/yum.repos.d/fdio-release.repo
   [fdio-stable-1804]
   name=fd.io stable/1804 branch latest merge
   baseurl=https://nexus.fd.io/content/repositories/fd.io.stable.1804.centos7/
   enabled=1
   gpgcheck=0

For other stable branches, replace the *'1804'* from the above content with the
desired release. Examples: 1606, 1609, 1701, 1704, 1707, 1710, 1804, 1807

The *'yum install vpp'* command will install the most recent build on the
branch, not the latest offical release. Run the following command to get the
list of images produce by the branch:

.. code-block:: console

   $ sudo yum --showduplicates list vpp* | expand

Then choose the image to install. See **'CentOS NFV SIG Repository'** for
sample *'yum --showduplicates list'* output and an example of installing a
particular version of the RPMs.


VPP Master Branch
"""""""""""""""""

To allow *yum* access to the nightly builds from the VPP master branch, create
the file *'/etc/yum.repos.d/fdio-release.repo'* with the following content:

.. code-block:: console

   $ cat /etc/yum.repos.d/fdio-release.repo
   [fdio-master]
   name=fd.io master branch latest merge
   baseurl=https://nexus.fd.io/content/repositories/fd.io.master.centos7/
   enabled=1
   gpgcheck=0

The *'yum install vpp'* command will install the most recent build on the
branch. Run the following command to get the list of images produce by the
branch:

.. code-block:: console

   $ sudo yum --showduplicates list vpp* | expand

Then choose the image to install. See **'CentOS NFV SIG Repository'** for
sample *'yum --showduplicates list'* output and an example of installing a
particular version of the RPMs.


Install VPP RPMs
================

To install the VPP packet engine, run the following:

.. code-block:: console

   $ sudo yum install vpp

The **'vpp'** RPM depend on the **'vpp-lib'** and **'vpp-selinux-policy'**
RPMs, so they will be installed as well.

.. note::

    The **'vpp-selinux-policy'** will not enable SELinux on the system. It
    will install a Custom VPP SELinux policy that will be used if SELinux is
    enabled at any time.

There are additional packages that are optional. These packages can be
combined with the command above and installed all at once, or installed as
needed: 

.. code-block:: console

   $ sudo yum install vpp-plugins vpp-devel vpp-api-python vpp-api-lua vpp-api-java

Starting VPP
============

Once VPP is installed on the system, to run VPP as a systemd service on CentOS,
run:

.. code-block:: console

   $ sudo systemctl start vpp

Then to enable VPP to start on system reboot:

.. code-block:: console

   $ sudo systemctl enable vpp


Outside of running VPP as a systemd service, VPP can be started manually or
made to run within GDB for debugging. See :ref:`running` for more details and
ways to tailor VPP to a specific system.


Uninstall the VPP RPMs
======================

.. code-block:: console

   $ sudo yum autoremove vpp*
