Skip to content

Commit 6af0112

Browse files
committed
for the CI test - Revert "Added a fix to update bucket tagging when OBC labels are changed"
This reverts commit 2a1d782. Signed-off-by: shirady <[email protected]>
1 parent 2d5c2a5 commit 6af0112

File tree

3 files changed

+57
-155
lines changed

3 files changed

+57
-155
lines changed

pkg/controller/obc/obc_controller.go

Lines changed: 0 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,50 +1,12 @@
11
package obc
22

33
import (
4-
"context"
5-
"reflect"
6-
7-
nbv1 "github.com/noobaa/noobaa-operator/v5/pkg/apis/noobaa/v1alpha1"
8-
"github.com/noobaa/noobaa-operator/v5/pkg/system"
9-
"github.com/noobaa/noobaa-operator/v5/pkg/util"
10-
114
"github.com/noobaa/noobaa-operator/v5/pkg/obc"
12-
"k8s.io/client-go/tools/cache"
135
"sigs.k8s.io/controller-runtime/pkg/manager"
146
)
157

168
// Add starts running the noobaa bucket provisioner
179
func Add(mgr manager.Manager) error {
18-
19-
// Creating informer to watch OBC
20-
informer, err := mgr.GetCache().GetInformer(context.TODO(), &nbv1.ObjectBucketClaim{})
21-
if err != nil {
22-
return err
23-
}
24-
25-
_, _ = informer.AddEventHandler(cache.ResourceEventHandlerFuncs{
26-
UpdateFunc: func(oldObj, newObj interface{}) {
27-
oldOBC, okOld := oldObj.(*nbv1.ObjectBucketClaim)
28-
newOBC, okNew := newObj.(*nbv1.ObjectBucketClaim)
29-
if !okOld || !okNew {
30-
return
31-
}
32-
33-
// supports only updating of bucket tagging with OBC labels
34-
if !reflect.DeepEqual(oldOBC.Labels, newOBC.Labels) {
35-
sysClient, err := system.Connect(false)
36-
if err != nil {
37-
util.Logger().Errorf("Failed to connect to the system for OBC %s: %v", newOBC.Name, err)
38-
return
39-
}
40-
if err := obc.UpdateBucketTagging(sysClient, newOBC); err != nil {
41-
util.Logger().Errorf("Failed to update bucket tagging for OBC %s: %v", newOBC.Name, err)
42-
return
43-
}
44-
}
45-
},
46-
})
47-
4810
return obc.RunProvisioner(
4911
mgr.GetClient(),
5012
mgr.GetScheme(),

pkg/obc/provisioner.go

Lines changed: 50 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -130,9 +130,9 @@ func (p *Provisioner) Provision(bucketOptions *obAPI.BucketOptions) (*nbv1.Objec
130130
return nil, err
131131
}
132132

133-
err = UpdateBucketTagging(r.SysClient, r.OBC)
133+
err = r.putBucketTagging()
134134
if err != nil {
135-
logrus.Warnf("failed executing UpdateBucketTagging on bucket: %v, %v", r.BucketName, err)
135+
logrus.Warnf("failed executing putBucketTagging on bucket: %v, %v", r.BucketName, err)
136136
}
137137
return r.OB, nil
138138
}
@@ -243,58 +243,6 @@ func (p *Provisioner) Update(ob *nbv1.ObjectBucket) error {
243243
return nil
244244
}
245245

246-
// UpdateBucketTagging is not handled by lib-bucket-provisioner and is a customized function to update bucket tagging with OBC labels
247-
func UpdateBucketTagging(sysClient *system.Client, obc *nbv1.ObjectBucketClaim) error {
248-
if obc == nil || obc.Labels == nil {
249-
return fmt.Errorf("OBC is not provided or doesn't contain any label")
250-
}
251-
252-
client := &http.Client{Transport: util.InsecureHTTPTransport}
253-
s3Status := &sysClient.NooBaa.Status.Services.ServiceS3
254-
s3Config := &aws.Config{
255-
Credentials: credentials.NewStaticCredentials(
256-
sysClient.SecretAdmin.StringData["AWS_ACCESS_KEY_ID"],
257-
sysClient.SecretAdmin.StringData["AWS_SECRET_ACCESS_KEY"],
258-
"",
259-
),
260-
Region: aws.String("us-east-1"),
261-
Endpoint: aws.String(s3Status.InternalDNS[0]),
262-
S3ForcePathStyle: aws.Bool(true),
263-
HTTPClient: client,
264-
}
265-
s3Session, err := session.NewSession(s3Config)
266-
if err != nil {
267-
return err
268-
}
269-
s3Client := s3.New(s3Session)
270-
271-
// convert labels to tagging array
272-
taggingArray := []*s3.Tag{}
273-
for key, value := range obc.Labels {
274-
// no need to put tagging of these labels
275-
if !util.Contains([]string{"app", "noobaa-domain", "bucket-provisioner"}, key) {
276-
keyPointer := key
277-
valuePointer := value
278-
taggingArray = append(taggingArray, &s3.Tag{Key: &keyPointer, Value: &valuePointer})
279-
}
280-
}
281-
logrus.Infof("put bucket tagging on bucket: %s tagging: %+v ", obc.Spec.BucketName, taggingArray)
282-
if len(taggingArray) == 0 {
283-
return nil
284-
}
285-
_, err = s3Client.PutBucketTagging(&s3.PutBucketTaggingInput{
286-
Bucket: &obc.Spec.BucketName,
287-
Tagging: &s3.Tagging{
288-
TagSet: taggingArray,
289-
},
290-
})
291-
if err != nil {
292-
return err
293-
}
294-
295-
return nil
296-
}
297-
298246
// BucketRequest is the context of handling a single bucket request
299247
type BucketRequest struct {
300248
Provisioner *Provisioner
@@ -727,6 +675,54 @@ func (r *BucketRequest) DeleteBucket() error {
727675
return nil
728676
}
729677

678+
// putBucketTagging calls s3 putBucketTagging on the created noobaa bucket
679+
func (r *BucketRequest) putBucketTagging() error {
680+
681+
client := &http.Client{Transport: util.InsecureHTTPTransport}
682+
s3Status := &r.SysClient.NooBaa.Status.Services.ServiceS3
683+
s3Config := &aws.Config{
684+
Credentials: credentials.NewStaticCredentials(
685+
r.SysClient.SecretAdmin.StringData["AWS_ACCESS_KEY_ID"],
686+
r.SysClient.SecretAdmin.StringData["AWS_SECRET_ACCESS_KEY"],
687+
"",
688+
),
689+
Region: aws.String("us-east-1"),
690+
Endpoint: aws.String(s3Status.InternalDNS[0]),
691+
S3ForcePathStyle: aws.Bool(true),
692+
HTTPClient: client,
693+
}
694+
s3Session, err := session.NewSession(s3Config)
695+
if err != nil {
696+
return err
697+
}
698+
s3Client := s3.New(s3Session)
699+
700+
// convert labels to tagging array
701+
taggingArray := []*s3.Tag{}
702+
for key, value := range r.OBC.Labels {
703+
// no need to put tagging of these labels
704+
if !util.Contains([]string{"app", "noobaa-domain", "bucket-provisioner"}, key) {
705+
keyPointer := key
706+
valuePointer := value
707+
taggingArray = append(taggingArray, &s3.Tag{Key: &keyPointer, Value: &valuePointer})
708+
}
709+
}
710+
logrus.Infof("put bucket tagging on bucket: %s tagging: %+v ", r.BucketName, taggingArray)
711+
if len(taggingArray) == 0 {
712+
return nil
713+
}
714+
_, err = s3Client.PutBucketTagging(&s3.PutBucketTaggingInput{
715+
Bucket: &r.BucketName,
716+
Tagging: &s3.Tagging{
717+
TagSet: taggingArray,
718+
},
719+
})
720+
if err != nil {
721+
return err
722+
}
723+
return nil
724+
}
725+
730726
// PrepareReplicationParams validates and prepare the replication params
731727
func PrepareReplicationParams(bucketName string, replicationPolicy string, update bool) (*nb.BucketReplicationParams, *nb.DeleteBucketReplicationParams, error) {
732728

test/cli/test_cli_functions.sh

Lines changed: 7 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -172,34 +172,6 @@ function timeout {
172172
done
173173
}
174174

175-
function test_aws {
176-
if [ "${1}" == "silence" ]; then
177-
silence=true
178-
shift
179-
fi
180-
181-
local options=$*
182-
183-
NOOBAA_ACCESS_KEY=$(kuberun get secret noobaa-admin -n test -o json | jq -r '.data.AWS_ACCESS_KEY_ID|@base64d')
184-
NOOBAA_SECRET_KEY=$(kuberun get secret noobaa-admin -n test -o json | jq -r '.data.AWS_SECRET_ACCESS_KEY|@base64d')
185-
ENDPOINT=$(kuberun get noobaa noobaa -n test -o json | jq -r '.status.services.serviceS3.nodePorts[0]')
186-
187-
if [ -z "${NOOBAA_ACCESS_KEY}" ] || [ -z "${NOOBAA_SECRET_KEY}" ] || [ -z "${ENDPOINT}" ]; then
188-
echo_time "❌ Failed to retrieve NooBaa credentials or endpoint, Exiting."
189-
exit 1
190-
fi
191-
192-
AWS_ACCESS_KEY_ID=$NOOBAA_ACCESS_KEY AWS_SECRET_ACCESS_KEY=$NOOBAA_SECRET_KEY AWS_EC2_METADATA_DISABLED=true \
193-
aws --endpoint $ENDPOINT --no-verify-ssl ${options}
194-
195-
if [ $? -ne 0 ]; then
196-
echo_time "❌ aws ${options} failed, Exiting"
197-
exit 1
198-
elif [ ! ${silence} ]; then
199-
echo_time "✅ aws ${options} passed"
200-
fi
201-
}
202-
203175
function install {
204176
local use_obc_cleanup_policy
205177

@@ -741,43 +713,11 @@ function obc_cycle {
741713
unset flag
742714
done
743715
check_obc
744-
verify_bucket_tagging
745716

746717
# aws s3 --endpoint-url XXX ls
747718
echo_time "✅ obc cycle is done"
748719
}
749720

750-
function verify_bucket_tagging {
751-
local obc_name="obc-buck-tagging"
752-
753-
echo_time "💬 Creating Object Bucket Claim (OBC): $obc_name"
754-
test_noobaa --timeout obc create $obc_name
755-
756-
# fetching bucket_name from obc
757-
bucket_name=$(kuberun get obc $obc_name -o json | jq -r '.spec.bucketName')
758-
759-
# updating the obc labels
760-
new_label_key="test-label"
761-
new_label_value="verified"
762-
echo_time "💬 Updating OBC labels: $new_label_key=$new_label_value"
763-
kuberun silence label obc $obc_name $new_label_key=$new_label_value --overwrite
764-
765-
# checking bucket tagging after updating obc labels
766-
echo_time "💬 Fetching updated bucket tags for: $bucket_name"
767-
tags=$(test_aws s3api get-bucket-tagging --bucket "$bucket_name" 2>/dev/null || echo "No Tags")
768-
769-
if [[ "$tags" == "No Tags" ]]; then
770-
echo_time "❌ No tags found for bucket: $bucket_name"
771-
exit 1
772-
else
773-
echo_time "✅ Bucket tagging verified: $tags"
774-
fi
775-
776-
echo_time "💬 Deleting OBC: $obc_name"
777-
test_noobaa --timeout obc delete ${obc_name}
778-
}
779-
780-
781721
function account_cycle {
782722
echo_time "💬 Starting the account cycle"
783723
local buckets=($(test_noobaa silence bucket list | grep -v "BUCKET-NAME" | awk '{print $1}'))
@@ -1203,10 +1143,14 @@ function check_default_backingstore {
12031143

12041144
echo_time "💬 Deleting Noobaa default backingstore and its connected instances"
12051145
echo_time "💬 Deleting buckets"
1206-
test_aws s3 ls
1207-
for bucket in $(test_aws s3 ls | awk '{print $3}');
1146+
NOOBAA_ACCESS_KEY=$(kuberun get secret noobaa-admin -n test -o json | jq -r '.data.AWS_ACCESS_KEY_ID|@base64d')
1147+
NOOBAA_SECRET_KEY=$(kuberun get secret noobaa-admin -n test -o json | jq -r '.data.AWS_SECRET_ACCESS_KEY|@base64d')
1148+
ENDPOINT=$(kuberun get noobaa noobaa -n test -o json | jq -r '.status.services.serviceS3.nodePorts[0]')
1149+
echo $ENDPOINT
1150+
AWS_ACCESS_KEY_ID=$NOOBAA_ACCESS_KEY AWS_SECRET_ACCESS_KEY=$NOOBAA_SECRET_KEY AWS_EC2_METADATA_DISABLED=true aws --endpoint $ENDPOINT --no-verify-ssl s3 ls
1151+
for bucket in $(AWS_ACCESS_KEY_ID=$NOOBAA_ACCESS_KEY AWS_SECRET_ACCESS_KEY=$NOOBAA_SECRET_KEY AWS_EC2_METADATA_DISABLED=true aws --endpoint $ENDPOINT --no-verify-ssl s3 ls | awk '{print $3}');
12081152
do
1209-
test_aws s3 rb "s3://${bucket}" --force ;
1153+
AWS_ACCESS_KEY_ID=$NOOBAA_ACCESS_KEY AWS_SECRET_ACCESS_KEY=$NOOBAA_SECRET_KEY AWS_EC2_METADATA_DISABLED=true aws --endpoint $ENDPOINT --no-verify-ssl s3 rb "s3://${bucket}" --force ;
12101154
done
12111155
"💬 Deleting non-default accounts"
12121156
delete_account

0 commit comments

Comments
 (0)