diff --git a/docs/use-cases/using-Intel-QAT-and-kata.md b/docs/use-cases/using-Intel-QAT-and-kata.md index 1173c5d233..d1fa17e9a1 100644 --- a/docs/use-cases/using-Intel-QAT-and-kata.md +++ b/docs/use-cases/using-Intel-QAT-and-kata.md @@ -279,8 +279,8 @@ $ export KERNEL_EXTRAVERSION=$(awk '/^EXTRAVERSION =/{print $NF}' $GOPATH/$LINUX $ export KERNEL_ROOTFS_DIR=${KERNEL_MAJOR_VERSION}.${KERNEL_PATHLEVEL}.${KERNEL_SUBLEVEL}${KERNEL_EXTRAVERSION} $ cd $QAT_SRC $ KERNEL_SOURCE_ROOT=$GOPATH/$LINUX_VER ./configure --enable-icp-sriov=guest -$ sudo -E make all -j $($(nproc ${CI:+--ignore 1})) -$ sudo -E make INSTALL_MOD_PATH=$ROOTFS_DIR qat-driver-install -j $($(nproc ${CI:+--ignore 1})) +$ sudo -E make all -j $(nproc) +$ sudo -E make INSTALL_MOD_PATH=$ROOTFS_DIR qat-driver-install -j $(nproc) ``` The `usdm_drv` module also needs to be copied into the rootfs modules path and diff --git a/tests/functional/tracing/test-agent-shutdown.sh b/tests/functional/tracing/test-agent-shutdown.sh index 6bad962d8b..17c6dd95c4 100755 --- a/tests/functional/tracing/test-agent-shutdown.sh +++ b/tests/functional/tracing/test-agent-shutdown.sh @@ -583,25 +583,8 @@ cleanup() warn "Not cleaning up to help debug failure:" warn "" - if [ "${CI:-}" = "true" ] - then - show_procs - - info "VSOCK details" - ss -Hp --vsock || true - - info "agent-ctl log file" - sudo cat "${ctl_log_file}" || true - echo - - info "agent log file" - sudo cat "${agent_log_file}" || true - echo - - else - info "agent-ctl log file : ${ctl_log_file}" - info "agent log file : ${agent_log_file}" - fi + info "agent-ctl log file : ${ctl_log_file}" + info "agent log file : ${agent_log_file}" info "OCI bundle directory : ${bundle_dir}" diff --git a/tests/functional/tracing/tracing-test.sh b/tests/functional/tracing/tracing-test.sh index e8256ba381..4952539acb 100755 --- a/tests/functional/tracing/tracing-test.sh +++ b/tests/functional/tracing/tracing-test.sh @@ -116,15 +116,6 @@ cleanup() return 0 fi - if [ -n "${CI:-}" ]; then - # Running under the CI, so copy the logs to allow them - # to be added as test artifacts. - sudo mkdir -p "$TRACE_LOG_DIR" - sudo cp -a "$logdir"/* "$TRACE_LOG_DIR" - - dest="$TRACE_LOG_DIR" - fi - eval "$fp" "test $result - logs left in '$dest'" } diff --git a/tools/osbuilder/dockerfiles/QAT/run.sh b/tools/osbuilder/dockerfiles/QAT/run.sh index cc53749517..c7363fa264 100755 --- a/tools/osbuilder/dockerfiles/QAT/run.sh +++ b/tools/osbuilder/dockerfiles/QAT/run.sh @@ -18,105 +18,105 @@ kata_repo_path=${GOPATH}/src/${kata_repo} grab_qat_drivers() { - /bin/echo -e "\n\e[1;42mDownload and extract the drivers\e[0m" - mkdir -p $QAT_SRC - cd $QAT_SRC - wget $QAT_DRIVER_URL - if [ ! -f ${QAT_SRC}/${QAT_DRIVER_VER} ];then - /bin/echo -e "\e[1;41mQAT Driver ${QAT_DRIVER_VER} doesn't exist\e[0m" - echo "Check https://01.org/intel-quickassist-technology to find the latest" - echo "QAT driver version, update the Dockerfile, and try again." - exit 1 - fi - tar xzf ${QAT_DRIVER_VER} + /bin/echo -e "\n\e[1;42mDownload and extract the drivers\e[0m" + mkdir -p $QAT_SRC + cd $QAT_SRC + wget $QAT_DRIVER_URL + if [ ! -f ${QAT_SRC}/${QAT_DRIVER_VER} ];then + /bin/echo -e "\e[1;41mQAT Driver ${QAT_DRIVER_VER} doesn't exist\e[0m" + echo "Check https://01.org/intel-quickassist-technology to find the latest" + echo "QAT driver version, update the Dockerfile, and try again." + exit 1 + fi + tar xzf ${QAT_DRIVER_VER} } grab_kata_repos() { - # Check out all the repos we will use now, so we can try and ensure they use the specified branch - # Only check out the branch needed, and make it shallow and thus space/bandwidth efficient - # Use a green prompt with white text for easy viewing - /bin/echo -e "\n\e[1;42mClone and checkout Kata repo\e[0m" - [ -d "${kata_repo_path}" ] || git clone --single-branch --branch $KATA_REPO_VERSION --depth=1 https://${kata_repo} ${kata_repo_path} + # Check out all the repos we will use now, so we can try and ensure they use the specified branch + # Only check out the branch needed, and make it shallow and thus space/bandwidth efficient + # Use a green prompt with white text for easy viewing + /bin/echo -e "\n\e[1;42mClone and checkout Kata repo\e[0m" + [ -d "${kata_repo_path}" ] || git clone --single-branch --branch $KATA_REPO_VERSION --depth=1 https://${kata_repo} ${kata_repo_path} } configure_kernel() { - cp /input/qat.conf ${kata_repo_path}/tools/packaging/kernel/configs/fragments/common/qat.conf - # We need yq and go to grab kernel versions etc. - ${kata_repo_path}/ci/install_yq.sh - ${kata_repo_path}/tests/install_go.sh -p - cd ${kata_repo_path} - /bin/echo -e "\n\e[1;42mDownload and configure Kata kernel with CRYPTO support\e[0m" - ./tools/packaging/kernel/build-kernel.sh setup + cp /input/qat.conf ${kata_repo_path}/tools/packaging/kernel/configs/fragments/common/qat.conf + # We need yq and go to grab kernel versions etc. + ${kata_repo_path}/ci/install_yq.sh + ${kata_repo_path}/tests/install_go.sh -p + cd ${kata_repo_path} + /bin/echo -e "\n\e[1;42mDownload and configure Kata kernel with CRYPTO support\e[0m" + ./tools/packaging/kernel/build-kernel.sh setup } build_kernel() { - cd ${kata_repo_path} - LINUX_VER=$(ls -d kata-linux-*) - sed -i 's/EXTRAVERSION =/EXTRAVERSION = .qat.container/' $LINUX_VER/Makefile - /bin/echo -e "\n\e[1;42mBuild Kata kernel with CRYPTO support\e[0m" - ./tools/packaging/kernel/build-kernel.sh build + cd ${kata_repo_path} + LINUX_VER=$(ls -d kata-linux-*) + sed -i 's/EXTRAVERSION =/EXTRAVERSION = .qat.container/' $LINUX_VER/Makefile + /bin/echo -e "\n\e[1;42mBuild Kata kernel with CRYPTO support\e[0m" + ./tools/packaging/kernel/build-kernel.sh build } build_rootfs() { - # Due to an issue with debootstrap unmounting /proc when running in a - # --privileged container, change into /proc to keep it from being umounted. - # This should only be done for Ubuntu and Debian based OS's. Other OS - # distributions had issues if building the rootfs from /proc + # Due to an issue with debootstrap unmounting /proc when running in a + # --privileged container, change into /proc to keep it from being umounted. + # This should only be done for Ubuntu and Debian based OS's. Other OS + # distributions had issues if building the rootfs from /proc - if [ "${ROOTFS_OS}" == "ubuntu" ]; then - cd /proc - fi - /bin/echo -e "\n\e[1;42mDownload ${ROOTFS_OS} based rootfs\e[0m" - sudo -E SECCOMP=no EXTRA_PKGS='kmod' ${kata_repo_path}/tools/osbuilder/rootfs-builder/rootfs.sh $ROOTFS_OS + if [ "${ROOTFS_OS}" == "ubuntu" ]; then + cd /proc + fi + /bin/echo -e "\n\e[1;42mDownload ${ROOTFS_OS} based rootfs\e[0m" + sudo -E SECCOMP=no EXTRA_PKGS='kmod' ${kata_repo_path}/tools/osbuilder/rootfs-builder/rootfs.sh $ROOTFS_OS } build_qat_drivers() { - /bin/echo -e "\n\e[1;42mCompile driver modules\e[0m" - cd ${kata_repo_path} - linux_kernel_path=${kata_repo_path}/${LINUX_VER} - KERNEL_MAJOR_VERSION=$(awk '/^VERSION =/{print $NF}' ${linux_kernel_path}/Makefile) - KERNEL_PATHLEVEL=$(awk '/^PATCHLEVEL =/{print $NF}' ${linux_kernel_path}/Makefile) - KERNEL_SUBLEVEL=$(awk '/^SUBLEVEL =/{print $NF}' ${linux_kernel_path}/Makefile) - KERNEL_EXTRAVERSION=$(awk '/^EXTRAVERSION =/{print $NF}' ${linux_kernel_path}/Makefile) - KERNEL_ROOTFS_DIR=${KERNEL_MAJOR_VERSION}.${KERNEL_PATHLEVEL}.${KERNEL_SUBLEVEL}${KERNEL_EXTRAVERSION} - cd $QAT_SRC - KERNEL_SOURCE_ROOT=${linux_kernel_path} ./configure ${QAT_CONFIGURE_OPTIONS} - make all -j $($(nproc ${CI:+--ignore 1})) + /bin/echo -e "\n\e[1;42mCompile driver modules\e[0m" + cd ${kata_repo_path} + linux_kernel_path=${kata_repo_path}/${LINUX_VER} + KERNEL_MAJOR_VERSION=$(awk '/^VERSION =/{print $NF}' ${linux_kernel_path}/Makefile) + KERNEL_PATHLEVEL=$(awk '/^PATCHLEVEL =/{print $NF}' ${linux_kernel_path}/Makefile) + KERNEL_SUBLEVEL=$(awk '/^SUBLEVEL =/{print $NF}' ${linux_kernel_path}/Makefile) + KERNEL_EXTRAVERSION=$(awk '/^EXTRAVERSION =/{print $NF}' ${linux_kernel_path}/Makefile) + KERNEL_ROOTFS_DIR=${KERNEL_MAJOR_VERSION}.${KERNEL_PATHLEVEL}.${KERNEL_SUBLEVEL}${KERNEL_EXTRAVERSION} + cd $QAT_SRC + KERNEL_SOURCE_ROOT=${linux_kernel_path} ./configure ${QAT_CONFIGURE_OPTIONS} + make all -j $(nproc) } add_qat_to_rootfs() { - /bin/echo -e "\n\e[1;42mCopy driver modules to rootfs\e[0m" - cd $QAT_SRC - sudo -E make INSTALL_MOD_PATH=${ROOTFS_DIR} qat-driver-install -j$(nproc --ignore=1) - sudo cp $QAT_SRC/build/usdm_drv.ko ${ROOTFS_DIR}/lib/modules/${KERNEL_ROOTFS_DIR}/updates/drivers - sudo depmod -a -b ${ROOTFS_DIR} ${KERNEL_ROOTFS_DIR} - cd ${kata_repo_path}/tools/osbuilder/image-builder - /bin/echo -e "\n\e[1;42mBuild rootfs image\e[0m" - sudo -E ./image_builder.sh ${ROOTFS_DIR} + /bin/echo -e "\n\e[1;42mCopy driver modules to rootfs\e[0m" + cd $QAT_SRC + sudo -E make INSTALL_MOD_PATH=${ROOTFS_DIR} qat-driver-install -j$(nproc --ignore=1) + sudo cp $QAT_SRC/build/usdm_drv.ko ${ROOTFS_DIR}/lib/modules/${KERNEL_ROOTFS_DIR}/updates/drivers + sudo depmod -a -b ${ROOTFS_DIR} ${KERNEL_ROOTFS_DIR} + cd ${kata_repo_path}/tools/osbuilder/image-builder + /bin/echo -e "\n\e[1;42mBuild rootfs image\e[0m" + sudo -E ./image_builder.sh ${ROOTFS_DIR} } copy_outputs() { - /bin/echo -e "\n\e[1;42mCopy kernel and rootfs to the output directory and provide sample configuration files\e[0m" - mkdir -p ${OUTPUT_DIR} || true - sudo cp ${linux_kernel_path}/arch/x86/boot/bzImage $OUTPUT_DIR/vmlinuz-${LINUX_VER}_qat - sudo cp ${linux_kernel_path}/vmlinux $OUTPUT_DIR/vmlinux-${LINUX_VER}_qat - sudo cp ${kata_repo_path}/tools/osbuilder/image-builder/kata-containers.img $OUTPUT_DIR - sudo mkdir -p ${OUTPUT_DIR}/configs || true - # Change extension from .conf.vm to just .conf and change the SSL section to - # SHIM so it works with Kata containers - for f in $QAT_SRC/quickassist/utilities/adf_ctl/conf_files/*.conf.vm; do - output_conf_file=$(basename -- "$f" .conf.vm).conf - sudo cp -- "$f" "${OUTPUT_DIR}/configs/${output_conf_file}" - sudo sed -i 's/\[SSL\]/\[SHIM\]/g' ${OUTPUT_DIR}/configs/${output_conf_file} - done - /bin/echo -e "Check the ./output directory for the kernel and rootfs\n" + /bin/echo -e "\n\e[1;42mCopy kernel and rootfs to the output directory and provide sample configuration files\e[0m" + mkdir -p ${OUTPUT_DIR} || true + sudo cp ${linux_kernel_path}/arch/x86/boot/bzImage $OUTPUT_DIR/vmlinuz-${LINUX_VER}_qat + sudo cp ${linux_kernel_path}/vmlinux $OUTPUT_DIR/vmlinux-${LINUX_VER}_qat + sudo cp ${kata_repo_path}/tools/osbuilder/image-builder/kata-containers.img $OUTPUT_DIR + sudo mkdir -p ${OUTPUT_DIR}/configs || true + # Change extension from .conf.vm to just .conf and change the SSL section to + # SHIM so it works with Kata containers + for f in $QAT_SRC/quickassist/utilities/adf_ctl/conf_files/*.conf.vm; do + output_conf_file=$(basename -- "$f" .conf.vm).conf + sudo cp -- "$f" "${OUTPUT_DIR}/configs/${output_conf_file}" + sudo sed -i 's/\[SSL\]/\[SHIM\]/g' ${OUTPUT_DIR}/configs/${output_conf_file} + done + /bin/echo -e "Check the ./output directory for the kernel and rootfs\n" } help() { @@ -133,8 +133,8 @@ EOF main() { - local check_in_container=${OUTPUT_DIR:-} - if [ -z "${check_in_container}" ]; then + local check_in_container=${OUTPUT_DIR:-} + if [ -z "${check_in_container}" ]; then echo "Error: 'OUTPUT_DIR' not set" >&2 echo "$0 should be run using the Dockerfile supplied." >&2 exit -1 diff --git a/tools/osbuilder/rootfs-builder/rootfs.sh b/tools/osbuilder/rootfs-builder/rootfs.sh index 0667baa8bf..0defcf8ec1 100755 --- a/tools/osbuilder/rootfs-builder/rootfs.sh +++ b/tools/osbuilder/rootfs-builder/rootfs.sh @@ -495,7 +495,6 @@ build_rootfs_distro() --env AGENT_BIN="${AGENT_BIN}" \ --env AGENT_INIT="${AGENT_INIT}" \ --env ARCH="${ARCH}" \ - --env CI="${CI}" \ --env MEASURED_ROOTFS="${MEASURED_ROOTFS}" \ --env KERNEL_MODULES_DIR="${KERNEL_MODULES_DIR}" \ --env LIBC="${LIBC}" \ diff --git a/tools/osbuilder/tests/test_config.sh b/tools/osbuilder/tests/test_config.sh index e302f6f7cc..611cd2c43f 100644 --- a/tools/osbuilder/tests/test_config.sh +++ b/tools/osbuilder/tests/test_config.sh @@ -33,31 +33,3 @@ distro_in_set() { done return 1 } - -if [ -n "${CI:-}" ]; then - # Since too many distros timeout for now, we only test clearlinux and ubuntu. We can enable other distros when we fix timeout problem. - for distro in "${distros[@]}"; do - if distro_in_set "${distro}" "${test_distros[@]}"; then - continue - fi - skipWhenTestingAll+=("${distro}") - done - - # add skipForRustDistros to skipWhenTestingAll if it is not - for td in "${skipForRustDistros[@]}"; do - if distro_in_set "${td}" "${skipWhenTestingAll[@]}"; then - continue - fi - # not found in skipWhenTestingAll, add to it - skipWhenTestingAll+=("${td}") - done - - if distro_in_set "${arch}" "${skipForRustArch[@]}"; then - for distro in "${test_distros[@]}"; do - if distro_in_set "${distro}" "${skipWhenTestingAll[@]}"; then - continue - fi - skipWhenTestingAll+=("${distro}") - done - fi -fi diff --git a/tools/osbuilder/tests/test_images.sh b/tools/osbuilder/tests/test_images.sh index 945ae8783c..800496db92 100755 --- a/tools/osbuilder/tests/test_images.sh +++ b/tools/osbuilder/tests/test_images.sh @@ -27,7 +27,6 @@ readonly rootfs_builder=${project_dir}/rootfs-builder/rootfs.sh readonly DOCKER_RUNTIME=${DOCKER_RUNTIME:-runc} readonly RUNTIME=${RUNTIME:-kata-runtime} readonly MACHINE_TYPE=`uname -m` -readonly CI=${CI:-} readonly KATA_HYPERVISOR="${KATA_HYPERVISOR:-}" readonly KATA_DEV_MODE="${KATA_DEV_MODE:-}" readonly ci_results_dir="/var/osbuilder/tests" @@ -280,11 +279,6 @@ setup() { mkdir -p "${images_dir}" - if [ -n "$CI" ]; then - sudo -E rm -rf ${ci_results_dir} - sudo -E mkdir -p ${ci_results_dir} - fi - [ -n "${KVM_MISSING:-}" ] && return [ ! -d "${tests_repo_dir}" ] && git clone "https://${tests_repo}" "${tests_repo_dir}" @@ -439,9 +433,7 @@ call_make() { [ "${#makeTargets[@]}" = "0" ] && makeTargets+=($targetType) makeJobs= - if [ -z "$CI" ]; then - ((makeJobs=$(nproc) / 2)) - fi + ((makeJobs=$(nproc) / 2)) # When calling make, do not use the silent_run wrapper, pass the # OSBUILDER_USE_CHRONIC instead. @@ -585,7 +577,6 @@ test_distros() # Skip failed distros if [ -e "${tmp_rootfs}/${d}_fail" ]; then info "Building rootfs for ${d} failed, not creating an image" - [ -n "$CI" ] && sudo -E touch "${ci_results_dir}/${d}_fail" continue fi @@ -607,7 +598,6 @@ test_distros() # Skip failed distros if [ -e "${tmp_rootfs}/${d}_fail" ]; then info "Building rootfs for ${d} failed, not creating an initrd" - [ -n "$CI" ] && touch "${ci_results_dir}/${d}_fail" continue fi diff --git a/tools/packaging/kata-deploy/local-build/Makefile b/tools/packaging/kata-deploy/local-build/Makefile index c4ae4bb593..588b46ef86 100644 --- a/tools/packaging/kata-deploy/local-build/Makefile +++ b/tools/packaging/kata-deploy/local-build/Makefile @@ -60,7 +60,7 @@ copy-scripts-for-the-agent-build: ${MK_DIR}/kata-deploy-copy-libseccomp-installer.sh all-parallel: - ${MAKE} -f $(MK_PATH) all -j $(shell nproc ${CI:+--ignore 1}) V= + ${MAKE} -f $(MK_PATH) all -j $(shell nproc) V= all: ${BASE_TARBALLS} diff --git a/tools/packaging/kata-deploy/local-build/kata-deploy-binaries-in-docker.sh b/tools/packaging/kata-deploy/local-build/kata-deploy-binaries-in-docker.sh index 05e1bd39cd..58a1fe890b 100755 --- a/tools/packaging/kata-deploy/local-build/kata-deploy-binaries-in-docker.sh +++ b/tools/packaging/kata-deploy/local-build/kata-deploy-binaries-in-docker.sh @@ -79,7 +79,6 @@ docker build -q -t build-kata-deploy \ --build-arg ARCH="${ARCH}" \ "${script_dir}/dockerbuild/" -CI="${CI:-}" ARTEFACT_REGISTRY="${ARTEFACT_REGISTRY:-}" ARTEFACT_REPOSITORY="${ARTEFACT_REPOSITORY:-}" ARTEFACT_REGISTRY_USERNAME="${ARTEFACT_REGISTRY_USERNAME:-}" @@ -106,7 +105,6 @@ docker run \ -v $HOME/.docker:/root/.docker \ -v /var/run/docker.sock:/var/run/docker.sock \ -v "${kata_dir}:${kata_dir}" \ - --env CI="${CI}" \ --env USER=${USER} \ --env ARTEFACT_REGISTRY="${ARTEFACT_REGISTRY}" \ --env ARTEFACT_REPOSITORY="${ARTEFACT_REPOSITORY}" \ diff --git a/tools/packaging/kernel/build-kernel.sh b/tools/packaging/kernel/build-kernel.sh index 83e3d8542e..d72ae2f191 100755 --- a/tools/packaging/kernel/build-kernel.sh +++ b/tools/packaging/kernel/build-kernel.sh @@ -470,9 +470,9 @@ build_kernel() { [ -n "${arch_target}" ] || arch_target="$(uname -m)" arch_target=$(arch_to_kernel "${arch_target}") pushd "${kernel_path}" >>/dev/null - make -j $(nproc ${CI:+--ignore 1}) ARCH="${arch_target}" ${CROSS_BUILD_ARG} + make -j $(nproc) ARCH="${arch_target}" ${CROSS_BUILD_ARG} if [ "${conf_guest}" == "confidential" ]; then - make -j $(nproc ${CI:+--ignore 1}) INSTALL_MOD_STRIP=1 INSTALL_MOD_PATH=${kernel_path} modules_install + make -j $(nproc) INSTALL_MOD_STRIP=1 INSTALL_MOD_PATH=${kernel_path} modules_install fi [ "$arch_target" != "powerpc" ] && ([ -e "arch/${arch_target}/boot/bzImage" ] || [ -e "arch/${arch_target}/boot/Image.gz" ]) [ -e "vmlinux" ] @@ -490,10 +490,10 @@ build_kernel_headers() { if [ "$linux_headers" == "deb" ]; then export KBUILD_BUILD_USER="${USER}" - make -j $(nproc ${CI:+--ignore 1}) bindeb-pkg ARCH="${arch_target}" + make -j $(nproc) bindeb-pkg ARCH="${arch_target}" fi if [ "$linux_headers" == "rpm" ]; then - make -j $(nproc ${CI:+--ignore 1}) rpm-pkg ARCH="${arch_target}" + make -j $(nproc) rpm-pkg ARCH="${arch_target}" fi popd >>/dev/null diff --git a/tools/packaging/kernel/kata_config_version b/tools/packaging/kernel/kata_config_version index 6a4573e805..405e2afe8e 100644 --- a/tools/packaging/kernel/kata_config_version +++ b/tools/packaging/kernel/kata_config_version @@ -1 +1 @@ -133 +134