aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rw-r--r--tools/coding-checks.sh9
-rw-r--r--tools/cover.sh23
-rwxr-xr-xtools/kube-setup-one-node.sh44
-rwxr-xr-xtools/run_tests.sh27
-rwxr-xr-xtools/virt_ci_rampup.sh45
5 files changed, 121 insertions, 27 deletions
diff --git a/tools/coding-checks.sh b/tools/coding-checks.sh
index 4ee909988..615f2c3de 100644
--- a/tools/coding-checks.sh
+++ b/tools/coding-checks.sh
@@ -28,6 +28,7 @@ process_options () {
run_pylint () {
local target="${scriptargs:-all}"
+ local output_format=""
if [ "$target" = "all" ]; then
files="ansible api tests yardstick"
@@ -37,11 +38,15 @@ run_pylint () {
*) echo "$target is an unrecognized basecommit"; exit 1;;
esac
fi
-
+ # make Jenkins output parseable because Jenkins doesn't handle color
+ # enventually we should use the Jenkins Pylint plugin or other tools
+ if [ -n "${BRANCH:-}" ] ; then
+ output_format="--output-format=parseable"
+ fi
echo "Running pylint..."
echo "You can speed this up by running it on 'HEAD~[0-9]' (e.g. HEAD~0, this change only)..."
if [ -n "${files}" ]; then
- pylint --rcfile=.pylintrc ${files}
+ pylint --rcfile=.pylintrc ${output_format} ${files}
else
echo "No python changes in this commit, pylint check not required."
exit 0
diff --git a/tools/cover.sh b/tools/cover.sh
index 780a85a22..4e54a64b7 100644
--- a/tools/cover.sh
+++ b/tools/cover.sh
@@ -42,17 +42,15 @@ run_coverage_test() {
git checkout HEAD^
baseline_report=$(mktemp -t yardstick_coverageXXXXXXX)
- ls -l .testrepository
- # workaround 'db type could not be determined' bug
- # https://bugs.launchpad.net/testrepository/+bug/1229445
- rm -rf .testrepository
find . -type f -name "*.pyc" -delete
+ coverage erase
+
+ coverage run -p -m unittest discover ./yardstick/tests/unit
+ coverage combine
- #python setup.py testr --coverage --testr-args=""
- python setup.py testr --coverage --slowest --testr-args="$*"
- testr failing
coverage report > ${baseline_report}
+ coverage erase
# debug awk
tail -1 ${baseline_report}
@@ -69,17 +67,14 @@ run_coverage_test() {
# Generate and save coverage report
current_report=$(mktemp -t yardstick_coverageXXXXXXX)
- ls -l .testrepository
- # workaround 'db type could not be determined' bug
- # https://bugs.launchpad.net/testrepository/+bug/1229445
- rm -rf .testrepository
find . -type f -name "*.pyc" -delete
- #python setup.py testr --coverage --testr-args=""
- python setup.py testr --coverage --slowest --testr-args="$*"
- testr failing
+ coverage run -p -m unittest discover ./yardstick/tests/unit
+ coverage combine
+
coverage report > ${current_report}
+ coverage erase
rm -rf cover-$PY_VER
coverage html -d cover-$PY_VER
diff --git a/tools/kube-setup-one-node.sh b/tools/kube-setup-one-node.sh
new file mode 100755
index 000000000..180f11b46
--- /dev/null
+++ b/tools/kube-setup-one-node.sh
@@ -0,0 +1,44 @@
+#!/usr/bin/env bash
+# Copyright (c) 2018-2019 Intel Corporation.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+proxy_vars=(http_proxy https_proxy ftp_proxy no_proxy)
+# get proxy environment values from /etc/environment if not set
+for proxy_var in ${proxy_vars[@]}
+do
+ env_proxy=$(sed -ne "s/^$proxy_var=[\"\']\(.*\)[\"\']/\1/p" /etc/environment)
+ if [[ -z ${!proxy_var} ]] && [[ ! -z ${env_proxy} ]]; then
+ export ${proxy_var}=${env_proxy}
+ fi
+done
+# add proxy configuration into proxy file
+add_extra_env=false
+echo "proxy_env:" > /tmp/proxy.yml
+for proxy_var in ${proxy_vars[@]}
+do
+ if [[ ! -z ${!proxy_var} ]]; then
+ echo " ${proxy_var}: ${!proxy_var}" >> /tmp/proxy.yml
+ add_extra_env=true
+ fi
+done
+# add extra arguments file if needed
+if ${add_extra_env}; then
+ extra_args="${extra_args} -e @/tmp/proxy.yml "
+fi
+
+ANSIBLE_SCRIPTS="${0%/*}/../ansible"
+
+cd ${ANSIBLE_SCRIPTS} && \
+ansible-playbook \
+ ${extra_args} -i kube-inventory.ini deploy_kube.yml
diff --git a/tools/run_tests.sh b/tools/run_tests.sh
index f253327e5..40b21cab9 100755
--- a/tools/run_tests.sh
+++ b/tools/run_tests.sh
@@ -28,9 +28,9 @@ run_tests() {
echo "Running unittest ... "
if [ $FILE_OPTION == "f" ]; then
- python -m unittest discover -v -s tests/unit > $logfile 2>&1
+ python -m unittest discover -v -s yardstick/tests/unit > $logfile 2>&1
else
- python -m unittest discover -v -s tests/unit
+ python -m unittest discover -v -s yardstick/tests/unit
fi
if [ $? -ne 0 ]; then
@@ -53,7 +53,7 @@ run_coverage() {
run_functional_test() {
mkdir -p .testrepository
- python -m subunit.run discover tests/functional > .testrepository/subunit.log
+ python -m subunit.run discover yardstick/tests/functional > .testrepository/subunit.log
subunit2pyunit < .testrepository/subunit.log
EXIT_CODE=$?
@@ -66,16 +66,21 @@ run_functional_test() {
fi
}
-if [[ $opts =~ "--unit" ]]; then
- run_tests
-fi
+# get file types of the last change on git
+file_types=$(git diff-tree -r --name-only HEAD~1 HEAD | awk -F[/] '{print $NF}' | awk -F[.] 'NF>1 {print $NF}' | uniq)
-if [[ $opts =~ "--coverage" ]]; then
- run_coverage
-fi
+if [[ $file_types =~ "py" ]]; then
+ if [[ $opts =~ "--unit" ]]; then
+ run_tests
+ fi
-if [[ $opts =~ "--functional" ]]; then
- run_functional_test
+ if [[ $opts =~ "--coverage" ]]; then
+ run_coverage
+ fi
+
+ if [[ $opts =~ "--functional" ]]; then
+ run_functional_test
+ fi
fi
if [[ -z $opts ]]; then
diff --git a/tools/virt_ci_rampup.sh b/tools/virt_ci_rampup.sh
new file mode 100755
index 000000000..aaf162cf7
--- /dev/null
+++ b/tools/virt_ci_rampup.sh
@@ -0,0 +1,45 @@
+#!/usr/bin/env bash
+# Copyright (c) 2018 Intel Corporation.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+env_http_proxy=$(sed -ne "s/^http_proxy=[\"\']\(.*\)[\"\']/\1/p" /etc/environment)
+if [[ -z ${http_proxy} ]] && [[ ! -z ${env_http_proxy} ]]; then
+ export http_proxy=${env_http_proxy}
+fi
+env_https_proxy=$(sed -ne "s/^https_proxy=[\"\']\(.*\)[\"\']/\1/p" /etc/environment)
+if [[ -z ${https_proxy} ]] && [[ ! -z ${env_https_proxy} ]]; then
+ export https_proxy=${env_https_proxy}
+fi
+env_ftp_proxy=$(sed -ne "s/^ftp_proxy=[\"\']\(.*\)[\"\']/\1/p" /etc/environment)
+if [[ -z ${ftp_proxy} ]] && [[ ! -z ${env_ftp_proxy} ]]; then
+ export ftp_proxy=${env_ftp_proxy}
+fi
+if [[ ! -z ${http_proxy} ]] || [[ ! -z ${https_proxy} ]]; then
+ export no_proxy="${no_proxy}"
+ extra_args="${extra_args} -e @/tmp/proxy.yml "
+ cat <<EOF > /tmp/proxy.yml
+---
+proxy_env:
+ http_proxy: ${http_proxy}
+ https_proxy: ${https_proxy}
+ ftp_proxy: ${ftp_proxy}
+ no_proxy: ${no_proxy}
+EOF
+fi
+ANSIBLE_SCRIPTS="${0%/*}/../ansible"
+
+cd ${ANSIBLE_SCRIPTS} && \
+sudo -EH ansible-playbook \
+ -e RS_FILE='../etc/infra/infra_deploy_two.yaml' -e CLEAN_UP=False ${extra_args} \
+ -i inventory.ini infra_deploy.yml