aboutsummaryrefslogtreecommitdiffstats
path: root/docs/gettingstarted/installing/centos.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/gettingstarted/installing/centos.rst')
-rw-r--r--docs/gettingstarted/installing/centos.rst247
1 files changed, 247 insertions, 0 deletions
diff --git a/docs/gettingstarted/installing/centos.rst b/docs/gettingstarted/installing/centos.rst
new file mode 100644
index 00000000000..dae24f6b4c8
--- /dev/null
+++ b/docs/gettingstarted/installing/centos.rst
@@ -0,0 +1,247 @@
+.. _centos:
+
+.. toctree::
+
+Setup the fd.io Repository - Centos 7
+=====================================
+
+Update the OS
+-------------
+
+Before starting the repository setup, it is a good idea to first update and upgrade
+the OS; run the following command to update the OS:
+
+.. 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
+
+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 by running the
+following command:
+
+.. 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 command:
+
+.. code-block:: console
+
+ $ sudo yum install vpp
+
+The *vpp* RPM depends 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 the following command:
+
+.. code-block:: console
+
+ $ sudo systemctl start vpp
+
+Then to enable VPP to start on system reboot, run the following command:
+
+.. 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
+======================
+
+To uninstall a VPP RPM, run the following command:
+
+.. code-block:: console
+
+ $ sudo yum autoremove vpp*