summaryrefslogtreecommitdiffstats
path: root/book-enea-nfv-core-installation-guide/doc/post_deploy_config.xml
diff options
context:
space:
mode:
Diffstat (limited to 'book-enea-nfv-core-installation-guide/doc/post_deploy_config.xml')
-rw-r--r--book-enea-nfv-core-installation-guide/doc/post_deploy_config.xml119
1 files changed, 0 insertions, 119 deletions
diff --git a/book-enea-nfv-core-installation-guide/doc/post_deploy_config.xml b/book-enea-nfv-core-installation-guide/doc/post_deploy_config.xml
deleted file mode 100644
index 9875f58..0000000
--- a/book-enea-nfv-core-installation-guide/doc/post_deploy_config.xml
+++ /dev/null
@@ -1,119 +0,0 @@
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<chapter id="post_deploy_config">
3 <title>Post-Deploy Configurations</title>
4
5 <para>For running DPDK applications it is useful to isolate the available
6 CPUs between the Linux kernel, <literal>ovs-dpdk</literal> and
7 <literal>nova-compute</literal>.</para>
8
9 <para>All of the Hardware nodes can be accessed through
10 <literal>ssh</literal> from the Fuel console. Simply create an
11 <literal>ssh</literal> connection to Fuel (e.g. root@10.20.0.2 pwd: r00tme)
12 and run the following command to get a list of the servers and the IPs where
13 they can be reached.</para>
14
15 <programlisting>[root@fuel ~]# fuel node
16id | status | name | cluster | ip | mac | roles /
17 | pending_roles | online | group_id
18---+--------+------------------+---------+-----------+-------------------+----------/
19-----------------+---------------+--------+---------
20 4 | ready | Untitled (8c:c2) | 1 | 10.20.0.6 | 68:05:ca:46:8c:c2 | ceph-osd,/
21 compute | | 1 | 1
22 2 | ready | Untitled (8c:45) | 1 | 10.20.0.5 | 68:05:ca:46:8c:45 | controller,/
23 mongo, tacker | | 1 | 1
24 1 | ready | Untitled (8c:d4) | 1 | 10.20.0.4 | 68:05:ca:46:8c:d4 | ceph-osd,/
25 controller | | 1 | 1
26 5 | ready | Untitled (8c:c9) | 1 | 10.20.0.7 | 68:05:ca:46:8c:c9 | ceph-osd,/
27 compute | | 1 | 1
28 3 | ready | Untitled (8b:64) | 1 | 10.20.0.3 | 68:05:ca:46:8b:64 | controller,/
29 vitrage | | 1 | 1
30[root@fuel ~]# | | 1 | 2
31[root@fuel ~]# ssh node-3
32Warning: Permanently added 'node-3' (ECDSA) to the list of known hosts.
33
34The programs included with the Debian GNU/Linux system are free software;
35the exact distribution terms for each program are described in the
36individual files in /usr/share/doc/*/copyright.
37
38Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
39permitted by applicable law.
40Last login: Thu Aug 24 19:40:06 2017 from 10.20.0.2
41root@node-3:~#</programlisting>
42
43 <section id="cpu_isolation_config">
44 <title>CPU isolation configuration</title>
45
46 <para>It is a good idea to isolate the cores that will perform packet
47 processing and run QEMU. The example below shows how to set
48 <literal>isolcpus</literal> on a compute node that has one Intel Xeon
49 processor E5-2660 v4, 14 cores, and 28 hyper-threaded cores.</para>
50
51 <programlisting>root@node-3:~# cat /etc/default/grub | head -n 10
52# If you change this file, run 'update-grub' afterwards to update
53# /boot/grub/grub.cfg.
54# For full documentation of the options in this file, see:
55# info -f grub -n 'Simple configuration'
56
57GRUB_DEFAULT="Advanced options for Ubuntu, with Linux 4.4.50-rt62nfv"
58GRUB_TIMEOUT=10
59GRUB_DISTRIBUTOR='lsb_release -i -s 2 /dev/null || echo Debian'
60GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
61GRUB_CMDLINE_LINUX=" console=tty0 net.ifnames=1 biosdevname=0 rootdelay=90 /
62nomodeset hugepagesz=2M hugepages=1536 isolcpus=10-47,58-95"
63root@node-6:~# update-grub
64Generating grub configuration file ...
65Found linux image: /boot/vmlinuz- 4.10.0-9924-generic
66Found initrd image: /boot/initrd.img- 4.10.0-9924-generic
67done
68root@node-3:~# reboot
69Connection to node-3 closed by remote host.
70Connection to node-3 closed.</programlisting>
71 </section>
72
73 <section id="nova_config">
74 <title>Nova Compute configurations</title>
75
76 <para>In order to isolate the OpenStack instances on dedicated CPUs, nova
77 must be configured with <literal>vcpu_pin_set</literal>. Please refer to
78 the Nova configuration guide for more information.</para>
79
80 <para>The example below applies again, to an Intel Xeon processor E5-2660
81 v4. Here the <literal>vcpu_pin_set</literal> is configured so that a pair
82 of thread siblings are chosen.</para>
83
84 <programlisting>root@node-3:~# cat /etc/nova/nova.conf | grep vcpu_pin_set
85vcpu_pin_set = "16-47,64-95"
86root@node-3:~#</programlisting>
87
88 <para>After modifying Nova configuration options on the Compute nodes, it
89 is necessary to restart <literal>nova-compute</literal> to put them into
90 effect.</para>
91
92 <programlisting>root@node-3:~# systemctl restart nova-compute
93root@node-3:~#</programlisting>
94 </section>
95
96 <section id="ovs_dpdk">
97 <title>OpenvSwitch with DPDK configuration</title>
98
99 <para>Enea NFV Core 1.0 comes with OpenvSwitch as the virtual switch
100 option. In the selected scenario, OpenvSwitch also uses DPDK for passing
101 traffic to and from the VMs. One of the features that comes with
102 OpenvSwitch v2.7.0 is the ability to set <literal>pmd-cpu-mask</literal>.
103 This effectively isolates userspace PMD (poll-mode-drivers) on the
104 specified set of CPUs.</para>
105
106 <para>By default, the OpenvSwitch that comes installed on the compute
107 nodes has no <literal>pmd-cpu-mask</literal>. There is an option to set it
108 from the Fuel menu before deploy, but it can always be manually set
109 post-deploy as follows:</para>
110
111 <programlisting>root@node-3:~# ovs-vsctl set Open_vSwitch . other_config:pmd-cpu-mask=7e0
112root@node-3:~# ovs-vsctl get Open_vSwitch . other_config:pmd-cpu-mask
113"7e0"
114root@node-3:~#</programlisting>
115
116 <para>No restart is required, OpenvSwitch automatically spawns new pmd
117 threads and sets the affinity as necessary.</para>
118 </section>
119</chapter> \ No newline at end of file