-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ability to identify conflicts in backed-up resources #8583
Comments
Could you give more information about why resources selected by multiple label selectors are an issue? |
It was said that the conflicting resources have large volumes which is not ideal. I think the user wants ability to define two different backups where
|
I had suggested that a velero plugin could be used perhaps where it would
|
@kaovilai "detect during Execute if an item was already in backupA" |
if BackupA is taking a backup of ResourceA, ResourceA is labeled as being owned by BackupA? This way, if BackupB attempts to back up ResourceA, it will skip the task because the resource is already marked as owned by BackupA. |
IIUC velero label resources into backup stored at storage. so you will only see label an item came from which backup at restore time. |
The simplest workaround in this example
is add labels to both c1 and c2 which backup they would belong. so C1(key1: V1, key2: backup1), C2(key1: V1, key2: V2, key3: backup2) otherwise making velero label things as they are backed up you would end up with additional label/annotation anyway, just added by velero rather than user control. |
Describe the problem/challenge you have
As a disaster recovery team, it is crucial to back up application workload resources using label selectors. Our scenario involves deploying multiple application workloads within the same namespace. The main challenge arises from the risk of resource conflicts due to overlapping labels, where a single resource might be selected by multiple application label selectors for backup.
This behavior needs to be avoided because, during relocation of an application workload, the original resource is removed from the primary cluster. If other application workloads depend on the same resource, their functionality could be disrupted, potentially leading to crashes.
For instance:
ConfigMap: C1(key1: V1), C2(key1: V1, key2: V2)
Creating
backup1
with labelkey1 = V1
Creating
backup2
with labelkey2 = V2
In this case, C2 is selected by both backups, leading to a conflict.
We must implement a mechanism to detect such conflicts and alert users accordingly.
Note:
We are using --include-resources, exclude is too much when there are more workloads under the same namespace.
Describe the solution you'd like
Or any other suggested way?
Anything else you would like to add:
Environment:
oadp-velero-rhel 1.4.1
The text was updated successfully, but these errors were encountered: