volume export/import: allow uppercase letters
Bug reported in the community forum[0].
Currently, it's possible to break replication by:
1. have an existing snapshot whose name contains an uppercase letter
2. set up a replication job and run it
3. rollback to the existing snapshot
4. replicate again -> fails
The failure occurs, because after step 3, the most recent common snapshot is the
previously existing one and currently no uppercase letters are allowed for
export/import.
The pve-snapshot-name option uses the CONFIGID_RE
qr/[a-z][a-z0-9_-]+/i
so it cannot be used here, because it would not allow for e.g. '__migrate__'.
Simply allow uppercase letters, to be backwards compatible and allow all
possible pve-snapshot-name values.
There is still an issue if there also was state volume, but that's a different
bug[1].
[0]: https://forum.proxmox.com/threads/solved-migration-error-base-value-does-not-match-the-regex-pattern.85946/
[1]: https://bugzilla.proxmox.com/show_bug.cgi?id=3111
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
This commit is contained in:
committed by
Thomas Lamprecht
parent
9407a7a338
commit
bef7920d1e
@ -244,14 +244,14 @@ __PACKAGE__->register_method ({
|
||||
base => {
|
||||
description => "Snapshot to start an incremental stream from",
|
||||
type => 'string',
|
||||
pattern => qr/[a-z0-9_\-]{1,40}/,
|
||||
pattern => qr/[a-z0-9_\-]{1,40}/i,
|
||||
maxLength => 40,
|
||||
optional => 1,
|
||||
},
|
||||
snapshot => {
|
||||
description => "Snapshot to export",
|
||||
type => 'string',
|
||||
pattern => qr/[a-z0-9_\-]{1,40}/,
|
||||
pattern => qr/[a-z0-9_\-]{1,40}/i,
|
||||
maxLength => 40,
|
||||
optional => 1,
|
||||
},
|
||||
@ -321,7 +321,7 @@ __PACKAGE__->register_method ({
|
||||
base => {
|
||||
description => "Base snapshot of an incremental stream",
|
||||
type => 'string',
|
||||
pattern => qr/[a-z0-9_\-]{1,40}/,
|
||||
pattern => qr/[a-z0-9_\-]{1,40}/i,
|
||||
maxLength => 40,
|
||||
optional => 1,
|
||||
},
|
||||
@ -335,7 +335,7 @@ __PACKAGE__->register_method ({
|
||||
'delete-snapshot' => {
|
||||
description => "A snapshot to delete on success",
|
||||
type => 'string',
|
||||
pattern => qr/[a-z0-9_\-]{1,80}/,
|
||||
pattern => qr/[a-z0-9_\-]{1,80}/i,
|
||||
maxLength => 80,
|
||||
optional => 1,
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user