aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeter Mikus <pmikus@cisco.com>2019-01-28 20:57:00 +0000
committerPeter Mikus <pmikus@cisco.com>2019-01-30 11:08:53 +0000
commit3e287ff7ac87b803fc72a5a96c5d9dbf18af44b9 (patch)
tree7cbf6e5f50071c37afa0aa92d4d0eb9b9e8460a5
parentb6bd934e9ee0115d6cfdd7dfa59517766a9e89a6 (diff)
FIX: Cleanup mechanics for vpp_device
Change-Id: Ice975127f8ecdd4cead418151cf37d61dfb218a0 Signed-off-by: Peter Mikus <pmikus@cisco.com> (cherry picked from commit 956989a5ad8966c06cf3300c2e5edf3f46466edb)
-rw-r--r--resources/libraries/bash/function/device.sh13
-rw-r--r--resources/tools/testbed-setup/ansible/roles/vpp_device/handlers/main.yaml4
-rw-r--r--resources/tools/testbed-setup/ansible/roles/vpp_device/tasks/main.yaml9
3 files changed, 23 insertions, 3 deletions
diff --git a/resources/libraries/bash/function/device.sh b/resources/libraries/bash/function/device.sh
index 7a61bf7f71..8aeb221fd9 100644
--- a/resources/libraries/bash/function/device.sh
+++ b/resources/libraries/bash/function/device.sh
@@ -124,9 +124,16 @@ function clean_environment () {
# Kill docker containers.
docker rm --force "${DCR_UUIDS[@]}" || die "Cleanup containers failed!"
- # Remove DUT1 /tmp volume
- docker volume rm "${DCR_VOLUMES[dut1]}" || {
- die "Failed to remove DUT1 /tmp volume!"
+ # Check if some container is using volume and remove all the hanged
+ # containers before removing volume. Command will not fail in case there
+ # are no containers to remove.
+ docker rm --force $(docker ps -q --filter volume=${DCR_VOLUMES[dut1]}) || {
+ warn "Failed to remove hanged containers or nothing to remove!"
+ }
+
+ # Remove DUT1 volume.
+ docker volume rm --force "${DCR_VOLUMES[dut1]}" || {
+ die "Failed to remove DUT1 volume!"
}
# Rebind interfaces back to kernel drivers.
diff --git a/resources/tools/testbed-setup/ansible/roles/vpp_device/handlers/main.yaml b/resources/tools/testbed-setup/ansible/roles/vpp_device/handlers/main.yaml
index e2add5cecf..bda9dd4649 100644
--- a/resources/tools/testbed-setup/ansible/roles/vpp_device/handlers/main.yaml
+++ b/resources/tools/testbed-setup/ansible/roles/vpp_device/handlers/main.yaml
@@ -5,3 +5,7 @@
command: systemctl enable csit-initialize-vfs.service
tags: enable-vf-service
+- name: Update GRUB
+ command: update-grub
+ tags: update-grub
+
diff --git a/resources/tools/testbed-setup/ansible/roles/vpp_device/tasks/main.yaml b/resources/tools/testbed-setup/ansible/roles/vpp_device/tasks/main.yaml
index d1ede0cfbb..d07f328424 100644
--- a/resources/tools/testbed-setup/ansible/roles/vpp_device/tasks/main.yaml
+++ b/resources/tools/testbed-setup/ansible/roles/vpp_device/tasks/main.yaml
@@ -19,3 +19,12 @@
mode: '644'
notify: ['Enable csit-initialize-vfs.service']
tags: copy-vf-service
+
+- name: Set isolcpus and pstate parameter
+ lineinfile:
+ path: '/etc/default/grub'
+ state: 'present'
+ regexp: '^GRUB_CMDLINE_LINUX='
+ line: 'GRUB_CMDLINE_LINUX="hugepagesz=2M hugepages=65536"'
+ notify: ['Update GRUB']
+