If a cloud provider plugin is added to DPA spec.configuration.velero.defaultPlugins without a BSL (spec.backupLocations) or a VSL (spec.snapshotLocations) that uses it, OADP does not validate if its default secret exists in OADP namespace. This can cause Velero Pod to never go to running state.
But, if default secret for gcp provider is missing, the Velero Pod never succeeds. Pod Events have the following
MountVolume.SetUp failed for volume "cloud-credentials-gcp" : secret "cloud-credentials-gcp" not found
Solution
OADP should either:
validate that for any cloud provider plugin in DPA spec.configuration.velero.defaultPlugins without a BSL (spec.backupLocations) or a VSL (spec.snapshotLocations) that uses it, it default secret exists in OADP namespace
not add VolumeMount to Velero Deployment for any cloud provider plugin in DPA spec.configuration.velero.defaultPlugins without a BSL (spec.backupLocations) or a VSL (spec.snapshotLocations)
Problem
If a cloud provider plugin is added to DPA
spec.configuration.velero.defaultPlugins
without a BSL (spec.backupLocations
) or a VSL (spec.snapshotLocations
) that uses it, OADP does not validate if its default secret exists in OADP namespace. This can cause Velero Pod to never go to running state.How to reproduce
A DPA like this
passes DPA controller validation.
But, if default secret for
gcp
provider is missing, the Velero Pod never succeeds. Pod Events have the followingSolution
OADP should either:
spec.configuration.velero.defaultPlugins
without a BSL (spec.backupLocations
) or a VSL (spec.snapshotLocations
) that uses it, it default secret exists in OADP namespacespec.configuration.velero.defaultPlugins
without a BSL (spec.backupLocations
) or a VSL (spec.snapshotLocations
)