Update installation procedure for Fuel Installer
[sdnvpn.git] / docs / release / installation / index.rst
1 .. This work is licensed under a Creative Commons Attribution 4.0 International License.
2 .. SPDX-License-Identifier: CC-BY-4.0
3 .. (c) OPNFV, Ericsson AB and others.
4
5 ============================
6 SDN VPN feature installation
7 ============================
8
9 Hardware requirements
10 =====================
11
12 The SDNVPN scenarios can be deployed as a bare-metal or a virtual
13 environment on a single host.
14
15
16 Bare metal deployment on Pharos Lab
17 -----------------------------------
18
19 Hardware requirements for bare-metal deployments of the OPNFV
20 infrastructure are specified by the Pharos project. The Pharos project
21 provides an OPNFV hardware specification for configuring your hardware
22 at: http://artifacts.opnfv.org/pharos/docs/pharos-spec.html.
23
24
25 Virtual deployment on a single server
26 -------------------------------------
27
28 To perform a virtual deployment of an OPNFV scenario on a single host,
29 that host has to meet the hardware requirements outlined in the <missing
30 spec>.
31
32 When ODL is used as an SDN Controller in an OPNFV virtual deployment, ODL is
33 running on the OpenStack Controller VMs. It is therefore recommended to
34 increase the amount of resources for these VMs. ODL is running in a separate
35 VM in case of Fuel, thus, the below recommendation is not applicable when
36 deploying the scenario on Fuel installer.
37
38 Our recommendation is to have 2 additional virtual cores and 8GB
39 additional virtual memory on top of the normally recommended
40 configuration.
41
42 Together with the commonly used recommendation this sums up to:
43 ::
44
45  6 virtual CPU cores
46  16 GB virtual memory
47
48 The installation section below has more details on how to configure this.
49
50 Installation using Fuel installer
51 =================================
52
53 Preparing the host to install Fuel by script
54 ============================================
55 .. Not all of these options are relevant for all scenarios. I advise following the
56 .. instructions applicable to the deploy tool used in the scenario.
57
58 Before starting the installation of the os-odl-bgpvpn-noha scenario the following
59 preparation must be done on the machine that will host the Fuel VM.
60
61
62 Installation of required packages
63 ---------------------------------
64 To be able to run the installation of the basic OPNFV fuel installation the
65 Jumphost (or the host which serves the VMs for the virtual deployment) needs to
66 install the following packages:
67 ::
68
69  sudo apt-get install -y git make curl libvirt-bin qemu-kvm \
70                          python-pip python-dev
71
72 Download the source code and artifact
73 -------------------------------------
74 To be able to install the scenario os-odl-bgpvpn one can follow the way
75 CI is deploying the scenario.
76 First of all the opnfv-fuel repository needs to be cloned:
77 ::
78
79  git clone ssh://<user>@gerrit.opnfv.org:29418/fuel
80
81 To check out a specific version of OPNFV, checkout the appropriate branch:
82 ::
83
84  cd fuel
85  git checkout stable/gambia
86
87 Simplified scenario deployment procedure using Fuel
88 ===================================================
89
90 This section describes the installation of the
91 os-odl-bgpvpn-noha OPNFV reference platform stack across a server cluster
92 or a single host as a virtual deployment.
93
94 Installation procedures
95 -----------------------
96
97 This chapter describes how to deploy the scenario with the use of deploy.sh script,
98 which is also used by the OPNFV CI system. Script can be found in the Fuel
99 repository.
100
101 Full automatic virtual deployment NO High Availability Mode
102 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
103
104 The following command will deploy the SDNVPN scenario in its non-high-availability flavor.
105 ::
106
107  ci/deploy.sh -l <lab_name> \
108               -p <pod_name> \
109               -b <URI to configuration repo containing the PDF file> \
110               -s os-odl-bgpvpn-noha \
111               -D \
112               -S <Storage directory for disk images> |& tee deploy.log
113
114 Virtual deployment using Apex installer
115 =======================================
116
117 Prerequisites
118 -------------
119
120 For Virtual Apex deployment a host with Centos 7 is needed. This installation
121 was tested on centos-release-7-2.1511.el7.centos.2.10.x86_64 however any other
122 Centos 7 version should be fine.
123
124 Build and Deploy
125 ----------------
126
127 Download the Apex repo from opnfv gerrit and checkout stable/gambia:
128 ::
129
130  git clone ssh://<user>@gerrit.opnfv.org:29418/apex
131  cd apex
132  git checkout stable/gambia
133
134 In apex/contrib you will find simple_deploy.sh:
135 ::
136
137  #!/bin/bash
138  set -e
139  apex_home=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )/../
140  export CONFIG=$apex_home/build
141  export LIB=$apex_home/lib
142  export RESOURCES=$apex_home/.build/
143  export PYTHONPATH=$PYTHONPATH:$apex_home/lib/python
144  $apex_home/ci/dev_dep_check.sh || true
145  $apex_home/ci/clean.sh
146  pushd $apex_home/build
147  make clean
148  make undercloud
149  make overcloud-opendaylight
150  popd
151  pushd $apex_home/ci
152  echo "All further output will be piped to $PWD/nohup.out"
153  (nohup ./deploy.sh -v -n $apex_home/config/network/network_settings.yaml -d $apex_home/config/deploy/os-odl_l3-nofeature-noha.yaml &)
154  tail -f nohup.out
155  popd
156
157 This script will:
158
159 - "dev_dep_check.sh" install all required packages.
160 - "clean.sh" clean existing deployments
161 - "make clean" clean existing builds
162 - "make undercloud" building the undercloud image
163 - "make overcloud-opendaylight" build the overcloud image and convert that to a overcloud with opendaylight image
164 - "deploy.sh" deploy the os-odl_l3-nofeature-nohs.yaml scenario
165
166 Edit the script and change the scenario to os-odl-bgpvpn-noha.yaml. More scenraios can be found:
167 ./apex/config/deploy/
168
169 Execute the script in a own screen process:
170 ::
171
172  yum install -y screen
173  screen -S deploy
174  bash ./simple_deploy.sh
175
176 Accessing the undercloud
177 ^^^^^^^^^^^^^^^^^^^^^^^^
178 Determin the mac address of the undercloud vm:
179 ::
180
181  # virsh domiflist undercloud
182  -> Default network
183  Interface  Type       Source     Model       MAC
184  -------------------------------------------------------
185  vnet0      network    default    virtio      00:6a:9d:24:02:31
186  vnet1      bridge     admin      virtio      00:6a:9d:24:02:33
187  vnet2      bridge     external   virtio      00:6a:9d:24:02:35
188  # arp -n |grep 00:6a:9d:24:02:31
189  192.168.122.34           ether   00:6a:9d:24:02:31   C                     virbr0
190  # ssh stack@192.168.122.34
191  -> no password needed (password stack)
192
193 List overcloud deployment info:
194 ::
195
196  # source stackrc
197  # # Compute and controller:
198  # nova list
199  # # Networks
200  # neutron net-list
201
202 List overcloud openstack info:
203 ::
204
205  # source overcloudrc
206  # nova list
207  # ...
208
209
210 Access the overcloud hosts
211 ^^^^^^^^^^^^^^^^^^^^^^^^^^
212 On the undercloud:
213 ::
214
215  # . stackrc
216  # nova list
217  # ssh heat-admin@<ip-of-host>
218  -> there is no password the user has direct sudo rights.