From 9e4902679618595abb93af61d95b4e66b377eb8e Mon Sep 17 00:00:00 2001 From: Bohdan Dobrelia Date: Wed, 23 Oct 2024 15:01:50 +0200 Subject: [PATCH] Launch the test VM off a hugepages-enabled flavor Signed-off-by: Bohdan Dobrelia --- docs_dev/assemblies/development_environment.adoc | 5 ++++- tests/roles/development_environment/defaults/main.yaml | 1 + tests/roles/development_environment/files/pre_launch.bash | 6 +++++- tests/roles/development_environment/tasks/main.yaml | 1 + 4 files changed, 11 insertions(+), 2 deletions(-) diff --git a/docs_dev/assemblies/development_environment.adoc b/docs_dev/assemblies/development_environment.adoc index 89b1fdd71..08c51d468 100644 --- a/docs_dev/assemblies/development_environment.adoc +++ b/docs_dev/assemblies/development_environment.adoc @@ -145,8 +145,9 @@ To use Wallaby content instead, run the following: [,bash] ---- cd ~/install_yamls/devsetup -make standalone +EDPM_CONFIGURE_HUGEPAGES=false make standalone <1> ---- +<1> To configure the host for a simplistic hugepages setup, set `EDPM_CONFIGURE_HUGEPAGES=true`. To deploy using TLS everywhere enabled, instead run: @@ -229,9 +230,11 @@ Create a test VM instance with a test volume attachement: [,bash] ---- cd ~/data-plane-adoption +EDPM_CONFIGURE_HUGEPAGES=false <1> OS_CLOUD_IP=192.168.122.100 OS_CLOUD_NAME=standalone \ bash tests/roles/development_environment/files/pre_launch.bash ---- +<1> To configure a flavor with hugepages set `EDPM_CONFIGURE_HUGEPAGES=true`. This also creates a test Cinder volume, a backup from it, and a snapshot of it. diff --git a/tests/roles/development_environment/defaults/main.yaml b/tests/roles/development_environment/defaults/main.yaml index 4fcf81fe6..e2ca5a02f 100644 --- a/tests/roles/development_environment/defaults/main.yaml +++ b/tests/roles/development_environment/defaults/main.yaml @@ -4,6 +4,7 @@ edpm_privatekey_path: ~/install_yamls/out/edpm/ansibleee-ssh-key-id_rsa run_pre_adoption_validation: true os_cloud_name: standalone source_osp_ssh_user: root +use_hugepages: false # override var for openstack command to use on the source cloud openstack_command: >- ssh -i {{ edpm_privatekey_path }} -o StrictHostKeyChecking=no {{ source_osp_ssh_user }}@{{ standalone_ip | default(edpm_node_ip) }} OS_CLOUD={{ os_cloud_name }} openstack diff --git a/tests/roles/development_environment/files/pre_launch.bash b/tests/roles/development_environment/files/pre_launch.bash index e6cae4475..41e9dcb70 100755 --- a/tests/roles/development_environment/files/pre_launch.bash +++ b/tests/roles/development_environment/files/pre_launch.bash @@ -32,8 +32,12 @@ ${BASH_ALIASES[openstack]} image show cirros || \ ${BASH_ALIASES[openstack]} image create --container-format bare --disk-format $DISK_FORMAT cirros < /tmp/$RAW # Create flavor +HPARGS=" " +if [ "${EDPM_CONFIGURE_HUGEPAGES:-false}" = "true" ] ; then + HPARGS="set huge_pages --property hw:mem_page_size=2MB" +fi ${BASH_ALIASES[openstack]} flavor show m1.small || \ - ${BASH_ALIASES[openstack]} flavor create --ram 512 --vcpus 1 --disk 1 --ephemeral 1 m1.small + ${BASH_ALIASES[openstack]} flavor create $HPARGS --ram 512 --vcpus 1 --disk 1 --ephemeral 1 m1.small # Create networks ${BASH_ALIASES[openstack]} network show private || ${BASH_ALIASES[openstack]} network create private --share diff --git a/tests/roles/development_environment/tasks/main.yaml b/tests/roles/development_environment/tasks/main.yaml index be52b840f..e0beec4b8 100644 --- a/tests/roles/development_environment/tasks/main.yaml +++ b/tests/roles/development_environment/tasks/main.yaml @@ -5,6 +5,7 @@ cmd: | {{ shell_header }} export OPENSTACK_COMMAND="{{ openstack_command }}" + export EDPM_CONFIGURE_HUGEPAGES="{{ use_hugepages | string | lower }}" {{ lookup('ansible.builtin.file', prelaunch_test_instance_script) }} - name: creates Barbican secret