Velero: Create a BackupStorageLocation from the existing Config CRD at server startup

Created on 8 Aug 2018  路  7Comments  路  Source: vmware-tanzu/velero

Most helpful comment

At this point in the project lifecycle, I'm on-board with fully deleting Config for 0.10 and forcing users to upgrade.

That said, we should plan to have solid docs on _how_ to upgrade 0.9.x to 0.10.0 and test them thoroughly.

All 7 comments

This is to make migration from pre-v0.10 versions easy. This code should be commented with the // TODO(1.0) prefix so we know to remove it before shipping v1.0.

So realized this is a little tricky. If we want to be able to auto-upgrade, then we need to retain the BackupStorageProvider field on the CRD so we can access the data, but we'd probably want to switch it to optional/pointer. That way, when we create a new BackupStorageLocation (BSL) from the Config, we can then remove the BackupStorageProvider field from the Config struct so there's no confusion for the user. If we go this route, then we probably also want to do a similar thing with the other fields, where we switch them to optional, and have the server automatically remove all their values.

The other option is to just fully delete the Config CRD a/o v0.10, and require users to manually create a new BSL. I'm kind of leaning this way -- forces users to engage with the new concept of a backup storage location by creating one, and means we don't have to add a bunch of temporary backwards-compatibility code that we'll throw out as of v1.0 anyway.

@nrb @carlisia @ncdc @rosskukulinski thoughts appreciated, let me know if the above is not clear.

I think we'll better serve ark's users by explicitly moving them on to the new concept of BSL and also removing the possibility of using a CRD for configuration sooner rather than later.

I think it will be easier to fully delete the Config. If we do go this route, we should start socializing the change now - Twitter, Google Group, Slack, etc.

At this point in the project lifecycle, I'm on-board with fully deleting Config for 0.10 and forcing users to upgrade.

That said, we should plan to have solid docs on _how_ to upgrade 0.9.x to 0.10.0 and test them thoroughly.

I'm for deleting the Config CRD earlier so long as we have documentation and clear errors when they're found.

We decided not to do this and to require users to add their locations a/o v0.10.

Was this page helpful?
0 / 5 - 0 ratings