Add pinning support
[apex.git] / build / build_perf_image.sh
diff --git a/build/build_perf_image.sh b/build/build_perf_image.sh
new file mode 100644 (file)
index 0000000..0a3e3d0
--- /dev/null
@@ -0,0 +1,38 @@
+#!/bin/bash
+##############################################################################
+# Copyright (c) 2016 Red Hat Inc.
+# Michael Chapman <michapma@redhat.com>
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+ROLE=$1
+shift
+CATEGORY=$1
+shift
+KEY=$1
+shift
+VALUE=$1
+shift
+
+IMAGE=$ROLE-overcloud-full.qcow2
+
+# Create image copy for this role
+if [ ! -f $IMAGE ] ; then
+  cp overcloud-full.qcow2 $IMAGE
+fi
+
+if [ "$CATEGORY" == "nova" ]; then
+  if [ "$KEY" == "libvirtpin" ]; then
+    sudo sed -i "s/#LibvirtCPUPinSet:.*/LibvirtCPUPinSet: '${VALUE}'/" /usr/share/openstack-tripleo-heat-templates/environments/numa.yaml
+  fi
+fi
+
+if [ "$CATEGORY" == "kernel" ]; then
+  LIBGUESTFS_BACKEND=direct virt-customize \
+    --run-command "bash -x /root/setkernelparam.sh $KEY $VALUE" \
+    -a $IMAGE
+fi
+