Este contenido no está disponible en el idioma seleccionado.
Chapter 3. Deploying OVN with director
The following events are triggered when you deploy OVN on the Red Hat OpenStack Platform:
- Enables the OVN ML2 plugin and generates the necessary configuration options.
-
Deploys the OVN databases and the
ovn-northdservice on the controller node(s). -
Deploys
ovn-controlleron each Compute node. -
Deploys
neutron-ovn-metadata-agenton each Compute node.
3.1. Deploying ML2/OVN with DVR Copiar enlaceEnlace copiado en el portapapeles!
To deploy and manage distributed virtual routing (DVR) in an ML2/OVN deployment, you configure settings in heat templates and environment files.
This procedures in this guide deploy OVN with the default DVR in an HA environment.
The default settings are provided as guidelines only. They are not expected to work in production or test environments which may require customization for network isolation, dedicated NICs, or any number of other variable factors.
The following example procedure shows how to configure a proof-of-concept deployment of ML2/OVN, HA, DVR using the typical defaults.
Procedure
Verify that the value for
OS::TripleO::Compute::Net::SoftwareConfigin theenvironments/services/neutron-ovn-dvr-ha.yamlfile is the same as theOS::TripleO::Controller::Net::SoftwareConfigvalue in use. This can normally be found in the network environment file used to deploy the overcloud, such as theenvironments/net-multiple-nics.yamlfile. This creates the appropriate external network bridge on the Compute node.NoteIf you customize the network configuration of the Compute node, you may need to add the appropriate configuration to your custom files instead.
Include environments/services/neutron-ovn-dvr-ha.yaml as an environment file when deploying the overcloud. For example:
openstack overcloud deploy \ --templates /usr/share/openstack-tripleo-heat-templates \ ...$ openstack overcloud deploy \ --templates /usr/share/openstack-tripleo-heat-templates \ ... -e /usr/share/openstack-tripleo-heat-templates/environments/services/neutron-ovn-dvr-ha.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow Ensure that the Compute and Controller roles in roles_data.yaml include the tag external_bridge, and that an external network entry is added to the Compute nodes. For example:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.2. Deploying the OVN metadata agent on Compute nodes Copiar enlaceEnlace copiado en el portapapeles!
The OVN metadata agent is configured in the tripleo-heat-templates/docker/services/ovn-metadata.yaml file and included in the default Compute role through OS::TripleO::Services::OVNMetadataAgent. As such, the OVN metadata agent with default parameters is deployed as part of the OVN deployment. See Chapter 3, Deploying OVN with director.
OpenStack guest instances access the Networking metadata service available at the link-local IP address: 169.254.169.254. The neutron-ovn-metadata-agent has access to the host networks where the Compute metadata API exists. Each HAProxy is in a network namespace that is not able to reach the appropriate host network. HaProxy adds the necessary headers to the metadata API request and then forwards the request to the neutron-ovn-metadata-agent over a UNIX domain socket.
The OVN Networking service creates a unique network namespace for each virtual network that enables the metadata service. Each network accessed by the instances on the Compute node has a corresponding metadata namespace (ovnmeta-<net_uuid>).
3.2.1. Troubleshooting Metadata issues Copiar enlaceEnlace copiado en el portapapeles!
You can use metadata namespaces for troubleshooting to access the local instances on the Compute node. To troubleshoot metadata namespace issues, run the following command as root on the Compute node:
ip netns exec ovnmeta-fd706b96-a591-409e-83be-33caea824114 ssh USER@INSTANCE_IP_ADDRESS
# ip netns exec ovnmeta-fd706b96-a591-409e-83be-33caea824114 ssh USER@INSTANCE_IP_ADDRESS
USER@INSTANCE_IP_ADDRESS is the user name and IP address for the local instance you want to troubleshoot.
3.3. Deploying Internal DNS with OVN Copiar enlaceEnlace copiado en el portapapeles!
To use domain names instead of IP addresses on your local network for east-west traffic, use internal domain name service (DNS). With internal DNS, ovn-controller responds to DNS queries locally on the compute node. Note that internal DNS overrides any custom DNS server specified in an instance’s /etc/resolv.conf file. With internal DNS deployed, the instance’s DNS queries are handled by ovn-controller instead of the custom DNS server.
Procedure
Enable DNS with the
NeutronPluginExtensionsparameter:parameter_defaults: NeutronPluginExtensions: "dns"
parameter_defaults: NeutronPluginExtensions: "dns"Copy to Clipboard Copied! Toggle word wrap Toggle overflow Set the DNS domain before you deploy the overcloud:
NeutronDnsDomain: "mydns-example.org"
NeutronDnsDomain: "mydns-example.org"Copy to Clipboard Copied! Toggle word wrap Toggle overflow Deploy the overcloud:
openstack overcloud deploy \ --templates /usr/share/openstack-tripleo-heat-templates \ ...$ openstack overcloud deploy \ --templates /usr/share/openstack-tripleo-heat-templates \ ... -e /usr/share/openstack-tripleo-heat-templates/environments/services-docker/neutron-ovn-dvr-ha.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow