Add netcontrold service for DPDK roles

netcontrold rebalances the overloaded queues within
available PMD threads to avoid packet loss. Add
support to enable this service in the DPDK deployments.

Change-Id: Ia0ec2a3db0626e9a93ef591d0bc4f3a53d98820f
This commit is contained in:
Saravanan KR 2019-11-18 18:43:02 +05:30
parent ed14f114f7
commit 4d3b5be7e6
9 changed files with 94 additions and 0 deletions

View File

@ -0,0 +1,81 @@
heat_template_version: rocky
description: >
netcontrold configuration for ovs-dpdk
parameters:
ServiceData:
default: {}
description: Dictionary packing service data
type: json
ServiceNetMap:
default: {}
description: Mapping of service_name -> network name. Typically set
via parameter_defaults in the resource registry. This
mapping overrides those in ServiceNetMapDefaults.
type: json
DefaultPasswords:
default: {}
type: json
RoleName:
default: ''
description: Role name on which the service is applied
type: string
RoleParameters:
default: {}
description: Parameters specific to the role
type: json
EndpointMap:
default: {}
description: Mapping of service endpoint -> protocol. Typically set
via parameter_defaults in the resource registry.
type: json
ContainerOpenvswitchNetcontroldImage:
description: netcontrold container image
type: string
DockerOpenvswitchUlimit:
default: ['nofile=16384']
description: ulimit for Openvswitch Container
type: comma_delimited_list
resources:
ContainersCommon:
type: ../containers-common.yaml
outputs:
role_data:
description: Role data for the netcontrold service
value:
service_name: openvswitch_dpdk_netcontrold
kolla_config:
/var/lib/kolla/config_files/ovs_dpdk_netcontrold.json:
command: "/usr/local/bin/ncd_watch"
docker_config:
step_5:
openvswitch_dpdk_netcontrold:
image: {get_param: ContainerOpenvswitchNetcontroldImage}
net: host
pid: host
privileged: true
security_opt: 'label=disable'
restart: always
depends_on:
- openvswitch
ulimit: {get_param: DockerOpenvswitchUlimit}
volumes:
list_concat:
- {get_attr: [ContainersCommon, volumes]}
-
- /var/lib/kolla/config_files/ovs_dpdk_netcontrold.json:/var/lib/kolla/config_files/config.json:ro
- /lib/modules:/lib/modules:ro
- /sys/kernel/debug:/sys/kernel/debug
- /run/openvswitch:/run/openvswitch:shared,z
- /var/log/containers/netcontrold:/var/log/netcontrold:z
environment:
KOLLA_CONFIG_STRATEGY: COPY_ALWAYS
host_prep_tasks:
- name: create persistent directories - /var/log/containers/netcontrold
file:
path: "/var/log/containers/netcontrold"
state: directory
setype: "svirt_sandbox_file_t"

View File

@ -0,0 +1,2 @@
resource_registry:
OS::TripleO::Services::OvsDpdkNetcontrold: ../../deployment/openvswitch/openvswitch-dpdk-netcontrold-container-ansible.yaml

View File

@ -156,6 +156,7 @@ resource_registry:
OS::TripleO::Services::NeutronCorePluginNSX: deployment/neutron/neutron-plugin-nsx-container-puppet.yaml
OS::TripleO::Services::OVNDBs: deployment/ovn/ovn-dbs-container-puppet.yaml
OS::TripleO::Services::OVNController: deployment/ovn/ovn-controller-container-puppet.yaml
OS::TripleO::Services::OvsDpdkNetcontrold: OS::Heat::None
OS::TripleO::Services::NeutronCorePluginMLNXSDN: deployment/neutron/neutron-plugin-ml2-mlnx-sdn-assist-container-puppet.yaml
OS::TripleO::Services::NeutronCorePluginVTS: deployment/neutron/neutron-plugin-ml2-cisco-vts-container-puppet.yaml

View File

@ -0,0 +1,5 @@
---
features:
- |
Added a TripleO service OvsDpdkNetcontrold to enable netcontrold PMD
rebalance tool for OvS-DPDK deployments.

View File

@ -50,6 +50,7 @@
- OS::TripleO::Services::NovaLibvirt
- OS::TripleO::Services::NovaLibvirtGuests
- OS::TripleO::Services::NovaMigrationTarget
- OS::TripleO::Services::OvsDpdkNetcontrold
- OS::TripleO::Services::ContainersLogrotateCrond
- OS::TripleO::Services::Podman
- OS::TripleO::Services::Rear

View File

@ -51,6 +51,7 @@
- OS::TripleO::Services::ContainersLogrotateCrond
- OS::TripleO::Services::OVNController
- OS::TripleO::Services::OVNMetadataAgent
- OS::TripleO::Services::OvsDpdkNetcontrold
- OS::TripleO::Services::Podman
- OS::TripleO::Services::Rear
- OS::TripleO::Services::Rhsm

View File

@ -52,6 +52,7 @@
- OS::TripleO::Services::ContainersLogrotateCrond
- OS::TripleO::Services::OVNController
- OS::TripleO::Services::OVNMetadataAgent
- OS::TripleO::Services::OvsDpdkNetcontrold
- OS::TripleO::Services::Podman
- OS::TripleO::Services::Rear
- OS::TripleO::Services::Rhsm

View File

@ -49,6 +49,7 @@
- OS::TripleO::Services::ContainersLogrotateCrond
- OS::TripleO::Services::OVNController
- OS::TripleO::Services::OVNMetadataAgent
- OS::TripleO::Services::OvsDpdkNetcontrold
- OS::TripleO::Services::Rhsm
- OS::TripleO::Services::Rsyslog
- OS::TripleO::Services::RsyslogSidecar

View File

@ -51,6 +51,7 @@
- OS::TripleO::Services::ContainersLogrotateCrond
- OS::TripleO::Services::OVNController
- OS::TripleO::Services::OVNMetadataAgent
- OS::TripleO::Services::OvsDpdkNetcontrold
- OS::TripleO::Services::Rhsm
- OS::TripleO::Services::Rsyslog
- OS::TripleO::Services::RsyslogSidecar