diff --git a/deployment/nova/nova-base-puppet.yaml b/deployment/nova/nova-base-puppet.yaml index 7c951b07b6..6971510997 100644 --- a/deployment/nova/nova-base-puppet.yaml +++ b/deployment/nova/nova-base-puppet.yaml @@ -351,7 +351,6 @@ outputs: nova::cron::purge_shadow_tables::verbose: {get_param: NovaCronPurgeShadowTablesVerbose} nova::cron::purge_shadow_tables::all_cells: {get_param: NovaCronPurgeShadowTablesAllCells} nova::compute::sync_power_state_interval: {get_param: NovaSyncPowerStateInterval} - nova::ram_allocation_ratio: '1.0' nova_is_additional_cell: {get_param: NovaAdditionalCell} - get_attr: [RoleParametersValue, value] - diff --git a/deployment/nova/nova-compute-container-puppet.yaml b/deployment/nova/nova-compute-container-puppet.yaml index 8840c758be..941ea2f902 100644 --- a/deployment/nova/nova-compute-container-puppet.yaml +++ b/deployment/nova/nova-compute-container-puppet.yaml @@ -323,6 +323,24 @@ parameters: description: The password for the nova service and db account type: string hidden: true + NovaCPUAllocationRatio: + type: number + description: Virtual CPU to physical CPU allocation ratio. + default: 0.0 + tags: + - role_specific + NovaRAMAllocationRatio: + type: number + description: Virtual RAM to physical RAM allocation ratio. + default: 1.0 + tags: + - role_specific + NovaDiskAllocationRatio: + type: number + description: Virtual disk to physical disk allocation ratio. + default: 0.0 + tags: + - role_specific resources: @@ -389,6 +407,9 @@ resources: nova::compute::libvirt::mem_stats_period_seconds: NovaLibvirtMemStatsPeriodSeconds nova::compute::rbd::ephemeral_storage: NovaEnableRbdBackend resume_guests_state_on_host_boot: NovaResumeGuestsStateOnHostBoot + nova::cpu_allocation_ratio: NovaCPUAllocationRatio + nova::ram_allocation_ratio: NovaRAMAllocationRatio + nova::disk_allocation_ratio: NovaDiskAllocationRatio - values: {get_param: [RoleParameters]} - values: NovaVcpuPinSet: {get_param: NovaVcpuPinSet} @@ -411,6 +432,9 @@ resources: NovaLibvirtNumPciePorts: {get_param: NovaLibvirtNumPciePorts} NovaLibvirtMemStatsPeriodSeconds: {get_param: NovaLibvirtMemStatsPeriodSeconds} NovaEnableRbdBackend: {get_param: NovaEnableRbdBackend} + NovaCPUAllocationRatio: {get_param: NovaCPUAllocationRatio} + NovaRAMAllocationRatio: {get_param: NovaRAMAllocationRatio} + NovaDiskAllocationRatio: {get_param: NovaDiskAllocationRatio} conditions: enable_instance_ha: {equals: [{get_param: EnableInstanceHA}, true]} @@ -546,7 +570,7 @@ outputs: if: - libvirt_file_backed_memory_enabled - '1.0' - - null + - {get_attr: [RoleParametersValue, value, 'nova::ram_allocation_ratio']} service_config_settings: fluentd: tripleo_fluentd_groups_nova_compute: diff --git a/releasenotes/notes/allocation_ratio-4a8ecf4cdf5fb7e2.yaml b/releasenotes/notes/allocation_ratio-4a8ecf4cdf5fb7e2.yaml new file mode 100644 index 0000000000..1e29b9240d --- /dev/null +++ b/releasenotes/notes/allocation_ratio-4a8ecf4cdf5fb7e2.yaml @@ -0,0 +1,13 @@ +--- +features: + - | + Add new role parameters `NovaCPUAllocationRatio`, `NovaRAMAllocationRatio` + and `NovaDiskAllocationRatio` which allows to configure `cpu_allocation_ratio`, + `ram_allocation_ratio` and `disk_allocation_ratio`. + Default value for NovaCPUAllocationRatio is 0.0 + Default value for NovaRAMAllocationRatio is 1.0 + Default value for NovaDiskAllocationRatio is 0.0 + + The default values for CPU and Disk allocation ratio + are taken 0.0 as mentioned in [1]. + [1] https://specs.openstack.org/openstack/nova-specs/specs/stein/implemented/initial-allocation-ratios.html