Various Document edits to fix formatting issues and add contents
[pharos.git] / docs / pharos-spec.rst
1 Pharos Specification
2 =====================
3
4 .. contents:: Table of Contents
5    :backlinks: none
6
7 Objectives / Scope
8 -------------------
9
10 The Pharos specification defines the OPNFV hardware environment upon which the OPNFV Arno
11 platform release can be deployed on and tested. This specification defines:
12
13 - A secure, scalable, standard and HA environment
14 - Supports the full Arno deployment lifecycle (this requires a bare metal environment)
15 - Supports functional and performance testing of the Arno release
16 - Provides mechanisms and procedures for secure remote access to the test environment
17
18 Deploying Arno in a Virtualized environment is possible and will be useful, however it does not
19 provide a fully featured deployment and test environment for the Arno release of OPNFV.
20
21 The high level architecture is outlined in the following diagram:
22
23 .. image:: images/pharos-archi1.jpg
24
25 A Pharos compliant OPNFV test-bed environment provides
26 ------------------------------------------------------
27
28 - One CentOS 7 jump server on which the virtualized Openstack/OPNFV installer runs
29 - In the Arno release you may select a deployment toolchain to deploy from the jump server from the Foreman and Fuel ISO images.
30 - 5 compute / controller nodes (`BGS <https://wiki.opnfv.org/get_started/get_started_work_environment>`_ requires 5 nodes)
31 - A configured network topology allowing for LOM, Admin, Public, Private, and Storage Networks
32 - Remote access as defined by the Jenkins slave configuration guide http://artifacts.opnfv.org/arno.2015.1.0/docs/opnfv-jenkins-slave-connection.arno.2015.1.0.pdf
33
34 Hardware requirements
35 ---------------------
36
37 **Servers**
38
39 CPU:
40
41 * Intel Xeon E5-2600v2 Series (Ivy Bridge and newer, or similar)
42
43 Local Storage Configuration:
44
45 Below describes the minimum for the Pharos spec, which is designed to provide enough capacity for a
46 reasonably functional environment. Additional and/or faster disks are nice to have and may produce
47 a better result.
48
49 * Disks: 2 x 1TB + 1 x 100GB SSD
50 * The first 1TB HDD should be used for OS & additional software/tool installation
51 * The second 1TB HDD configured for CEPH object storage
52 * Finally, the 100GB SSD should be used as the CEPH journal
53 * Performance testing requires a mix of compute nodes that have CEPH(swift+Cinder) and without CEPH storage
54 * Virtual ISO boot capabilities or a separate PXE boot server (DHCP/tftp or Cobbler)
55
56 Memory:
57
58 * 32G RAM Minimum
59
60 Power Supply Single
61
62 * Single power supply acceptable (redundant power not required/nice to have)
63
64 Provisioning the jump server
65 ----------------------------
66
67 1. Obtain CentOS 7 Minimal ISO and install
68
69   ``wget http://mirrors.kernel.org/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-1503-01.iso``
70
71 2. Set parameters appropriate for your environment during installation
72
73 3. Disable NetworkManager
74
75   ``systemctl disable NetworkManager``
76
77 4. Configure your /etc/sysconfig/network-scripts/ifcfg-* files for your network
78
79 5. Restart networking
80
81   ``service network restart``
82
83 6. Edit /etc/resolv.conf and add a nameserver
84
85   ``vi /etc/resolv.conf``
86
87 7. Install libvirt & kvm
88
89   ``yum -y update``
90   ``yum -y install kvm qemu-kvm libvirt``
91   ``systemctl enable libvirtd``
92
93 8. Reboot:
94
95   ``shutdown -r now``
96
97 9. If you wish to avoid annoying delay when use ssh to log in, disable DNS lookups:
98
99   ``vi /etc/ssh/sshd_config``
100   Uncomment "UseDNS yes", change 'yes' to 'no'.
101   Save
102
103 10. Restart sshd
104
105   ``systemctl restart sshd``
106
107 11. Install virt-install
108
109   ``yum -y install virt-install``
110
111 12. Begin the installation of the Arno release
112
113   Download your preferred ISO from the `OPNFV dowloads page <http://www.opnfv.org/software/download>`_
114   and follow the associated installation instructions.
115
116 Remote management
117 ------------------
118
119 Remote access
120 ^^^^^^^^^^^^^
121
122 - Remote access is required for …
123
124   1. Developers to access deploy/test environments (credentials to be issued per POD / user)
125   2. Connection of each environment to Jenkins master hosted by Linux Foundation for automated deployment and test
126
127 - OpenVPN is generally used for remote however community hosted labs may vary due to company security rules
128 - POD access rules / restrictions …
129
130   - Refer to individual test-bed as each company may have different access rules and acceptable usage policies
131
132 - Basic requirement is for SSH sessions to be established (initially on jump server)
133 - Majority of packages installed on a system (tools or applications) will be pulled from an external repo so this scenario must be accomodated.
134
135 Firewall rules should include
136
137 - SSH sessions
138 - Jenkins sessions
139
140 Lights-out Management:
141
142 - Out-of-band management for power on/off/reset and bare-metal provisioning
143 - Access to server is through lights-out-management tool and/or a serial console
144 - Intel lights-out ⇒ RMM http://www.intel.com/content/www/us/en/server-management/intel-remote-management-module.html
145 - HP lights-out ⇒ ILO http://www8.hp.com/us/en/products/servers/ilo/index.html
146 - CISCO lights-out ⇒ UCS https://developer.cisco.com/site/ucs-dev-center/index.gsp
147 - Dell lights-out  ⇒ IDRAC  http://en.community.dell.com/techcenter/systems-management/w/wiki/3204.dell-remote-access-controller-drac-idrac
148
149 Linux Foundation - VPN service for accessing Lights-Out Management (LOM) infrastructure for the UCS-M hardware
150
151 - People with admin access to LF infrastructure:
152
153 1. amaged@cisco.com
154 2. cogibbs@cisco.com
155 3. daniel.smith@ericsson.com
156 4. dradez@redhat.com
157 5. fatih.degirmenci@ericsson.com
158 6. fbrockne@cisco.com
159 7. jonas.bjurel@ericsson.com
160 8. jose.lausuch@ericsson.com
161 9. joseph.gasparakis@intel.com
162 10. morgan.richomme@orange.com
163 11. pbandzi@cisco.com
164 12. phladky@cisco.com
165 13. stefan.k.berg@ericsson.com
166 14. szilard.cserey@ericsson.com
167 15. trozet@redhat.com
168
169 The people who require VPN access must have a valid PGP key bearing a valid signature from one of
170 these three people. When issuing OpenVPN credentials, LF will be sending TLS certificates and
171 2-factor authentication tokens, encrypted to each recipient's PGP key.
172
173 Networking
174 -----------
175
176 Test-bed network
177 ^^^^^^^^^^^^^^^^
178
179 * 24 or 48 Port TOR Switch
180 * NICS - 1GE, 10GE - per server can be on-board or PCI-e
181 * Connectivity for each data/control network is through a separate NIC. This simplifies Switch Management however requires more NICs on the server and also more switch ports
182 * Lights-out network can share with Admin/Management
183
184 Network Interfaces
185 ^^^^^^^^^^^^^^^^^^
186
187 * Option I: 4x1G Control, 2x40G Data, 48 Port Switch
188
189   * 1 x 1G for ILMI (Lights out Management)
190   * 1 x 1G for Admin/PXE boot
191   * 1 x 1G for control Plane connectivity
192   * 1 x 1G for storage
193   * 2 x 40G (or 10G) for data network (redundancy, NIC bonding, High bandwidth testing)
194
195 * Option II: 1x1G Control, 2x 40G (or 10G) Data, 24 Port Switch
196
197   * Connectivity to networks is through VLANs on the Control NIC. Data NIC used for VNF traffic and storage traffic segmented through VLANs
198
199 * Option III: 2x1G Control, 2x10G Data, 2x40G Storage, 24 Port Switch
200
201   * Data NIC used for VNF traffic, storage NIC used for control plane and Storage segmented through VLANs (separate host traffic from VNF)
202   * 1 x 1G for IPMI
203   * 1 x 1G for Admin/PXE boot
204   * 2 x 10G for control plane connectivity/Storage
205   * 2 x 40G (or 10G) for data network
206
207 Documented configuration to include:
208 - Subnet, VLANs (may be constrained by existing lab setups or rules)
209 - IPs
210 - Types of NW - lights-out, public, private, admin, storage
211 - May be special NW requirements for performance related projects
212 - Default gateways
213
214 Controller node bridge topology overview
215
216 .. image:: images/bridge1.png
217
218 compute node bridge topology overview
219
220 .. image:: images/bridge2.png
221
222
223 Architecture
224 -------------
225
226 Network Diagram
227 ^^^^^^^^^^^^^^^
228
229 The Pharos architecture may be described as follow: Figure 1: Standard Deployment Environment
230
231 .. image:: images/opnfv-pharos-diagram-v01.jpg
232
233 Figure 1: Standard Deployment Environment
234
235
236 Sample Network Drawings
237 -----------------------
238
239 Files for documenting lab network layout. These were contributed as Visio VSDX format compressed
240 as a ZIP file. Here is a sample of what the visio looks like.
241
242 Download the visio zip file here:
243 `opnfv-example-lab-diagram.vsdx.zip <https://wiki.opnfv.org/_media/opnfv-example-lab-diagram.vsdx.zip>`_
244
245 .. image:: images/opnfv-example-lab-diagram.png
246
247 :Authors: Trevor Cooper (Intel)
248 :Version: 1.0