Merge "Enabling vhost-postcopy-support when live_migration_permit_post_copy" into stable/train

This commit is contained in:
Zuul 2021-08-06 13:29:37 +00:00 committed by Gerrit Code Review
commit e3dba014b4
2 changed files with 35 additions and 42 deletions

View File

@ -346,12 +346,12 @@ parameters:
type: boolean
NovaLiveMigrationPermitPostCopy:
description: >
Set to "True" to activate the instance on the destination node before migration is complete,
and to set an upper bound on the memory that needs to be transferred.
default: ''
type: string
constraints:
- allowed_values: [ '', 'true', 'True', 'TRUE', 'false', 'False', 'FALSE']
If "True" activates the instance on the destination node before migration is complete,
and to set an upper bound on the memory that needs to be transferred. Post copy
gets enabled per default if the compute roles is not a realtime role or disabled
by this parameter.
default: true
type: boolean
tags:
- role_specific
NovaLiveMigrationPermitAutoConverge:
@ -360,10 +360,8 @@ parameters:
instance's memory writes when the migration performance is slow and might not complete.
Auto converge will only be used if this flag is set to True and post copy is not permitted
or post copy is unavailable due to the version of libvirt and QEMU.
default: ''
type: string
constraints:
- allowed_values: [ '', 'true', 'True', 'TRUE', 'false', 'False', 'FALSE']
default: false
type: boolean
tags:
- role_specific
MultipathdEnable:
@ -717,10 +715,8 @@ conditions:
- equals: [{get_param: [RoleParameters, NovaReservedHugePages]}, ""]
- equals: [{get_param: NovaReservedHugePages}, []]
live_migration_optimization_set:
and:
- not: {equals: [{get_param: [RoleParameters, TunedProfileName]}, 'realtime-virtual-host']}
- reserved_huge_pages_set
is_realtime:
equals: [{get_param: [RoleParameters, TunedProfileName]}, 'realtime-virtual-host']
ovs_dpdk_socket_memory_not_set:
and:
@ -733,18 +729,6 @@ conditions:
- equals: [{get_param: NovaLibvirtMaxQueues}, 0]
- equals: [{get_param: [RoleParameters, NovaLibvirtMaxQueues]}, 0]
permit_post_copy_set:
not:
and:
- equals: [{get_param: [RoleParameters, NovaLiveMigrationPermitPostCopy]}, '']
- equals: [{get_param: NovaLiveMigrationPermitPostCopy}, '']
permit_auto_converge_set:
not:
and:
- equals: [{get_param: [RoleParameters, NovaLiveMigrationPermitAutoConverge]}, '']
- equals: [{get_param: NovaLiveMigrationPermitAutoConverge}, '']
outputs:
role_data:
description: Role data for the Nova Compute service.
@ -808,24 +792,14 @@ outputs:
nova::compute::live_migration_wait_for_vif_plug: {get_param: NovaLiveMigrationWaitForVIFPlug}
nova::migration::libvirt::live_migration_permit_post_copy:
if:
- permit_post_copy_set
- contains:
- {get_attr: [RoleParametersValue, value, nova_permit_post_copy]}
- ["TRUE", "true", "True"]
- if:
- live_migration_optimization_set
- true
- false
- is_realtime
- false
- {get_attr: [RoleParametersValue, value, nova_permit_post_copy]}
nova::migration::libvirt::live_migration_permit_auto_converge:
if:
- permit_auto_converge_set
- contains:
- {get_attr: [RoleParametersValue, value, nova_permit_auto_converge]}
- ["TRUE", "true", "True"]
- if:
- live_migration_optimization_set
- true
- false
- is_realtime
- false
- {get_attr: [RoleParametersValue, value, nova_permit_auto_converge]}
# TUNNELLED mode is not compatible with post_copy.
nova::migration::libvirt::live_migration_tunnelled: false
# NOTE: bind IP is found in hiera replacing the network name with the

View File

@ -30,6 +30,16 @@ parameters:
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
type: json
NovaLiveMigrationPermitPostCopy:
description: >
If "True" activates the instance on the destination node before migration is complete,
and to set an upper bound on the memory that needs to be transferred. Post copy
gets enabled per default if the compute roles is not a realtime role or disabled
by this parameter.
default: true
type: boolean
tags:
- role_specific
OvsDpdkCoreList:
description: >
List of cores to be used for DPDK lcore threads. Note, these threads
@ -151,6 +161,8 @@ parameters:
conditions:
emc_disable: {equals: [{get_param: OvsDisableEMC}, true]}
is_realtime:
equals: [{get_param: [RoleParameters, TunedProfileName]}, 'realtime-virtual-host']
resources:
@ -172,6 +184,7 @@ resources:
pmd_load_threshold: OvsPmdLoadThreshold
pmd_improvement_threshold: OvsPmdImprovementThreshold
pmd_rebal_interval: OvsPmdRebalInterval
nova_postcopy: NovaLiveMigrationPermitPostCopy
- values: {get_param: [RoleParameters]}
- values:
OvsDpdkCoreList: {get_param: OvsDpdkCoreList}
@ -186,6 +199,7 @@ resources:
OvsPmdLoadThreshold: {get_param: OvsPmdLoadThreshold}
OvsPmdImprovementThreshold: {get_param: OvsPmdImprovementThreshold}
OvsPmdRebalInterval: {get_param: OvsPmdRebalInterval}
NovaLiveMigrationPermitPostCopy: {get_param: NovaLiveMigrationPermitPostCopy}
BootParams:
type: ./../kernel/kernel-boot-params-baremetal-ansible.yaml
@ -224,3 +238,8 @@ outputs:
- emc_disable
- 0
- ''
tripleo_ovs_dpdk_vhost_postcopy_support:
if:
- is_realtime
- false
- {get_attr: [RoleParametersDpdk, value, nova_postcopy]}