MacVTap mechanism driver and agent have been added during
Mitaka [1][2]. Now adding the related doc to run a
multinode devstack with MacVTap compute nodes.
[1] https://review.openstack.org/209538
[2] https://review.openstack.org/275306
Depends-On: I0dd4c0d34d5f1c35b397e5e392ce107fb984b0ba
Change-Id: Ie743a207a5faeab2e2a7274fda503699f3072e98
... | ... |
@@ -362,6 +362,8 @@ the compute service ``nova-compute``. |
362 | 362 |
DevStack Configuration |
363 | 363 |
---------------------- |
364 | 364 |
|
365 |
+.. _ovs-provider-network-controller: |
|
366 |
+ |
|
365 | 367 |
The following is a snippet of the DevStack configuration on the |
366 | 368 |
controller node. |
367 | 369 |
|
... | ... |
@@ -553,3 +555,101 @@ setup, with small modifications for the interface mappings. |
553 | 553 |
LB_PHYSICAL_INTERFACE=eth0 |
554 | 554 |
PUBLIC_PHYSICAL_NETWORK=default |
555 | 555 |
LB_INTERFACE_MAPPINGS=default:eth0 |
556 |
+ |
|
557 |
+Using MacVTap instead of Open vSwitch |
|
558 |
+------------------------------------------ |
|
559 |
+ |
|
560 |
+Security groups are not supported by the MacVTap agent. Due to that, devstack |
|
561 |
+configures the NoopFirewall driver on the compute node. |
|
562 |
+ |
|
563 |
+MacVTap agent does not support l3, dhcp and metadata agent. Due to that you can |
|
564 |
+chose between the following deployment scenarios: |
|
565 |
+ |
|
566 |
+Single node with provider networks using config drive and external l3, dhcp |
|
567 |
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
568 |
+This scenario applies, if l3 and dhcp services are provided externally, or if |
|
569 |
+you do not require them. |
|
570 |
+ |
|
571 |
+ |
|
572 |
+:: |
|
573 |
+ |
|
574 |
+ [[local|localrc]] |
|
575 |
+ HOST_IP=10.0.0.2 |
|
576 |
+ SERVICE_HOST=10.0.0.2 |
|
577 |
+ MYSQL_HOST=10.0.0.2 |
|
578 |
+ RABBIT_HOST=10.0.0.2 |
|
579 |
+ ADMIN_PASSWORD=secret |
|
580 |
+ MYSQL_PASSWORD=secret |
|
581 |
+ RABBIT_PASSWORD=secret |
|
582 |
+ SERVICE_PASSWORD=secret |
|
583 |
+ |
|
584 |
+ Q_ML2_PLUGIN_MECHANISM_DRIVERS=macvtap |
|
585 |
+ Q_USE_PROVIDER_NETWORKING=True |
|
586 |
+ |
|
587 |
+ #Enable Neutron services |
|
588 |
+ disable_service n-net |
|
589 |
+ enable_plugin neutron git://git.openstack.org/openstack/neutron |
|
590 |
+ ENABLED_SERVICES+=,q-agt,q-svc |
|
591 |
+ |
|
592 |
+ ## MacVTap agent options |
|
593 |
+ Q_AGENT=macvtap |
|
594 |
+ PHYSICAL_NETWORK=default |
|
595 |
+ |
|
596 |
+ FIXED_RANGE="203.0.113.0/24" |
|
597 |
+ NETWORK_GATEWAY=203.0.113.1 |
|
598 |
+ PROVIDER_SUBNET_NAME="provider_net" |
|
599 |
+ PROVIDER_NETWORK_TYPE="vlan" |
|
600 |
+ SEGMENTATION_ID=2010 |
|
601 |
+ |
|
602 |
+ [[post-config|/$Q_PLUGIN_CONF_FILE]] |
|
603 |
+ [macvtap] |
|
604 |
+ physical_interface_mappings = $PHYSICAL_NETWORK:eth1 |
|
605 |
+ |
|
606 |
+ [[post-config|$NOVA_CONF]] |
|
607 |
+ force_config_drive = True |
|
608 |
+ |
|
609 |
+ |
|
610 |
+Multi node with MacVTap compute node |
|
611 |
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
612 |
+This scenario applies, if you require OpenStack provided l3, dhcp or metadata |
|
613 |
+services. Those are hosted on a separate controller and network node, running |
|
614 |
+some other l2 agent technology (in this example Open vSwitch). This node needs |
|
615 |
+to be configured for VLAN tenant networks. |
|
616 |
+ |
|
617 |
+For OVS, a similar configuration like described in the |
|
618 |
+:ref:`OVS Provider Network <ovs-provider-network-controller>` section can be |
|
619 |
+used. Just add the the following line to this local.conf, which also loads |
|
620 |
+the MacVTap mechanism driver: |
|
621 |
+ |
|
622 |
+:: |
|
623 |
+ |
|
624 |
+ [[local|localrc]] |
|
625 |
+ ... |
|
626 |
+ Q_ML2_PLUGIN_MECHANISM_DRIVERS=openvswitch,linuxbridge,macvtap |
|
627 |
+ ... |
|
628 |
+ |
|
629 |
+For the MacVTap compute node, use this local.conf: |
|
630 |
+ |
|
631 |
+:: |
|
632 |
+ |
|
633 |
+ HOST_IP=10.0.0.3 |
|
634 |
+ SERVICE_HOST=10.0.0.2 |
|
635 |
+ MYSQL_HOST=10.0.0.2 |
|
636 |
+ RABBIT_HOST=10.0.0.2 |
|
637 |
+ ADMIN_PASSWORD=secret |
|
638 |
+ MYSQL_PASSWORD=secret |
|
639 |
+ RABBIT_PASSWORD=secret |
|
640 |
+ SERVICE_PASSWORD=secret |
|
641 |
+ |
|
642 |
+ # Services that a compute node runs |
|
643 |
+ disable_all_services |
|
644 |
+ enable_plugin neutron git://git.openstack.org/openstack/neutron |
|
645 |
+ ENABLED_SERVICES+=n-cpu,q-agt |
|
646 |
+ |
|
647 |
+ ## MacVTap agent options |
|
648 |
+ Q_AGENT=macvtap |
|
649 |
+ PHYSICAL_NETWORK=default |
|
650 |
+ |
|
651 |
+ [[post-config|/$Q_PLUGIN_CONF_FILE]] |
|
652 |
+ [macvtap] |
|
653 |
+ physical_interface_mappings = $PHYSICAL_NETWORK:eth1 |