Skip to content
This repository has been archived by the owner on Mar 28, 2020. It is now read-only.

unknown StorageType: ABS #1784

Closed
rjtsdl opened this issue Dec 15, 2017 · 6 comments
Closed

unknown StorageType: ABS #1784

rjtsdl opened this issue Dec 15, 2017 · 6 comments

Comments

@rjtsdl
Copy link
Contributor

rjtsdl commented Dec 15, 2017

ABS was supported in v0.5.2.
I tried latest, which should be v0.7.2, now i am getting error unknown StorageType: ABS.

And I double checked the source code, pkg/controller/backup-operator, looks except s3 all other StorageTypes are considering as unknown?

func (b *Backup) handleBackup(spec *api.BackupSpec) (*api.BackupCRStatus, error) {
	switch spec.StorageType {
	case api.BackupStorageTypeS3:
		...
	default:
		logrus.Fatalf("unknown StorageType: %v", spec.StorageType)
	}
	return nil, nil
}
@fanminshi
Copy link
Contributor

fanminshi commented Dec 18, 2017

There was a etcd operator architecture redesign for 0.7.0 where etcd operator separates it backup and restore logic into two independents operators where backup operator only does backup and restore operator only does restore. More info on: #1626.

The main idea behind it is to decouple backup/restore logics from the main etcd operator logic and also enables user to write their own backup/restore logic without depending on the main etcd operator.

Currently, we implemented backup and restore operator as examples based storageType s3 to show user how to write such operators themselves. The reason on why you see an error when using ABS is because we simply haven't implemented any code to support ABS yet.

We can add ABS support to the backup and restore operator examples in the future. However, we don't have the bandwidth right now. As you can see, writing backup and restore operator examples based ABS is quite straight forward where one can just copy and paste logic from the s3 one and modify them to support ABS.

@rjtsdl I hope my write up answer your question. Let me know if you have any more questions.

@rjtsdl
Copy link
Contributor Author

rjtsdl commented Dec 18, 2017

@fanminshi thx !

I am currently fell back to v0.5.2, because of ABS. Hopefully,
ABS would be supported in v0.7.0 ? Do you have a timeline for v0.7.0, I can consider submitting a PR for that, or not :)

@rjtsdl
Copy link
Contributor Author

rjtsdl commented Dec 19, 2017

I am doing a PR for ABS support. Just FYI

@rjtsdl
Copy link
Contributor Author

rjtsdl commented Dec 19, 2017

@fanminshi ,

I read a comment

// TODO: replace this with generic backend interface for other options (PV, Azure)

Since there is no generic interface for backup and restore. Not sure if you guys would accept PR at this point?

@fanminshi
Copy link
Contributor

@rjtsdl it seems to me that backup/restore code has not been finalized. So pushing a PR now not might not be a good idea.

I saw two options going forward:

  1. Wait until code has been finalized then we can think about an generic interface.
  2. Build your own ABS backup/restore code that's decoupled from etcd operator repo.

approach 1. I am unsure when will that happen and so ABS support might be blocked.
approach 2. The reason why etcd operator separates its backup/restore is to allow user to write their own backup/restore support. I'd suggest that you start with approach 2 to unblock whatever you needed.

also I am curious what your use case for etcd operator:

  • what are you using backup operator for?
  • why do you need ABS support?

@rjtsdl
Copy link
Contributor Author

rjtsdl commented Jan 2, 2018

@fanminshi thx for the info.

I want to check back about the current status of backup/restore code. See if it is a good time to add ABS support?

I am working on managed control plane for Azure customers. Now it is known as AKS. We are leveraging etcd-operator's backup and restore features for customers' cluster data. It has to be ABS or other Azure storage flavor. @vdice was adding ABS in previous versions for etcd-operator. Just FYI :)

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants