blob: 7201452f7e57fc74afc8d60958d7b25cda315022 [file] [log] [blame]
Filip Pytloun4a72d792015-10-06 16:28:32 +02001
2==============
Ales Komarek880f02f2016-01-25 13:19:23 +01003Nova
Filip Pytloun4a72d792015-10-06 16:28:32 +02004==============
5
Jakub Pavlikfcf34f82016-05-20 09:35:51 +02006OpenStack Nova provides a cloud computing fabric controller, supporting a wide
7variety of virtualization technologies, including KVM, Xen, LXC, VMware, and
8more. In addition to its native API, it includes compatibility with the
9commonly encountered Amazon EC2 and S3 APIs.
Filip Pytloun4a72d792015-10-06 16:28:32 +020010
11Sample pillars
12==============
13
14Controller nodes
15----------------
16
17Nova services on the controller node
18
19.. code-block:: yaml
20
21 nova:
22 controller:
23 version: juno
24 enabled: true
25 security_group: true
Lachlan Evensonb72de502016-01-20 15:34:04 -080026 cpu_allocation_ratio: 8.0
27 ram_allocation_ratio: 1.0
Jiri Konecny9344a372016-03-21 19:25:48 +010028 disk_allocation_ratio: 1.0
Jiri Konecnyb5a80e42016-03-22 11:51:01 +010029 workers: 8
Jakub Pavlik617a8962016-09-04 18:50:06 +020030 report_interval: 60
Filip Pytloun4a72d792015-10-06 16:28:32 +020031 bind:
32 public_address: 10.0.0.122
33 public_name: openstack.domain.com
34 novncproxy_port: 6080
35 database:
36 engine: mysql
37 host: 127.0.0.1
38 port: 3306
39 name: nova
40 user: nova
41 password: pwd
42 identity:
43 engine: keystone
44 host: 127.0.0.1
45 port: 35357
46 user: nova
47 password: pwd
48 tenant: service
49 message_queue:
50 engine: rabbitmq
51 host: 127.0.0.1
52 port: 5672
53 user: openstack
54 password: pwd
55 virtual_host: '/openstack'
56 network:
57 engine: neutron
58 host: 127.0.0.1
59 port: 9696
Jakub Pavlik617a8962016-09-04 18:50:06 +020060 extension_sync_interval: 600
Filip Pytloun4a72d792015-10-06 16:28:32 +020061 identity:
62 engine: keystone
63 host: 127.0.0.1
64 port: 35357
65 user: neutron
66 password: pwd
67 tenant: service
68 metadata:
69 password: password
Petr Michalecaa23dc02016-11-29 16:30:25 +010070 audit:
71 enabled: false
Simon Pasquier8683b7a2017-02-03 16:00:16 +010072 osapi_max_limit: 500
Filip Pytloun4a72d792015-10-06 16:28:32 +020073
Jiri Konecnye31f2c52016-04-14 17:16:02 +020074
Filip Pytloun4a72d792015-10-06 16:28:32 +020075Nova services from custom package repository
76
77.. code-block:: yaml
78
79 nova:
80 controller:
81 version: juno
82 source:
83 engine: pkg
84 address: http://...
85 ....
86
Jiri Konecnye31f2c52016-04-14 17:16:02 +020087
88Client-side RabbitMQ HA setup
89
90.. code-block:: yaml
91
92 nova:
93 controller:
94 ....
95 message_queue:
96 engine: rabbitmq
97 members:
98 - host: 10.0.16.1
99 - host: 10.0.16.2
100 - host: 10.0.16.3
101 user: openstack
102 password: pwd
103 virtual_host: '/openstack'
104 ....
105
106
Petr Michalecaa23dc02016-11-29 16:30:25 +0100107Enable auditing filter, ie: CADF
108
109.. code-block:: yaml
110
111 nova:
112 controller:
Simon Pasquier6a3c8f72016-12-19 15:37:24 +0100113 audit:
Petr Michalecaa23dc02016-11-29 16:30:25 +0100114 enabled: true
115 ....
116 filter_factory: 'keystonemiddleware.audit:filter_factory'
117 map_file: '/etc/pycadf/nova_api_audit_map.conf'
118 ....
119
120
Filip Pytloun4a72d792015-10-06 16:28:32 +0200121Compute nodes
122-------------
123
124Nova controller services on compute node
125
126.. code-block:: yaml
127
128 nova:
129 compute:
130 version: juno
131 enabled: true
132 virtualization: kvm
Jiri Broulik70d9e3f2017-02-15 18:37:13 +0100133 availability_zone: availability_zone_01
Filip Pytloun4a72d792015-10-06 16:28:32 +0200134 security_group: true
135 bind:
136 vnc_address: 172.20.0.100
137 vnc_port: 6080
138 vnc_name: openstack.domain.com
139 vnc_protocol: http
140 database:
141 engine: mysql
142 host: 127.0.0.1
143 port: 3306
144 name: nova
145 user: nova
146 password: pwd
147 identity:
148 engine: keystone
149 host: 127.0.0.1
150 port: 35357
151 user: nova
152 password: pwd
153 tenant: service
154 message_queue:
155 engine: rabbitmq
156 host: 127.0.0.1
157 port: 5672
158 user: openstack
159 password: pwd
160 virtual_host: '/openstack'
161 image:
162 engine: glance
163 host: 127.0.0.1
164 port: 9292
165 network:
166 engine: neutron
167 host: 127.0.0.1
168 port: 9696
169 identity:
170 engine: keystone
171 host: 127.0.0.1
172 port: 35357
173 user: neutron
174 password: pwd
175 tenant: service
176 qemu:
177 max_files: 4096
178 max_processes: 4096
179
180Nova services on compute node with OpenContrail
181
182.. code-block:: yaml
183
184 nova:
185 compute:
186 enabled: true
187 ...
188 networking: contrail
189
Jiri Konecnye31f2c52016-04-14 17:16:02 +0200190
Filip Pytloun4a72d792015-10-06 16:28:32 +0200191Nova services on compute node with memcached caching
192
193.. code-block:: yaml
194
195 nova:
196 compute:
197 enabled: true
198 ...
199 cache:
200 engine: memcached
201 members:
202 - host: 127.0.0.1
203 port: 11211
204 - host: 127.0.0.1
205 port: 11211
206
Jiri Konecnye31f2c52016-04-14 17:16:02 +0200207
208Client-side RabbitMQ HA setup
209
210.. code-block:: yaml
211
212 nova:
213 controller:
214 ....
215 message_queue:
216 engine: rabbitmq
217 members:
218 - host: 10.0.16.1
219 - host: 10.0.16.2
220 - host: 10.0.16.3
221 user: openstack
222 password: pwd
223 virtual_host: '/openstack'
224 ....
225
maxstack39e6aca2016-05-04 13:50:13 +0000226
227Nova with ephemeral configured with Ceph
228
229.. code-block:: yaml
230
231 nova:
232 compute:
233 enabled: true
234 ...
235 ceph:
236 ephemeral: yes
237 rbd_pool: nova
238 rbd_user: nova
239 secret_uuid: 03006edd-d957-40a3-ac4c-26cd254b3731
240
241
Jiri Broulik0ce9fc92017-02-01 23:10:40 +0100242Client role
243-----------
244
245Nova flavors
246
247.. code-block:: yaml
248
249 nova:
250 client:
251 enabled: true
252 server:
253 identity:
254 flavor:
Jiri Broulik70d9e3f2017-02-15 18:37:13 +0100255 flavor1:
Jiri Broulik0ce9fc92017-02-01 23:10:40 +0100256 flavor_id: 10
257 ram: 4096
258 disk: 10
259 vcpus: 1
Jiri Broulik70d9e3f2017-02-15 18:37:13 +0100260 flavor2:
261 flavor_id: auto
262 ram: 4096
263 disk: 20
264 vcpus: 2
Jiri Broulik0ce9fc92017-02-01 23:10:40 +0100265 identity1:
266 flavor:
267 ...
268
Jiri Broulik70d9e3f2017-02-15 18:37:13 +0100269
270Availability zones
271
272.. code-block:: yaml
273
274 nova:
275 client:
276 enabled: true
277 server:
278 identity:
279 availability_zones:
280 - availability_zone_01
281 - availability_zone_02
282
Petr Jedinýd855ef22017-03-06 22:24:33 +0100283SR-IOV
Jakub Pavlik39a05942017-02-13 23:03:08 +0100284------
285
286Add PciPassthroughFilter into scheduler filters and NICs on specific compute nodes.
287
288.. code-block:: yaml
289
290 nova:
291 controller:
292 sriov: true
293 scheduler_default_filters: "DifferentHostFilter,RetryFilter,AvailabilityZoneFilter,RamFilter,CoreFilter,DiskFilter,ComputeFilter,ComputeCapabilitiesFilter,ImagePropertiesFilter,ServerGroupAntiAffinityFilter,ServerGroupAffinityFilter,PciPassthroughFilter"
294
295 nova:
296 compute:
297 sriov:
298 nic_one:
299 devname: eth1
300 physical_network: physnet1
301
Jakub Pavlik26fb85c2017-02-16 22:29:22 +0100302CPU pinning & Hugepages
303-----------------------
304
305CPU pinning of virtual machine instances to dedicated physical CPU cores.
306Hugepages mount point for libvirt.
307
308.. code-block:: yaml
309
310 nova:
311 controller:
312 scheduler_default_filters: "DifferentHostFilter,RetryFilter,AvailabilityZoneFilter,RamFilter,CoreFilter,DiskFilter,ComputeFilter,ComputeCapabilitiesFilter,ImagePropertiesFilter,ServerGroupAntiAffinityFilter,ServerGroupAffinityFilter,NUMATopologyFilter,AggregateInstanceExtraSpecsFilter"
313
314 nova:
315 compute:
316 vcpu_pin_set: 2,3,4,5
317 hugepages:
318 mount_points:
319 - path: /mnt/hugepages_1GB
320 - path: /mnt/hugepages_2MB
Jiri Broulik0ce9fc92017-02-01 23:10:40 +0100321
Jakub Pavlikfcf34f82016-05-20 09:35:51 +0200322Documentation and Bugs
323============================
Jiri Konecnye31f2c52016-04-14 17:16:02 +0200324
Jakub Pavlikfcf34f82016-05-20 09:35:51 +0200325To learn how to deploy OpenStack Salt, consult the documentation available
326online at:
Jiri Konecnye31f2c52016-04-14 17:16:02 +0200327
Jakub Pavlikfcf34f82016-05-20 09:35:51 +0200328 https://wiki.openstack.org/wiki/OpenStackSalt
Filip Pytloun4a72d792015-10-06 16:28:32 +0200329
Jakub Pavlikfcf34f82016-05-20 09:35:51 +0200330In the unfortunate event that bugs are discovered, they should be reported to
331the appropriate bug tracker. If you obtained the software from a 3rd party
332operating system vendor, it is often wise to use their own bug tracker for
333reporting problems. In all other cases use the master OpenStack bug tracker,
334available at:
335
336 http://bugs.launchpad.net/openstack-salt
337
338Developers wishing to work on the OpenStack Salt project should always base
339their work on the latest formulas code, available from the master GIT
340repository at:
341
342 https://git.openstack.org/cgit/openstack/salt-formula-nova
343
344Developers should also join the discussion on the IRC list, at:
345
maxstack39e6aca2016-05-04 13:50:13 +0000346 https://wiki.openstack.org/wiki/Meetings/openstack-salt
Filip Pytloun5bc9e9f2017-02-02 13:05:40 +0100347
348Documentation and Bugs
349======================
350
351To learn how to install and update salt-formulas, consult the documentation
352available online at:
353
354 http://salt-formulas.readthedocs.io/
355
356In the unfortunate event that bugs are discovered, they should be reported to
357the appropriate issue tracker. Use Github issue tracker for specific salt
358formula:
359
360 https://github.com/salt-formulas/salt-formula-nova/issues
361
362For feature requests, bug reports or blueprints affecting entire ecosystem,
363use Launchpad salt-formulas project:
364
365 https://launchpad.net/salt-formulas
366
367You can also join salt-formulas-users team and subscribe to mailing list:
368
369 https://launchpad.net/~salt-formulas-users
370
371Developers wishing to work on the salt-formulas projects should always base
372their work on master branch and submit pull request against specific formula.
373
374 https://github.com/salt-formulas/salt-formula-nova
375
376Any questions or feedback is always welcome so feel free to join our IRC
377channel:
378
379 #salt-formulas @ irc.freenode.net