XCP-ng
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    Backblaze as Remote error Unsupported header 'x-amz-checksum-mode' received for this API call.

    Scheduled Pinned Locked Moved Solved Xen Orchestra
    16 Posts 7 Posters 1.1k Views 6 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • M Offline
      mguimond
      last edited by olivierlambert

      When im trying to connect to my backblaze to configure a remote in xen orchestra I'm getting the following message. I'm able to connect with my credentiel with cyberduck.

      {
        "name": "InvalidArgument",
        "$fault": "client",
        "$metadata": {
          "httpStatusCode": 400,
          "requestId": "4c022d6f8b1e258a",
          "extendedRequestId": "aNHQx6DCwZa1j6jhRM8s3OjQNYk0zvDkM",
          "attempts": 1,
          "totalRetryDelay": 0
        },
        "Code": "InvalidArgument",
        "message": "Unsupported header 'x-amz-checksum-mode' received for this API call."
      }
      

      Can anynome help me solved this ?

      Thank You.

      D florentF 2 Replies Last reply Reply Quote 0
      • florentF Offline
        florent Vates 🪐 XO Team
        last edited by

        thanks for pointing the exact issue in the aws SDK. It gave use enough matter to find the fix

        M 1 Reply Last reply Reply Quote 1
        • D Offline
          DustinB @mguimond
          last edited by

          @mguimond Is your B2 bucket already created and waiting? Using CyberDuck you're able to authenticate to the web front, but is there already a bucket sitting there?

          M 1 Reply Last reply Reply Quote 0
          • M Offline
            mguimond @DustinB
            last edited by

            @DustinB Yes the bucket exist. I'm able to connect and create folder.

            D 1 Reply Last reply Reply Quote 0
            • D Offline
              DustinB @mguimond
              last edited by DustinB

              @mguimond While I have mine disable, I was able to connect without issue, are you able to confirm yours looks similar?

              cd45bb0f-3933-46be-824f-28f5e082832b-image.png

              M 1 Reply Last reply Reply Quote 0
              • M Offline
                mguimond @DustinB
                last edited by mguimond

                @DustinB when i disable it I can't connect it.

                I use the from source version
                9d3de8d8-44f4-4883-8e94-3db9f0a6fa09-image.png

                This one work correctly. this is another customer with a older version.
                Xen Orchestra, commit fa974
                Master, commit b3d66
                You are not up to date with master. 221 commits behind

                D 1 Reply Last reply Reply Quote 0
                • D Offline
                  DustinB @mguimond
                  last edited by

                  @mguimond said in Backblaze as Remote error Unsupported header 'x-amz-checksum-mode' received for this API call.:

                  master. 221 commits behind

                  The version that is 221 updates behind works, but your current version does not?

                  M 1 Reply Last reply Reply Quote 0
                  • M Offline
                    mguimond @DustinB
                    last edited by

                    @DustinB That is correct.

                    D 1 Reply Last reply Reply Quote 0
                    • D Offline
                      DustinB @mguimond
                      last edited by

                      @mguimond Could be a bug in a recent release, @Danp are you aware of anything?

                      DanpD 1 Reply Last reply Reply Quote 0
                      • DanpD Offline
                        Danp Pro Support Team @DustinB
                        last edited by

                        @DustinB No, but dev team has been notified so that they can investigate.

                        1 Reply Last reply Reply Quote 0
                        • J Offline
                          jr-m4
                          last edited by

                          I submitted this as a GitHub issue last week.

                          TL;DR: Backblaze aparently doesn't support those flags that are enabled by default
                          "Backblaze does not yet accept these headers, so we recommend downgrading to AWS Javascript 3.x SDK version 3.728.0."

                          https://github.com/vatesfr/xen-orchestra/issues/8358

                          cloudrootab created this issue in vatesfr/xen-orchestra

                          open S3 Backup: "Unsupported header 'x-amz-checksum-mode' received for this API call." #8358

                          florentF 1 Reply Last reply Reply Quote 3
                          • florentF Offline
                            florent Vates 🪐 XO Team @jr-m4
                            last edited by

                            @jr-m4 nice find . thank you

                            1 Reply Last reply Reply Quote 0
                            • florentF Offline
                              florent Vates 🪐 XO Team @mguimond
                              last edited by florent

                              @mguimond @jr-m4 I would like to be able to keep the library up to date.
                              Would it be possible to patch a file in your install ? and check if the backup run It will disable the checksum computation .

                              Note that if you use backup encryption, the checksum are already checked on restore

                              you can either use this branch : fix_s3_backblaze or modify directly the code in your installation in <xo>/node_modules/@xen-orchestra/fs/dist/s3.js

                              replace :

                               requestHandler: new _nodeHttpHandler.NodeHttpHandler({
                                      socketTimeout: 600000,
                                      httpAgent: new _http.Agent({
                                        keepAlive: true
                                      }),
                                      httpsAgent: new _https.Agent({
                                        rejectUnauthorized: !allowUnauthorized,
                                        keepAlive: true
                                      })
                                    })
                              

                              by

                               requestHandler: new _nodeHttpHandler.NodeHttpHandler({
                                      socketTimeout: 600000,
                                      httpAgent: new _http.Agent({
                                        keepAlive: true
                                      }),
                                      httpsAgent: new _https.Agent({
                                        rejectUnauthorized: !allowUnauthorized,
                                        keepAlive: true
                                      })
                                    }),
                                    requestChecksumCalculation: "WHEN_REQUIRED",
                                    responseChecksumValidation: "WHEN_REQUIRED"
                              

                              (the difference is

                              ,
                                    requestChecksumCalculation: "WHEN_REQUIRED",
                                    responseChecksumValidation: "WHEN_REQUIRED"
                              
                              P 1 Reply Last reply Reply Quote 1
                              • P Offline
                                probain @florent
                                last edited by

                                @florent said in Backblaze as Remote error Unsupported header 'x-amz-checksum-mode' received for this API call.:

                                ,
                                requestChecksumCalculation: "WHEN_REQUIRED",
                                responseChecksumValidation: "WHEN_REQUIRED"

                                I (previously as @jr-m4) just tried the patch you suggested. And I can confirm that this does indeed make the backup complete successfully!
                                Great work finding a solution that quicklly!

                                1 Reply Last reply Reply Quote 2
                                • olivierlambertO Online
                                  olivierlambert Vates 🪐 Co-Founder CEO
                                  last edited by

                                  😎 Great example on how great the community is and how fast our dev can fix it! Thanks for the feedback, it really matters, as you can see!

                                  1 Reply Last reply Reply Quote 3
                                  • florentF Offline
                                    florent Vates 🪐 XO Team
                                    last edited by

                                    thanks for pointing the exact issue in the aws SDK. It gave use enough matter to find the fix

                                    M 1 Reply Last reply Reply Quote 1
                                    • M Offline
                                      mguimond @florent
                                      last edited by

                                      @florent Sorry for the delay. I was able to make it work with the change you posted. Thank You.

                                      1 Reply Last reply Reply Quote 1
                                      • olivierlambertO olivierlambert marked this topic as a question on
                                      • olivierlambertO olivierlambert has marked this topic as solved on
                                      • First post
                                        Last post