blob: e69bc848df6894f03bab26e783a0556ce161e3ed [file] [log] [blame]
John DeNisco06dcd452018-07-26 12:45:10 -04001.. _centos:
2
3.. toctree::
4
jdenisco569a2782018-11-09 15:20:26 -05005Setup the FD.io Repository - Centos 7
John DeNisco06dcd452018-07-26 12:45:10 -04006=====================================
7
8Update the OS
9-------------
10
John DeNiscoce96dda2018-08-14 16:04:09 -040011Before starting the repository setup, it is a good idea to first update and upgrade
jdenisco569a2782018-11-09 15:20:26 -050012the OS; run the following commands to update the OS and get some packages.
John DeNisco06dcd452018-07-26 12:45:10 -040013
14.. code-block:: console
15
16 $ sudo yum update
jdenisco569a2782018-11-09 15:20:26 -050017 $ sudo yum install pygpgme yum-utils
John DeNisco06dcd452018-07-26 12:45:10 -040018
19
jdenisco569a2782018-11-09 15:20:26 -050020Package Cloud Repository
21^^^^^^^^^^^^^^^^^^^^^^^^
John DeNisco06dcd452018-07-26 12:45:10 -040022
jdenisco569a2782018-11-09 15:20:26 -050023Build artifacts are also posted to a packagecloud.io Repository. This includes
24official 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
26version needed. Below are some common examples of the content needed:
John DeNisco06dcd452018-07-26 12:45:10 -040027
28
29VPP Latest Release
30""""""""""""""""""
31
32To allow *'yum'* access to the official VPP releases, create the file
John DeNiscoce96dda2018-08-14 16:04:09 -040033*'/etc/yum.repos.d/fdio-release.repo'* with the following content.
John DeNisco06dcd452018-07-26 12:45:10 -040034
35.. code-block:: console
36
37 $ cat /etc/yum.repos.d/fdio-release.repo
jdenisco569a2782018-11-09 15:20:26 -050038 [fdio_release]
39 name=fdio_release
40 baseurl=https://packagecloud.io/fdio/release/el/7/$basearch
41 repo_gpgcheck=1
John DeNisco06dcd452018-07-26 12:45:10 -040042 gpgcheck=0
jdenisco569a2782018-11-09 15:20:26 -050043 enabled=1
44 gpgkey=https://packagecloud.io/fdio/release/gpgkey
45 sslverify=1
46 sslcacert=/etc/pki/tls/certs/ca-bundle.crt
47 metadata_expire=300
48
49 [fdio_release-source]
50 name=fdio_release-source
51 baseurl=https://packagecloud.io/fdio/release/el/7/SRPMS
52 repo_gpgcheck=1
53 gpgcheck=0
54 enabled=1
55 gpgkey=https://packagecloud.io/fdio/release/gpgkey
56 sslverify=1
57 sslcacert=/etc/pki/tls/certs/ca-bundle.crt
58 metadata_expire=300
59
60Update your local yum cache.
61
62.. code-block:: console
63
64 $ sudo yum -q makecache -y --disablerepo='*' --enablerepo='fdio_release'
John DeNisco06dcd452018-07-26 12:45:10 -040065
66The *'yum install vpp'* command will install the most recent release. To
67install older releases, run the following command to get the list of releases
John DeNiscoce96dda2018-08-14 16:04:09 -040068provided.
John DeNisco06dcd452018-07-26 12:45:10 -040069
70.. code-block:: console
71
72 $ sudo yum --showduplicates list vpp* | expand
73
John DeNisco06dcd452018-07-26 12:45:10 -040074VPP Stable Branch
John DeNiscoce96dda2018-08-14 16:04:09 -040075"""""""""""""""""""
John DeNisco06dcd452018-07-26 12:45:10 -040076
77To allow *yum* access to the build artifacts for a VPP stable branch, create
John DeNiscoce96dda2018-08-14 16:04:09 -040078the file *'/etc/yum.repos.d/fdio-release.repo'* with the following content.
John DeNisco06dcd452018-07-26 12:45:10 -040079
80.. code-block:: console
81
82 $ cat /etc/yum.repos.d/fdio-release.repo
jdenisco569a2782018-11-09 15:20:26 -050083 [fdio_1810]
84 name=fdio_1810
85 baseurl=https://packagecloud.io/fdio/1810/el/7/$basearch
86 repo_gpgcheck=1
John DeNisco06dcd452018-07-26 12:45:10 -040087 gpgcheck=0
jdenisco569a2782018-11-09 15:20:26 -050088 enabled=1
89 gpgkey=https://packagecloud.io/fdio/1810/gpgkey
90 sslverify=1
91 sslcacert=/etc/pki/tls/certs/ca-bundle.crt
92 metadata_expire=300
John DeNisco06dcd452018-07-26 12:45:10 -040093
jdenisco569a2782018-11-09 15:20:26 -050094 [fdio_1810-source]
95 name=fdio_1810-source
96 baseurl=https://packagecloud.io/fdio/1810/el/7/SRPMS
97 repo_gpgcheck=1
98 gpgcheck=0
99 enabled=1
100 gpgkey=https://packagecloud.io/fdio/1810/gpgkey
101 sslverify=1
102 sslcacert=/etc/pki/tls/certs/ca-bundle.crt
103 metadata_expire=300
104
105For other stable branches, replace the *'1810'* from the above content with the
John DeNisco06dcd452018-07-26 12:45:10 -0400106desired release. Examples: 1606, 1609, 1701, 1704, 1707, 1710, 1804, 1807
107
jdenisco569a2782018-11-09 15:20:26 -0500108Update your local yum cache.
109
110.. code-block:: console
111
112 $ sudo yum -q makecache -y --disablerepo='*' --enablerepo='fdio_1810'
113
John DeNisco06dcd452018-07-26 12:45:10 -0400114The *'yum install vpp'* command will install the most recent build on the
115branch, not the latest offical release. Run the following command to get the
116list of images produce by the branch:
117
118.. code-block:: console
119
120 $ sudo yum --showduplicates list vpp* | expand
121
John DeNisco06dcd452018-07-26 12:45:10 -0400122
123VPP Master Branch
John DeNiscoce96dda2018-08-14 16:04:09 -0400124"""""""""""""""""""
John DeNisco06dcd452018-07-26 12:45:10 -0400125
126To allow *yum* access to the nightly builds from the VPP master branch, create
John DeNiscoce96dda2018-08-14 16:04:09 -0400127the file *'/etc/yum.repos.d/fdio-release.repo'* with the following content.
John DeNisco06dcd452018-07-26 12:45:10 -0400128
129.. code-block:: console
130
131 $ cat /etc/yum.repos.d/fdio-release.repo
jdenisco569a2782018-11-09 15:20:26 -0500132 [fdio_master]
133 name=fdio_master
134 baseurl=https://packagecloud.io/fdio/master/el/7/$basearch
135 repo_gpgcheck=1
John DeNisco06dcd452018-07-26 12:45:10 -0400136 gpgcheck=0
jdenisco569a2782018-11-09 15:20:26 -0500137 enabled=1
138 gpgkey=https://packagecloud.io/fdio/master/gpgkey
139 sslverify=1
140 sslcacert=/etc/pki/tls/certs/ca-bundle.crt
141 metadata_expire=300
142
143 [fdio_master-source]
144 name=fdio_master-source
145 baseurl=https://packagecloud.io/fdio/master/el/7/SRPMS
146 repo_gpgcheck=1
147 gpgcheck=0
148 enabled=1
149 gpgkey=https://packagecloud.io/fdio/master/gpgkey
150 sslverify=1
151 sslcacert=/etc/pki/tls/certs/ca-bundle.crt
152 metadata_expire=300
153
154Update your local yum cache.
155
156.. code-block:: console
157
158 $ sudo yum -q makecache -y --disablerepo='*' --enablerepo='fdio_master'
John DeNisco06dcd452018-07-26 12:45:10 -0400159
160The *'yum install vpp'* command will install the most recent build on the
161branch. Run the following command to get the list of images produce by the
John DeNiscoce96dda2018-08-14 16:04:09 -0400162branch.
John DeNisco06dcd452018-07-26 12:45:10 -0400163
164.. code-block:: console
165
166 $ sudo yum --showduplicates list vpp* | expand
167
John DeNisco06dcd452018-07-26 12:45:10 -0400168Install VPP RPMs
169================
170
John DeNiscoce96dda2018-08-14 16:04:09 -0400171To install the VPP packet engine, run the following command:
John DeNisco06dcd452018-07-26 12:45:10 -0400172
173.. code-block:: console
174
175 $ sudo yum install vpp
176
John DeNiscoce96dda2018-08-14 16:04:09 -0400177The *vpp* RPM depends on the *vpp-lib* and *vpp-selinux-policy*
John DeNisco06dcd452018-07-26 12:45:10 -0400178RPMs, so they will be installed as well.
179
180.. note::
181
John DeNiscoce96dda2018-08-14 16:04:09 -0400182 The *vpp-selinux-policy* will not enable SELinux on the system. It
John DeNisco06dcd452018-07-26 12:45:10 -0400183 will install a Custom VPP SELinux policy that will be used if SELinux is
184 enabled at any time.
185
186There are additional packages that are optional. These packages can be
187combined with the command above and installed all at once, or installed as
188needed:
189
190.. code-block:: console
191
192 $ sudo yum install vpp-plugins vpp-devel vpp-api-python vpp-api-lua vpp-api-java
193
194Starting VPP
195============
196
197Once VPP is installed on the system, to run VPP as a systemd service on CentOS,
John DeNiscoce96dda2018-08-14 16:04:09 -0400198run the following command:
John DeNisco06dcd452018-07-26 12:45:10 -0400199
200.. code-block:: console
201
202 $ sudo systemctl start vpp
203
John DeNiscoce96dda2018-08-14 16:04:09 -0400204Then to enable VPP to start on system reboot, run the following command:
John DeNisco06dcd452018-07-26 12:45:10 -0400205
206.. code-block:: console
207
208 $ sudo systemctl enable vpp
209
John DeNisco06dcd452018-07-26 12:45:10 -0400210Outside of running VPP as a systemd service, VPP can be started manually or
211made to run within GDB for debugging. See :ref:`running` for more details and
212ways to tailor VPP to a specific system.
213
214
215Uninstall the VPP RPMs
216======================
217
John DeNiscoce96dda2018-08-14 16:04:09 -0400218To uninstall a VPP RPM, run the following command:
219
John DeNisco06dcd452018-07-26 12:45:10 -0400220.. code-block:: console
221
222 $ sudo yum autoremove vpp*