summaryrefslogtreecommitdiffstats
path: root/jjb/dovetail
diff options
context:
space:
mode:
Diffstat (limited to 'jjb/dovetail')
-rw-r--r--jjb/dovetail/dovetail-ci-jobs.yaml84
-rwxr-xr-xjjb/dovetail/dovetail-run.sh57
2 files changed, 130 insertions, 11 deletions
diff --git a/jjb/dovetail/dovetail-ci-jobs.yaml b/jjb/dovetail/dovetail-ci-jobs.yaml
index a95617ae4..8d47616d8 100644
--- a/jjb/dovetail/dovetail-ci-jobs.yaml
+++ b/jjb/dovetail/dovetail-ci-jobs.yaml
@@ -178,8 +178,13 @@
- 'default'
- 'proposed_tests'
+ testarea:
+ - 'mandatory'
+ - 'optional'
+
jobs:
- 'dovetail-{SUT}-{pod}-{testsuite}-{stream}'
+ - 'dovetail-{SUT}-{pod}-{testsuite}-{testarea}-{stream}'
################################
# job templates
@@ -231,6 +236,85 @@
default: '{testsuite}'
description: "dovetail testsuite to run"
- string:
+ name: TESTAREA
+ default: 'all'
+ description: "dovetail testarea to run"
+ - string:
+ name: DOVETAIL_REPO_DIR
+ default: "/home/opnfv/dovetail"
+ description: "Directory where the dovetail repository is cloned"
+ - string:
+ name: SUT_BRANCH
+ default: '{branch}'
+ description: "SUT branch"
+
+ scm:
+ - git-scm
+
+ builders:
+ - description-setter:
+ description: "POD: $NODE_NAME"
+ - 'dovetail-cleanup'
+ - 'dovetail-run'
+
+ publishers:
+ - archive:
+ artifacts: 'results/**/*'
+ allow-empty: true
+ fingerprint: true
+ - email-jenkins-admins-on-failure
+
+- job-template:
+ name: 'dovetail-{SUT}-{pod}-{testsuite}-{testarea}-{stream}'
+
+ disabled: false
+
+ concurrent: true
+
+ properties:
+ - logrotate-default
+ - throttle:
+ enabled: true
+ max-per-node: 1
+ option: 'project'
+
+ wrappers:
+ - build-name:
+ name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
+ - timeout:
+ timeout: 300
+ abort: true
+ - fix-workspace-permissions
+
+ triggers:
+ - '{auto-trigger-name}'
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ branch: '{dovetail-branch}'
+ - '{SUT}-defaults'
+ - '{slave-label}-defaults'
+ - string:
+ name: DEPLOY_SCENARIO
+ default: 'os-nosdn-nofeature-ha'
+ - string:
+ name: DOCKER_TAG
+ default: '{docker-tag}'
+ description: 'Tag to pull dovetail docker image'
+ - string:
+ name: CI_DEBUG
+ default: 'true'
+ description: "Show debug output information"
+ - string:
+ name: TESTSUITE
+ default: '{testsuite}'
+ description: "dovetail testsuite to run"
+ - string:
+ name: TESTAREA
+ default: '{testarea}'
+ description: "dovetail testarea to run"
+ - string:
name: DOVETAIL_REPO_DIR
default: "/home/opnfv/dovetail"
description: "Directory where the dovetail repository is cloned"
diff --git a/jjb/dovetail/dovetail-run.sh b/jjb/dovetail/dovetail-run.sh
index 2a9c73c2f..739da9eac 100755
--- a/jjb/dovetail/dovetail-run.sh
+++ b/jjb/dovetail/dovetail-run.sh
@@ -130,8 +130,18 @@ if [[ ! "${SUT_BRANCH}" =~ "danube" && ${INSTALLER_TYPE} == 'fuel' && ${DEPLOY_T
fuel_ctl_ip=$(ssh 2>/dev/null ${fuel_ctl_ssh_options} "${ssh_user}@${INSTALLER_IP}" \
"sudo salt 'cfg*' pillar.get _param:openstack_control_address --out text| \
cut -f2 -d' '")
+ fuel_cmp_ip=$(ssh 2>/dev/null ${fuel_ctl_ssh_options} "${ssh_user}@${INSTALLER_IP}" \
+ "sudo salt 'cmp001*' pillar.get _param:openstack_control_address --out text| \
+ cut -f2 -d' '")
+ fuel_dbs_ip=$(ssh 2>/dev/null ${fuel_ctl_ssh_options} "${ssh_user}@${INSTALLER_IP}" \
+ "sudo salt 'dbs01*' pillar.get _param:openstack_database_node01_address --out text| \
+ cut -f2 -d' '")
+ fuel_msg_ip=$(ssh 2>/dev/null ${fuel_ctl_ssh_options} "${ssh_user}@${INSTALLER_IP}" \
+ "sudo salt 'msg01*' pillar.get _param:openstack_message_queue_node01_address --out text| \
+ cut -f2 -d' '")
ipmi_index=$(ssh 2>/dev/null ${fuel_ctl_ssh_options} "${ssh_user}@${INSTALLER_IP}" \
"sudo salt 'ctl*' network.ip_addrs cidr=${fuel_ctl_ip} --out text | grep ${fuel_ctl_ip} | cut -c 5")
+
organization="$(cut -d'-' -f1 <<< "${NODE_NAME}")"
pod_name="$(cut -d'-' -f2 <<< "${NODE_NAME}")"
pdf_file=${pharos_repo}/labs/${organization}/${pod_name}.yaml
@@ -148,7 +158,9 @@ nodes:
role: Jumpserver, user: ${ssh_user}}
- {ip: ${fuel_ctl_ip}, name: node1, key_filename: /home/opnfv/userconfig/pre_config/id_rsa,
role: controller, user: ${ssh_user}, ipmi_ip: ${ipmiIp}, ipmi_user: ${ipmiUser}, ipmi_password: ${ipmiPass}}
-
+- {ip: ${fuel_msg_ip}, name: msg01, key_filename: /home/opnfv/userconfig/pre_config/id_rsa, role: controller, user: ${ssh_user}}
+- {ip: ${fuel_cmp_ip}, name: cmp01, key_filename: /home/opnfv/userconfig/pre_config/id_rsa, role: controller, user: ${ssh_user}}
+- {ip: ${fuel_dbs_ip}, name: dbs01, key_filename: /home/opnfv/userconfig/pre_config/id_rsa, role: controller, user: ${ssh_user}}
EOF
fi
@@ -193,15 +205,21 @@ if [ -f ${DOVETAIL_CONFIG}/pod.yaml ]; then
sudo chmod 666 ${DOVETAIL_CONFIG}/pod.yaml
echo "Adapt process info for $INSTALLER_TYPE ..."
if [ "$INSTALLER_TYPE" == "apex" ]; then
- attack_process='rabbitmq_server'
- else
- attack_process='rabbitmq'
- fi
- cat << EOF >> ${DOVETAIL_CONFIG}/pod.yaml
+ cat << EOF >> ${DOVETAIL_CONFIG}/pod.yaml
process_info:
-- {testcase_name: dovetail.ha.rabbitmq, attack_process: ${attack_process}}
-
+- {testcase_name: yardstick.ha.rabbitmq, attack_process: rabbitmq_server}
+- {testcase_name: yardstick.ha.cinder_api, attack_process: cinder_wsgi}
EOF
+ elif [ "$INSTALLER_TYPE" == "fuel" ]; then
+ cat << EOF >> ${DOVETAIL_CONFIG}/pod.yaml
+process_info:
+- {testcase_name: yardstick.ha.cinder_api, attack_process: cinder-wsgi}
+- {testcase_name: yardstick.ha.rabbitmq, attack_process: rabbitmq_server, attack_host: msg01}
+- {testcase_name: yardstick.ha.neutron_l3_agent, attack_process: neutron-l3-agent, attack_host: cmp01}
+- {testcase_name: yardstick.ha.database, attack_process: mysqld, attack_host: dbs01}
+EOF
+ fi
+
echo "file ${DOVETAIL_CONFIG}/pod.yaml:"
cat ${DOVETAIL_CONFIG}/pod.yaml
else
@@ -238,7 +256,7 @@ fi
ubuntu_image=${image_path}/ubuntu-16.04-server-cloudimg-amd64-disk1.img
if [[ ! -f ${ubuntu_image} ]]; then
echo "Download image ubuntu-16.04-server-cloudimg-amd64-disk1.img ..."
- wget -q -nc http://artifacts.opnfv.org/sdnvpn/ubuntu-16.04-server-cloudimg-amd64-disk1.img -P ${image_path}
+ wget -q -nc https://artifacts.opnfv.org/sdnvpn/ubuntu-16.04-server-cloudimg-amd64-disk1.img -P ${image_path}
fi
sudo cp ${ubuntu_image} ${DOVETAIL_IMAGES}
@@ -345,11 +363,28 @@ else
testsuite="--testsuite ${TESTSUITE}"
fi
-run_cmd="dovetail run ${testsuite} -d"
+if [[ ${TESTAREA} == 'mandatory' ]]; then
+ testarea='--mandatory'
+elif [[ ${TESTAREA} == 'optional' ]]; then
+ testarea="--optional"
+elif [[ ${TESTAREA} == 'all' ]]; then
+ testarea=""
+else
+ testarea="--testarea ${TESTAREA}"
+fi
+
+run_cmd="dovetail run ${testsuite} ${testarea} --deploy-scenario ${DEPLOY_SCENARIO} -d -r"
echo "Container exec command: ${run_cmd}"
docker exec $container_id ${run_cmd}
sudo cp -r ${DOVETAIL_HOME}/results ./
+result_package=$(find ${DOVETAIL_HOME} -name 'logs_*')
+echo "Results package is ${result_package}"
+for item in ${result_package};
+do
+ sudo mv ${item} ./results
+done
+
# To make sure the file owner is the current user, for the copied results files in the above line
echo "Change owner of result files ..."
CURRENT_USER=${SUDO_USER:-$USER}
@@ -360,7 +395,7 @@ sudo chown -R ${CURRENT_USER}:${PRIMARY_GROUP} ./results
#remove useless files to save disk space
sudo rm -rf ./results/workspace
sudo rm -f ./results/yardstick.img
-sudo rm -f ./results/tmp*
+sudo rm -f ./results/bottlenecks/tmp*
echo "Dovetail: done!"