Skip to content

Try uv second attempt#2161

Open
kshtsk wants to merge 21 commits intoceph:mainfrom
kshtsk:uv2
Open

Try uv second attempt#2161
kshtsk wants to merge 21 commits intoceph:mainfrom
kshtsk:uv2

Conversation

@kshtsk
Copy link
Copy Markdown
Contributor

@kshtsk kshtsk commented Mar 25, 2026

No description provided.

zmc and others added 17 commits March 25, 2026 12:56
Signed-off-by: Zack Cerza <zack@cerza.org>

Conflicts:
	requirements.txt
	setup.cfg
Signed-off-by: Zack Cerza <zack@cerza.org>

Conflicts:
	requirements.txt
Signed-off-by: Zack Cerza <zack@cerza.org>
To a version that support python 3.13

Signed-off-by: Zack Cerza <zack@cerza.org>
Much of this is simply removing things we don't have to be doing now that we're
using uv. It also consolidates the different sections for RPM-based distros.

Signed-off-by: Zack Cerza <zack@cerza.org>
Signed-off-by: Zack Cerza <zack@cerza.org>
Signed-off-by: Zack Cerza <zack@cerza.org>
Signed-off-by: Zack Cerza <zack@cerza.org>
For now, use a very narrow ruleset. We should expand to use more later.

Signed-off-by: Zack Cerza <zack@cerza.org>
Signed-off-by: Zack Cerza <zack@cerza.org>
Signed-off-by: Zack Cerza <zack@cerza.org>
Signed-off-by: Kyr Shatskyy <kyrylo.shatskyy@clyso.com>
Because the teuthology code is building in container after
copying source code from local directory, but no corresponding
git repo copied, the setuptools-scm cannot determine teuthology
version. So in order to produce the package we just provide dummy
version 0.0.0 using environment variable:

  SETUPTOOLS_SCM_PRETEND_VERSION_FOR_TEUTHOLOGY

Signed-off-by: Kyr Shatskyy <kyrylo.shatskyy@clyso.com>
Signed-off-by: Kyr Shatskyy <kyrylo.shatskyy@gmail.com>
And also drop an unnecessary tr invocation.

Signed-off-by: Zack Cerza <zack@cerza.org>
Signed-off-by: Kyr Shatskyy <kyrylo.shatskyy@clyso.com>
@kshtsk kshtsk requested a review from a team as a code owner March 25, 2026 12:25
@kshtsk kshtsk requested review from VallariAg and zmc and removed request for a team March 25, 2026 12:25
Signed-off-by: Kyr Shatskyy <kyrylo.shatskyy@clyso.com>
@kshtsk
Copy link
Copy Markdown
Contributor Author

kshtsk commented Mar 26, 2026

That's just a rebase branch of the one in #2081

@kshtsk
Copy link
Copy Markdown
Contributor Author

kshtsk commented Mar 27, 2026

@zmc have you had a chance to look at this PR?

@zmc
Copy link
Copy Markdown
Member

zmc commented Mar 27, 2026

@zmc have you had a chance to look at this PR?

Not in as much detail yet as I'd like; I did schedule a test run: https://pulpito-ng.ceph.com/runs/zack-2026-03-27_23:19:02-smoke-main-distro-default-trial

bootstrap Outdated
deps=(qemu-utils python3-dev libssl-dev python3-pip python3-wheel python3-venv libev-dev libvirt-dev libffi-dev libyaml-dev build-essential jq curl)
has_pkg="dpkg -s"
deps=(qemu-utils python3-dev libssl-dev libev-dev libvirt-dev libffi-dev libyaml-dev pipx build-essential jq curl)
has_pkg="dpkg -C"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

dpkg -C is ->
-C|--audit [...] Check for broken package(s)
in practice dpkg -C still exits 0 even when the package is missing (it prints “not installed” to stderr). I verified this in the environment: both an installed and a bogus package name lead the bootstrap loop to treat the dependency as present.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@zmc what did you have in mind when changing to -s to -C?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think I just wanted a quieter -s, but I will amend this to use -s and drop stdout/err. Good catch!!

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

or, @kshtsk, if you'd rather just push a small fix to this branch that works as well.

bootstrap Outdated
PYTHON=${PYTHON:-"python3"}
deps=("$PYTHON" "$PYTHON-devel" "$PYTHON-pipx" libev-devel libffi-devel libvirt-devel)
has_pkg="rpm -q --whatprovides"
install_pkg="sudo zypper install"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This being non-interactive , I think bootstrap can get stuck here.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure I understand what is the problem here. What is your suggestion change. By design bootstrap should stop immediately when it finds some of the system dependencies are missing.
In this case it just reports users so they can install missing dependencies manually and try again. The "sudo zipper install" is interactive and needs "-y" to auto accept all the packages. Since it is a manual step, guess it is a user choice how to proceed.
Could you please elaborate.
Btw, this works for me on the latest tumbleweed.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are two paths: plain ./bootstrap already exits when deps are missing—that’s fine. The wrinkle is ./bootstrap install, which runs the package manager for you. On SUSE that’s zypper install without -y, so in non-interactive contexts (like cloud-init, CI or any other automations) it can block on prompts, unlike apt/dnf which already pass -y. Suggest adding non-interactive only for that install path so scripted runs don’t hang; interactive users can still install manually after a plain ./bootstrap.

Copy link
Copy Markdown
Contributor Author

@kshtsk kshtsk Apr 7, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh, thanks, I'll add -y then.

@deepssin
Copy link
Copy Markdown
Contributor

deepssin commented Apr 6, 2026

Tested this with dispatcher running old code and the repo having PR changes -- trigger went just fine.

kshtsk added 2 commits April 8, 2026 18:02
Signed-off-by: Kyrylo Shatskyy <kyrylo.shatskyy@gmail.com>
Signed-off-by: Kyrylo Shatskyy <kyrylo.shatskyy@gmail.com>
Signed-off-by: Kyrylo Shatskyy <kyrylo.shatskyy@gmail.com>
@zmc
Copy link
Copy Markdown
Member

zmc commented Apr 8, 2026

When we merge this branch, we should wait for the queue to run through jobs scheduled before the merge before updating the dispatcher

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants