* [PATCH v3 0/1] Add uniquifier to storage pool path
@ 2025-04-23 14:20 cel
2025-04-23 14:20 ` [PATCH v3 1/1] guestfs: Per-user storage pools cel
0 siblings, 1 reply; 3+ messages in thread
From: cel @ 2025-04-23 14:20 UTC (permalink / raw)
To: kdevops; +Cc: Chuck Lever
From: Chuck Lever <chuck.lever@oracle.com>
I'd like to be able to run more than one instance of kdevops per
physical host. Currently the kdevops guestfs set-up steers all
storage pool activity into ${STORAGE_POOL}/kdevops/guestfs, which
means there's a good change that two different logged-in users will
create virtual machines whose names, OS base images, and block
devices will interfere with each other.
So far I haven't been able to get the other storage pool-related
settings to add sufficient uniqueness to prevent this conflict.
The other patches in v2 of this series have been committed. v3
contains the single patch that remains.
Chuck Lever (1):
guestfs: Per-user storage pools
kconfigs/Kconfig.libvirt | 2 +-
scripts/bringup_guestfs.sh | 2 +-
scripts/destroy_guestfs.sh | 2 +-
scripts/guestfs.Makefile | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
--
2.49.0
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH v3 1/1] guestfs: Per-user storage pools
2025-04-23 14:20 [PATCH v3 0/1] Add uniquifier to storage pool path cel
@ 2025-04-23 14:20 ` cel
2025-04-23 17:04 ` Luis Chamberlain
0 siblings, 1 reply; 3+ messages in thread
From: cel @ 2025-04-23 14:20 UTC (permalink / raw)
To: kdevops; +Cc: Chuck Lever
From: Chuck Lever <chuck.lever@oracle.com>
I'd like to be able to run more than one instance of kdevops per
physical host. Currently the kdevops guestfs set-up steers all
storage pool activity into ${STORAGE_POOL}/kdevops/guestfs, which
means there's a good change that two different logged-in users will
create virtual machines whose names (and block devices) conflict.
So far I haven't been able to get the other storage pool-related
settings to add sufficient uniqueness to prevent this conflict.
Instead, replace the "kdevops" string in the storage pool path with
the name of the user account running kdevops.
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
---
kconfigs/Kconfig.libvirt | 2 +-
scripts/bringup_guestfs.sh | 2 +-
scripts/destroy_guestfs.sh | 2 +-
scripts/guestfs.Makefile | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/kconfigs/Kconfig.libvirt b/kconfigs/Kconfig.libvirt
index cba8abf1e24b..74a93f177732 100644
--- a/kconfigs/Kconfig.libvirt
+++ b/kconfigs/Kconfig.libvirt
@@ -167,7 +167,7 @@ config LIBVIRT_STORAGE_POOL_PATH
config KDEVOPS_STORAGE_POOL_PATH
string
output yaml
- default "{{ libvirt_storage_pool_path }}/kdevops"
+ default "{{ libvirt_storage_pool_path }}/{{ kdevops_storage_pool_user }}"
config QEMU_BIN_PATH
string
diff --git a/scripts/bringup_guestfs.sh b/scripts/bringup_guestfs.sh
index 94e0437192be..7997002826dd 100755
--- a/scripts/bringup_guestfs.sh
+++ b/scripts/bringup_guestfs.sh
@@ -15,7 +15,7 @@ if [ "${CONFIG_LIBVIRT_EXTRA_DRIVE_FORMAT_RAW}" = "y" ]; then
IMG_FMT="raw"
fi
STORAGETOPDIR="${CONFIG_LIBVIRT_STORAGE_POOL_PATH}"
-STORAGEDIR="${STORAGETOPDIR}/kdevops/guestfs"
+STORAGEDIR="${STORAGETOPDIR}/${USER}/guestfs"
QEMU_GROUP=$CONFIG_LIBVIRT_QEMU_GROUP
GUESTFSDIR="${TOPDIR}/guestfs"
OS_VERSION=${CONFIG_VIRT_BUILDER_OS_VERSION}
diff --git a/scripts/destroy_guestfs.sh b/scripts/destroy_guestfs.sh
index ee5dc2b57d6d..8cf58e4d91c8 100755
--- a/scripts/destroy_guestfs.sh
+++ b/scripts/destroy_guestfs.sh
@@ -7,7 +7,7 @@ source ${TOPDIR}/scripts/lib.sh
export LIBVIRT_DEFAULT_URI=$CONFIG_LIBVIRT_URI
-STORAGEDIR="${CONFIG_LIBVIRT_STORAGE_POOL_PATH}/kdevops/guestfs"
+STORAGEDIR="${CONFIG_LIBVIRT_STORAGE_POOL_PATH}/${USER}/guestfs"
GUESTFSDIR="${TOPDIR}/guestfs"
if [ -f "$GUESTFSDIR/kdevops_nodes.yaml" ]; then
diff --git a/scripts/guestfs.Makefile b/scripts/guestfs.Makefile
index 3dad6a14f0c5..03bd582ff1f2 100644
--- a/scripts/guestfs.Makefile
+++ b/scripts/guestfs.Makefile
@@ -100,4 +100,4 @@ destroy_guestfs:
PHONY += destroy_guestfs
cleancache:
- $(Q)rm -f $(subst ",,$(CONFIG_LIBVIRT_STORAGE_POOL_PATH))/kdevops/guestfs/base_images/*
+ $(Q)rm -f $(subst ",,$(CONFIG_LIBVIRT_STORAGE_POOL_PATH))/$(USER)/guestfs/base_images/*
--
2.49.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH v3 1/1] guestfs: Per-user storage pools
2025-04-23 14:20 ` [PATCH v3 1/1] guestfs: Per-user storage pools cel
@ 2025-04-23 17:04 ` Luis Chamberlain
0 siblings, 0 replies; 3+ messages in thread
From: Luis Chamberlain @ 2025-04-23 17:04 UTC (permalink / raw)
To: cel; +Cc: kdevops, Chuck Lever
On Wed, Apr 23, 2025 at 10:20:09AM -0400, cel@kernel.org wrote:
> From: Chuck Lever <chuck.lever@oracle.com>
>
> I'd like to be able to run more than one instance of kdevops per
> physical host. Currently the kdevops guestfs set-up steers all
> storage pool activity into ${STORAGE_POOL}/kdevops/guestfs, which
> means there's a good change that two different logged-in users will
> create virtual machines whose names (and block devices) conflict.
>
> So far I haven't been able to get the other storage pool-related
> settings to add sufficient uniqueness to prevent this conflict.
>
> Instead, replace the "kdevops" string in the storage pool path with
> the name of the user account running kdevops.
>
> Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
> ---
> kconfigs/Kconfig.libvirt | 2 +-
> scripts/bringup_guestfs.sh | 2 +-
> scripts/destroy_guestfs.sh | 2 +-
> scripts/guestfs.Makefile | 2 +-
> 4 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/kconfigs/Kconfig.libvirt b/kconfigs/Kconfig.libvirt
> index cba8abf1e24b..74a93f177732 100644
> --- a/kconfigs/Kconfig.libvirt
> +++ b/kconfigs/Kconfig.libvirt
> @@ -167,7 +167,7 @@ config LIBVIRT_STORAGE_POOL_PATH
> config KDEVOPS_STORAGE_POOL_PATH
> string
> output yaml
> - default "{{ libvirt_storage_pool_path }}/kdevops"
> + default "{{ libvirt_storage_pool_path }}/{{ kdevops_storage_pool_user }}"
So what I meant with my feedbakc was to make this an option. So for
instance you can add a new Kconfig choice and the default
KDEVOPS_STORAGE_POOL_USER_COMPAT and when that's true we
default KDEVOPS_STORAGE_POOL_USER to "kdevops", otherwise it calls
if KDEVOPS_STORAGE_POOL_USER_AUTO is set then the default is $USER.
Then you can wackamole these two lines too:
scripts/guestfs.Makefile:GUESTFS_ARGS += kdevops_storage_pool_user='$(USER)'
scripts/vagrant.Makefile:VAGRANT_ARGS += kdevops_storage_pool_user='$(USER)'
By making KDEVOPS_STORAGE_POOL_USER_COMPAT default it would work with
existing deployments.
Luis
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2025-04-23 17:04 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-23 14:20 [PATCH v3 0/1] Add uniquifier to storage pool path cel
2025-04-23 14:20 ` [PATCH v3 1/1] guestfs: Per-user storage pools cel
2025-04-23 17:04 ` Luis Chamberlain
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox