Use "uv" for building virtual environments

Change-Id: I5e24e82e6347d351cac71255904b44aa558d449b
(cherry picked from commit 4e2d8ac7928cb95aadbd0587230837281827976a)
diff --git a/images/nova/Dockerfile b/images/nova/Dockerfile
index 50b9c82..1b0096f 100644
--- a/images/nova/Dockerfile
+++ b/images/nova/Dockerfile
@@ -9,8 +9,8 @@
 ARG SCHEDULER_FILTERS_GIT_REF=77ed1c2ca70f4166a6d0995c7d3d90822f0ca6c0
 ADD --keep-git-dir=true https://github.com/vexxhost/nova-scheduler-filters.git#${SCHEDULER_FILTERS_GIT_REF} /src/nova-scheduler-filters
 RUN git -C /src/nova-scheduler-filters fetch --unshallow
-RUN --mount=type=cache,mode=0755,target=/root/.cache/pip,sharing=private <<EOF bash -xe
-pip3 install \
+RUN --mount=type=cache,target=/root/.cache/uv <<EOF bash -xe
+uv pip install \
     --constraint /upper-constraints.txt \
         /src/nova \
         /src/nova-scheduler-filters \