From 637a7a6ee26d5280e6504db62c69ffc38ed3a046 Mon Sep 17 00:00:00 2001 From: Daniel Alvarez Date: Wed, 23 Jan 2019 12:07:56 +0100 Subject: [PATCH] Switch the default Neutron ML2 driver to OVN This patch is changing the default driver used in Packstack from ML2/OVS to ML2/OVN. It also flips jobs running with OVS to OVN and viceversa while keeping the lbaas scenario with OVS. Also, the encapsulation used by default changes from vxlan to geneve. Change-Id: I0abfdb1de66730101a27ca3a949f056b50fc9c98 Signed-off-by: Daniel Alvarez --- README.md | 2 +- packstack/plugins/neutron_350.py | 12 ++++++++---- ...fault-neutron-driver-to-ovn-0eb7053b81c7794d.yaml | 11 +++++++++++ tests/scenario001.sh | 3 --- tests/scenario002.sh | 3 +++ 5 files changed, 23 insertions(+), 8 deletions(-) create mode 100644 releasenotes/notes/switch-default-neutron-driver-to-ovn-0eb7053b81c7794d.yaml diff --git a/README.md b/README.md index 2fc7e7df2..e130c367a 100644 --- a/README.md +++ b/README.md @@ -178,7 +178,7 @@ the current matrix of available tests: | glance | | file | swift | file | | nova | X | X | X | X | | neutron | X | X | X | X | -| neutron plugin | ovs | ovn | ovs | ovs | +| neutron plugin | ovn | ovn | ovs | ovn | | lbaasv2 | | | X | | | vpnaas | | | | | | cinder | X | X | | | diff --git a/packstack/plugins/neutron_350.py b/packstack/plugins/neutron_350.py index d8673d9f9..237aae14a 100644 --- a/packstack/plugins/neutron_350.py +++ b/packstack/plugins/neutron_350.py @@ -343,7 +343,7 @@ def initConfig(controller): "entrypoints"), "OPTION_LIST": ["local", "flat", "vlan", "gre", "vxlan", "geneve"], "VALIDATORS": [validators.validate_multi_options], - "DEFAULT_VALUE": "vxlan,flat", + "DEFAULT_VALUE": "geneve,flat", "MASK_INPUT": False, "LOOSE_VALIDATION": False, "USE_DEFAULT": False, @@ -356,7 +356,7 @@ def initConfig(controller): "network_types to allocate as tenant networks"), "OPTION_LIST": ["local", "vlan", "gre", "vxlan", "geneve"], "VALIDATORS": [validators.validate_multi_options], - "DEFAULT_VALUE": "vxlan", + "DEFAULT_VALUE": "geneve", "MASK_INPUT": False, "LOOSE_VALIDATION": False, "USE_DEFAULT": False, @@ -371,7 +371,7 @@ def initConfig(controller): "hyperv", "ncs", "arista", "cisco_nexus", "mlnx", "l2population", "sriovnicswitch", "ovn"], "VALIDATORS": [validators.validate_multi_options], - "DEFAULT_VALUE": "openvswitch", + "DEFAULT_VALUE": "ovn", "MASK_INPUT": False, "LOOSE_VALIDATION": False, "USE_DEFAULT": False, @@ -450,7 +450,7 @@ def initConfig(controller): "with Neutron"), "OPTION_LIST": ["linuxbridge", "openvswitch", "ovn"], "VALIDATORS": [validators.validate_options], - "DEFAULT_VALUE": "openvswitch", + "DEFAULT_VALUE": "ovn", "MASK_INPUT": False, "LOOSE_VALIDATION": False, "CONF_NAME": "CONFIG_NEUTRON_L2_AGENT", @@ -588,6 +588,10 @@ def initSequences(controller): ovs_external = 'CONFIG_NEUTRON_OVS_EXTERNAL_PHYSNET' ovn_external = 'CONFIG_NEUTRON_OVN_EXTERNAL_PHYSNET' config[ovs_external] = config[ovn_external] + elif use_ml2_with_ovs(config): + if ('openvswitch' not in config[ + 'CONFIG_NEUTRON_ML2_MECHANISM_DRIVERS']): + config['CONFIG_NEUTRON_ML2_MECHANISM_DRIVERS'] = 'openvswitch' plugin_db = 'neutron' plugin_path = 'neutron.plugins.ml2.plugin.Ml2Plugin' diff --git a/releasenotes/notes/switch-default-neutron-driver-to-ovn-0eb7053b81c7794d.yaml b/releasenotes/notes/switch-default-neutron-driver-to-ovn-0eb7053b81c7794d.yaml new file mode 100644 index 000000000..e6f7be733 --- /dev/null +++ b/releasenotes/notes/switch-default-neutron-driver-to-ovn-0eb7053b81c7794d.yaml @@ -0,0 +1,11 @@ +--- +prelude: > + The default ML2 driver is replaced from ``openvswitch``to ``ovn``. This + means that, when deploying packstack with the default settings, OVN will + be used as the networking backend for Neutron. +features: + - | + OVN is now used as the default networking backend for Neutron when + deploying packstack. Neutron agents such as L2, L3 or DHCP agents are no + longer used and get replaced by OVN services. + The encapsulation used will be ``geneve`` instead of ``vxlan``. diff --git a/tests/scenario001.sh b/tests/scenario001.sh index 1a20935f9..3a5b834ed 100755 --- a/tests/scenario001.sh +++ b/tests/scenario001.sh @@ -36,9 +36,6 @@ $SUDO packstack ${ADDITIONAL_ARGS} \ --os-horizon-ssl=y \ --amqp-enable-ssl=y \ --glance-backend=file \ - --os-neutron-l2-agent=ovn \ - --os-neutron-ml2-type-drivers="geneve,flat" \ - --os-neutron-ml2-tenant-network-types="geneve" \ --provision-uec-kernel-url="/tmp/cirros/cirros-$CIRROS_VERSION-$CIRROS_ARCH-vmlinuz" \ --provision-uec-ramdisk-url="/tmp/cirros/cirros-$CIRROS_VERSION-$CIRROS_ARCH-initrd" \ --provision-uec-disk-url="/tmp/cirros/cirros-$CIRROS_VERSION-$CIRROS_ARCH-disk.img" \ diff --git a/tests/scenario002.sh b/tests/scenario002.sh index b6a81e16e..bca3d9f08 100755 --- a/tests/scenario002.sh +++ b/tests/scenario002.sh @@ -36,6 +36,9 @@ $SUDO packstack ${ADDITIONAL_ARGS} \ --os-cinder-install=n \ --os-horizon-install=n \ --glance-backend=swift \ + --os-neutron-l2-agent=openvswitch \ + --os-neutron-ml2-type-drivers="vxlan,flat" \ + --os-neutron-ml2-tenant-network-types="vxlan" \ --os-neutron-lbaas-install=y \ --os-neutron-vpnaas-install=n \ --os-sahara-install=y \