summaryrefslogtreecommitdiffstats
path: root/VNFs
diff options
context:
space:
mode:
authorLuc Provoost <luc.provoost@intel.com>2021-02-25 18:34:11 +0100
committerLuc Provoost <luc.provoost@intel.com>2021-03-15 17:06:50 +0000
commitc8b5dd5aa379c9b8fd60a66be16351f62e5e5ebb (patch)
tree24bf27741728e7b9e2cc1b921ad523271f8f90f6 /VNFs
parent296cfb0b4fd5fdc534a1c2f6104d83be21a4f62b (diff)
Fix the tuned optimizations
tuned-adm is now run through check_prox_system_setup.sh at the first system startup/reboot. This will result in the correct grub cmdline parameters. We are also coying the default rapid_rsa_key in the authorized_keys of the rapid user, which is now the default user to run the tests. Fixed also an issue in handle_mirror.c: using now ETYPE_IPv4. Changed deploycentostools.sh to reflect the changes done when building the image with disk-image-create. Change-Id: I5933d21faef9fe02b56c01d0b96e2c143cc5476d Signed-off-by: Luc Provoost <luc.provoost@intel.com>
Diffstat (limited to 'VNFs')
-rw-r--r--VNFs/DPPD-PROX/handle_mirror.c2
-rwxr-xr-xVNFs/DPPD-PROX/helper-scripts/rapid/check_prox_system_setup.sh60
-rw-r--r--VNFs/DPPD-PROX/helper-scripts/rapid/config_file4
-rwxr-xr-xVNFs/DPPD-PROX/helper-scripts/rapid/createrapid.py2
-rw-r--r--VNFs/DPPD-PROX/helper-scripts/rapid/deploycentostools.sh6
-rw-r--r--VNFs/DPPD-PROX/helper-scripts/rapid/prox_ctrl.py2
-rw-r--r--VNFs/DPPD-PROX/helper-scripts/rapid/rapid_defaults.py2
-rw-r--r--VNFs/DPPD-PROX/helper-scripts/rapid/rapid_parser.py6
-rwxr-xr-xVNFs/DPPD-PROX/helper-scripts/rapid/stackdeployment.py3
9 files changed, 56 insertions, 31 deletions
diff --git a/VNFs/DPPD-PROX/handle_mirror.c b/VNFs/DPPD-PROX/handle_mirror.c
index 53e341e2..ba6e590c 100644
--- a/VNFs/DPPD-PROX/handle_mirror.c
+++ b/VNFs/DPPD-PROX/handle_mirror.c
@@ -71,7 +71,7 @@ static int handle_mirror_bulk(struct task_base *tbase, struct rte_mbuf **mbufs,
for (uint16_t j = 0; j < n_pkts; ++j) {
rte_pktmbuf_refcnt_update(mbufs2[j], (task->n_dests - 1) * task->multiplier);
prox_rte_ipv4_hdr *pip = (prox_rte_ipv4_hdr *) (hdr[j] + 1);
- if ((task->mirror_size != 0) && (hdr[j]->ether_type == RTE_ETHER_TYPE_IPV4) && ((pip->next_proto_id == IPPROTO_UDP) || (pip->next_proto_id == IPPROTO_TCP))) {
+ if ((task->mirror_size != 0) && (hdr[j]->ether_type == ETYPE_IPv4) && ((pip->next_proto_id == IPPROTO_UDP) || (pip->next_proto_id == IPPROTO_TCP))) {
rte_pktmbuf_pkt_len(mbufs2[j]) = task->mirror_size;
rte_pktmbuf_data_len(mbufs2[j]) = task->mirror_size;
pip->total_length = rte_bswap16(task->mirror_size-sizeof(prox_rte_ether_hdr));
diff --git a/VNFs/DPPD-PROX/helper-scripts/rapid/check_prox_system_setup.sh b/VNFs/DPPD-PROX/helper-scripts/rapid/check_prox_system_setup.sh
index 84e2f70f..834554dc 100755
--- a/VNFs/DPPD-PROX/helper-scripts/rapid/check_prox_system_setup.sh
+++ b/VNFs/DPPD-PROX/helper-scripts/rapid/check_prox_system_setup.sh
@@ -1,6 +1,6 @@
#!/usr/bin/env bash
##
-## Copyright (c) 2010-2020 Intel Corporation
+## Copyright (c) 2010-2021 Intel Corporation
##
## Licensed under the Apache License, Version 2.0 (the "License");
## you may not use this file except in compliance with the License.
@@ -14,43 +14,59 @@
## See the License for the specific language governing permissions and
## limitations under the License.
##
+## This script should run after booting: see check-prox-system-setup.service
+
NCPUS="$(lscpu | egrep '^CPU\(s\):' | awk '{ print $2 }')"
MAXCOREID="$((NCPUS-1))"
-filename="/etc/tuned/realtime-virtual-guest-variables.conf"
-logfile="/opt/rapid/prox_system_setup.log"
-if [ -f "$filename" ]
+tuned_config="/etc/tuned/realtime-virtual-guest-variables.conf"
+log_file="/opt/rapid/prox_system_setup.log"
+system_ready="/opt/rapid/system_ready_for_rapid"
+tuned_done="/opt/rapid/tuned_done"
+after_boot_file="/opt/rapid/after_boot.sh"
+
+tuned_and_reboot () {
+ echo "Applying tuned profile">>$log_file
+ tuned-adm profile realtime-virtual-guest
+ touch "$tuned_done"
+ echo "Rebooting...">>$log_file
+ reboot
+ exit 0
+}
+
+if [ -f "$tuned_config" ]
then
while read -r line
do
case $line in
isolated_cores=1-$MAXCOREID*)
- echo "Isolated CPU(s) OK, no reboot: $line">>$logfile
- FILE=/opt/rapid/after_boot.sh
- if test -f "$FILE"; then
- ("$FILE")
- echo "Executing: $FILE">>$logfile
+ if test ! -f "$tuned_done"; then
+ tuned_and_reboot
fi
- touch /opt/rapid/system_ready_for_rapid
+ if test -f "$after_boot_file"; then
+ echo "Executing: $after_boot_file">>$log_file
+ ("$after_boot_file")
+ fi
+ echo "Isolated CPU(s) OK, no reboot: $line">>$log_file
+ ## rapid scripts will wait for the system_ready file to exist
+ ## Only then, they will be able to connect to the PROX instance
+ ## and start the testing
+ touch "$system_ready"
exit 0
;;
isolated_cores=*)
- echo "Isolated CPU(s) NOK, change the config and reboot: $line">>$logfile
- sed -i "/^isolated_cores=.*/c\isolated_cores=1-$MAXCOREID" $filename
- tuned-adm profile realtime-virtual-guest
- reboot
- exit 0
+ echo "Isolated CPU(s) NOK: $line">>$log_file
+ sed -i "/^isolated_cores=.*/c\isolated_cores=1-$MAXCOREID" $tuned_config
+ tuned_and_reboot
;;
*)
echo "$line"
;;
esac
- done < "$filename"
- echo "isolated_cores=1-$MAXCOREID" >> $filename
- echo "No Isolated CPU(s) defined in config, line added: $line">>$logfile
- tuned-adm profile realtime-virtual-guest
- reboot
+ done < "$tuned_config"
+ echo "isolated_cores=1-$MAXCOREID" >> $tuned_config
+ echo "No Isolated CPU(s) defined in config, line added: isolated_cores=1-$MAXCOREID">>$log_file
+ tuned_and_reboot
else
- echo "$filename not found.">>$logfile
+ echo "$tuned_config not found.">>$log_file
fi
-
diff --git a/VNFs/DPPD-PROX/helper-scripts/rapid/config_file b/VNFs/DPPD-PROX/helper-scripts/rapid/config_file
index 0cd5c707..612f639f 100644
--- a/VNFs/DPPD-PROX/helper-scripts/rapid/config_file
+++ b/VNFs/DPPD-PROX/helper-scripts/rapid/config_file
@@ -3,7 +3,7 @@ cloud_name = openstackL6
stack_name = rapid
heat_template= openstack-rapid.yaml
heat_param = params_rapid.yaml
-keypair_name = rapid_key
-user = centos
+keypair_name = rapid_rsa_key
+user = rapid
dataplane_subnet_mask = 24
;push_gateway = http://192.168.36.61:9091/metrics/job/
diff --git a/VNFs/DPPD-PROX/helper-scripts/rapid/createrapid.py b/VNFs/DPPD-PROX/helper-scripts/rapid/createrapid.py
index 0efea9a1..2ff503ae 100755
--- a/VNFs/DPPD-PROX/helper-scripts/rapid/createrapid.py
+++ b/VNFs/DPPD-PROX/helper-scripts/rapid/createrapid.py
@@ -53,7 +53,7 @@ def main():
rapid_stack_params = {}
RapidStackManager.parse_config(rapid_stack_params)
log_file = 'CREATE{}.log'.format(rapid_stack_params['stack_name'])
- RapidLog.log_init(log_file, 'DEBUG', 'INFO', '2021.01.27')
+ RapidLog.log_init(log_file, 'DEBUG', 'INFO', '2021.03.15')
#cloud_name = 'openstackL6'
#stack_name = 'rapid'
#heat_template = 'openstack-rapid.yaml'
diff --git a/VNFs/DPPD-PROX/helper-scripts/rapid/deploycentostools.sh b/VNFs/DPPD-PROX/helper-scripts/rapid/deploycentostools.sh
index e5199257..f4d92d88 100644
--- a/VNFs/DPPD-PROX/helper-scripts/rapid/deploycentostools.sh
+++ b/VNFs/DPPD-PROX/helper-scripts/rapid/deploycentostools.sh
@@ -18,15 +18,15 @@
# Directory for package build
BUILD_DIR="/opt/rapid"
DPDK_VERSION="20.05"
-PROX_COMMIT="80dfeb5c734cc4d681f467e853a541a8a91fe1cf"
+PROX_COMMIT="8442f6a8ce0962d818b7cd800150980c65983719"
PROX_CHECKOUT="git checkout ${PROX_COMMIT}"
## Next line is overruling the PROX_COMMIT and will replace the version with a very specific patch. Should be commented out
## if you want to use a committed version of PROX with the COMMIT ID specified above
## As an example: Following line has the commit for testing IMIX, IPV6, ... It is the merge of all PROX commits on May 27th 2020
#PROX_CHECKOUT="git fetch \"https://gerrit.opnfv.org/gerrit/samplevnf\" refs/changes/23/70223/1 && git checkout FETCH_HEAD"
MULTI_BUFFER_LIB_VER="0.52"
-export RTE_SDK="${BUILD_DIR}/dpdk-${DPDK_VERSION}"
-export RTE_TARGET="x86_64-native-linuxapp-gcc"
+export RTE_SDK="${BUILD_DIR}/dpdk"
+export RTE_TARGET="build"
# By default, do not update OS
OS_UPDATE="n"
diff --git a/VNFs/DPPD-PROX/helper-scripts/rapid/prox_ctrl.py b/VNFs/DPPD-PROX/helper-scripts/rapid/prox_ctrl.py
index 7c598ebe..3389bd6c 100644
--- a/VNFs/DPPD-PROX/helper-scripts/rapid/prox_ctrl.py
+++ b/VNFs/DPPD-PROX/helper-scripts/rapid/prox_ctrl.py
@@ -53,6 +53,8 @@ class prox_ctrl(object):
self.test_connect()
break
except RuntimeWarning as ex:
+ RapidLog.debug("RuntimeWarning %d:\n%s"
+ % (ex.returncode, ex.output.strip()))
attempts += 1
if attempts > 20:
RapidLog.exception("Failed to connect to instance after %d\
diff --git a/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_defaults.py b/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_defaults.py
index 530dfc99..f45b4dcf 100644
--- a/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_defaults.py
+++ b/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_defaults.py
@@ -21,7 +21,7 @@ class RapidDefaults(object):
Class to define the test defaults
"""
test_params = {
- 'version' : '2021.01.27', # Please do NOT change, used for debugging
+ 'version' : '2021.03.15', # Please do NOT change, used for debugging
'environment_file' : 'rapid.env', #Default string for environment
'test_file' : 'tests/basicrapid.test', #Default string for test
'machine_map_file' : 'machine.map', #Default string for machine map file
diff --git a/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_parser.py b/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_parser.py
index c1ab36a0..8ff586ee 100644
--- a/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_parser.py
+++ b/VNFs/DPPD-PROX/helper-scripts/rapid/rapid_parser.py
@@ -55,6 +55,12 @@ class RapidConfigParser(object):
test_params['vim_type'] = config.get('Varia', 'vim')
test_params['key'] = config.get('ssh', 'key')
test_params['user'] = config.get('ssh', 'user')
+ if test_params['user'] in ['rapid']:
+ if test_params['key'] != 'rapid_rsa_key':
+ RapidLog.debug(("Key file {} for user {} overruled by key file:"
+ " rapid_rsa_key").format(test_params['key'],
+ test_params['user']))
+ test_params['key'] = 'rapid_rsa_key'
test_params['total_number_of_machines'] = int(config.get('rapid',
'total_number_of_machines'))
tests = []
diff --git a/VNFs/DPPD-PROX/helper-scripts/rapid/stackdeployment.py b/VNFs/DPPD-PROX/helper-scripts/rapid/stackdeployment.py
index 925fd8bd..6374b843 100755
--- a/VNFs/DPPD-PROX/helper-scripts/rapid/stackdeployment.py
+++ b/VNFs/DPPD-PROX/helper-scripts/rapid/stackdeployment.py
@@ -152,7 +152,8 @@ class StackDeployment(object):
def deploy(self, stack_name, keypair_name, heat_template, heat_param):
self.key_name = keypair_name
- self.private_key_filename = '{}.pem'.format(keypair_name)
+ #self.private_key_filename = '{}.pem'.format(keypair_name)
+ self.private_key_filename = keypair_name
if not self.IsDeployed(stack_name):
if not self.IsKey():
self.create_key()