Add compute-kit job with DPDK enabled
+ add role for enabling hugepages Change-Id: I89d3c09ea3bedcba6cb51178c8d1ac482a57af01 Depends-On: I2f9d954258451f64eb87d03affc079b71b00f7bd
This commit is contained in:
parent
683102b725
commit
2216cbfec4
@ -15,7 +15,7 @@ apiVersion: v1
|
||||
appVersion: v1.0.0
|
||||
description: OpenStack-Helm OpenVSwitch
|
||||
name: openvswitch
|
||||
version: 0.1.21
|
||||
version: 0.1.22
|
||||
home: http://openvswitch.org
|
||||
icon: https://www.openstack.org/themes/openstack/images/project-mascots/Neutron/OpenStack_Project_Neutron_vertical.png
|
||||
sources:
|
||||
|
@ -14,11 +14,11 @@ pod:
|
||||
limits:
|
||||
memory: "2Gi"
|
||||
cpu: "2"
|
||||
hugepages-1Gi: "1Gi"
|
||||
hugepages-2Mi: "1Gi"
|
||||
conf:
|
||||
ovs_dpdk:
|
||||
enabled: true
|
||||
hugepages_mountpath: /dev/hugepages
|
||||
vhostuser_socket_dir: vhostuser
|
||||
socket_memory: 1024
|
||||
socket_memory: 512
|
||||
...
|
||||
|
@ -14,11 +14,11 @@ pod:
|
||||
limits:
|
||||
memory: "2Gi"
|
||||
cpu: "2"
|
||||
hugepages-1Gi: "1Gi"
|
||||
hugepages-2Mi: "1Gi"
|
||||
conf:
|
||||
ovs_dpdk:
|
||||
enabled: true
|
||||
hugepages_mountpath: /dev/hugepages
|
||||
vhostuser_socket_dir: vhostuser
|
||||
socket_memory: 1024
|
||||
socket_memory: 512
|
||||
...
|
||||
|
20
playbooks/enable-hugepages.yaml
Normal file
20
playbooks/enable-hugepages.yaml
Normal file
@ -0,0 +1,20 @@
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
---
|
||||
- hosts: all
|
||||
gather_facts: True
|
||||
become: yes
|
||||
roles:
|
||||
- role: enable-hugepages
|
||||
when: hugepages.enabled|default(false)|bool == true
|
||||
...
|
@ -22,4 +22,5 @@ openvswitch:
|
||||
- 0.1.19 Add check for cgroups v2 file structure
|
||||
- 0.1.20 Add Ubuntu Focal and Ubuntu Jammy overrides
|
||||
- 0.1.21 Add overrides for dpdk
|
||||
- 0.1.22 Change hugepages size to 2M for easier configuration
|
||||
...
|
||||
|
21
roles/enable-hugepages/defaults/main.yaml
Normal file
21
roles/enable-hugepages/defaults/main.yaml
Normal file
@ -0,0 +1,21 @@
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
---
|
||||
hugepages:
|
||||
enabled: false
|
||||
# This parameter sets the size of the huge pages, available options: 2M and 1G
|
||||
size: "2M"
|
||||
# This parameter sets the number of huge pages to allocate
|
||||
number: 1024
|
||||
grub_default_config: "/etc/default/grub"
|
||||
...
|
37
roles/enable-hugepages/tasks/main.yaml
Normal file
37
roles/enable-hugepages/tasks/main.yaml
Normal file
@ -0,0 +1,37 @@
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
---
|
||||
- name: Set up 1G hugepages
|
||||
become: true
|
||||
block:
|
||||
- name: Configure grub
|
||||
lineinfile:
|
||||
dest: "{{ grub_default_config }}"
|
||||
line: 'GRUB_CMDLINE_LINUX="default_hugepagesz={{ hugepages.size }} hugepagesz={{ hugepages.size }} hugepages={{ hugepages.number }}"'
|
||||
regexp: '^GRUB_CMDLINE_LINUX="'
|
||||
- name: Update grub configuration
|
||||
command: update-grub2
|
||||
- name: Reboot host
|
||||
reboot:
|
||||
reboot_timeout: 600
|
||||
when: hugepages.size == "1G"
|
||||
|
||||
- name: Set up 2M hugepages
|
||||
become: true
|
||||
sysctl:
|
||||
name: vm.nr_hugepages
|
||||
value: "{{ hugepages.number }}"
|
||||
sysctl_set: true
|
||||
reload: true
|
||||
when: hugepages.size == "2M"
|
||||
...
|
@ -308,5 +308,28 @@
|
||||
- ./tools/deployment/mariadb-operator-cluster/090-mariadb-backup-test.sh
|
||||
- ./tools/deployment/mariadb-operator-cluster/095-mariadb-prometheus-mysql-exporter.sh
|
||||
|
||||
- job:
|
||||
name: openstack-helm-compute-kit-dpdk-ubuntu_jammy
|
||||
description: |
|
||||
Run the openstack-helm compute-kit job with DPDK enabled.
|
||||
We use single node environment to run this job which means
|
||||
that the job only tests that QEMU and OVS-DPDK are working
|
||||
together. The job does not assume having specific DPDK hardware.
|
||||
parent: openstack-helm-compute-kit
|
||||
pre-run:
|
||||
- playbooks/enable-hugepages.yaml
|
||||
- playbooks/prepare-hosts.yaml
|
||||
nodeset: openstack-helm-1node-32GB-ubuntu_jammy
|
||||
vars:
|
||||
gate_scripts_relative_path: ../openstack-helm
|
||||
hugepages:
|
||||
enabled: true
|
||||
size: "2M"
|
||||
number: 2048
|
||||
osh_params:
|
||||
openstack_release: "2023.2"
|
||||
container_distro_name: ubuntu
|
||||
container_distro_version: jammy
|
||||
feature_gates: dpdk
|
||||
|
||||
...
|
||||
|
@ -30,6 +30,7 @@
|
||||
- openstack-helm-infra-metacontroller
|
||||
- openstack-helm-infra-mariadb-operator
|
||||
- openstack-helm-infra-openstack-support-mariadb-service-primary
|
||||
- openstack-helm-compute-kit-dpdk-ubuntu_jammy
|
||||
gate:
|
||||
jobs:
|
||||
- openstack-helm-lint
|
||||
|
Loading…
Reference in New Issue
Block a user