From: Zack Cerza Date: Tue, 15 Apr 2025 17:21:34 +0000 (-0600) Subject: ceph-dev-pipeline: Use uv to set up chacractl X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=496bdef6396c36f3de56326c7bbb0442ce840128;p=ceph-build.git ceph-dev-pipeline: Use uv to set up chacractl Signed-off-by: Zack Cerza --- diff --git a/ceph-dev-pipeline/build/Jenkinsfile b/ceph-dev-pipeline/build/Jenkinsfile index eb4a81bb..f09c81ae 100644 --- a/ceph-dev-pipeline/build/Jenkinsfile +++ b/ceph-dev-pipeline/build/Jenkinsfile @@ -188,7 +188,7 @@ pipeline { def os = get_os_info(env.DIST) def chacra_endpoint = "ceph/${env.BRANCH}/${env.SHA1}/${os.name}/${os.version_name}/${env.ARCH}/flavors/${env.FLAVOR}/" def chacractl_rc = sh( - script: "$WORKSPACE/.venv/bin/chacractl exists binaries/${chacra_endpoint}", + script: "$HOME/.local/bin/chacractl exists binaries/${chacra_endpoint}", returnStatus: true, ) if ( chacractl_rc == 0 && env.FORCE != "true" ) { diff --git a/scripts/chacra_upload.sh b/scripts/chacra_upload.sh index 1fb9d060..e68b1ad5 100755 --- a/scripts/chacra_upload.sh +++ b/scripts/chacra_upload.sh @@ -4,6 +4,7 @@ set -ex cd "$WORKSPACE" VENV="${WORKSPACE}/.venv" +PATH=$PATH:$HOME/.local/bin chacra_endpoint="ceph/${BRANCH}/${SHA1}/${OS_NAME}/${OS_VERSION_NAME}" [ "$FORCE" = true ] && chacra_flags="--force" || chacra_flags="" if [ "$OS_PKG_TYPE" = "rpm" ]; then @@ -11,22 +12,22 @@ if [ "$OS_PKG_TYPE" = "rpm" ]; then RPM_VERSION=`grep Version dist/ceph/ceph.spec | sed 's/Version:[ \t]*//g'` PACKAGE_MANAGER_VERSION="$RPM_VERSION-$RPM_RELEASE" BUILDAREA="${WORKSPACE}/dist/ceph/rpmbuild" - find dist/ceph/rpmbuild/SRPMS | grep rpm | $VENV/bin/chacractl binary ${chacra_flags} create ${chacra_endpoint}/source/flavors/${FLAVOR} - find dist/ceph/rpmbuild/RPMS/* | grep rpm | $VENV/bin/chacractl binary ${chacra_flags} create ${chacra_endpoint}/${ARCH}/flavors/${FLAVOR} + find dist/ceph/rpmbuild/SRPMS | grep rpm | chacractl binary ${chacra_flags} create ${chacra_endpoint}/source/flavors/${FLAVOR} + find dist/ceph/rpmbuild/RPMS/* | grep rpm | chacractl binary ${chacra_flags} create ${chacra_endpoint}/${ARCH}/flavors/${FLAVOR} if [ -f ${BUILDAREA}/RPMS/noarch/cephadm-*.rpm ] ; then rpm2cpio ${BUILDAREA}/RPMS/noarch/cephadm-*.rpm | cpio -i --to-stdout *sbin/cephadm > cephadm - echo cephadm | $VENV/bin/chacractl binary ${chacra_flags} create ${chacra_endpoint}/${ARCH}/flavors/${FLAVOR} + echo cephadm | chacractl binary ${chacra_flags} create ${chacra_endpoint}/${ARCH}/flavors/${FLAVOR} fi elif [ "$OS_PKG_TYPE" = "deb" ]; then PACKAGE_MANAGER_VERSION="${VERSION}-1${OS_VERSION_NAME}" find ${WORKSPACE}/dist/ceph/ | \ egrep "*(\.changes|\.deb|\.ddeb|\.dsc|ceph[^/]*\.gz)$" | \ egrep -v "(Packages|Sources|Contents)" | \ - $VENV/bin/chacractl binary ${chacra_flags} create ${chacra_endpoint}/${ARCH}/flavors/${FLAVOR} + chacractl binary ${chacra_flags} create ${chacra_endpoint}/${ARCH}/flavors/${FLAVOR} # FIXME need the real path here if [ -f release/${VERSION}/cephadm_${VERSION}*.deb ] ; then dpkg-deb --fsys-tarfile release/${VERSION}/cephadm_${VERSION}*.deb | tar -x -f - --strip-components=3 ./usr/sbin/cephadm - echo cephadm | $VENV/bin/chacractl binary ${chacra_flags} create ${chacra_endpoint}/${ARCH}/flavors/${FLAVOR} + echo cephadm | chacractl binary ${chacra_flags} create ${chacra_endpoint}/${ARCH}/flavors/${FLAVOR} fi fi # write json file with build info @@ -44,6 +45,6 @@ chacra_repo_endpoint="${chacra_endpoint}/flavors/${FLAVOR}" # post the json to repo-extra json to chacra curl -X POST -H "Content-Type:application/json" --data "@$WORKSPACE/repo-extra.json" -u $CHACRACTL_USER:$CHACRACTL_KEY ${CHACRA_URL}repos/${chacra_repo_endpoint}/extra/ # start repo creation -$VENV/bin/chacractl repo update ${chacra_repo_endpoint} +chacractl repo update ${chacra_repo_endpoint} echo Check the status of the repo at: https://shaman.ceph.com/api/repos/${chacra_endpoint}/flavors/${FLAVOR}/ diff --git a/scripts/setup_chacractl.sh b/scripts/setup_chacractl.sh index dc83b178..608a930d 100755 --- a/scripts/setup_chacractl.sh +++ b/scripts/setup_chacractl.sh @@ -1,14 +1,18 @@ -#!/bin/bash +#!/bin/bash -ex # vim: ts=4 sw=4 expandtab -set -ex -. $(dirname ${0})/build_utils.sh - -cd "$WORKSPACE" -VENV="${WORKSPACE}/.venv" -python3 -m venv $VENV -pkgs=( "chacractl>=0.0.21" ) -install_python_packages $VENV "pkgs[@]" +command -v pipx || ( + command -v apt && sudo apt install -y pipx + command -v dnf && sudo dnf install -y pipx +) +pipx ensurepath +pipx install uv +~/.local/bin/uv tool install chacractl chacra_url=`curl -u $SHAMAN_API_USER:$SHAMAN_API_KEY https://shaman.ceph.com/api/nodes/next/` -make_chacractl_config $chacra_url +cat > $HOME/.chacractl << EOF +url = "$chacra_url" +user = "$CHACRACTL_USER" +key = "$CHACRACTL_KEY" +ssl_verify = True +EOF echo $chacra_url