]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-build.git/commitdiff
ceph-dev-pipeline: Use uv to set up chacractl 2355/head
authorZack Cerza <zack@cerza.org>
Tue, 15 Apr 2025 17:21:34 +0000 (11:21 -0600)
committerZack Cerza <zack@cerza.org>
Fri, 18 Apr 2025 17:19:25 +0000 (11:19 -0600)
Signed-off-by: Zack Cerza <zack@cerza.org>
ceph-dev-pipeline/build/Jenkinsfile
scripts/chacra_upload.sh
scripts/setup_chacractl.sh

index eb4a81bb9302640c904d8d9558cdd58195f4086b..f09c81ae26e09ec2fd7b7d49fcab88a4753cd684 100644 (file)
@@ -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" ) {
index 1fb9d0602964fdfd21e114fa3f2abb7ba6bb2a28..e68b1ad562934d95863285ee480f6606856dd713 100755 (executable)
@@ -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}/
index dc83b178b39590dc9b7bb835ff19d5695424c639..608a930d21c9397c48c2bcef4d7d0db206671776 100755 (executable)
@@ -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