5 Setup the fd.io Repository - Centos 7
6 =====================================
11 Before starting the repository setup, it is a good idea to first update and upgrade the OS.
13 .. code-block:: console
18 Point to the Repository
19 -----------------------
21 For CentOS based systems, there are two respositories to pull VPP binaries
24 * CentOS NFV SIG Repository
28 CentOS NFV SIG Repository
29 ^^^^^^^^^^^^^^^^^^^^^^^^^
31 VPP is not in the official CentOS 7 distro. However, CentOS has Special
32 Interest Groups (SIG), which are smaller groups within the CentOS community that
33 focus on a small set of issues. The CentOS NFV (Network Function Virtualization)
34 SIG was created to provide a CentOS-based stack that will serve as a platform
35 for the deployment and testing of virtual network functions (VNFs). VPP has been
38 To install released packages from the CentOS NFV SIG Repository on an updated
39 Centos 7 system, first, install the CentOS NFV SIG FIDO repo file:
41 .. code-block:: console
43 $ sudo yum install centos-release-fdio
45 then **'Install VPP RPMs'**, as described below.
47 This will install the latest VPP version from the repository. To install an
48 older version, once the CentOS NFV SIG FDIO repo file has been installed, list
51 .. code-block:: console
53 $ sudo yum --showduplicates list vpp* | expand
54 Loaded plugins: fastestmirror
55 Loading mirror speeds from cached hostfile
56 * base: repos-va.psychz.net
57 * epel: download-ib01.fedoraproject.org
58 * extras: mirror.siena.edu
59 * updates: repo1.ash.innoscale.net
61 vpp.x86_64 17.10-1 centos-fdio
62 vpp.x86_64 18.01.1-1 centos-fdio
63 vpp.x86_64 18.01.2-1 centos-fdio
64 vpp.x86_64 18.04-1 centos-fdio
65 vpp-api-java.x86_64 17.10-1 centos-fdio
66 vpp-api-java.x86_64 18.01.1-1 centos-fdio
67 vpp-api-java.x86_64 18.01.2-1 centos-fdio
68 vpp-api-java.x86_64 18.04-1 centos-fdio
69 vpp-api-lua.x86_64 17.10-1 centos-fdio
70 vpp-api-lua.x86_64 18.01.1-1 centos-fdio
71 vpp-api-lua.x86_64 18.01.2-1 centos-fdio
72 vpp-api-lua.x86_64 18.04-1 centos-fdio
73 vpp-api-python.x86_64 17.10-1 centos-fdio
74 vpp-api-python.x86_64 18.01.1-1 centos-fdio
75 vpp-api-python.x86_64 18.01.2-1 centos-fdio
76 vpp-api-python.x86_64 18.04-1 centos-fdio
77 vpp-devel.x86_64 17.10-1 centos-fdio
78 vpp-devel.x86_64 18.01.1-1 centos-fdio
79 vpp-devel.x86_64 18.01.2-1 centos-fdio
80 vpp-devel.x86_64 18.04-1 centos-fdio
81 vpp-lib.x86_64 17.10-1 centos-fdio
82 vpp-lib.x86_64 18.01.1-1 centos-fdio
83 vpp-lib.x86_64 18.01.2-1 centos-fdio
84 vpp-lib.x86_64 18.04-1 centos-fdio
85 vpp-plugins.x86_64 17.10-1 centos-fdio
86 vpp-plugins.x86_64 18.01.1-1 centos-fdio
87 vpp-plugins.x86_64 18.01.2-1 centos-fdio
88 vpp-plugins.x86_64 18.04-1 centos-fdio
89 vpp-selinux-policy.x86_64 18.04-1 centos-fdio
91 Then install a particular version:
93 .. code-block:: console
95 $ sudo yum install vpp-17.10-1.x86_64
101 Build artifacts are also posted to a FD.io Nexus Repository. This includes
102 official point releases, as well as nightly builds. To use any of these build
103 artifacts, create a file *'/etc/yum.repos.d/fdio-release.repo'* with the
104 content that points to the version needed. Below are some common examples of
111 To allow *'yum'* access to the official VPP releases, create the file
112 *'/etc/yum.repos.d/fdio-release.repo'* with the following content:
114 .. code-block:: console
116 $ cat /etc/yum.repos.d/fdio-release.repo
118 name=fd.io release branch latest merge
119 baseurl=https://nexus.fd.io/content/repositories/fd.io.centos7/
123 The *'yum install vpp'* command will install the most recent release. To
124 install older releases, run the following command to get the list of releases
127 .. code-block:: console
129 $ sudo yum --showduplicates list vpp* | expand
131 Then choose the release to install. See **'CentOS NFV SIG Repository'** for
132 sample *'yum --showduplicates list'* output and an example of installing a
133 particular version of the RPMs.
138 To allow *yum* access to the build artifacts for a VPP stable branch, create
139 the file *'/etc/yum.repos.d/fdio-release.repo'* with the following content:
141 .. code-block:: console
143 $ cat /etc/yum.repos.d/fdio-release.repo
145 name=fd.io stable/1804 branch latest merge
146 baseurl=https://nexus.fd.io/content/repositories/fd.io.stable.1804.centos7/
150 For other stable branches, replace the *'1804'* from the above content with the
151 desired release. Examples: 1606, 1609, 1701, 1704, 1707, 1710, 1804, 1807
153 The *'yum install vpp'* command will install the most recent build on the
154 branch, not the latest offical release. Run the following command to get the
155 list of images produce by the branch:
157 .. code-block:: console
159 $ sudo yum --showduplicates list vpp* | expand
161 Then choose the image to install. See **'CentOS NFV SIG Repository'** for
162 sample *'yum --showduplicates list'* output and an example of installing a
163 particular version of the RPMs.
169 To allow *yum* access to the nightly builds from the VPP master branch, create
170 the file *'/etc/yum.repos.d/fdio-release.repo'* with the following content:
172 .. code-block:: console
174 $ cat /etc/yum.repos.d/fdio-release.repo
176 name=fd.io master branch latest merge
177 baseurl=https://nexus.fd.io/content/repositories/fd.io.master.centos7/
181 The *'yum install vpp'* command will install the most recent build on the
182 branch. Run the following command to get the list of images produce by the
185 .. code-block:: console
187 $ sudo yum --showduplicates list vpp* | expand
189 Then choose the image to install. See **'CentOS NFV SIG Repository'** for
190 sample *'yum --showduplicates list'* output and an example of installing a
191 particular version of the RPMs.
197 To install the VPP packet engine, run the following:
199 .. code-block:: console
201 $ sudo yum install vpp
203 The **'vpp'** RPM depend on the **'vpp-lib'** and **'vpp-selinux-policy'**
204 RPMs, so they will be installed as well.
208 The **'vpp-selinux-policy'** will not enable SELinux on the system. It
209 will install a Custom VPP SELinux policy that will be used if SELinux is
212 There are additional packages that are optional. These packages can be
213 combined with the command above and installed all at once, or installed as
216 .. code-block:: console
218 $ sudo yum install vpp-plugins vpp-devel vpp-api-python vpp-api-lua vpp-api-java
223 Once VPP is installed on the system, to run VPP as a systemd service on CentOS,
226 .. code-block:: console
228 $ sudo systemctl start vpp
230 Then to enable VPP to start on system reboot:
232 .. code-block:: console
234 $ sudo systemctl enable vpp
237 Outside of running VPP as a systemd service, VPP can be started manually or
238 made to run within GDB for debugging. See :ref:`running` for more details and
239 ways to tailor VPP to a specific system.
242 Uninstall the VPP RPMs
243 ======================
245 .. code-block:: console
247 $ sudo yum autoremove vpp*