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
12 the OS; run the following commands to update the OS and get some packages.
14 .. code-block:: console
17 $ sudo yum install pygpgme yum-utils
20 Package Cloud Repository
21 ^^^^^^^^^^^^^^^^^^^^^^^^
23 Build artifacts are also posted to a packagecloud.io Repository. This includes
24 official point releases. To use any of these build artifacts, create a file
25 *'/etc/yum.repos.d/fdio-release.repo'* with the content that points to the
26 version needed. Below are some common examples of the content needed:
32 To allow *'yum'* access to the official VPP releases, create the file
33 *'/etc/yum.repos.d/fdio-release.repo'* with the following content.
35 .. code-block:: console
37 $ cat /etc/yum.repos.d/fdio-release.repo
40 baseurl=https://packagecloud.io/fdio/release/el/7/$basearch
44 gpgkey=https://packagecloud.io/fdio/release/gpgkey
46 sslcacert=/etc/pki/tls/certs/ca-bundle.crt
50 name=fdio_release-source
51 baseurl=https://packagecloud.io/fdio/release/el/7/SRPMS
55 gpgkey=https://packagecloud.io/fdio/release/gpgkey
57 sslcacert=/etc/pki/tls/certs/ca-bundle.crt
60 Update your local yum cache.
62 .. code-block:: console
64 $ sudo yum -q makecache -y --disablerepo='*' --enablerepo='fdio_release'
66 The *'yum install vpp'* command will install the most recent release. To
67 install older releases, run the following command to get the list of releases
70 .. code-block:: console
72 $ sudo yum --showduplicates list vpp* | expand
77 To allow *yum* access to the build artifacts for a VPP stable branch, create
78 the file *'/etc/yum.repos.d/fdio-release.repo'* with the following content.
80 .. code-block:: console
82 $ cat /etc/yum.repos.d/fdio-release.repo
85 baseurl=https://packagecloud.io/fdio/1810/el/7/$basearch
89 gpgkey=https://packagecloud.io/fdio/1810/gpgkey
91 sslcacert=/etc/pki/tls/certs/ca-bundle.crt
96 baseurl=https://packagecloud.io/fdio/1810/el/7/SRPMS
100 gpgkey=https://packagecloud.io/fdio/1810/gpgkey
102 sslcacert=/etc/pki/tls/certs/ca-bundle.crt
105 For other stable branches, replace the *'1810'* from the above content with the
106 desired release. Examples: 1606, 1609, 1701, 1704, 1707, 1710, 1804, 1807
108 Update your local yum cache.
110 .. code-block:: console
112 $ sudo yum -q makecache -y --disablerepo='*' --enablerepo='fdio_1810'
114 The *'yum install vpp'* command will install the most recent build on the
115 branch, not the latest offical release. Run the following command to get the
116 list of images produce by the branch:
118 .. code-block:: console
120 $ sudo yum --showduplicates list vpp* | expand
126 To allow *yum* access to the nightly builds from the VPP master branch, create
127 the file *'/etc/yum.repos.d/fdio-release.repo'* with the following content.
129 .. code-block:: console
131 $ cat /etc/yum.repos.d/fdio-release.repo
134 baseurl=https://packagecloud.io/fdio/master/el/7/$basearch
138 gpgkey=https://packagecloud.io/fdio/master/gpgkey
140 sslcacert=/etc/pki/tls/certs/ca-bundle.crt
144 name=fdio_master-source
145 baseurl=https://packagecloud.io/fdio/master/el/7/SRPMS
149 gpgkey=https://packagecloud.io/fdio/master/gpgkey
151 sslcacert=/etc/pki/tls/certs/ca-bundle.crt
154 Update your local yum cache.
156 .. code-block:: console
158 $ sudo yum -q makecache -y --disablerepo='*' --enablerepo='fdio_master'
160 The *'yum install vpp'* command will install the most recent build on the
161 branch. Run the following command to get the list of images produce by the
164 .. code-block:: console
166 $ sudo yum --showduplicates list vpp* | expand
171 To install the VPP packet engine, run the following command:
173 .. code-block:: console
175 $ sudo yum install vpp
177 The *vpp* RPM depends on the *vpp-lib* and *vpp-selinux-policy*
178 RPMs, so they will be installed as well.
182 The *vpp-selinux-policy* will not enable SELinux on the system. It
183 will install a Custom VPP SELinux policy that will be used if SELinux is
186 There are additional packages that are optional. These packages can be
187 combined with the command above and installed all at once, or installed as
190 .. code-block:: console
192 $ sudo yum install vpp-plugins vpp-devel vpp-api-python vpp-api-lua vpp-api-java
197 Once VPP is installed on the system, to run VPP as a systemd service on CentOS,
198 run the following command:
200 .. code-block:: console
202 $ sudo systemctl start vpp
204 Then to enable VPP to start on system reboot, run the following command:
206 .. code-block:: console
208 $ sudo systemctl enable vpp
210 Outside of running VPP as a systemd service, VPP can be started manually or
211 made to run within GDB for debugging. See :ref:`running` for more details and
212 ways to tailor VPP to a specific system.
215 Uninstall the VPP RPMs
216 ======================
218 To uninstall a VPP RPM, run the following command:
220 .. code-block:: console
222 $ sudo yum autoremove vpp*