Merge "Add parameters for vPMEM features" into stable/train

This commit is contained in:
Zuul 2020-06-08 03:36:38 +00:00 committed by Gerrit Code Review
commit e136acb799
2 changed files with 50 additions and 0 deletions

View File

@ -368,6 +368,30 @@ parameters:
default: 0.0
tags:
- role_specific
NovaPMEMMappings:
type: string
description: >
PMEM namespace mappings as backend for vPMEM feature. This parameter
sets Nova's `pmem_namespaces` configuration options. PMEM namespaces
needs to be create manually or with conjunction with `NovaPMEMNamespaces`
parameter.
Requires format: $LABEL:$NSNAME[|$NSNAME][,$LABEL:$NSNAME[|$NSNAME]].
default: ""
tags:
- role_specific
NovaPMEMNamespaces:
type: string
description: >
Creates PMEM namespaces on the host server using `ndctl` tool
through Ansible.
Requires format: $SIZE:$NSNAME[,$SIZE:$NSNAME...].
$SIZE supports the suffixes "k" or "K" for KiB, "m" or "M" for MiB, "g"
or "G" for GiB and "t" or "T" for TiB.
NOTE: This requires properly configured NVDIMM regions and enough space
for requested namespaces.
default: ""
tags:
- role_specific
# DEPRECATED: the following options are deprecated and are currently maintained
# for backwards compatibility. They will be removed in future release.
@ -464,6 +488,8 @@ resources:
nova::cpu_allocation_ratio: NovaCPUAllocationRatio
nova::ram_allocation_ratio: NovaRAMAllocationRatio
nova::disk_allocation_ratio: NovaDiskAllocationRatio
nova::compute::libvirt::pmem_namespaces: NovaPMEMMappings
nova_pmem_namespaces: NovaPMEMNamespaces
- values: {get_param: [RoleParameters]}
- values:
NovaVcpuPinSet: {get_param: NovaVcpuPinSet}
@ -535,6 +561,8 @@ resources:
NovaCPUAllocationRatio: {get_param: NovaCPUAllocationRatio}
NovaRAMAllocationRatio: {get_param: NovaRAMAllocationRatio}
NovaDiskAllocationRatio: {get_param: NovaDiskAllocationRatio}
NovaPMEMMappings: {get_param: NovaPMEMMappings}
NovaPMEMNamespaces: {get_param: NovaPMEMNamespaces}
conditions:
enable_instance_ha: {equals: [{get_param: EnableInstanceHA}, true]}
@ -1040,6 +1068,14 @@ outputs:
fail:
msg: nova-compute isn't working (healthcheck failed)
when: nova_compute_healthcheck_state.status.ExecMainStatus != '0'
- name: manage PMEM namespaces for vPMEM
include_role:
name: tripleo_nvdimm
vars:
tripleo_nvdimm_pmem_namespaces: {get_attr: [RoleParametersValue, value, nova_pmem_namespaces]}
when:
- step|int == 1
- tripleo_nvdimm_pmem_namespaces != ''
external_post_deploy_tasks: {get_attr: [NovaComputeCommon, nova_compute_common_deploy_steps_tasks]}
upgrade_tasks:
- name: Remove openstack-nova-compute and python-nova package during upgrade

View File

@ -0,0 +1,14 @@
---
features:
- |
Adding two parameters to manage vPMEM [0] configuration parameters.
`NovaPMEMMappings` parameter set Nova's configuration option
`pmem_namespaces` that reflects mappings between vPMEM
and physical PMEM namespaces. `NovaPMEMNamespaces` creates
and manages physical backend PMEM namespaces which win
be used as backend for vPMEM.
`NovaPMEMMappings` example: 6GB:ns0|ns1|ns2,LARGE:ns3
will expose namespaces ns0, ns1, ns2 using label `6GB`
and namespace ns3 using label `LARGE`.
`NovaPMEMNamespaces` example: 100G:ns0|14096M:ns1
will create two namespaces: ns0 - size 100G, ns1 - size 14096M.