From e4c5afeda23a2ef1a78dc2c0ee5f9422644da240 Mon Sep 17 00:00:00 2001 From: yatinkarel Date: Mon, 18 Jul 2022 17:58:02 +0530 Subject: [PATCH] Allow Undercloud to be deployed with Ml2 OVN OVN is already default ML2 plugin in Overcloud since Stein release[1]. OVN 22.06+ supports DHCP for IPv4 baremetal ports so we can now use it instead of Ml2 OVS Services on Undercloud. This patch update roles and add environment file to allow the Undercloud deployments with OVN. Once upgrade/migration path is evaluated for Undercloud from Ml2 OVS to Ml2 OVN we can consider switching default Ml2 Plugin on Undercloud. [1] https://review.opendev.org/c/openstack/tripleo-heat-templates/+/593056/ Change-Id: I724934f511a2d530521fd368e56e7bc2bcb07d76 --- .../services/undercloud-neutron-ovn-dhcp.yaml | 26 +++++++++++++++++++ environments/undercloud.yaml | 5 ++++ roles/Undercloud.yaml | 3 +++ roles_data_undercloud.yaml | 3 +++ 4 files changed, 37 insertions(+) create mode 100644 environments/services/undercloud-neutron-ovn-dhcp.yaml diff --git a/environments/services/undercloud-neutron-ovn-dhcp.yaml b/environments/services/undercloud-neutron-ovn-dhcp.yaml new file mode 100644 index 0000000000..090e100fa7 --- /dev/null +++ b/environments/services/undercloud-neutron-ovn-dhcp.yaml @@ -0,0 +1,26 @@ +# A Heat environment file which can be used to enable +# neutron Ml2 OVN services on Undercloud +resource_registry: + # OVN services + OS::TripleO::Services::NeutronMl2PluginBase: ../../deployment/neutron/neutron-plugin-ml2-ovn.yaml + OS::TripleO::Services::OVNController: ../../deployment/ovn/ovn-controller-container-puppet.yaml + OS::TripleO::Services::OVNDBs: ../../deployment/ovn/ovn-dbs-container-puppet.yaml + OS::TripleO::Services::OVNMetadataAgent: ../../deployment/ovn/ovn-metadata-container-puppet.yaml + +# Disabling Neutron services that overlap with OVN + OS::TripleO::Services::NeutronDhcpAgent: OS::Heat::None + OS::TripleO::Services::NeutronL3Agent: OS::Heat::None + OS::TripleO::Services::NeutronOvsAgent: OS::Heat::None + +parameter_defaults: + OVNNeutronSyncMode: log + NeutronRpcWorkers: 1 + UndercloudParameters: + OVNCMSOptions: "enable-chassis-as-gw" + OVNDnsServers: [] + DhcpAgentNotification: false + NeutronServicePlugins: 'ovn-router,segments' + NeutronMechanismDrivers: ['ovn', 'baremetal'] + NeutronPluginExtensions: "port_security,dns" + NeutronNetworkType: ['geneve', 'vxlan', 'vlan', 'flat'] + NeutronTypeDrivers: ['geneve', 'vxlan', 'vlan', 'flat'] diff --git a/environments/undercloud.yaml b/environments/undercloud.yaml index 8eb808a407..ef139f4120 100644 --- a/environments/undercloud.yaml +++ b/environments/undercloud.yaml @@ -14,6 +14,11 @@ resource_registry: OS::TripleO::Services::NeutronCorePlugin: ../deployment/neutron/neutron-plugin-ml2-container-puppet.yaml OS::TripleO::Services::NeutronMl2PluginBase: ../deployment/neutron/neutron-plugin-ml2.yaml + # Disable OVN services + OS::TripleO::Services::OVNController: OS::Heat::None + OS::TripleO::Services::OVNDBs: OS::Heat::None + OS::TripleO::Services::OVNMetadataAgent: OS::Heat::None + OS::TripleO::Services::OpenStackClients: ../deployment/clients/openstack-clients-baremetal-ansible.yaml OS::TripleO::Services::HeatEphemeral: ../deployment/heat/heat-ephemeral-container-ansible.yaml diff --git a/roles/Undercloud.yaml b/roles/Undercloud.yaml index 6192579329..00cb720b9c 100644 --- a/roles/Undercloud.yaml +++ b/roles/Undercloud.yaml @@ -42,6 +42,9 @@ - OS::TripleO::Services::NeutronDhcpAgent - OS::TripleO::Services::NeutronL3Agent - OS::TripleO::Services::NeutronOvsAgent + - OS::TripleO::Services::OVNController + - OS::TripleO::Services::OVNDBs + - OS::TripleO::Services::OVNMetadataAgent - OS::TripleO::Services::OpenStackClients - OS::TripleO::Services::OsloMessagingNotify - OS::TripleO::Services::OsloMessagingRpc diff --git a/roles_data_undercloud.yaml b/roles_data_undercloud.yaml index c4266530b5..ce4252debc 100644 --- a/roles_data_undercloud.yaml +++ b/roles_data_undercloud.yaml @@ -45,6 +45,9 @@ - OS::TripleO::Services::NeutronDhcpAgent - OS::TripleO::Services::NeutronL3Agent - OS::TripleO::Services::NeutronOvsAgent + - OS::TripleO::Services::OVNController + - OS::TripleO::Services::OVNDBs + - OS::TripleO::Services::OVNMetadataAgent - OS::TripleO::Services::OpenStackClients - OS::TripleO::Services::OsloMessagingNotify - OS::TripleO::Services::OsloMessagingRpc