Configuration de l’Overcloud pour RHOSP 17.1
Cette procédure permet de configurer l’overcloud pour un déploiement de Contrail Networking sur RHOSP 17.1.
Télécharger les modèles de chaleur
Télécharger des images de conteneur dans le registre Undercloud
Utilisez cet exemple de procédure sur l’undercloud pour charger des images de conteneur overcloud dans le registre undercloud.
Provisionner des réseaux overcloud
Provisionner des nœuds overcloud bare metal
Configurer Contrail
Nous fournissons différents fichiers de configuration dans le package Contrail Networking Heat Templates pour vous permettre de personnaliser votre déploiement overcloud. Le tableau 2 décrit les fichiers que vous devez configurer dans notre exemple.
| Description du | fichier |
|---|---|
| roles_data.yaml | Description des différents rôles de noeud |
| contrôleur contrail-nic-config.j2 | Description des interfaces sur les contrôleurs OpenStack |
| contrail-nic-config-ContrailController.j2 | Description des interfaces sur les contrôleurs Contrail |
| contrail-nic-config-ComputeKernel.j2 | Description des interfaces sur le nœud de calcul s’exécutant en mode noyau |
| contrail-net.yaml | Description des différents paramètres du réseau Contrail |
| services-contrail.yaml | Description des services Contrail |
| plugins-contrail.yaml | Paramètres divers |
|
Note: Vous trouverez des exemples des fichiers ci-dessus sous des noms comparables dans le package Contrail Networking Heat Templates que vous avez téléchargé. Notre exemple, cependant, suppose que vous utiliserez les noms de fichiers comme indiqué ci-dessus.
|
|
- Configuration des rôles (roles_data.yaml)
- Configuration de l’interface réseau (*-nic-*.j2)
- Configuration des paramètres réseau (contrail-net.yaml)
- Service Contrail avec modèles (contrail-services.yaml)
- Plugins Contrail (contrail-plugins.yaml)
Configuration des rôles (roles_data.yaml)
Le fichier de configuration des rôles contient les définitions des différents rôles de nœud. Vous pouvez trouver des exemples de fichiers de rôles Contrail dans ~/tripleo-heat-templates et dans ~/tripleo-heat-templates/roles.
Dans notre exemple, nous définissons trois rôles. Placez les trois rôles dans le fichier roles_data.yaml et placez-le dans ~/tripleo-heat-templates/environments/contrail/roles_data.yaml.
Rôle du contrôleur OpenStack
Dans notre exemple, nous avons trois nœuds pour le contrôleur OpenStack. Chacun de ces nœuds se connecte aux réseaux de gestion, d’API interne, de gestion, de stockage, de gestion du stockage et externes, comme indiqué ci-dessous :
###############################################################################
# Role: Controller #
###############################################################################
- name: Controller
description: |
Controller role that has all the controler services loaded and handles
Database, Messaging and Network functions.
CountDefault: 3
tags:
- primary
- controller
networks:
Management:
subnet: management_subnet
InternalApi:
subnet: internal_api_subnet
Storage:
subnet: storage_subnet
StorageMgmt:
subnet: storage_mgmt_subnet
External:
subnet: external_subnet
default_route_networks: ['External']
HostnameFormatDefault: '%stackname%-controller-%index%'
RoleParametersDefault:
NeutronPublicInterface: nic2
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:
<leave unchanged>
Rôle du contrôleur Contrail
Nous avons également trois nœuds pour le contrôleur Contrail. Chacun de ces nœuds se connecte aux réseaux de gestion, d’API interne, externes et de locataires, comme indiqué ci-dessous :
###############################################################################
# Role: ContrailController #
###############################################################################
- name: ContrailController
description: |
ContrailController role that has all the Contrail controler services loaded
and handles config, control and webui functions
CountDefault: 3
tags:
- primary
- contrailcontroller
networks:
Management:
subnet: management_subnet
InternalApi:
subnet: internal_api_subnet
Tenant:
subnet: tenant_subnet
External:
subnet: external_subnet
HostnameFormatDefault: '%stackname%-contrailcontroller-%index%'
RoleParametersDefault:
NeutronPublicInterface: nic2
tripleo_podman_tls_verify: false
ServicesDefault:
<leave unchanged>
Rôle de nœud de calcul
Nous avons un nœud de calcul. Le nœud de calcul se connecte aux réseaux de gestion, d’API interne, de stockage et de locataires, comme illustré ci-dessous.
###############################################################################
# Role: Compute #
###############################################################################
- name: Compute
description: |
Basic Compute Node role
CountDefault: 1
tags:
- compute
networks:
Management:
subnet: management_subnet
InternalApi:
subnet: internal_api_subnet
Storage:
subnet: storage_subnet
Tenant:
subnet: tenant_subnet
HostnameFormatDefault: '%stackname%-novacompute-%index%'
RoleParametersDefault:
NeutronPublicInterface: nic2
FsAioMaxNumber: 1048576
TunedProfileName: "virtual-host"
tripleo_podman_tls_verify: false
uses_deprecated_params: True
deprecated_param_image: 'NovaImage'
deprecated_param_extraconfig: 'NovaComputeExtraConfig'
deprecated_param_metadata: 'NovaComputeServerMetadata'
deprecated_param_scheduler_hints: 'NovaComputeSchedulerHints'
deprecated_param_ips: 'NovaComputeIPs'
deprecated_server_resource_name: 'NovaCompute'
deprecated_nic_config_name: 'compute.yaml'
update_serial: 25
ServicesDefault:
<leave unchanged>
Configuration de l’interface réseau (*-nic-*.j2)
Les fichiers de configuration de la carte réseau décrivent les interfaces de chaque rôle. Vous trouverez des exemples de fichiers de configuration de carte réseau dans ~/tripleo-heat-templates/network/config/contrail et ~/tripleo-heat-templates/network/config/contrail/examples.
Dans notre exemple, nous définissons trois cartes réseau (une pour chaque rôle), comme le montre le tableau 3.
| Noeuds, | Interfaces | , Réseaux |
|---|---|---|
| Contrôleur OpenStack | ENP1S0 | gestion |
| ENP2S0 | plan de contrôle
|
|
| Contrôleur Contrail | ENP1S0 | gestion |
| ENP2S0 | plan de contrôle
|
|
| ENP3S0 | locataire | |
| Calculer | ENP1S0 | gestion |
| ENP2S0 | plan de contrôle
|
|
| ENP3S0 | locataire |
- Carte réseau du contrôleur OpenStack (contrail-nic-config-Controller.j2)
- Carte réseau du contrôleur Contrail (contrail-nic-config-ContrailController.j2)
- Carte réseau du nœud de calcul (contrail-nic-config-Compute.j2)
Carte réseau du contrôleur OpenStack (contrail-nic-config-Controller.j2)
---
network_config:
- addresses:
- ip_netmask: {{ management_ip }}/{{ management_subnet_cidr }}
mtu: 1500
name: enp1s0
type: interface
use_dhcp: false
routes:
- default: true
next_hop: {{ management_gateway_ip }}
- addresses:
- ip_netmask: {{ ctlplane_ip }}/{{ ctlplane_subnet_cidr }}
dns_servers: {{ ctlplane_dns_nameservers }}
mtu: 1500
name: enp2s0
type: interface
use_dhcp: false
- addresses:
- ip_netmask: {{ external_ip }}/{{ external_cidr }}
device: enp2s0
mtu: 1500
type: vlan
vlan_id: {{ external_vlan_id }}
- addresses:
- ip_netmask: {{ internal_api_ip }}/{{ internal_api_cidr }}
device: enp2s0
mtu: 1500
type: vlan
vlan_id: {{ internal_api_vlan_id }}
- addresses:
- ip_netmask: {{ storage_mgmt_ip }}/{{ storage_mgmt_cidr }}
device: enp2s0
mtu: 1500
type: vlan
vlan_id: {{ storage_mgmt_vlan_id }}
- addresses:
- ip_netmask: {{ storage_ip }}/{{ storage_cidr }}
device: enp2s0
mtu: 1500
type: vlan
vlan_id: {{ storage_vlan_id }}
Carte réseau du contrôleur Contrail (contrail-nic-config-ContrailController.j2)
---
network_config:
- addresses:
- ip_netmask: {{ management_ip }}/{{ management_subnet_cidr }}
mtu: 1500
name: enp1s0
type: interface
use_dhcp: false
routes:
- default: true
next_hop: {{ management_gateway_ip }}
- addresses:
- ip_netmask: {{ ctlplane_ip }}/{{ ctlplane_subnet_cidr }}
dns_servers: {{ ctlplane_dns_nameservers }}
mtu: 1500
name: enp2s0
type: interface
use_dhcp: false
- addresses:
- ip_netmask: {{ external_ip }}/{{ external_cidr }}
device: enp2s0
mtu: 1500
type: vlan
vlan_id: {{ external_vlan_id }}
- addresses:
- ip_netmask: {{ tenant_ip }}/{{ tenant_cidr }}
name: enp3s0
mtu: 1500
type: interface
use_dhcp: false
- addresses:
- ip_netmask: {{ internal_api_ip }}/{{ internal_api_cidr }}
device: enp2s0
mtu: 1500
type: vlan
vlan_id: {{ internal_api_vlan_id }}
Carte réseau du nœud de calcul (contrail-nic-config-Compute.j2)
---
network_config:
- addresses:
- ip_netmask: {{ management_ip }}/{{ management_subnet_cidr }}
mtu: 1500
name: enp1s0
type: interface
use_dhcp: false
routes:
- default: true
next_hop: {{ management_gateway_ip }}
- addresses:
- ip_netmask: {{ ctlplane_ip }}/{{ ctlplane_subnet_cidr }}
dns_servers: {{ ctlplane_dns_nameservers }}
mtu: 1500
name: enp2s0
type: interface
use_dhcp: false
- addresses:
- ip_netmask: {{ internal_api_ip }}/{{ internal_api_cidr }}
device: enp2s0
mtu: 1500
type: vlan
vlan_id: {{ internal_api_vlan_id }}
- addresses:
- ip_netmask: {{ storage_ip }}/{{ storage_cidr }}
device: enp2s0
mtu: 1500
type: vlan
vlan_id: {{ storage_vlan_id }}
- addresses:
- ip_netmask: {{ tenant_ip }}/{{ tenant_cidr }}
members:
- name: enp3s0
type: interface
use_dhcp: false
mtu: 1500
name: vhost0
type: contrail_vrouter
use_dhcp: false
Configuration des paramètres réseau (contrail-net.yaml)
Personnalisez les paramètres du réseau Contrail en modifiant le fichier contrail-net.yaml . Nous fournissons un exemple à l’adresse ~/tripleo-heat-templates/environments/contrail/contrail-net.yaml. Parcourez ce fichier pour obtenir des explications sur les paramètres.
Voici le fichier contrail-net.yaml pour notre exemple.
resource_registry:
<leave unchanged>
parameter_defaults:
# Customize all these values to match the local environment
TenantNetCidr: 192.168.33.0/24
InternalApiNetCidr: 192.168.4.0/24
ExternalNetCidr: 10.204.17.0/24
StorageNetCidr: 192.168.2.0/24
StorageMgmtNetCidr: 192.168.3.0/24
ManagementNetCidr: 10.102.70.0/24
# CIDR subnet mask length for provisioning network
ControlPlaneSubnetCidr: '24'
# Allocation pools
ManagementAllocationPools: [{'start': '10.102.70.50', 'end': '10.102.70.99'}]
TenantAllocationPools: [{'start': '192.168.33.50', 'end': '192.168.33.99'}]
InternalApiAllocationPools: [{'start': '192.168.4.50', 'end': '192.168.4.99'}]
ExternalAllocationPools: [{'start': '10.204.17.50', 'end': '10.204.17.99'}]
StorageAllocationPools: [{'start': '192.168.2.50', 'end': '192.168.2.99'}]
StorageMgmtAllocationPools: [{'start': '192.168.3.50', 'end': '192.168.3.99'}]
# Routes
ControlPlaneDefaultRoute: 192.168.213.1
InternalApiDefaultRoute: 192.168.4.1
ExternalInterfaceDefaultRoute: 10.204.17.1
ManagementInterfaceDefaultRoute: 10.102.70.1
# Vlans
InternalApiNetworkVlanID: 710
ExternalNetworkVlanID: 720
StorageNetworkVlanID: 740
StorageMgmtNetworkVlanID: 750
# Services
EC2MetadataIp: 192.168.213.10 # Generally the IP of the Undercloud
DnsServers: ["YOUR_DNS_SERVER"]
NtpServer: "YOUR_NTP_SERVER"
Service Contrail avec modèles (contrail-services.yaml)
Personnalisez les services Contrail pour votre réseau en modifiant le fichier contrail-services.yaml . Nous fournissons un exemple à l’adresse ~/tripleo-heat-templates/environments/contrail/contrail-services.yaml. Parcourez ce fichier pour obtenir des explications sur les paramètres.
Voici le fichier contrail-services.yaml pour notre exemple.
parameter_defaults:
ServiceNetMap:
<leave unchanged>
NovaLiveMigrationPermitPostCopy: false
NeutronMetadataProxySharedSecret: secret
ContrailRegistry: REGISTRY_FOR_CONTRAIL_CONTAINERS:REGISTRY_PORT
ContrailImageTag: CONTRAIL_TAG
ContrailDefaults:
APPLY_DEFAULTS: "True"
ContrailSettings:
VROUTER_ENCRYPTION: false
VROUTER_GATEWAY: 192.168.33.1
BGP_ASN: 64512
BGP_AUTO_MESH: true
Lorsque Contrail est déployé pour la première fois, la valeur par défaut de APPLY_DEFAULTS paramètre dans la section ContrailDefaults doit être définie sur « True ». Cela permet aux paramètres d’approvisionnement présents dans le modèle d’utiliser la configuration day0 chaque fois qu’un conteneur de provisionnement de configuration est redémarré. Par conséquent, les paramètres d’approvisionnement sont pilotés par des modèles et toute modification des paramètres Contrail doit être effectuée par le biais de modèles TripleO.
Contrail Networking vous permet de configurer certains paramètres de configuration globale tels que le mode d’identification du réseau VXLAN, la configuration linklocale, la configuration du maillage automatique IBGP, l’activation de 4byte_AS et la modification de l’ASN BGP Global via son interface utilisateur Web. Si vous souhaitez gérer votre cluster via l’interface utilisateur Web, vous devez définir APPLY_DEFAULTS=False dans la section ContrailDefaults et déployer à nouveau votre cluster en exécutant openstack overcloud deploy. Cette étape supplémentaire est nécessaire, car lorsque vous avez modifié les paramètres de configuration globale de Contrail via l’interface utilisateur Web, il est possible que ces paramètres de configuration globale soient écrasés si un conteneur de provisionnement de configuration est redémarré. Afin d’éviter que ces valeurs ne soient écrasées, définissez APPLY_DEFAULTS sur 'False' et déployez à nouveau Contrail en exécutant la commande openstack overcloud deploy. Par conséquent, les paramètres de configuration globaux restent inchangés car le provisionnement n’est pas exécuté à nouveau.
Par exemple, si vous définissez APPLY_DEFAULTS=False via le modèle TripleO, déployez votre cluster Contrail, définissez VxLAN Identifier Mode sur « User Configured » (Configuré par l’utilisateur) à partir de l’interface utilisateur Web et redémarrez le conteneur du provisionneur de configuration, puis le mode d’identificateur VxLAN reste « Configuré par l’utilisateur » après le redémarrage du conteneur du provisionneur de configuration. Au contraire, si APPLY_DEFAULTS est défini sur True, après le redémarrage du conteneur du provisionneur de configuration, le mode d’identificateur VxLAN passe à sa valeur par défaut, qui est Automatique.
Par exemple, si vous définissez APPLY_DEFAULTS=False via le modèle TripleO, déployez votre cluster Contrail, définissez VxLAN Identifier Mode sur « User Configured » (Configuré par l’utilisateur) à partir de l’interface utilisateur Web et redémarrez le conteneur du provisionneur de configuration, puis le mode d’identificateur VxLAN reste « Configuré par l’utilisateur » après le redémarrage du conteneur du provisionneur de configuration. Au contraire, si APPLY_DEFAULTS est défini sur True, après le redémarrage du conteneur du provisionneur de configuration, le mode d’identificateur VxLAN prend sa valeur par défaut, qui est Automatique.
APPLY_DEFAULTS=True/False (default: True)
Plugins Contrail (contrail-plugins.yaml)
Le fichier plug-ins Contrail contient divers paramètres et fait référence à de nombreux autres fichiers utilisés par Contrail. Il se trouve à l’adresse ~/tripleo-heat-templates/environments/contrail/contrail-plugins.yaml.
Ne modifiez pas ce fichier et ne modifiez pas l’emplacement des fichiers référencés.
Création de l’Overcloud
Configuration avancée
Contrail Networking fournit un riche ensemble de fonctionnalités qui vont au-delà de notre exemple de base. Les sections suivantes contiennent d’autres exemples de configuration YAML qui peuvent s’appliquer à votre déploiement. Cette configuration supplémentaire n’a rien à voir avec notre exemple.
Avant de les utiliser, convertissez ces exemples YAML au format Jinja2. Consultez la documentation Red Hat pour plus d’informations sur cette procédure.
- Configuration avancée du mode noyau vRouter
- Configuration avancée du mode DPDK vRouter
- Configuration avancée du mode noyau SRIOV + vRouter
- Configuration avancée du mode vRouter SRIOV + DPDK
Configuration avancée du mode noyau vRouter
En plus de la configuration standard de la carte réseau, le mode noyau du vRouter prend en charge les modes VLAN, Bond et Bond + VLAN. Les extraits de configuration ci-dessous n’affichent que la section correspondante de la configuration du modèle de carte réseau pour chaque mode.
| Types d’interfaces | Exemple de configuration |
|---|---|
| VLAN (en anglais) | - name: enp2s0
type: interface
use_dhcp: false
- type: vlan
device: enp2s0
vlan_id: {{ tenant_vlan_id }}
use_dhcp: false
- name: vhost0
type: contrail_vrouter
addresses:
- ip_netmask: {{ tenant_ip }}/{{ tenant_cidr }}
members:
- name: vlan{{ tenant_vlan_id }}
type: interface
use_dhcp: false
mtu: 1500
use_dhcp: false |
| Obligation | - name: bond0
type: linux_bond
bonding_options: mode=4 xmit_hash_policy=layer2+3
use_dhcp: false
members:
- type: interface
name: enp2s0
- type: interface
name: enp3s0
- name: vhost0
type: contrail_vrouter
mtu: 1500
use_dhcp: false
addresses:
- ip_netmask: {{ tenant_ip }}/{{ tenant_cidr }}
members:
- name: bond0
type: interface
use_dhcp: false |
| Liaison + VLAN | - name: bond0
type: linux_bond
bonding_options: mode=4 xmit_hash_policy=layer2+3
use_dhcp: false
members:
- type: interface
name: enp2s0
- type: interface
name: enp3s0
- device: bond0
type: vlan
vlan_id: {{ tenant_vlan_id }}
use_dhcp: false
- name: vhost0
type: contrail_vrouter
mtu: 1500
use_dhcp: false
addresses:
- ip_netmask: {{ tenant_ip }}/{{ tenant_cidr }}
members:
- name: vlan{{ tenant_vlan_id }}
type: interface
use_dhcp: false |
Configuration avancée du mode DPDK vRouter
En plus de la configuration standard de la carte réseau, le mode DPDK du vRouter prend en charge les modes Standard, VLAN, Bond et Bond + VLAN.
Configuration de l’environnement réseau :
vi ~/tripleo-heat-templates/environments/contrail/contrail-services.yaml
Activez le nombre de pages huge :
# For Intel CPU
ContrailDpdkParameters:
KernelArgs: "intel_iommu=on iommu=pt default_hugepagesz=1GB hugepagesz=1G hugepages=4 hugepagesz=2M hugepages=1024"
ExtraSysctlSettings:
# must be equal to value from kernel args: hugepages=4
vm.nr_hugepages:
value: 4
vm.max_map_count:
value: 128960
Reportez-vous aux configurations de modèle de carte réseau suivantes pour le mode vRouter DPDK. Les extraits de configuration ci-dessous n’affichent que la section correspondante de la configuration de la carte réseau pour chaque mode.
| Types d’interfaces | Exemple de configuration |
|---|---|
| Standard | - name: vhost0
type: contrail_vrouter_dpdk
driver: uio_pci_generic
cpu_list: 0x01
mtu: 1500
use_dhcp: false
addresses:
- ip_netmask: {{ tenant_ip }}/{{ tenant_cidr }}
members:
- name: enp2s0
type: interface
use_dhcp: false |
| VLAN (en anglais) | - name: vhost0
type: contrail_vrouter_dpdk
driver: uio_pci_generic
cpu_list: 0x01
mtu: 1500
use_dhcp: false
vlan_id: {{ tenant_vlan_id }}
addresses:
- ip_netmask: {{ tenant_ip }}/{{ tenant_cidr }}
members:
- name: enp2s0
type: interface
use_dhcp: false |
| Obligation | - name: vhost0
type: contrail_vrouter_dpdk
driver: uio_pci_generic
cpu_list: 0x01
mtu: 1500
use_dhcp: false
bond_mode: 4
bond_policy: layer2+3
addresses:
- ip_netmask: {{ tenant_ip }}/{{ tenant_cidr }}
members:
- name: enp2s0
type: interface
use_dhcp: false
- name: enp3s0
type: interface
use_dhcp: false |
| Liaison + VLAN | - name: vhost0
type: contrail_vrouter_dpdk
driver: uio_pci_generic
cpu_list: 0x01
mtu: 1500
use_dhcp: false
bond_mode: 4
bond_policy: layer2+3
vlan_id: {{ tenant_vlan_id }}
addresses:
- ip_netmask: {{ tenant_ip }}/{{ tenant_cidr }}
members:
- name: enp2s0
type: interface
use_dhcp: false
- name: enp3s0
type: interface
use_dhcp: false |
Configuration avancée du mode noyau SRIOV + vRouter
Le mode vRouter SRIOV + Kernel peut être utilisé dans les combinaisons suivantes :
-
Standard
-
VLAN (en anglais)
-
Obligation
-
Liaison + VLAN
Configuration de l’environnement réseau :
vi ~/tripleo-heat-templates/environments/contrail/contrail-services.yaml
Activez le nombre de pages huge :
ContrailSriovParameters:
KernelArgs: "intel_iommu=on iommu=pt default_hugepagesz=1GB hugepagesz=1G hugepages=4 hugepagesz=2M hugepages=1024"
ExtraSysctlSettings:
# must be equal to value from 1G kernel args: hugepages=4
vm.nr_hugepages:
value: 4
Réglages SRIOV PF/VF :
NovaPCIPassthrough: - devname: "ens2f1" physical_network: "sriov1" ContrailSriovNumVFs: ["ens2f1:7"]
Les cartes réseau SRIOV ne sont pas configurées dans les modèles de cartes réseau. Toutefois, les cartes réseau vRouter doivent toujours être configurées. Reportez-vous aux configurations de modèles de carte réseau suivantes pour le mode noyau vRouter. Les extraits de configuration ci-dessous n’affichent que la section correspondante de la configuration de la carte réseau pour chaque mode.
| Types d’interfaces | Exemple de configuration |
|---|---|
| VLAN (en anglais) | - name: ens2f1
type: interface
use_dhcp: false
- type: vlan
device: ens2f1
vlan_id: {{ tenant_vlan_id }}
use_dhcp: false
- name: vhost0
type: contrail_vrouter
addresses:
- ip_netmask: {{ tenant_ip }}/{{ tenant_cidr }}
members:
- name: vlan{{ tenant_vlan_id }}
type: interface
use_dhcp: false
mtu: 1500
use_dhcp: false |
| Obligation | - name: bond0
type: linux_bond
bonding_options: mode=4 xmit_hash_policy=layer2+3
use_dhcp: false
members:
- type: interface
name: ens2f1
- type: interface
name: ens3f1
- name: vhost0
type: contrail_vrouter
mtu: 1500
use_dhcp: false
addresses:
- ip_netmask: {{ tenant_ip }}/{{ tenant_cidr }}
members:
- name: bond0
type: interface
use_dhcp: false |
| Liaison + VLAN | - name: bond0
type: linux_bond
bonding_options: mode=4 xmit_hash_policy=layer2+3
use_dhcp: false
members:
- type: interface
name: ens2f1
- type: interface
name: ens3f1
- device: bond0
type: vlan
vlan_id: {{ tenant_vlan_id }}
use_dhcp: false
- name: vhost0
type: contrail_vrouter
mtu: 1500
use_dhcp: false
addresses:
- ip_netmask: {{ tenant_ip }}/{{ tenant_cidr }}
members:
- name: vlan{{ tenant_vlan_id }}
type: interface
use_dhcp: false |
Configuration avancée du mode vRouter SRIOV + DPDK
Utilisez vRouter SRIOV + DPDK dans les combinaisons suivantes :
-
Standard
-
VLAN (en anglais)
-
Obligation
-
Liaison + VLAN
Configuration de l’environnement réseau :
vi ~/tripleo-heat-templates/environments/contrail/contrail-services.yaml
Activer le nombre de pages hugepages
ContrailSriovParameters:
KernelArgs: "intel_iommu=on iommu=pt default_hugepagesz=1GB hugepagesz=1G hugepages=4 hugepagesz=2M hugepages=1024"
ExtraSysctlSettings:
# must be equal to value from 1G kernel args: hugepages=4
vm.nr_hugepages:
value: 4
Réglages SRIOV PF/VF
NovaPCIPassthrough:
- devname: "ens2f1"
physical_network: "sriov1"
ContrailSriovNumVFs: ["ens2f1:7"]
Les cartes réseau SRIOV ne sont pas configurées dans les modèles de cartes réseau. Toutefois, les cartes réseau vRouter doivent toujours être configurées. Reportez-vous aux configurations de modèle de carte réseau suivantes pour le mode vRouter DPDK. Les extraits de configuration ci-dessous n’affichent que la section correspondante de la configuration de la carte réseau pour chaque mode.
| Types d’interfaces | Exemple de configuration |
|---|---|
| Standard | - name: vhost0
type: contrail_vrouter_dpdk
driver: uio_pci_generic
cpu_list: 0x01
mtu: 1500
use_dhcp: false
addresses:
- ip_netmask: {{ tenant_ip }}/{{ tenant_cidr }}
members:
- name: ens2f1
type: interface
use_dhcp: false |
| VLAN (en anglais) | - name: vhost0
type: contrail_vrouter_dpdk
driver: uio_pci_generic
cpu_list: 0x01
mtu: 1500
use_dhcp: false
vlan_id: {{ tenant_vlan_id }}
addresses:
- ip_netmask: {{ tenant_ip }}/{{ tenant_cidr }}
members:
- name: ens2f1
type: interface
use_dhcp: false
|
| Obligation | - name: vhost0
type: contrail_vrouter_dpdk
driver: uio_pci_generic
cpu_list: 0x01
mtu: 1500
use_dhcp: false
bond_mode: 4
bond_policy: layer2+3
addresses:
- ip_netmask: {{ tenant_ip }}/{{ tenant_cidr }}
members:
- name: ens2f1
type: interface
use_dhcp: false
- name: ens2f1
type: interface
use_dhcp: false |
| Liaison + VLAN | - name: vhost0
type: contrail_vrouter_dpdk
driver: uio_pci_generic
cpu_list: 0x01
mtu: 1500
use_dhcp: false
bond_mode: 4
bond_policy: layer2+3
vlan_id: {{ tenant_vlan_id }}
addresses:
- ip_netmask: {{ tenant_ip }}/{{ tenant_cidr }}
members:
- name: ens2f1
type: interface
use_dhcp: false
- name: ens3f1
type: interface
use_dhcp: false |