opendedup / sdfs

Deduplication Based Filesystem
372 stars 79 forks source link

opendedupe virtual nas appliance could not save backblaze configuration #75

Closed pafcioooo closed 1 year ago

pafcioooo commented 6 years ago

I have setup an account with Backblaze, added a bucket and now try to add it to nas appliance. I choose "Add a Cloud Storage Target", then fill the fileds:

Now when I click submit the error shows: "Could not Save Cloud Storage Target Configuration" and the Backblaze storage target is not created.

In /var/log/sdfs/sdfs.log there is:

2018-05-05 10:22:49,693 [datish-viewer] [com.datish.explorer.NetsExplorer] [142] [play-thread-5]  - iface ens160 inet static
2018-05-05 10:23:16,677 [sdfs] [controllers.CloudServers] [160] [play-thread-2]  - {"type":"backblaze","subtype":"backblaze","bucketLocation":"us-west-2","hostName":"","disableDNSBucket":false,"disableCheckAuth":false,"useAim":false,"encryptData":false,"accessKey":"225512b3d067","secretKey":"0024d74cc978eed2f3d5f5736277a4a63f160ec1a0","maxThreads":24,"readSpeed":0,"writeSpeed":0,"archiveInDays":0,"connectionTimeoutMS":15000,"blockSizeMB":30,"proxyHost":"","proxyPort":0,"proxyUser":"","proxyPassword":"","proxyDomain":"","name":"backblaze-indevops","id":"","simpleS3":false,"usebasicsigner":false,"usev4signer":false,"simpleMD":false,"acceleratedAWS":false,"iaInDays":0}
2018-05-05 10:23:16,678 [play] [play.Logger] [604] [play-thread-2]  -

@77o3ih4cb
Internal Server Error (500) for request POST /cloudserver/?_dc=1525508583762

Execution exception
NoClassDefFoundError occured : org/jclouds/ContextBuilder

play.exceptions.JavaExecutionException: org/jclouds/ContextBuilder
        at play.mvc.ActionInvoker.invoke(ActionInvoker.java:231)
        at Invocation.HTTP Request(Play!)
Caused by: java.lang.NoClassDefFoundError: org/jclouds/ContextBuilder
        at org.opendedup.sdfs.filestore.cloud.BatchJCloudChunkStore.checkAccess(BatchJCloudChunkStore.java:1537)
        at controllers.CloudServers.auth(CloudServers.java:84)
        at controllers.CloudServers.add(CloudServers.java:175)
        at play.mvc.ActionInvoker.invokeWithContinuation(ActionInvoker.java:544)
        at play.mvc.ActionInvoker.invoke(ActionInvoker.java:494)
        at play.mvc.ActionInvoker.invokeControllerMethod(ActionInvoker.java:489)
        at play.mvc.ActionInvoker.invokeControllerMethod(ActionInvoker.java:458)
        at play.mvc.ActionInvoker.invoke(ActionInvoker.java:162)
        ... 1 more

This is latest appliance installed from ISO and then upgraded with apt-get dist-upgrade and installing sdfs-latest.deb

opendedup commented 6 years ago

This issue is being fixed in for the appliance. In the mean time, run the following from the command line.

mksdfs.sdfs --volume-name= --volume-capacity= --backblaze-enabled --cloud-access-key= --cloud-secret-key= --cloud-bucket-name= e.g. mksdfs.sdfs --volume-name=b4 --volume-capacity=4TB --backblaze-enabled --cloud-access-key=bbba989eebf7 --cloud-secret-key=777777ff8dc9b8c35750364bcfd33bc0de68f8de7d1 --cloud-bucket-name=sdfsb4

On Sat, May 5, 2018 at 1:26 AM, Pawel notifications@github.com wrote:

I have setup an account with Backblaze, added a bucket and now try to add it to nas appliance. I choose "Add a Cloud Storage Target", then fill the fileds:

  • Cloud Storage Provider: Blackbaze (B2)
  • Access key: Here I put Backblaze Account ID for the bucket
  • Secret Key": Here I put Backblaze Application ID for the bucket

Now when I click submit the error shows: "Could not Save Cloud Storage Target Configuration" and the Backblaze storage target is not created.

In /var/log/sdfs/sdfs.log there is:

2018-05-05 10:22:49,693 [datish-viewer] [com.datish.explorer.NetsExplorer] [142] [play-thread-5] - iface ens160 inet static 2018-05-05 10:23:16,677 [sdfs] [controllers.CloudServers] [160] [play-thread-2] - {"type":"backblaze","subtype":"backblaze","bucketLocation":"us-west-2","hostName":"","disableDNSBucket":false,"disableCheckAuth":false,"useAim":false,"encryptData":false,"accessKey":"225512b3d067","secretKey":"0024d74cc978eed2f3d5f5736277a4a63f160ec1a0","maxThreads":24,"readSpeed":0,"writeSpeed":0,"archiveInDays":0,"connectionTimeoutMS":15000,"blockSizeMB":30,"proxyHost":"","proxyPort":0,"proxyUser":"","proxyPassword":"","proxyDomain":"","name":"backblaze-indevops","id":"","simpleS3":false,"usebasicsigner":false,"usev4signer":false,"simpleMD":false,"acceleratedAWS":false,"iaInDays":0} 2018-05-05 10:23:16,678 [play] [play.Logger] [604] [play-thread-2] -

@77o3ih4cb Internal Server Error (500) for request POST /cloudserver/?_dc=1525508583762

Execution exception NoClassDefFoundError occured : org/jclouds/ContextBuilder

play.exceptions.JavaExecutionException: org/jclouds/ContextBuilder at play.mvc.ActionInvoker.invoke(ActionInvoker.java:231) at Invocation.HTTP Request(Play!) Caused by: java.lang.NoClassDefFoundError: org/jclouds/ContextBuilder at org.opendedup.sdfs.filestore.cloud.BatchJCloudChunkStore.checkAccess(BatchJCloudChunkStore.java:1537) at controllers.CloudServers.auth(CloudServers.java:84) at controllers.CloudServers.add(CloudServers.java:175) at play.mvc.ActionInvoker.invokeWithContinuation(ActionInvoker.java:544) at play.mvc.ActionInvoker.invoke(ActionInvoker.java:494) at play.mvc.ActionInvoker.invokeControllerMethod(ActionInvoker.java:489) at play.mvc.ActionInvoker.invokeControllerMethod(ActionInvoker.java:458) at play.mvc.ActionInvoker.invoke(ActionInvoker.java:162) ... 1 more

This is latest appliance installed from ISO and then upgraded with apt-get dist-upgrade and installing sdfs-latest.deb

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/opendedup/sdfs/issues/75, or mute the thread https://github.com/notifications/unsubscribe-auth/ADa7qBfCqewy9xNlP0Ami-BNVQd4r49Vks5tvWI1gaJpZM4TzjGo .

pafcioooo commented 5 years ago

Has it been corrected in the appliance? I have upgraded to 3.7.8 version and tried all 3 combinations in backblaze configuration cloud target of:

And none of them worked. The command worked: mkfs.sdfs --volume-name=backblaze-bkp01-01 --volume-capacity=1TB --backblaze-enabled --cloud-access-key= --cloud-secret-key= --cloud-bucket-name=bkp01-01 Notice that backblaze-keyid is not application key that had been created and apperaed only once, or shoud it be? Anyway after command line creation, in GUI there is no backblaze storage target, but dedupe volume has been added, but with exlamation mark:

Please advise.

packetmagic commented 4 years ago

Was this ever fixed? I am having the same problem right now.

pafcioooo commented 4 years ago

No, it have not :-( I have stopped using opendedupe due to this error.

anomaly0617 commented 4 years ago

UPDATE SEE NEXT COMMENT BELOW!

Any update here? I'm running into the same exact problem. I've tried all combinations of an application ID (BackBlaze calls this the "keyId") and the secret (BackBlaze calls this the "appKey") for a specific bucket, and then I've tried it with my master keyId and appKey. All attempts result in the following error:

Unable to initiate ChunkStore java.io.IOException: java.lang.IllegalArgumentException: accountId invalid at org.opendedup.sdfs.filestore.cloud.BatchJCloudChunkStore.init(BatchJCloudChunkStore.java:628) at org.opendedup.sdfs.servers.HashChunkService.<init>(HashChunkService.java:66) at org.opendedup.sdfs.servers.HCServiceProxy.init(HCServiceProxy.java:154) at org.opendedup.sdfs.servers.SDFSService.start(SDFSService.java:86) at org.opendedup.sdfs.windows.fs.MountSDFS.main(MountSDFS.java:161) Caused by: java.lang.IllegalArgumentException: accountId invalid at org.jclouds.b2.handlers.ParseB2ErrorFromJsonContent.refineException(ParseB2ErrorFromJsonContent.java:45) at org.jclouds.b2.handlers.ParseB2ErrorFromJsonContent.handleError(ParseB2ErrorFromJsonContent.java:58) at org.jclouds.http.handlers.DelegatingErrorHandler.handleError(DelegatingErrorHandler.java:65) at org.jclouds.http.internal.BaseHttpCommandExecutorService.shouldContinue(BaseHttpCommandExecutorService.java:140) at org.jclouds.http.internal.BaseHttpCommandExecutorService.invoke(BaseHttpCommandExecutorService.java:109) at org.jclouds.rest.internal.InvokeHttpMethod.invoke(InvokeHttpMethod.java:90) at org.jclouds.rest.internal.InvokeHttpMethod.apply(InvokeHttpMethod.java:73) at org.jclouds.rest.internal.InvokeHttpMethod.apply(InvokeHttpMethod.java:44) at org.jclouds.reflect.FunctionalReflection$FunctionalInvocationHandler.handleInvocation(FunctionalReflection.java:117) at com.google.common.reflect.AbstractInvocationHandler.invoke(AbstractInvocationHandler.java:87) at com.sun.proxy.$Proxy46.listBuckets(Unknown Source) at org.jclouds.b2.blobstore.B2BlobStore.containerExists(B2BlobStore.java:131) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.google.inject.internal.DelegatingInvocationHandler.invoke(DelegatingInvocationHandler.java:37) at com.sun.proxy.$Proxy43.containerExists(Unknown Source) at org.opendedup.sdfs.filestore.cloud.BatchJCloudChunkStore.init(BatchJCloudChunkStore.java:551) ... 4 more Caused by: org.jclouds.b2.B2ResponseException: request POST https://api.backblazeb2.com/b2api/v1/b2_list_buckets HTTP/1.1 failed with code 400, error: B2Error{code=bad_request, message=accountId invalid, status=400} ... 22 more If I'm doing something wrong, please respond and let me know. If I'm not doing something wrong and this is a problem with OpenDedup, please respond and let all of us know that the issue is valid and the status of a potential fix?

Either way, could someone on the development team for OpenDedup confirm this problem or help those of us that are struggling to fix it?

Thanks in advance for all you do!

anomaly0617 commented 4 years ago

I'm replying to myself above for the benefit of everyone, to know what finally worked.

I had to use my Master Application Key from BackBlaze. It appears that Application Keys don't work, as I found when reading the forums on opendedup.org (you know, the other, other forum).

Since I had my master accountId but not my master applicationKey, I had to regenerate it. Thankfully I don't have a lot of buckets on BackBlaze to screw up, so no big deal here.

From there, I edited my xml file, which in my case is located at: "C:\Program Files\sdfs\etc\backblazebucket-volume-cfg.xml"

... and I inserted the following into the line beginning with the XML tag "filestore", on or about Line 9.

Once I had all these, I saved the file and re-ran mountsdfs -v [volume] -m [driveletter], and it worked.

Hope this helps anyone looking!

Akshunhiro commented 3 years ago

Thanks so much, this helped me!