From a881043b22f025efb0186ceb0f534e3da2704439 Mon Sep 17 00:00:00 2001 From: Radoslaw Smigielski Date: Sat, 25 Jan 2020 05:32:51 +0000 Subject: [PATCH] Add new role parameters for cpu/ram/disk allocation ratio This change adds three new role parameters `NovaCPUAllocationRatio`, `NovaRAMAllocationRatio` and `NovaDiskAllocationRatio` for configuring cpu_allocation_ratio, ram_allocation_ratio and disk_allocation_ratio. The default values for CPU and Disk allocation ratio are taken as 0.0 as it will be updated by update_available_resource method as mentioned in [1]. [1] https://specs.openstack.org/openstack/nova-specs/specs/stein/implemented/initial-allocation-ratios.html Change-Id: Ia3c62668b0c1469e31aa8cd2c984b460eb06d970 (cherry picked from commit 5066737451035de19383bf1f7a2afa5334d7d361) --- deployment/nova/nova-base-puppet.yaml | 1 - .../nova/nova-compute-container-puppet.yaml | 26 ++++++++++++++++++- .../allocation_ratio-4a8ecf4cdf5fb7e2.yaml | 13 ++++++++++ 3 files changed, 38 insertions(+), 2 deletions(-) create mode 100644 releasenotes/notes/allocation_ratio-4a8ecf4cdf5fb7e2.yaml diff --git a/deployment/nova/nova-base-puppet.yaml b/deployment/nova/nova-base-puppet.yaml index f23f72a775..94f23ae025 100644 --- a/deployment/nova/nova-base-puppet.yaml +++ b/deployment/nova/nova-base-puppet.yaml @@ -360,7 +360,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 dae4633fb1..c3f019bae1 100644 --- a/deployment/nova/nova-compute-container-puppet.yaml +++ b/deployment/nova/nova-compute-container-puppet.yaml @@ -334,6 +334,24 @@ parameters: description: Whether to wait for `network-vif-plugged` events before starting guest transfer. default: true type: boolean + 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: @@ -401,6 +419,9 @@ resources: nova::compute::libvirt::mem_stats_period_seconds: NovaLibvirtMemStatsPeriodSeconds resume_guests_state_on_host_boot: NovaResumeGuestsStateOnHostBoot nova::compute::rbd::ephemeral_storage: NovaEnableRbdBackend + nova::cpu_allocation_ratio: NovaCPUAllocationRatio + nova::ram_allocation_ratio: NovaRAMAllocationRatio + nova::disk_allocation_ratio: NovaDiskAllocationRatio - values: {get_param: [RoleParameters]} - values: NovaVcpuPinSet: {get_param: NovaVcpuPinSet} @@ -468,6 +489,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]} @@ -599,7 +623,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