From 42160542e6e9151f5f44b738d8d76e88911cd07f Mon Sep 17 00:00:00 2001 From: Billy O'Mahony Date: Tue, 13 Sep 2016 11:37:04 +0100 Subject: [PATCH] Update flavors mem_page_size Post install update all standard flavors to have memory backed with large pages otherwise they will not run with DPDK-enabled OVS. Change-Id: I171fbda0e750237dee3c2b8278d4c3354a9378e9 Signed-off-by: Billy O'Mahony Signed-off-by: Michal Skalski Signed-off-by: Michael Polenchuk --- .../puppet/manifests/ovs-update-flavors.pp | 10 ++++++++++ deployment_scripts/update_flavors.sh | 10 ++++++++++ deployment_tasks.yaml | 13 +++++++++++++ 3 files changed, 33 insertions(+) create mode 100644 deployment_scripts/puppet/manifests/ovs-update-flavors.pp create mode 100644 deployment_scripts/update_flavors.sh diff --git a/deployment_scripts/puppet/manifests/ovs-update-flavors.pp b/deployment_scripts/puppet/manifests/ovs-update-flavors.pp new file mode 100644 index 0000000..79eb256 --- /dev/null +++ b/deployment_scripts/puppet/manifests/ovs-update-flavors.pp @@ -0,0 +1,10 @@ +# get options +$master_ip = hiera('master_ip') + +if $operatingsystem == 'Ubuntu' { + exec { 'update flavors': + command => "curl http://${master_ip}:8080/plugins/fuel-plugin-ovs-0.9/deployment_scripts/update_flavors.sh | bash -s", + path => "/usr/bin:/usr/sbin:/bin:/sbin", + } +} elsif $operatingsystem == 'CentOS' { +} diff --git a/deployment_scripts/update_flavors.sh b/deployment_scripts/update_flavors.sh new file mode 100644 index 0000000..f4ea479 --- /dev/null +++ b/deployment_scripts/update_flavors.sh @@ -0,0 +1,10 @@ +#!/bin/bash +set -eux + +. /root/openrc + +#foreach nova flavor name set it to have it's memory backed with large pages +#so that it will run with DPDK-enabled OVS. +for i in `nova flavor-list | tail -n +4 | head --lines=-1 | awk {'print $4'}`; do + nova flavor-key $i set "hw:mem_page_size=large" +done diff --git a/deployment_tasks.yaml b/deployment_tasks.yaml index 350ccb1..ea94784 100644 --- a/deployment_tasks.yaml +++ b/deployment_tasks.yaml @@ -10,3 +10,16 @@ puppet_manifest: puppet/manifests/ovs-install-compute.pp puppet_modules: puppet/modules:/etc/puppet/modules timeout: 720 + +- id: update_flavors + type: puppet + version: 2.1.0 + role: [primary-controller] + requires: [post_deployment_start] + required_for: [post_deployment_end] + condition: + yaql_exp: $.get('fuel-plugin-ovs').install_dpdk + parameters: + puppet_manifest: puppet/manifests/ovs-update-flavors.pp + puppet_modules: puppet/modules:/etc/puppet/modules + timeout: 720