blob: e8e633f8f1881c262917c90dee9865a6d444fdf3 [file] [log] [blame]
Aleš Komárek41e82312017-04-11 13:37:44 +02001===============
2Neutron Formula
3===============
Filip Pytlouncd028e42015-10-06 16:28:32 +02004
Jakub Pavlik9ecf0262016-05-20 11:20:58 +02005Neutron is an OpenStack project to provide "networking as a service" between
6interface devices (e.g., vNICs) managed by other Openstack services (e.g.,
7nova).
Filip Pytlouncd028e42015-10-06 16:28:32 +02008
Jakub Pavlik9ecf0262016-05-20 11:20:58 +02009Starting in the Folsom release, Neutron is a core and supported part of the
10OpenStack platform (for Essex, we were an "incubated" project, which means use
11is suggested only for those who really know what they're doing with Neutron).
Filip Pytlouncd028e42015-10-06 16:28:32 +020012
Aleš Komárek41e82312017-04-11 13:37:44 +020013Sample Pillars
Filip Pytlouncd028e42015-10-06 16:28:32 +020014==============
15
16Neutron Server on the controller node
17
18.. code-block:: yaml
19
20 neutron:
21 server:
22 enabled: true
Jiri Broulik74f61112016-11-21 20:23:47 +010023 version: mitaka
Swann Croiset9407daf2017-02-02 15:27:56 +010024 allow_pagination: true
25 pagination_max_limit: 100
Filip Pytlouncd028e42015-10-06 16:28:32 +020026 bind:
27 address: 172.20.0.1
28 port: 9696
Filip Pytlouncd028e42015-10-06 16:28:32 +020029 database:
30 engine: mysql
31 host: 127.0.0.1
32 port: 3306
33 name: neutron
34 user: neutron
35 password: pwd
36 identity:
37 engine: keystone
38 host: 127.0.0.1
39 port: 35357
40 user: neutron
41 password: pwd
42 tenant: service
Dennis Dmitriev37114722017-03-06 16:52:26 +020043 endpoint_type: internal
Filip Pytlouncd028e42015-10-06 16:28:32 +020044 message_queue:
45 engine: rabbitmq
46 host: 127.0.0.1
47 port: 5672
48 user: openstack
49 password: pwd
50 virtual_host: '/openstack'
51 metadata:
52 host: 127.0.0.1
53 port: 8775
54 password: pass
Petr Michalec61f7ab22016-11-29 16:29:09 +010055 audit:
56 enabled: false
Filip Pytlouncd028e42015-10-06 16:28:32 +020057
Swann Croiset9407daf2017-02-02 15:27:56 +010058Note: The pagination is useful to retrieve a large bunch of resources,
59because a single request may fail (timeout). This is enabled with both
60parameters *allow_pagination* and *pagination_max_limit* as shown above.
61
Dmitry Ukov596ddcf2017-05-04 18:16:16 +040062
63Configuration of policy.json file
64
65.. code-block:: yaml
66
67 neutron:
68 server:
69 ....
70 policy:
71 create_subnet: 'rule:admin_or_network_owner'
72 'get_network:queue_id': 'rule:admin_only'
73 # Add key without value to remove line from policy.json
74 'create_network:shared':
75
Ondrej Smola314eee22017-03-08 21:21:16 +010076Neutron lbaas provides on the controller node
77
78.. code-block:: yaml
79
80 neutron:
81 server:
82 lbaas:
83 enabled: true
84 providers:
85 avi_adc:
86 enabled: true
87 engine: avinetworks
88 controller_address: 10.182.129.239
89 controller_user: admin
90 controller_password: Cloudlab2016
91 controller_cloud_name: Default-Cloud
92 avi_adc2:
93 engine: avinetworks
94 ...
95
Aleš Komárek41e82312017-04-11 13:37:44 +020096Note: If you want contrail lbaas then backend is only required. Lbaas in
97pillar should be define only if it should be disabled.
Ondrej Smola314eee22017-03-08 21:21:16 +010098
99.. code-block:: yaml
100
101 neutron:
102 server:
103 lbaas:
104 enabled: disabled
105
Ondrej Smola12ff8192017-04-28 12:39:11 +0200106Enable CORS parameters
107
108.. code-block:: yaml
109
110 neutron:
111 server:
112 cors:
113 allowed_origin: https:localhost.local,http:localhost.local
114 expose_headers: X-Auth-Token,X-Openstack-Request-Id,X-Subject-Token
115 allow_methods: GET,PUT,POST,DELETE,PATCH
116 allow_headers: X-Auth-Token,X-Openstack-Request-Id,X-Subject-Token
117 allow_credentials: True
118 max_age: 86400
119
120
Aleš Komárek41e82312017-04-11 13:37:44 +0200121Neutron VXLAN tenant networks with Network nodes
122------------------------------------------------
Swann Croiset9407daf2017-02-02 15:27:56 +0100123
Aleš Komárek41e82312017-04-11 13:37:44 +0200124With DVR for East-West and Network node for North-South.
Jiri Broulik74f61112016-11-21 20:23:47 +0100125
126This use case describes a model utilising VxLAN overlay with DVR. The DVR
Aleš Komárek41e82312017-04-11 13:37:44 +0200127routers will only be utilized for traffic that is router within the cloud
128infrastructure and that remains encapsulated. External traffic will be
129routed to via the network nodes.
Jiri Broulik74f61112016-11-21 20:23:47 +0100130
131The intention is that each tenant will require at least two (2) vrouters
132one to be utilised
133
Aleš Komárek41e82312017-04-11 13:37:44 +0200134Neutron Server
marcoa4428a32016-06-10 11:50:16 +0200135
136.. code-block:: yaml
137
138 neutron:
139 server:
Jiri Broulik74f61112016-11-21 20:23:47 +0100140 version: mitaka
141 plugin: ml2
142 bind:
143 address: 172.20.0.1
144 port: 9696
145 database:
146 engine: mysql
147 host: 127.0.0.1
148 port: 3306
149 name: neutron
150 user: neutron
151 password: pwd
152 identity:
153 engine: keystone
154 host: 127.0.0.1
155 port: 35357
156 user: neutron
157 password: pwd
158 tenant: service
Dennis Dmitriev37114722017-03-06 16:52:26 +0200159 endpoint_type: internal
Jiri Broulik74f61112016-11-21 20:23:47 +0100160 message_queue:
161 engine: rabbitmq
162 host: 127.0.0.1
163 port: 5672
164 user: openstack
165 password: pwd
166 virtual_host: '/openstack'
167 global_physnet_mtu: 9000
168 l3_ha: False # Which type of router will be created by default
169 dvr: True # disabled for non DVR use case
170 backend:
171 engine: ml2
172 tenant_network_types: "flat,vxlan"
173 external_mtu: 9000
174 mechanism:
175 ovs:
176 driver: openvswitch
177
Aleš Komárek41e82312017-04-11 13:37:44 +0200178Network Node
Jiri Broulik74f61112016-11-21 20:23:47 +0100179
180.. code-block:: yaml
181
182 neutron:
183 gateway:
184 enabled: True
185 version: mitaka
186 message_queue:
187 engine: rabbitmq
188 host: 127.0.0.1
189 port: 5672
190 user: openstack
191 password: pwd
192 virtual_host: '/openstack'
193 local_ip: 192.168.20.20 # br-mesh ip address
194 dvr: True # disabled for non DVR use case
195 agent_mode: dvr_snat
196 metadata:
197 host: 127.0.0.1
198 password: pass
199 backend:
200 engine: ml2
201 tenant_network_types: "flat,vxlan"
202 mechanism:
203 ovs:
204 driver: openvswitch
205
206Compute Node
Jiri Broulik74f61112016-11-21 20:23:47 +0100207
208.. code-block:: yaml
209
210 neutron:
211 compute:
212 enabled: True
213 version: mitaka
214 message_queue:
215 engine: rabbitmq
216 host: 127.0.0.1
217 port: 5672
218 user: openstack
219 password: pwd
220 virtual_host: '/openstack'
221 local_ip: 192.168.20.20 # br-mesh ip address
222 dvr: True # disabled for non DVR use case
223 agent_mode: dvr
224 external_access: false # Compute node with DVR for east-west only, Network Node has True as default
225 metadata:
226 host: 127.0.0.1
227 password: pass
228 backend:
229 engine: ml2
230 tenant_network_types: "flat,vxlan"
231 mechanism:
232 ovs:
233 driver: openvswitch
Petr Michalec61f7ab22016-11-29 16:29:09 +0100234 audit:
235 enabled: false
Jiri Broulik74f61112016-11-21 20:23:47 +0100236
Aleš Komárek41e82312017-04-11 13:37:44 +0200237
Jiri Broulik74f61112016-11-21 20:23:47 +0100238Neutron VXLAN tenant networks with Network Nodes (non DVR)
Aleš Komárek41e82312017-04-11 13:37:44 +0200239----------------------------------------------------------
Jiri Broulik74f61112016-11-21 20:23:47 +0100240
241This section describes a network solution that utilises VxLAN overlay
242 networks without DVR with all routers being managed on the network nodes.
243
Aleš Komárek41e82312017-04-11 13:37:44 +0200244Neutron Server
Jiri Broulik74f61112016-11-21 20:23:47 +0100245
246.. code-block:: yaml
247
248 neutron:
249 server:
250 version: mitaka
251 plugin: ml2
252 bind:
253 address: 172.20.0.1
254 port: 9696
255 database:
256 engine: mysql
257 host: 127.0.0.1
258 port: 3306
259 name: neutron
260 user: neutron
261 password: pwd
262 identity:
263 engine: keystone
264 host: 127.0.0.1
265 port: 35357
266 user: neutron
267 password: pwd
268 tenant: service
Dennis Dmitriev37114722017-03-06 16:52:26 +0200269 endpoint_type: internal
Jiri Broulik74f61112016-11-21 20:23:47 +0100270 message_queue:
271 engine: rabbitmq
272 host: 127.0.0.1
273 port: 5672
274 user: openstack
275 password: pwd
276 virtual_host: '/openstack'
277 global_physnet_mtu: 9000
278 l3_ha: True
279 dvr: False
280 backend:
281 engine: ml2
282 tenant_network_types= "flat,vxlan"
283 external_mtu: 9000
284 mechanism:
285 ovs:
286 driver: openvswitch
287
Aleš Komárek41e82312017-04-11 13:37:44 +0200288Network Node
Jiri Broulik74f61112016-11-21 20:23:47 +0100289
290.. code-block:: yaml
291
292 neutron:
293 gateway:
294 enabled: True
295 version: mitaka
296 message_queue:
297 engine: rabbitmq
298 host: 127.0.0.1
299 port: 5672
300 user: openstack
301 password: pwd
302 virtual_host: '/openstack'
303 local_ip: 192.168.20.20 # br-mesh ip address
304 dvr: False
305 agent_mode: legacy
Simon Pasquierc03af112017-04-10 10:35:14 +0200306 availability_zone: az1
Jiri Broulik74f61112016-11-21 20:23:47 +0100307 metadata:
308 host: 127.0.0.1
309 password: pass
310 backend:
311 engine: ml2
312 tenant_network_types: "flat,vxlan"
313 mechanism:
314 ovs:
315 driver: openvswitch
316
317Compute Node
Jiri Broulik74f61112016-11-21 20:23:47 +0100318
319.. code-block:: yaml
320
321 neutron:
322 compute:
323 enabled: True
324 version: mitaka
325 message_queue:
326 engine: rabbitmq
327 host: 127.0.0.1
328 port: 5672
329 user: openstack
330 password: pwd
331 virtual_host: '/openstack'
332 local_ip: 192.168.20.20 # br-mesh ip address
333 external_access: False
334 dvr: False
335 backend:
336 engine: ml2
337 tenant_network_types: "flat,vxlan"
338 mechanism:
339 ovs:
340 driver: openvswitch
341
Aleš Komárek41e82312017-04-11 13:37:44 +0200342Neutron VXLAN tenant networks with Network Nodes with DVR
343---------------------------------------------------------
344
345With DVR for East-West and North-South, DVR everywhere, Network node for SNAT.
Jiri Broulik74f61112016-11-21 20:23:47 +0100346
347This section describes a network solution that utilises VxLAN
348overlay networks with DVR with North-South and East-West. Network
349Node is used only for SNAT.
350
Aleš Komárek41e82312017-04-11 13:37:44 +0200351Neutron Server
Jiri Broulik74f61112016-11-21 20:23:47 +0100352
353.. code-block:: yaml
354
355 neutron:
356 server:
357 version: mitaka
358 plugin: ml2
359 bind:
360 address: 172.20.0.1
361 port: 9696
362 database:
363 engine: mysql
364 host: 127.0.0.1
365 port: 3306
366 name: neutron
367 user: neutron
368 password: pwd
369 identity:
370 engine: keystone
371 host: 127.0.0.1
372 port: 35357
373 user: neutron
374 password: pwd
375 tenant: service
Dennis Dmitriev37114722017-03-06 16:52:26 +0200376 endpoint_type: internal
Jiri Broulik74f61112016-11-21 20:23:47 +0100377 message_queue:
378 engine: rabbitmq
379 host: 127.0.0.1
380 port: 5672
381 user: openstack
382 password: pwd
383 virtual_host: '/openstack'
384 global_physnet_mtu: 9000
385 l3_ha: False
386 dvr: True
387 backend:
388 engine: ml2
389 tenant_network_types= "flat,vxlan"
390 external_mtu: 9000
391 mechanism:
392 ovs:
393 driver: openvswitch
394
Aleš Komárek41e82312017-04-11 13:37:44 +0200395Network Node
Jiri Broulik74f61112016-11-21 20:23:47 +0100396
397.. code-block:: yaml
398
399 neutron:
400 gateway:
401 enabled: True
402 version: mitaka
403 message_queue:
404 engine: rabbitmq
405 host: 127.0.0.1
406 port: 5672
407 user: openstack
408 password: pwd
409 virtual_host: '/openstack'
410 local_ip: 192.168.20.20 # br-mesh ip address
411 dvr: True
412 agent_mode: dvr_snat
Simon Pasquierc03af112017-04-10 10:35:14 +0200413 availability_zone: az1
Jiri Broulik74f61112016-11-21 20:23:47 +0100414 metadata:
415 host: 127.0.0.1
416 password: pass
417 backend:
418 engine: ml2
419 tenant_network_types: "flat,vxlan"
420 mechanism:
421 ovs:
422 driver: openvswitch
423
424Compute Node
Jiri Broulik74f61112016-11-21 20:23:47 +0100425
426.. code-block:: yaml
427
428 neutron:
429 compute:
430 enabled: True
431 version: mitaka
432 message_queue:
433 engine: rabbitmq
434 host: 127.0.0.1
435 port: 5672
436 user: openstack
437 password: pwd
438 virtual_host: '/openstack'
439 local_ip: 192.168.20.20 # br-mesh ip address
440 dvr: True
441 external_access: True
442 agent_mode: dvr
Simon Pasquierc03af112017-04-10 10:35:14 +0200443 availability_zone: az1
Jiri Broulik74f61112016-11-21 20:23:47 +0100444 metadata:
445 host: 127.0.0.1
446 password: pass
447 backend:
448 engine: ml2
449 tenant_network_types: "flat,vxlan"
450 mechanism:
451 ovs:
452 driver: openvswitch
453
454Sample Linux network configuration for DVR
Jiri Broulik74f61112016-11-21 20:23:47 +0100455
456.. code-block:: yaml
457
458 linux:
459 network:
460 bridge: openvswitch
461 interface:
462 eth1:
463 enabled: true
464 type: eth
465 mtu: 9000
466 proto: manual
467 eth2:
468 enabled: true
469 type: eth
470 mtu: 9000
471 proto: manual
472 eth3:
473 enabled: true
474 type: eth
475 mtu: 9000
476 proto: manual
477 br-int:
478 enabled: true
479 mtu: 9000
480 type: ovs_bridge
481 br-floating:
482 enabled: true
483 mtu: 9000
484 type: ovs_bridge
485 float-to-ex:
486 enabled: true
487 type: ovs_port
488 mtu: 65000
489 bridge: br-floating
490 br-mgmt:
491 enabled: true
492 type: bridge
493 mtu: 9000
494 address: ${_param:single_address}
495 netmask: 255.255.255.0
496 use_interfaces:
497 - eth1
498 br-mesh:
499 enabled: true
500 type: bridge
501 mtu: 9000
502 address: ${_param:tenant_address}
503 netmask: 255.255.255.0
504 use_interfaces:
505 - eth2
506 br-ex:
507 enabled: true
508 type: bridge
509 mtu: 9000
510 address: ${_param:external_address}
511 netmask: 255.255.255.0
512 use_interfaces:
513 - eth3
514 use_ovs_ports:
515 - float-to-ex
516
517Neutron VLAN tenant networks with Network Nodes
Aleš Komárek41e82312017-04-11 13:37:44 +0200518-----------------------------------------------
Jiri Broulik74f61112016-11-21 20:23:47 +0100519
520VLAN tenant provider
521
522Neutron Server only
Jiri Broulik74f61112016-11-21 20:23:47 +0100523
524.. code-block:: yaml
525
526 neutron:
527 server:
528 version: mitaka
529 plugin: ml2
530 ...
531 global_physnet_mtu: 9000
532 l3_ha: False
533 dvr: True
534 backend:
535 engine: ml2
536 tenant_network_types: "flat,vlan" # Can be mixed flat,vlan,vxlan
537 tenant_vlan_range: "1000:2000"
538 external_vlan_range: "100:200" # Does not have to be defined.
539 external_mtu: 9000
540 mechanism:
541 ovs:
542 driver: openvswitch
543
544Compute node
Jiri Broulik74f61112016-11-21 20:23:47 +0100545
546.. code-block:: yaml
547
548 neutron:
549 compute:
550 version: mitaka
551 plugin: ml2
552 ...
553 dvr: True
554 agent_mode: dvr
555 external_access: False
556 backend:
557 engine: ml2
558 tenant_network_types: "flat,vlan" # Can be mixed flat,vlan,vxlan
559 mechanism:
560 ovs:
561 driver: openvswitch
562
Aleš Komárek41e82312017-04-11 13:37:44 +0200563Advanced Neutron Features (DPDK, SR-IOV)
564
Jakub Pavlik8f83ccc2017-02-27 11:15:39 +0100565Neutron OVS DPDK
Jakub Pavlik8f83ccc2017-02-27 11:15:39 +0100566
567Enable datapath netdev for neutron openvswitch agent
568
569.. code-block:: yaml
570
571 neutron:
572 server:
573 version: mitaka
574 ...
575 dpdk: True
576 ...
577
578 neutron:
579 compute:
580 version: mitaka
581 plugin: ml2
582 dpdk: True
583 backend:
584 engine: ml2
585 ...
586 mechanism:
587 ovs:
588 driver: openvswitch
589
Jakub Pavlik70555cb2017-02-26 18:48:02 +0100590Neutron OVS SR-IOV
Jakub Pavlik70555cb2017-02-26 18:48:02 +0100591
592.. code-block:: yaml
593
594 neutron:
595 server:
596 version: mitaka
597 plugin: ml2
598 backend:
599 engine: ml2
600 ...
601 mechanism:
602 ovs:
603 driver: openvswitch
604 sriov:
605 driver: sriovnicswitch
606
607 neutron:
608 compute:
609 version: mitaka
610 plugin: ml2
611 ...
612 backend:
613 engine: ml2
614 tenant_network_types: "flat,vlan" # Can be mixed flat,vlan,vxlan
615 sriov:
616 nic_one:
617 devname: eth1
618 physical_network: physnet3
619 mechanism:
620 ovs:
621 driver: openvswitch
622
Aleš Komárek41e82312017-04-11 13:37:44 +0200623Neutron Server
624--------------
625
Jiri Broulik74f61112016-11-21 20:23:47 +0100626Neutron Server with OpenContrail
Jiri Broulik74f61112016-11-21 20:23:47 +0100627
628.. code-block:: yaml
629
630 neutron:
631 server:
632 plugin: contrail
marcoa4428a32016-06-10 11:50:16 +0200633 backend:
634 engine: contrail
635 host: contrail_discovery_host
636 port: 8082
637 user: admin
638 password: password
639 tenant: admin
640 token: token
641
642Neutron Server with Midonet
643
644.. code-block:: yaml
645
646 neutron:
647 server:
648 backend:
649 engine: midonet
650 host: midonet_api_host
651 port: 8181
652 user: admin
653 password: password
654
Filip Pytlouncd028e42015-10-06 16:28:32 +0200655
Jakub Pavlik6dd5c0a2016-03-09 14:18:15 +0100656Neutron Keystone region
657
658.. code-block:: yaml
659
660 neutron:
661 server:
662 enabled: true
663 version: kilo
664 ...
665 identity:
666 region: RegionTwo
667 ...
668 compute:
669 region: RegionTwo
670 ...
671
Jiri Konecny93b19992016-04-12 11:15:39 +0200672Client-side RabbitMQ HA setup
673
674.. code-block:: yaml
675
676 neutron:
677 server:
678 ....
679 message_queue:
680 engine: rabbitmq
681 members:
682 - host: 10.0.16.1
683 - host: 10.0.16.2
684 - host: 10.0.16.3
685 user: openstack
686 password: pwd
687 virtual_host: '/openstack'
688 ....
689
Petr Michalec61f7ab22016-11-29 16:29:09 +0100690Enable auditing filter, ie: CADF
691
692.. code-block:: yaml
693
694 neutron:
695 server:
696 audit:
697 enabled: true
698 ....
699 filter_factory: 'keystonemiddleware.audit:filter_factory'
700 map_file: '/etc/pycadf/neutron_api_audit_map.conf'
701 ....
702 compute:
703 audit:
704 enabled: true
705 ....
706 filter_factory: 'keystonemiddleware.audit:filter_factory'
707 map_file: '/etc/pycadf/neutron_api_audit_map.conf'
708 ....
Jiri Konecny93b19992016-04-12 11:15:39 +0200709
710
Aleš Komárek41e82312017-04-11 13:37:44 +0200711Neutron Client
712--------------
Jiri Broulik5368cc52017-02-08 18:53:59 +0100713
714Neutron networks
715
716.. code-block:: yaml
717
718 neutron:
719 client:
720 enabled: true
721 server:
722 identity:
Richard Felklaac256a2017-03-23 15:43:49 +0100723 endpoint_type: internalURL
Jiri Broulik5368cc52017-02-08 18:53:59 +0100724 network:
725 inet1:
726 tenant: demo
727 shared: False
728 admin_state_up: True
729 router_external: True
730 provider_physical_network: inet
731 provider_network_type: flat
732 provider_segmentation_id: 2
733 subnet:
734 inet1-subnet1:
735 cidr: 192.168.90.0/24
736 enable_dhcp: False
737 inet2:
738 tenant: admin
739 shared: False
740 router_external: True
741 provider_network_type: "vlan"
742 subnet:
743 inet2-subnet1:
744 cidr: 192.168.92.0/24
745 enable_dhcp: False
746 inet2-subnet2:
747 cidr: 192.168.94.0/24
748 enable_dhcp: True
749 identity1:
750 network:
751 ...
752
Jiri Broulik5368cc52017-02-08 18:53:59 +0100753Neutron routers
754
755.. code-block:: yaml
756
757 neutron:
758 client:
759 enabled: true
760 server:
761 identity:
Richard Felklaac256a2017-03-23 15:43:49 +0100762 endpoint_type: internalURL
Jiri Broulik5368cc52017-02-08 18:53:59 +0100763 router:
764 inet1-router:
765 tenant: demo
766 admin_state_up: True
767 gateway_network: inet
768 interfaces:
769 - inet1-subnet1
770 - inet1-subnet2
771 identity1:
772 router:
773 ...
774
775 TODO: implement adding new interfaces to a router while updating it
776
777
778Neutron security groups
779
780.. code-block:: yaml
781
782 neutron:
783 client:
784 enabled: true
785 server:
786 identity:
Richard Felklaac256a2017-03-23 15:43:49 +0100787 endpoint_type: internalURL
Jiri Broulik5368cc52017-02-08 18:53:59 +0100788 security_group:
789 security_group1:
790 tenant: demo
791 description: security group 1
792 rules:
793 - direction: ingress
794 ethertype: IPv4
795 protocol: TCP
796 port_range_min: 1
797 port_range_max: 65535
798 remote_ip_prefix: 0.0.0.0/0
799 - direction: ingress
800 ethertype: IPv4
801 protocol: UDP
802 port_range_min: 1
803 port_range_max: 65535
804 remote_ip_prefix: 0.0.0.0/0
805 - direction: ingress
806 protocol: ICMP
807 remote_ip_prefix: 0.0.0.0/0
808 identity1:
809 security_group:
810 ...
811
812 TODO: implement updating existing security rules (now it adds new rule if trying to update existing one)
813
Jiri Broulikde2e2902017-02-13 15:03:47 +0100814
815Floating IP addresses
816
817.. code-block:: yaml
818
819 neutron:
820 client:
821 enabled: true
822 server:
823 identity:
Richard Felklaac256a2017-03-23 15:43:49 +0100824 endpoint_type: internalURL
Jiri Broulikde2e2902017-02-13 15:03:47 +0100825 floating_ip:
826 prx01-instance:
827 server: prx01.mk22-lab-basic.local
828 subnet: private-subnet1
829 network: public-net1
830 tenant: demo
831 gtw01-instance:
832 ...
833
834.. note:: The network must have flag router:external set to True.
835 Instance port in the stated subnet will be associated with the dynamically generated floating IP.
836
837
Filip Pytloun20c0a442017-02-02 13:05:13 +0100838Documentation and Bugs
839======================
840
841To learn how to install and update salt-formulas, consult the documentation
842available online at:
843
844 http://salt-formulas.readthedocs.io/
845
846In the unfortunate event that bugs are discovered, they should be reported to
847the appropriate issue tracker. Use Github issue tracker for specific salt
848formula:
849
850 https://github.com/salt-formulas/salt-formula-neutron/issues
851
852For feature requests, bug reports or blueprints affecting entire ecosystem,
853use Launchpad salt-formulas project:
854
855 https://launchpad.net/salt-formulas
856
857You can also join salt-formulas-users team and subscribe to mailing list:
858
859 https://launchpad.net/~salt-formulas-users
860
861Developers wishing to work on the salt-formulas projects should always base
862their work on master branch and submit pull request against specific formula.
863
864 https://github.com/salt-formulas/salt-formula-neutron
865
866Any questions or feedback is always welcome so feel free to join our IRC
867channel:
868
869 #salt-formulas @ irc.freenode.net