Skip to content

Commit

Permalink
*: fill regionName for EBS/EC2 api when needed
Browse files Browse the repository at this point in the history
Signed-off-by: BornChanger <[email protected]>
  • Loading branch information
BornChanger committed Jul 24, 2023
1 parent 2aa655d commit 13f81d1
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 2 deletions.
3 changes: 3 additions & 0 deletions pkg/backup/constants/constants.go
Original file line number Diff line number Diff line change
Expand Up @@ -100,4 +100,7 @@ const (
ClusterBackupMeta = "clustermeta"
ClusterRestoreMeta = "restoremeta"
MetaFile = "backupmeta"

// AWSRegionEnv is the aws region environment variable
AWSRegionEnv = "AWS_REGION"
)
26 changes: 24 additions & 2 deletions pkg/backup/util/aws_ebs.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,18 +15,21 @@ package util

import (
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/ec2metadata"
"github.com/aws/aws-sdk-go/aws/session"
"github.com/aws/aws-sdk-go/service/ebs"
"github.com/aws/aws-sdk-go/service/ebs/ebsiface"
"github.com/aws/aws-sdk-go/service/ec2"
"github.com/aws/aws-sdk-go/service/ec2/ec2iface"
"github.com/pingcap/errors"
"github.com/pingcap/tidb-operator/pkg/apis/pingcap/v1alpha1"
"github.com/pingcap/tidb-operator/pkg/backup/constants"
"go.uber.org/atomic"
"golang.org/x/sync/errgroup"
corev1 "k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
"k8s.io/klog/v2"
"os"
)

// TODO: shall this structure be refactor or reserved for future use?
Expand Down Expand Up @@ -119,7 +122,17 @@ func NewEC2Session(concurrency uint) (*EC2Session, error) {
if err != nil {
return nil, errors.Trace(err)
}
ec2Session := ec2.New(sess)

region := os.Getenv(constants.AWSRegionEnv)
if region == "" {
ec2Metadata := ec2metadata.New(sess)
region, err = ec2Metadata.Region()
if err != nil {
return nil, errors.Annotate(err, "get ec2 region")
}
}

ec2Session := ec2.New(sess, aws.NewConfig().WithRegion(region))
return &EC2Session{EC2: ec2Session, concurrency: concurrency}, nil
}

Expand Down Expand Up @@ -201,6 +214,15 @@ func NewEBSSession(concurrency uint) (*EBSSession, error) {
if err != nil {
return nil, errors.Trace(err)
}
ebsSession := ebs.New(sess)
region := os.Getenv(constants.AWSRegionEnv)
if region == "" {
ec2Metadata := ec2metadata.New(sess)
region, err = ec2Metadata.Region()
if err != nil {
return nil, errors.Annotate(err, "get ec2 region")
}
}

ebsSession := ebs.New(sess, aws.NewConfig().WithRegion(region))
return &EBSSession{EBS: ebsSession, concurrency: concurrency}, nil
}

0 comments on commit 13f81d1

Please sign in to comment.