Changing parameters in OpenStack configuration files
You can modify the following parameters in the OpenStack configuration files:
| Parameter | Configuration file | Description | Value |
|---|---|---|---|
ram_weight_multiplier
|
/etc/kolla/nova-scheduler/nova.conf | Defines how compute nodes with available RAM are weighed. With a positive value, virtual machines are placed on nodes with more available RAM, and thus, evenly spread across all compute nodes. In this case, however, you may end up unable to launch large VMs on particular nodes while having plenty of free RAM in the entire cluster. To optimize VM distribution and fill up nodes as much as possible, you can set this parameter to a negative value. | Valid values are integer or float. The default value is 1.0. |
scheduler_host_subset_size
|
/etc/kolla/nova-scheduler/nova.conf | Defines a number of compute nodes best suited for a new VM, one of which is randomly chosen by the scheduler. | Valid values are 1 or greater. Any value less than 1 is treated as 1. The higher the value, the less optimal the chosen node may be for a VM. The default value is 1. |
vxlan_udp_port
|
/etc/kolla/neutron-openvswitch-agent/ml2_conf.ini | Specifies the UDP port used for VXLAN tunnels. When changing the port, iptables rules are automatically configured for both the old and new ports. |
The default port is 4789. |
cpu_allocation_ratio
|
/etc/kolla/nova-compute/nova.conf |
Defines the virtual CPU to physical CPU allocation ratio. Changing CPU allocation ratio will not affect virtual CPUs already provisioned for virtual machines. |
Valid values are positive integer or float. The default value is 8.0. |
ram_allocation_ratio
|
/etc/kolla/nova-compute/nova.conf |
Defines the maximum reserved RAM to physical RAM allocation ratio. Changing RAM allocation ratio will not affect RAM already provisioned for virtual machines. |
Valid values are positive integer or float. The default value is 1.0. The maximum recommended value is 1.5. |
To change a compute parameter
Use the following command:
vinfra service compute set [--custom-param <service_name> <config_file> <section> <property> <value>]
[--nova-scheduler-ram-weight-multiplier <value>]
[--nova-compute-ram-allocation-ratio <value>]
[--neutron-openvswitch-vxlan-port <value>]
[--nova-scheduler-host-subset-size <value>]
[--nova-compute-cpu-allocation-ratio <value>]
--custom-param <service_name> <config_file> <section> <property> <value>-
Set custom parameters for OpenStack configuration files:
service_nameis the service name:nova-scheduler,nova-compute, orneutron-openvswitch-agentconfig_filespecifies the service configuration file: nova.conf fornova-schedulerandnova-compute, or ml2_conf.ini forneutron-openvswitch-agentsectionspecifies the section in the service configuration file where the parameter is defined:DEFAULTin nova.conf oragentin ml2_conf.inipropertyis the parameter to be changed:ram_weight_multiplier,ram_allocation_ratio,scheduler_host_subset, andcpu_allocation_ratioin nova.conf;vxlan_udp_portin ml2_conf.inivalueis a new parameter value
--nova-scheduler-ram-weight-multiplier <value>- Shortcut for
--custom-param nova-scheduler nova.conf DEFAULT ram_weight_multiplier <value> --nova-compute-ram-allocation-ratio <value>- Shortcut for
--custom-param nova-compute nova.conf DEFAULT ram_allocation_ratio <value> --neutron-openvswitch-vxlan-port <value>- Shortcut for
--custom-param neutron-openvswitch-agent ml2_conf.ini agent vxlan_udp_port <value> --nova-scheduler-host-subset-size <value>- Shortcut for
--custom-param nova-scheduler nova.conf DEFAULT scheduler_host_subset_size <value> --nova-compute-cpu-allocation-ratio <value>- Shortcut for
--custom-param nova-scheduler nova.conf DEFAULT cpu_allocation_ratio <value>
For example, to change ram_weight_multiplier and vxlan_udp_port, run:
# vinfra service compute set --nova-scheduler-ram-weight-multiplier -1 --neutron-openvswitch-vxlan-port 4787
To check that the custom parameters are successfully modified, run:
# vinfra service compute show +--------------+-------------------------------------------+ | Field | Value | +--------------+-------------------------------------------+ | <...> | <...> | | options | cpu_model: '' | | | custom_params: | | | - config_file: nova.conf | | | property: ram_weight_multiplier | | | section: DEFAULT | | | service_name: nova-scheduler | | | value: -1.0 | | | - config_file: ml2_conf.ini | | | property: vxlan_udp_port | | | section: agent | | | service_name: neutron-openvswitch-agent | | | value: 4787 | | | notification_forwarding: disabled | | status | active | +--------------+-------------------------------------------+
The applied changes are consistent on all compute nodes and not overwritten after product updates and upgrades.