[OVN] SRIOV with native OVN DHCP server
In order to make SRIOV work for the OVN driver the concept of "external"
ports has been introduced (see depends-on). These ports lives on a
different host (gateway nodes) and are able to reply to arp requests
on behalf of VM port. In the SRIOV case, the SRIOV port is bypassed in
the hypervidor so the OVN driver creates an external port it which will
reply to the DHCP packets.
This patch is creating two new roles to work with the mechanism
described above:
* ControllerSriov: Same as the normal Controller role but with the OVN
Metadata agent deployed.
* NetworkerSriov: Same as the normal Networker role but with the OVN
Metadata agent deployed.
The patch also removes the Neutron DHCP agent from the
neutron-ovn-sriov.yaml environment file since no longer needed.
Depends-On: https://review.opendev.org/703376
Change-Id: I5ef3d6543785b677ea333803aaa23bd34abdd671
Signed-off-by: Lucas Alvares Gomes <lucasagomes@gmail.com>
(cherry picked from commit 0d9cc4ca8f
)
This commit is contained in:
parent
97a5596442
commit
bc63a7b1c7
|
@ -9,7 +9,6 @@
|
||||||
resource_registry:
|
resource_registry:
|
||||||
OS::TripleO::Services::NeutronSriovAgent: ../../deployment/neutron/neutron-sriov-agent-container-puppet.yaml
|
OS::TripleO::Services::NeutronSriovAgent: ../../deployment/neutron/neutron-sriov-agent-container-puppet.yaml
|
||||||
OS::TripleO::Services::NeutronSriovHostConfig: ../../deployment/deprecated/neutron/neutron-sriov-host-config.yaml
|
OS::TripleO::Services::NeutronSriovHostConfig: ../../deployment/deprecated/neutron/neutron-sriov-host-config.yaml
|
||||||
OS::TripleO::Services::NeutronDhcpAgent: ../../deployment/neutron/neutron-dhcp-container-puppet.yaml
|
|
||||||
|
|
||||||
parameter_defaults:
|
parameter_defaults:
|
||||||
NeutronMechanismDrivers: ['sriovnicswitch','ovn']
|
NeutronMechanismDrivers: ['sriovnicswitch','ovn']
|
||||||
|
|
|
@ -0,0 +1,185 @@
|
||||||
|
###############################################################################
|
||||||
|
# Role: ControllerSriov #
|
||||||
|
###############################################################################
|
||||||
|
- name: ControllerSriov
|
||||||
|
description: |
|
||||||
|
Controller role that has all the controler services loaded and handles
|
||||||
|
Database, Messaging and Network functions.
|
||||||
|
CountDefault: 1
|
||||||
|
tags:
|
||||||
|
- primary
|
||||||
|
- controller
|
||||||
|
networks:
|
||||||
|
External:
|
||||||
|
subnet: external_subnet
|
||||||
|
InternalApi:
|
||||||
|
subnet: internal_api_subnet
|
||||||
|
Storage:
|
||||||
|
subnet: storage_subnet
|
||||||
|
StorageMgmt:
|
||||||
|
subnet: storage_mgmt_subnet
|
||||||
|
Tenant:
|
||||||
|
subnet: tenant_subnet
|
||||||
|
# For systems with both IPv4 and IPv6, you may specify a gateway network for
|
||||||
|
# each, such as ['ControlPlane', 'External']
|
||||||
|
default_route_networks: ['External']
|
||||||
|
HostnameFormatDefault: '%stackname%-controller-sriov-%index%'
|
||||||
|
# Deprecated & backward-compatible values (FIXME: Make parameters consistent)
|
||||||
|
# Set uses_deprecated_params to True if any deprecated params are used.
|
||||||
|
uses_deprecated_params: True
|
||||||
|
deprecated_param_extraconfig: 'controllerExtraConfig'
|
||||||
|
deprecated_param_flavor: 'OvercloudControlFlavor'
|
||||||
|
deprecated_param_image: 'controllerImage'
|
||||||
|
deprecated_nic_config_name: 'controller.yaml'
|
||||||
|
update_serial: 1
|
||||||
|
ServicesDefault:
|
||||||
|
- OS::TripleO::Services::Aide
|
||||||
|
- OS::TripleO::Services::AodhApi
|
||||||
|
- OS::TripleO::Services::AodhEvaluator
|
||||||
|
- OS::TripleO::Services::AodhListener
|
||||||
|
- OS::TripleO::Services::AodhNotifier
|
||||||
|
- OS::TripleO::Services::AuditD
|
||||||
|
- OS::TripleO::Services::BarbicanApi
|
||||||
|
- OS::TripleO::Services::BarbicanBackendSimpleCrypto
|
||||||
|
- OS::TripleO::Services::BarbicanBackendDogtag
|
||||||
|
- OS::TripleO::Services::BarbicanBackendKmip
|
||||||
|
- OS::TripleO::Services::BarbicanBackendPkcs11Crypto
|
||||||
|
- OS::TripleO::Services::BootParams
|
||||||
|
- OS::TripleO::Services::CACerts
|
||||||
|
- OS::TripleO::Services::CeilometerAgentCentral
|
||||||
|
- OS::TripleO::Services::CeilometerAgentNotification
|
||||||
|
- OS::TripleO::Services::CephExternal
|
||||||
|
- OS::TripleO::Services::CephGrafana
|
||||||
|
- OS::TripleO::Services::CephMds
|
||||||
|
- OS::TripleO::Services::CephMgr
|
||||||
|
- OS::TripleO::Services::CephMon
|
||||||
|
- OS::TripleO::Services::CephRbdMirror
|
||||||
|
- OS::TripleO::Services::CephRgw
|
||||||
|
- OS::TripleO::Services::CertmongerUser
|
||||||
|
- OS::TripleO::Services::CinderApi
|
||||||
|
- OS::TripleO::Services::CinderBackendDellPs
|
||||||
|
- OS::TripleO::Services::CinderBackendDellSc
|
||||||
|
- OS::TripleO::Services::CinderBackendDellEMCUnity
|
||||||
|
- OS::TripleO::Services::CinderBackendDellEMCVMAXISCSI
|
||||||
|
- OS::TripleO::Services::CinderBackendDellEMCVNX
|
||||||
|
- OS::TripleO::Services::CinderBackendDellEMCXTREMIOISCSI
|
||||||
|
- OS::TripleO::Services::CinderBackendNetApp
|
||||||
|
- OS::TripleO::Services::CinderBackendPure
|
||||||
|
- OS::TripleO::Services::CinderBackendScaleIO
|
||||||
|
- OS::TripleO::Services::CinderBackendVRTSHyperScale
|
||||||
|
- OS::TripleO::Services::CinderBackendNVMeOF
|
||||||
|
- OS::TripleO::Services::CinderBackup
|
||||||
|
- OS::TripleO::Services::CinderHPELeftHandISCSI
|
||||||
|
- OS::TripleO::Services::CinderScheduler
|
||||||
|
- OS::TripleO::Services::CinderVolume
|
||||||
|
- OS::TripleO::Services::Clustercheck
|
||||||
|
- OS::TripleO::Services::Collectd
|
||||||
|
- OS::TripleO::Services::ContainerImagePrepare
|
||||||
|
- OS::TripleO::Services::DesignateApi
|
||||||
|
- OS::TripleO::Services::DesignateCentral
|
||||||
|
- OS::TripleO::Services::DesignateProducer
|
||||||
|
- OS::TripleO::Services::DesignateWorker
|
||||||
|
- OS::TripleO::Services::DesignateMDNS
|
||||||
|
- OS::TripleO::Services::DesignateSink
|
||||||
|
- OS::TripleO::Services::Docker
|
||||||
|
- OS::TripleO::Services::Etcd
|
||||||
|
- OS::TripleO::Services::ExternalSwiftProxy
|
||||||
|
- OS::TripleO::Services::GlanceApi
|
||||||
|
- OS::TripleO::Services::GnocchiApi
|
||||||
|
- OS::TripleO::Services::GnocchiMetricd
|
||||||
|
- OS::TripleO::Services::GnocchiStatsd
|
||||||
|
- OS::TripleO::Services::HAproxy
|
||||||
|
- OS::TripleO::Services::HeatApi
|
||||||
|
- OS::TripleO::Services::HeatApiCloudwatch
|
||||||
|
- OS::TripleO::Services::HeatApiCfn
|
||||||
|
- OS::TripleO::Services::HeatEngine
|
||||||
|
- OS::TripleO::Services::Horizon
|
||||||
|
- OS::TripleO::Services::IpaClient
|
||||||
|
- OS::TripleO::Services::Ipsec
|
||||||
|
- OS::TripleO::Services::IronicApi
|
||||||
|
- OS::TripleO::Services::IronicConductor
|
||||||
|
- OS::TripleO::Services::IronicInspector
|
||||||
|
- OS::TripleO::Services::IronicPxe
|
||||||
|
- OS::TripleO::Services::IronicNeutronAgent
|
||||||
|
- OS::TripleO::Services::Iscsid
|
||||||
|
- OS::TripleO::Services::Keepalived
|
||||||
|
- OS::TripleO::Services::Kernel
|
||||||
|
- OS::TripleO::Services::Keystone
|
||||||
|
- OS::TripleO::Services::LoginDefs
|
||||||
|
- OS::TripleO::Services::ManilaApi
|
||||||
|
- OS::TripleO::Services::ManilaBackendCephFs
|
||||||
|
- OS::TripleO::Services::ManilaBackendIsilon
|
||||||
|
- OS::TripleO::Services::ManilaBackendNetapp
|
||||||
|
- OS::TripleO::Services::ManilaBackendUnity
|
||||||
|
- OS::TripleO::Services::ManilaBackendVNX
|
||||||
|
- OS::TripleO::Services::ManilaBackendVMAX
|
||||||
|
- OS::TripleO::Services::ManilaScheduler
|
||||||
|
- OS::TripleO::Services::ManilaShare
|
||||||
|
- OS::TripleO::Services::Memcached
|
||||||
|
- OS::TripleO::Services::MetricsQdr
|
||||||
|
- OS::TripleO::Services::MistralApi
|
||||||
|
- OS::TripleO::Services::MistralEngine
|
||||||
|
- OS::TripleO::Services::MistralExecutor
|
||||||
|
- OS::TripleO::Services::MistralEventEngine
|
||||||
|
- OS::TripleO::Services::Multipathd
|
||||||
|
- OS::TripleO::Services::MySQL
|
||||||
|
- OS::TripleO::Services::MySQLClient
|
||||||
|
- OS::TripleO::Services::NeutronApi
|
||||||
|
- OS::TripleO::Services::NeutronBgpVpnApi
|
||||||
|
- OS::TripleO::Services::NeutronSfcApi
|
||||||
|
- OS::TripleO::Services::NeutronCorePlugin
|
||||||
|
- OS::TripleO::Services::NeutronDhcpAgent
|
||||||
|
- OS::TripleO::Services::NeutronL2gwAgent
|
||||||
|
- OS::TripleO::Services::NeutronL2gwApi
|
||||||
|
- OS::TripleO::Services::NeutronL3Agent
|
||||||
|
- OS::TripleO::Services::NeutronLinuxbridgeAgent
|
||||||
|
- OS::TripleO::Services::NeutronMetadataAgent
|
||||||
|
- OS::TripleO::Services::NeutronML2FujitsuCfab
|
||||||
|
- OS::TripleO::Services::NeutronML2FujitsuFossw
|
||||||
|
- OS::TripleO::Services::NeutronOvsAgent
|
||||||
|
- OS::TripleO::Services::NeutronVppAgent
|
||||||
|
- OS::TripleO::Services::NeutronAgentsIBConfig
|
||||||
|
- OS::TripleO::Services::NovaApi
|
||||||
|
- OS::TripleO::Services::NovaConductor
|
||||||
|
- OS::TripleO::Services::NovaIronic
|
||||||
|
- OS::TripleO::Services::NovaMetadata
|
||||||
|
- OS::TripleO::Services::NovaScheduler
|
||||||
|
- OS::TripleO::Services::NovaVncProxy
|
||||||
|
- OS::TripleO::Services::ContainersLogrotateCrond
|
||||||
|
- OS::TripleO::Services::OctaviaApi
|
||||||
|
- OS::TripleO::Services::OctaviaDeploymentConfig
|
||||||
|
- OS::TripleO::Services::OctaviaHealthManager
|
||||||
|
- OS::TripleO::Services::OctaviaHousekeeping
|
||||||
|
- OS::TripleO::Services::OctaviaWorker
|
||||||
|
- OS::TripleO::Services::OpenStackClients
|
||||||
|
- OS::TripleO::Services::OVNDBs
|
||||||
|
- OS::TripleO::Services::OVNController
|
||||||
|
- OS::TripleO::Services::OVNMetadataAgent
|
||||||
|
- OS::TripleO::Services::Pacemaker
|
||||||
|
- OS::TripleO::Services::PlacementApi
|
||||||
|
- OS::TripleO::Services::OsloMessagingRpc
|
||||||
|
- OS::TripleO::Services::OsloMessagingNotify
|
||||||
|
- OS::TripleO::Services::Podman
|
||||||
|
- OS::TripleO::Services::Rear
|
||||||
|
- OS::TripleO::Services::Redis
|
||||||
|
- OS::TripleO::Services::Rhsm
|
||||||
|
- OS::TripleO::Services::Rsyslog
|
||||||
|
- OS::TripleO::Services::RsyslogSidecar
|
||||||
|
- OS::TripleO::Services::SaharaApi
|
||||||
|
- OS::TripleO::Services::SaharaEngine
|
||||||
|
- OS::TripleO::Services::Securetty
|
||||||
|
- OS::TripleO::Services::SkydiveAgent
|
||||||
|
- OS::TripleO::Services::SkydiveAnalyzer
|
||||||
|
- OS::TripleO::Services::Snmp
|
||||||
|
- OS::TripleO::Services::Sshd
|
||||||
|
- OS::TripleO::Services::SwiftProxy
|
||||||
|
- OS::TripleO::Services::SwiftDispersion
|
||||||
|
- OS::TripleO::Services::SwiftRingBuilder
|
||||||
|
- OS::TripleO::Services::SwiftStorage
|
||||||
|
- OS::TripleO::Services::Timesync
|
||||||
|
- OS::TripleO::Services::Timezone
|
||||||
|
- OS::TripleO::Services::TripleoFirewall
|
||||||
|
- OS::TripleO::Services::TripleoPackages
|
||||||
|
- OS::TripleO::Services::Tuned
|
||||||
|
- OS::TripleO::Services::Vpp
|
||||||
|
- OS::TripleO::Services::Zaqar
|
|
@ -0,0 +1,56 @@
|
||||||
|
###############################################################################
|
||||||
|
# Role: NetworkerSriov #
|
||||||
|
###############################################################################
|
||||||
|
- name: NetworkerSriov
|
||||||
|
description: |
|
||||||
|
Standalone networking role to run Neutron agents on their own.
|
||||||
|
networks:
|
||||||
|
InternalApi:
|
||||||
|
subnet: internal_api_subnet
|
||||||
|
Tenant:
|
||||||
|
subnet: tenant_subnet
|
||||||
|
tags:
|
||||||
|
- external_bridge
|
||||||
|
HostnameFormatDefault: '%stackname%-networker-sriov-%index%'
|
||||||
|
update_serial: 1
|
||||||
|
ServicesDefault:
|
||||||
|
- OS::TripleO::Services::Aide
|
||||||
|
- OS::TripleO::Services::AuditD
|
||||||
|
- OS::TripleO::Services::BootParams
|
||||||
|
- OS::TripleO::Services::CACerts
|
||||||
|
- OS::TripleO::Services::CertmongerUser
|
||||||
|
- OS::TripleO::Services::Collectd
|
||||||
|
- OS::TripleO::Services::Docker
|
||||||
|
- OS::TripleO::Services::IpaClient
|
||||||
|
- OS::TripleO::Services::Ipsec
|
||||||
|
- OS::TripleO::Services::IronicNeutronAgent
|
||||||
|
- OS::TripleO::Services::Kernel
|
||||||
|
- OS::TripleO::Services::LoginDefs
|
||||||
|
- OS::TripleO::Services::MetricsQdr
|
||||||
|
- OS::TripleO::Services::MySQLClient
|
||||||
|
- OS::TripleO::Services::NeutronDhcpAgent
|
||||||
|
- OS::TripleO::Services::NeutronL2gwAgent
|
||||||
|
- OS::TripleO::Services::NeutronL3Agent
|
||||||
|
- OS::TripleO::Services::NeutronMetadataAgent
|
||||||
|
- OS::TripleO::Services::NeutronML2FujitsuCfab
|
||||||
|
- OS::TripleO::Services::NeutronML2FujitsuFossw
|
||||||
|
- OS::TripleO::Services::NeutronOvsAgent
|
||||||
|
- OS::TripleO::Services::NeutronVppAgent
|
||||||
|
- OS::TripleO::Services::ContainersLogrotateCrond
|
||||||
|
- OS::TripleO::Services::OctaviaDeploymentConfig
|
||||||
|
- OS::TripleO::Services::OctaviaHealthManager
|
||||||
|
- OS::TripleO::Services::OctaviaHousekeeping
|
||||||
|
- OS::TripleO::Services::OctaviaWorker
|
||||||
|
- OS::TripleO::Services::OVNController
|
||||||
|
- OS::TripleO::Services::OVNMetadataAgent
|
||||||
|
- OS::TripleO::Services::Podman
|
||||||
|
- OS::TripleO::Services::Rhsm
|
||||||
|
- OS::TripleO::Services::Rsyslog
|
||||||
|
- OS::TripleO::Services::SkydiveAgent
|
||||||
|
- OS::TripleO::Services::Snmp
|
||||||
|
- OS::TripleO::Services::Sshd
|
||||||
|
- OS::TripleO::Services::Timesync
|
||||||
|
- OS::TripleO::Services::Timezone
|
||||||
|
- OS::TripleO::Services::TripleoFirewall
|
||||||
|
- OS::TripleO::Services::TripleoPackages
|
||||||
|
- OS::TripleO::Services::Tuned
|
Loading…
Reference in New Issue