Configure qemu group setting as hugetlbfs for ovs-dpdk
Till now, the ovs service file and ovs-ctl command files are patched to allow ovs to run with qemu group. In order to remove this workarounds, a new group hugetlbfs is created which will be shared between ovs and qemu. This patch contains the changes required for applying these changes. Vhostuser Socket Directory is changed from "/var/run/openvswitch" to "/var/lib/vhost_sockets" to avoid modifying the directory access by packaged scripts. Depends-On: I5fc2f852c66c2b825af96aba2657d0f9085dc8c3 Patch-url: https://review.openstack.org/#/c/547961/ Change-Id: Id727a514610816c8223aa0dcd49a70caec29a21d
This commit is contained in:
parent
c931009702
commit
825bd7d9e1
|
@ -11,5 +11,6 @@
|
||||||
# updates and upgrades.
|
# updates and upgrades.
|
||||||
|
|
||||||
parameter_defaults:
|
parameter_defaults:
|
||||||
NeutronVhostuserSocketGroup: "hugetlbfs"
|
ComputeOvsDpdkParameters:
|
||||||
|
VhostuserSocketGroup: "hugetlbfs"
|
||||||
|
|
|
@ -45,7 +45,7 @@ parameters:
|
||||||
type: string
|
type: string
|
||||||
tags:
|
tags:
|
||||||
- role_specific
|
- role_specific
|
||||||
NeutronVhostuserSocketGroup:
|
VhostuserSocketGroup:
|
||||||
default: "qemu"
|
default: "qemu"
|
||||||
description: >
|
description: >
|
||||||
The vhost-user socket directory group name.
|
The vhost-user socket directory group name.
|
||||||
|
@ -54,7 +54,7 @@ parameters:
|
||||||
type: string
|
type: string
|
||||||
tags:
|
tags:
|
||||||
- role_specific
|
- role_specific
|
||||||
NeutronVhostuserSocketUser:
|
VhostuserSocketUser:
|
||||||
default: "qemu"
|
default: "qemu"
|
||||||
description: >
|
description: >
|
||||||
The vhost-user socket directory user name.
|
The vhost-user socket directory user name.
|
||||||
|
@ -87,14 +87,14 @@ resources:
|
||||||
- map_replace:
|
- map_replace:
|
||||||
- neutron::agents::ml2::ovs::datapath_type: NeutronDatapathType
|
- neutron::agents::ml2::ovs::datapath_type: NeutronDatapathType
|
||||||
neutron::agents::ml2::ovs::vhostuser_socket_dir: NeutronVhostuserSocketDir
|
neutron::agents::ml2::ovs::vhostuser_socket_dir: NeutronVhostuserSocketDir
|
||||||
vhostuser_socket_group: NeutronVhostuserSocketGroup
|
vhostuser_socket_group: VhostuserSocketGroup
|
||||||
vhostuser_socket_user: NeutronVhostuserSocketUser
|
vhostuser_socket_user: VhostuserSocketUser
|
||||||
- values: {get_param: [RoleParameters]}
|
- values: {get_param: [RoleParameters]}
|
||||||
- values:
|
- values:
|
||||||
NeutronDatapathType: {get_param: NeutronDatapathType}
|
NeutronDatapathType: {get_param: NeutronDatapathType}
|
||||||
NeutronVhostuserSocketDir: {get_param: NeutronVhostuserSocketDir}
|
NeutronVhostuserSocketDir: {get_param: NeutronVhostuserSocketDir}
|
||||||
NeutronVhostuserSocketGroup: {get_param: NeutronVhostuserSocketGroup}
|
VhostuserSocketGroup: {get_param: VhostuserSocketGroup}
|
||||||
NeutronVhostuserSocketUser: {get_param: NeutronVhostuserSocketUser}
|
VhostuserSocketUser: {get_param: VhostuserSocketUser}
|
||||||
|
|
||||||
Ovs:
|
Ovs:
|
||||||
type: ./openvswitch.yaml
|
type: ./openvswitch.yaml
|
||||||
|
|
|
@ -62,7 +62,7 @@ parameters:
|
||||||
VhostuserSocketDir:
|
VhostuserSocketDir:
|
||||||
description: Specify the directory to use for vhostuser sockets
|
description: Specify the directory to use for vhostuser sockets
|
||||||
type: string
|
type: string
|
||||||
default: "/var/run/openvswitch"
|
default: "/var/lib/vhost_sockets"
|
||||||
tags:
|
tags:
|
||||||
- role_specific
|
- role_specific
|
||||||
EndpointMap:
|
EndpointMap:
|
||||||
|
@ -114,6 +114,24 @@ parameters:
|
||||||
- allowed_values:
|
- allowed_values:
|
||||||
- 1
|
- 1
|
||||||
- 2
|
- 2
|
||||||
|
VhostuserSocketGroup:
|
||||||
|
default: "qemu"
|
||||||
|
description: >
|
||||||
|
The vhost-user socket directory group name.
|
||||||
|
Defaults to 'qemu'. When vhostuser mode is 'dpdkvhostuserclient'
|
||||||
|
(which is the default mode), the vhost socket is created by qemu.
|
||||||
|
type: string
|
||||||
|
tags:
|
||||||
|
- role_specific
|
||||||
|
VhostuserSocketUser:
|
||||||
|
default: "qemu"
|
||||||
|
description: >
|
||||||
|
The vhost-user socket directory user name.
|
||||||
|
Defaults to 'qemu'. When vhostuser mode is 'dpdkvhostuserclient'
|
||||||
|
(which is the default mode), the vhost socket is created by qemu.
|
||||||
|
type: string
|
||||||
|
tags:
|
||||||
|
- role_specific
|
||||||
|
|
||||||
parameter_groups:
|
parameter_groups:
|
||||||
- label: deprecated
|
- label: deprecated
|
||||||
|
@ -162,6 +180,8 @@ resources:
|
||||||
neutron::plugins::ovs::opendaylight::provider_mappings: OpenDaylightProviderMappings
|
neutron::plugins::ovs::opendaylight::provider_mappings: OpenDaylightProviderMappings
|
||||||
neutron::plugins::ovs::opendaylight::enable_hw_offload: OvsHwOffload
|
neutron::plugins::ovs::opendaylight::enable_hw_offload: OvsHwOffload
|
||||||
vswitch::ovs::enable_hw_offload: OvsHwOffload
|
vswitch::ovs::enable_hw_offload: OvsHwOffload
|
||||||
|
tripleo::profile::base::neutron::plugins::ovs::opendaylight::vhostuser_socket_group: VhostuserSocketGroup
|
||||||
|
tripleo::profile::base::neutron::plugins::ovs::opendaylight::vhostuser_socket_user: VhostuserSocketUser
|
||||||
- values: {get_param: [RoleParameters]}
|
- values: {get_param: [RoleParameters]}
|
||||||
- values:
|
- values:
|
||||||
HostAllowedNetworkTypes: {get_param: HostAllowedNetworkTypes}
|
HostAllowedNetworkTypes: {get_param: HostAllowedNetworkTypes}
|
||||||
|
@ -170,6 +190,8 @@ resources:
|
||||||
OvsVhostuserMode: {get_param: OvsVhostuserMode}
|
OvsVhostuserMode: {get_param: OvsVhostuserMode}
|
||||||
OpenDaylightProviderMappings: {get_param: OpenDaylightProviderMappings}
|
OpenDaylightProviderMappings: {get_param: OpenDaylightProviderMappings}
|
||||||
OvsHwOffload: {get_param: OvsHwOffload}
|
OvsHwOffload: {get_param: OvsHwOffload}
|
||||||
|
VhostuserSocketGroup: {get_param: VhostuserSocketGroup}
|
||||||
|
VhostuserSocketUser: {get_param: VhostuserSocketUser}
|
||||||
|
|
||||||
outputs:
|
outputs:
|
||||||
role_data:
|
role_data:
|
||||||
|
@ -222,6 +244,9 @@ outputs:
|
||||||
- {}
|
- {}
|
||||||
- get_attr: [Ovs, role_data, config_settings]
|
- get_attr: [Ovs, role_data, config_settings]
|
||||||
- get_attr: [RoleParametersValue, value]
|
- get_attr: [RoleParametersValue, value]
|
||||||
|
service_config_settings:
|
||||||
|
nova_libvirt:
|
||||||
|
nova::compute::libvirt::qemu::group: {get_attr: [RoleParametersValue, value, 'tripleo::profile::base::neutron::plugins::ovs::opendaylight::vhostuser_socket_group']}
|
||||||
step_config: |
|
step_config: |
|
||||||
include tripleo::profile::base::neutron::plugins::ovs::opendaylight
|
include tripleo::profile::base::neutron::plugins::ovs::opendaylight
|
||||||
upgrade_tasks:
|
upgrade_tasks:
|
||||||
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
---
|
||||||
|
features:
|
||||||
|
- Till now, the ovs service file and ovs-ctl command files are patched
|
||||||
|
to allow ovs to run with qemu group. In order to remove this
|
||||||
|
workarounds, a new group hugetlbfs is created which will be shared
|
||||||
|
between ovs and qemu. Vhostuser Socket Directory is changed from
|
||||||
|
"/var/run/openvswitch" to "/var/lib/vhost_sockets" to avoid modifying
|
||||||
|
the directory access by packaged scripts. Use env file
|
||||||
|
ovs-dpdk-permissions.yaml while deploying.
|
Loading…
Reference in New Issue