diff options
author | Tim Rozet <trozet@redhat.com> | 2016-05-24 15:41:51 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@172.30.200.206> | 2016-05-24 15:41:51 +0000 |
commit | 5fec80057dbd799d52a4c1ff2f35a1c8cc5ad6ea (patch) | |
tree | fb621e88b7ad9bdd8d6b1edbecdcde1ff85ea5a0 /build | |
parent | cefd51c360e3d3c4bc160844a467255d84c9f16c (diff) | |
parent | fb0f275cd373aec28a8a970ced0f1d20ca8abbfc (diff) |
Merge "Add pinning support"
Diffstat (limited to 'build')
-rw-r--r-- | build/build_perf_image.sh | 38 | ||||
-rwxr-xr-x | build/overcloud-full.sh | 8 | ||||
-rw-r--r-- | build/set_perf_images.sh | 31 | ||||
-rw-r--r-- | build/setkernelparam.sh | 27 | ||||
-rwxr-xr-x | build/undercloud.sh | 8 |
5 files changed, 110 insertions, 2 deletions
diff --git a/build/build_perf_image.sh b/build/build_perf_image.sh new file mode 100644 index 00000000..0a3e3d0f --- /dev/null +++ b/build/build_perf_image.sh @@ -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 + diff --git a/build/overcloud-full.sh b/build/overcloud-full.sh index 065201f8..d0ee3f01 100755 --- a/build/overcloud-full.sh +++ b/build/overcloud-full.sh @@ -29,5 +29,13 @@ LIBGUESTFS_BACKEND=direct virt-customize \ --run-command "echo 'nf_conntrack_proto_sctp' > /etc/modules-load.d/nf_conntrack_proto_sctp.conf" \ -a overcloud-full_build.qcow2 +################################### +##### Add CPU pinning script ##### +################################### + +LIBGUESTFS_BACKEND=direct virt-customize \ + --upload ../setkernelparam.sh:/root \ + -a overcloud-full_build.qcow2 + mv -f overcloud-full_build.qcow2 overcloud-full.qcow2 popd > /dev/null diff --git a/build/set_perf_images.sh b/build/set_perf_images.sh new file mode 100644 index 00000000..ea31c7fa --- /dev/null +++ b/build/set_perf_images.sh @@ -0,0 +1,31 @@ +#!/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 +############################################################################## + +for ROLE in $@; do + if [ -f $ROLE-overcloud-full.qcow2 ]; then + echo "Uploading $ROLE-overcloud-full.qcow2 " + KERNEL=$(glance image-show overcloud-full | grep 'kernel_id' | cut -d '|' -f 3 | xargs) + RAMDISK=$(glance image-show overcloud-full | grep 'ramdisk_id' | cut -d '|' -f 3 | xargs) + glance image-create --name $ROLE-overcloud-full --disk-format qcow2 --file $ROLE-overcloud-full.qcow2 --container-format bare --property ramdisk_id=$RAMDISK --property kernel_id=$KERNEL + fi + + if [ "$ROLE" == "Controller" ]; then + sed -i "s/overcloud-full/Controller-overcloud-full" opnfv-environment.yaml + fi + + if [ "$ROLE" == "Compute" ]; then + sudo sed -i "s/NovaImage: overcloud-full/Compute-overcloud-full/" /usr/share/openstack-tripleo-heat-templates/environments/numa.yaml + fi + + if [ "$ROLE" == "BlockStorage" ]; then + sudo sed -i "s/BlockStorageImage: overcloud-full/BlockStorage-overcloud-full/" /usr/share/openstack-tripleo-heat-templates/environments/numa.yaml + fi +done diff --git a/build/setkernelparam.sh b/build/setkernelparam.sh new file mode 100644 index 00000000..b6986d6c --- /dev/null +++ b/build/setkernelparam.sh @@ -0,0 +1,27 @@ +#!/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 +############################################################################## + +GRUBCONF='/boot/grub2/grub.conf' + +if [ "$1" == "" ]; then + echo "No kernel parameter name provided, not modifying grub.conf" + exit 1 +fi + +if [ "$2" == "" ]; then + echo "No kernel parameter value provided, not modifying grub.conf" + exit 1 +fi + +echo "Setting $1=$2 in $GRUBCONF" +echo "GRUB_CMDLINE_LINUX=\"\$GRUB_CMDLINE_LINUX $1=$2\"" >> /etc/default/grub +grub2-mkconfig > $GRUBCONF +exit 0 diff --git a/build/undercloud.sh b/build/undercloud.sh index ed4f2b34..04c2667f 100755 --- a/build/undercloud.sh +++ b/build/undercloud.sh @@ -43,7 +43,7 @@ if [ "$PR_NUMBER" != "" ]; then if [ "$MERGED" == "False" ]; then REF=$(python -c "import json; print json.loads('''$PR'''.replace('\n', '').replace('\r', ''))['head']['ref']") echo "Setting GitHub Ref to: $REF" - REPO=$(python -c "import json; print json.loads('''$PR'''.replace('\n', '').replace('\r', ''))['head']['repo']['git_url']") + REPO=$(python -c "import json; print json.loads('''$PR'''.replace('\n', '').replace('\r', ''))['head']['repo']['clone_url']") echo "Setting GitHub URL to: $REPO" fi fi @@ -70,5 +70,9 @@ LIBGUESTFS_BACKEND=direct virt-customize \ --upload ../virtual-environment.yaml:/home/stack/ \ -a undercloud.qcow2 -popd > /dev/null +# Add performance image scripts +LIBGUESTFS_BACKEND=direct virt-customize --upload ../build_perf_image.sh:/home/stack \ + --upload ../set_perf_images.sh:/home/stack \ + -a undercloud.qcow2 +popd > /dev/null |