#!/bin/bash # This script tests the high level end-to-end functionality demonstrated # as part of the examples/sample-app STARTTIME=$(date +%s) source "$(dirname "${BASH_SOURCE}")/lib/init.sh" readonly JQSETPULLPOLICY='(.items[] | select(.kind == "DeploymentConfig") | .spec.template.spec.containers[0].imagePullPolicy) |= "IfNotPresent"' if [[ "${TEST_END_TO_END:-}" != "direct" ]]; then if os::util::ensure::system_binary_exists 'docker'; then echo "++ Docker is installed, running hack/test-end-to-end-docker.sh instead." "${OS_ROOT}/hack/test-end-to-end-docker.sh" exit $? fi echo "++ Docker is not installed, running end-to-end against local binaries" fi os::util::ensure::iptables_privileges_exist os::log::info "Starting end-to-end test" function cleanup() { out=$? echo if [ $out -ne 0 ]; then echo "[FAIL] !!!!! Test Failed !!!!" else os::log::info "Test Succeeded" fi echo cleanup_openshift os::log::info "Exiting" ENDTIME=$(date +%s); echo "$0 took $(($ENDTIME - $STARTTIME)) seconds" exit $out } trap "exit" INT TERM trap "cleanup" EXIT # Start All-in-one server and wait for health os::util::environment::use_sudo os::util::environment::setup_all_server_vars "test-end-to-end/" os::log::system::start os::start::configure_server os::start::server # set our default KUBECONFIG location export KUBECONFIG="${ADMIN_KUBECONFIG}" os::test::junit::declare_suite_start "end-to-end/startup" if [[ -n "${USE_IMAGES:-}" ]]; then os::cmd::expect_success "oadm registry --dry-run -o json --images='$USE_IMAGES' | jq '$JQSETPULLPOLICY' | oc create -f -" else os::cmd::expect_success "oadm registry" fi os::cmd::expect_success 'oadm policy add-scc-to-user hostnetwork -z router' os::cmd::expect_success 'oadm router' os::test::junit::declare_suite_end ${OS_ROOT}/test/end-to-end/core.sh