Thursday, 2026-01-22

*** mhen_ is now known as mhen02:44
mhennoonedeadpunk: don't have what with ceph? excuse my ignorance, I have little to no experience with Swift/S309:41
mhenI don't really understand what the subdirectory path actually means to the object storage in terms of its backend storage handling09:44
mhenI'm just observing the behavior of freezer-agent and cinder-backup leading to something weird09:44
mhenand something does not seem to work like intended in that whole interaction09:45
mhendunno if it is missing validation/restriction in cinder-backup (i.e. slashes in container names are actually invalid) or a bug in swiftclient not handling stuff correctly09:45
mhenthat's why I filed the bug against Cinder for now09:46
mhenbecause I seem to be able to repro this as a regular user outside of freezer-agent via direct interaction with cinder-backup, at least on DevStack09:48
noonedeadpunkso container names should not actually be having `/` I think, as this is a path inside of the S3 bucket09:53
noonedeadpunkIt;s kind of a question if cinder-backup should be even allowing to have them and specify a path in the bucket, rather then the bucket itself09:54
noonedeadpunkbut for any kind of POSIX driver - `/` should be a valid thing to pass from user prespective09:54
mhenso should we avoid choosing container names with `/` in them in freezer-agent?09:58
mhenthe source of the problem is here: https://github.com/openstack/freezer/blob/a6378ee78b86409957954574318afa2bd0d11db2/freezer/openstack/backup.py#L9110:04
mhenit must have worked at some point given that this code part is highly specific to the cinder-backup codepath of freezer-agent10:05
mhenon another note ...10:31
mhenif it is any use to anybody, I created a testing script for freezer-agent here: https://gist.github.com/markus-hentsch/86c9baa76f289de87cbe7f650724044810:31
mhentests local-storage-based backup+restore for most nova, cinder and glance modes10:32
mhenthe "cindernative" mode is currently failing due to aforementioned issue10:33
noonedeadpunkmhen: I would need to look deeper of why freezer does like that, but overall, I'm not sure why we should be overriding container like that.10:51
noonedeadpunkprobably we should allow a way for user/operator to define the container name to use for the backup, but hardcoding it...10:52
mhenwell, you can already define a custom container name as a user, it's just that freezer is always appending these subdirectory paths to it in a hardcoded way11:28
noonedeadpunkyeah, I see no good reason to do that so far11:53
noonedeadpunk`define a custom container name as a user` -> I think you mean when you interact with cinder API, but not when defining a job in Freezer11:54
mhennoonedeadpunk: I am referring to Freezer jobs specifically: https://github.com/openstack/freezer/blob/master/freezer/common/config.py#L190-L19512:08
noonedeadpunkoh, though it's not a resulting name, as it appends to it12:09
mhennoonedeadpunk: correct but to make matters worse you can also inject additional `/` characters in the user-defined name, see https://paste.debian.net/hidden/a2c219ad12:14
noonedeadpunkwel lthe thing is that cinder-backup already organizes things nicely on backend12:15
noonedeadpunkso I don't think that Freezer should be taking care of that12:15
mhenthat is also my impression so far, cinder-backup already seems to insert timestamps as well as the volume id within the object paths, so no need for freezer to prepend those additionally12:18
noonedeadpunk++13:31
opendevreviewMarkus Hentsch proposed openstack/freezer master: Replace cinderclient with SDK, fix cinder engines  https://review.opendev.org/c/openstack/freezer/+/97362714:04
opendevreviewMarkus Hentsch proposed openstack/freezer master: Fix Nova integration and change clients to SDK  https://review.opendev.org/c/openstack/freezer/+/97362514:04
mhenI have documented the behavior at https://bugs.launchpad.net/freezer/+bug/2138876 and added minor adjustments to https://review.opendev.org/c/openstack/freezer/+/973627 that remove the automatic prefixing of container names and disallow slashes in cindernative mode14:05
mhenmy own testing shows this seems to fix cindernative mode (aka cinder-backup) sufficiently14:16
mhenwhile testing I found https://bugs.launchpad.net/freezer/+bug/2138883 btw15:23

Generated by irclog2html.py 4.0.0 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!