Browse Source

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

changes/12/734012/1
Zuul 3 weeks ago
committed by Gerrit Code Review
parent
commit
e136acb799
2 changed files with 50 additions and 0 deletions
  1. +36
    -0
      deployment/nova/nova-compute-container-puppet.yaml
  2. +14
    -0
      releasenotes/notes/new-pmem-params-18fb9c25808a7fe6.yaml

+ 36
- 0
deployment/nova/nova-compute-container-puppet.yaml 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


+ 14
- 0
releasenotes/notes/new-pmem-params-18fb9c25808a7fe6.yaml 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.

Loading…
Cancel
Save