Skip to content

Commit 4986d5d

Browse files
authored
Merge pull request #9228 from naveenpaul1/sdk_v3_replication
SDK | SDKv3Client region missing error
2 parents b9e04e1 + 28c8b80 commit 4986d5d

File tree

2 files changed

+7
-9
lines changed

2 files changed

+7
-9
lines changed

src/agent/block_store_services/block_store_s3.js

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
'use strict';
33

44
const _ = require('lodash');
5-
const { S3 } = require('@aws-sdk/client-s3');
65

76
const config = require('../../../config');
87
const P = require('../../util/promise');
@@ -13,10 +12,9 @@ const size_utils = require('../../util/size_utils');
1312
const BlockStoreBase = require('./block_store_base').BlockStoreBase;
1413
const { RpcError } = require('../../rpc');
1514
const { NodeHttpHandler } = require("@smithy/node-http-handler");
15+
const noobaa_s3_client = require('../../sdk/noobaa_s3_client/noobaa_s3_client');
1616

1717

18-
const DEFAULT_REGION = 'us-east-1';
19-
2018
class BlockStoreS3 extends BlockStoreBase {
2119

2220
constructor(options) {
@@ -40,14 +38,14 @@ class BlockStoreS3 extends BlockStoreBase {
4038
RoleSessionName: 'block_store_operations'
4139
};
4240
} else {
43-
this.s3cloud = new S3({
41+
this.s3cloud = noobaa_s3_client.get_s3_client_v3_params({
4442
endpoint: endpoint,
4543
credentials: {
4644
accessKeyId: this.cloud_info.access_keys.access_key.unwrap(),
4745
secretAccessKey: this.cloud_info.access_keys.secret_key.unwrap(),
4846
},
4947
forcePathStyle: true,
50-
region: DEFAULT_REGION,
48+
region: config.DEFAULT_REGION,
5149
requestHandler: new NodeHttpHandler({
5250
httpsAgent: http_utils.get_default_agent(endpoint)
5351
}),
@@ -58,13 +56,14 @@ class BlockStoreS3 extends BlockStoreBase {
5856
config.EXPERIMENTAL_DISABLE_S3_COMPATIBLE_DELEGATION.DEFAULT;
5957
this.disable_metadata = config.EXPERIMENTAL_DISABLE_S3_COMPATIBLE_METADATA[this.cloud_info.endpoint_type] ||
6058
config.EXPERIMENTAL_DISABLE_S3_COMPATIBLE_METADATA.DEFAULT;
61-
this.s3cloud = new S3({
59+
this.s3cloud = noobaa_s3_client.get_s3_client_v3_params({
6260
endpoint: endpoint,
6361
forcePathStyle: true,
6462
credentials: {
6563
accessKeyId: this.cloud_info.access_keys.access_key.unwrap(),
6664
secretAccessKey: this.cloud_info.access_keys.secret_key.unwrap(),
6765
},
66+
region: config.DEFAULT_REGION,
6867
applyChecksum: cloud_utils.disable_s3_compatible_bodysigning(endpoint),
6968
requestHandler: new NodeHttpHandler({
7069
httpsAgent: http_utils.get_unsecured_agent(endpoint)

src/util/cloud_utils.js

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ const RpcError = require('../rpc/rpc_error');
66
const http_utils = require('./http_utils');
77
const string_utils = require('./string_utils');
88
const AWS = require('aws-sdk');
9-
const { S3 } = require('@aws-sdk/client-s3');
109
const url = require('url');
1110
const _ = require('lodash');
1211
const SensitiveString = require('./sensitive_string');
@@ -33,7 +32,7 @@ function find_cloud_connection(account, conn_name) {
3332

3433
async function createSTSS3SDKv3Client(params, additionalParams) {
3534
const creds = await generate_aws_sdkv3_sts_creds(params, additionalParams.RoleSessionName);
36-
return new S3({
35+
return noobaa_s3_client.get_s3_client_v3_params({
3736
credentials: creds,
3837
region: params.region || config.DEFAULT_REGION,
3938
endpoint: additionalParams.endpoint,
@@ -78,7 +77,7 @@ function get_signed_url(params, expiry = 604800, custom_operation = 'getObject')
7877
sslEnabled: false,
7978
signatureVersion: get_s3_endpoint_signature_ver(params.endpoint),
8079
s3DisableBodySigning: disable_s3_compatible_bodysigning(params.endpoint),
81-
region: 'eu-central-1',
80+
region: params.region || config.DEFAULT_REGION,
8281
httpOptions: {
8382
// Setting the agent is not mandatory in this case as this s3 client
8483
// is only used to acquire a signed Url

0 commit comments

Comments
 (0)