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
65 $ sudo yum -q makecache -y --disablerepo='*' --enablerepo='fdio_release'
67 The *'yum install vpp'* command will install the most recent release. To
68 install older releases, run the following command to get the list of releases
71 .. code-block:: console
73 $ sudo yum --showduplicates list vpp* | expand
78 To allow *yum* access to the build artifacts for a VPP stable branch, create
79 the file *'/etc/yum.repos.d/fdio-release.repo'* with the following content.
81 .. code-block:: console
83 $ cat /etc/yum.repos.d/fdio-release.repo
86 baseurl=https://packagecloud.io/fdio/1810/el/7/$basearch
90 gpgkey=https://packagecloud.io/fdio/1810/gpgkey
92 sslcacert=/etc/pki/tls/certs/ca-bundle.crt
97 baseurl=https://packagecloud.io/fdio/1810/el/7/SRPMS
101 gpgkey=https://packagecloud.io/fdio/1810/gpgkey
103 sslcacert=/etc/pki/tls/certs/ca-bundle.crt
106 For other stable branches, replace the *'1810'* from the above content with the
107 desired release. Examples: 1606, 1609, 1701, 1704, 1707, 1710, 1804, 1807
109 Update your local yum cache.
111 .. code-block:: console
114 $ sudo yum -q makecache -y --disablerepo='*' --enablerepo='fdio_1810'
116 The *'yum install vpp'* command will install the most recent build on the
117 branch, not the latest offical release. Run the following command to get the
118 list of images produce by the branch:
120 .. code-block:: console
122 $ sudo yum --showduplicates list vpp* | expand
128 To allow *yum* access to the nightly builds from the VPP master branch, create
129 the file *'/etc/yum.repos.d/fdio-release.repo'* with the following content.
131 .. code-block:: console
133 $ cat /etc/yum.repos.d/fdio-release.repo
136 baseurl=https://packagecloud.io/fdio/master/el/7/$basearch
140 gpgkey=https://packagecloud.io/fdio/master/gpgkey
142 sslcacert=/etc/pki/tls/certs/ca-bundle.crt
146 name=fdio_master-source
147 baseurl=https://packagecloud.io/fdio/master/el/7/SRPMS
151 gpgkey=https://packagecloud.io/fdio/master/gpgkey
153 sslcacert=/etc/pki/tls/certs/ca-bundle.crt
156 Update your local yum cache.
158 .. code-block:: console
161 $ sudo yum -q makecache -y --disablerepo='*' --enablerepo='fdio_master'
163 The *'yum install vpp'* command will install the most recent build on the
164 branch. Run the following command to get the list of images produce by the
167 .. code-block:: console
170 $ sudo yum --showduplicates list vpp* | expand
175 To install the VPP packet engine, run the following command:
177 .. code-block:: console
179 $ sudo yum install vpp
181 The *vpp* RPM depends on the *vpp-lib* and *vpp-selinux-policy*
182 RPMs, so they will be installed as well.
186 The *vpp-selinux-policy* will not enable SELinux on the system. It
187 will install a Custom VPP SELinux policy that will be used if SELinux is
190 There are additional packages that are optional. These packages can be
191 combined with the command above and installed all at once, or installed as
194 .. code-block:: console
196 $ sudo yum install vpp-plugins vpp-devel vpp-api-python vpp-api-lua vpp-api-java
201 Once VPP is installed on the system, to run VPP as a systemd service on CentOS,
202 run the following command:
204 .. code-block:: console
206 $ sudo systemctl start vpp
208 Then to enable VPP to start on system reboot, run the following command:
210 .. code-block:: console
212 $ sudo systemctl enable vpp
214 Outside of running VPP as a systemd service, VPP can be started manually or
215 made to run within GDB for debugging. See :ref:`running` for more details and
216 ways to tailor VPP to a specific system.
219 Uninstall the VPP RPMs
220 ======================
222 To uninstall a VPP RPM, run the following command:
224 .. code-block:: console
226 $ sudo yum autoremove vpp*