| *** mhen_ is now known as mhen | 02:44 | |
| mhen | noonedeadpunk: don't have what with ceph? excuse my ignorance, I have little to no experience with Swift/S3 | 09:41 |
|---|---|---|
| mhen | I don't really understand what the subdirectory path actually means to the object storage in terms of its backend storage handling | 09:44 |
| mhen | I'm just observing the behavior of freezer-agent and cinder-backup leading to something weird | 09:44 |
| mhen | and something does not seem to work like intended in that whole interaction | 09:45 |
| mhen | dunno 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 correctly | 09:45 |
| mhen | that's why I filed the bug against Cinder for now | 09:46 |
| mhen | because 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 DevStack | 09:48 |
| noonedeadpunk | so container names should not actually be having `/` I think, as this is a path inside of the S3 bucket | 09:53 |
| noonedeadpunk | It;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 itself | 09:54 |
| noonedeadpunk | but for any kind of POSIX driver - `/` should be a valid thing to pass from user prespective | 09:54 |
| mhen | so should we avoid choosing container names with `/` in them in freezer-agent? | 09:58 |
| mhen | the source of the problem is here: https://github.com/openstack/freezer/blob/a6378ee78b86409957954574318afa2bd0d11db2/freezer/openstack/backup.py#L91 | 10:04 |
| mhen | it must have worked at some point given that this code part is highly specific to the cinder-backup codepath of freezer-agent | 10:05 |
| mhen | on another note ... | 10:31 |
| mhen | if it is any use to anybody, I created a testing script for freezer-agent here: https://gist.github.com/markus-hentsch/86c9baa76f289de87cbe7f6507240448 | 10:31 |
| mhen | tests local-storage-based backup+restore for most nova, cinder and glance modes | 10:32 |
| mhen | the "cindernative" mode is currently failing due to aforementioned issue | 10:33 |
| noonedeadpunk | mhen: 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 |
| noonedeadpunk | probably we should allow a way for user/operator to define the container name to use for the backup, but hardcoding it... | 10:52 |
| mhen | well, 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 way | 11:28 |
| noonedeadpunk | yeah, I see no good reason to do that so far | 11: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 Freezer | 11:54 |
| mhen | noonedeadpunk: I am referring to Freezer jobs specifically: https://github.com/openstack/freezer/blob/master/freezer/common/config.py#L190-L195 | 12:08 |
| noonedeadpunk | oh, though it's not a resulting name, as it appends to it | 12:09 |
| mhen | noonedeadpunk: correct but to make matters worse you can also inject additional `/` characters in the user-defined name, see https://paste.debian.net/hidden/a2c219ad | 12:14 |
| noonedeadpunk | wel lthe thing is that cinder-backup already organizes things nicely on backend | 12:15 |
| noonedeadpunk | so I don't think that Freezer should be taking care of that | 12:15 |
| mhen | that 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 additionally | 12:18 |
| noonedeadpunk | ++ | 13:31 |
| opendevreview | Markus Hentsch proposed openstack/freezer master: Replace cinderclient with SDK, fix cinder engines https://review.opendev.org/c/openstack/freezer/+/973627 | 14:04 |
| opendevreview | Markus Hentsch proposed openstack/freezer master: Fix Nova integration and change clients to SDK https://review.opendev.org/c/openstack/freezer/+/973625 | 14:04 |
| mhen | I 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 mode | 14:05 |
| mhen | my own testing shows this seems to fix cindernative mode (aka cinder-backup) sufficiently | 14:16 |
| mhen | while testing I found https://bugs.launchpad.net/freezer/+bug/2138883 btw | 15:23 |
Generated by irclog2html.py 4.0.0 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!