1
1
package swift
2
2
3
3
import (
4
+ "context"
4
5
"crypto/tls"
5
6
"crypto/x509"
6
7
"errors"
@@ -10,12 +11,12 @@ import (
10
11
"strconv"
11
12
"strings"
12
13
13
- "github.com/gophercloud/gophercloud"
14
- "github.com/gophercloud/gophercloud/openstack"
15
- "github.com/gophercloud/gophercloud/openstack/objectstorage/v1/containers"
16
- "github.com/gophercloud/gophercloud/openstack/objectstorage/v1/objects"
17
- "github.com/gophercloud/gophercloud/pagination"
18
- "github.com/gophercloud/utils/openstack/clientconfig"
14
+ "github.com/gophercloud/gophercloud/v2 "
15
+ "github.com/gophercloud/gophercloud/v2/ openstack"
16
+ "github.com/gophercloud/gophercloud/v2/ openstack/objectstorage/v1/containers"
17
+ "github.com/gophercloud/gophercloud/v2/ openstack/objectstorage/v1/objects"
18
+ "github.com/gophercloud/gophercloud/v2/ pagination"
19
+ "github.com/gophercloud/utils/v2/ openstack/clientconfig"
19
20
"github.com/goware/urlx"
20
21
yamlv2 "gopkg.in/yaml.v2"
21
22
@@ -77,7 +78,7 @@ func IsSwiftEnabled(listers *regopclient.StorageListers) (bool, error) {
77
78
}
78
79
79
80
// Try to list containers to make sure the user has required permissions to do that
80
- if err := containers .List (conn , containers.ListOpts {}).EachPage (func (_ pagination.Page ) (bool , error ) {
81
+ if err := containers .List (conn , containers.ListOpts {}).EachPage (context . TODO (), func (ctx context. Context , _ pagination.Page ) (bool , error ) {
81
82
return false , nil
82
83
}); err != nil {
83
84
klog .Errorf ("error listing swift containers: %v" , err )
@@ -250,7 +251,7 @@ func (d *driver) getSwiftClient() (*gophercloud.ServiceClient, error) {
250
251
provider .HTTPClient = client
251
252
}
252
253
253
- err = openstack .Authenticate (provider , * opts )
254
+ err = openstack .Authenticate (context . TODO (), provider , * opts )
254
255
if err != nil {
255
256
return nil , fmt .Errorf ("failed to authenticate against OpenStack: %w" , err )
256
257
}
@@ -388,7 +389,7 @@ func ensureAuthURLHasAPIVersion(authURL, authVersion string) (string, error) {
388
389
}
389
390
390
391
func (d * driver ) containerExists (client * gophercloud.ServiceClient , containerName string ) error {
391
- _ , err := containers .Get (client , containerName , containers.GetOpts {}).Extract ()
392
+ _ , err := containers .Get (context . TODO (), client , containerName , containers.GetOpts {}).Extract ()
392
393
return err
393
394
}
394
395
@@ -448,7 +449,7 @@ func (d *driver) CreateStorage(cr *imageregistryv1.Config) error {
448
449
if err != nil {
449
450
// If the error is not ErrResourceNotFound
450
451
// return the error
451
- if _ , ok := err .(gophercloud. ErrDefault404 ); ! ok {
452
+ if ! gophercloud . ResponseCodeIs ( err , http . StatusNotFound ) {
452
453
util .UpdateCondition (cr , defaults .StorageExists , operatorapi .ConditionFalse , "Unable to check if container exists" , fmt .Sprintf ("Error occurred checking if container exists: %v" , err ))
453
454
return err
454
455
}
@@ -481,7 +482,7 @@ func (d *driver) CreateStorage(cr *imageregistryv1.Config) error {
481
482
},
482
483
}
483
484
484
- _ , err = containers .Create (client , cr .Spec .Storage .Swift .Container , createOps ).Extract ()
485
+ _ , err = containers .Create (context . TODO (), client , cr .Spec .Storage .Swift .Container , createOps ).Extract ()
485
486
if err != nil {
486
487
util .UpdateCondition (cr , defaults .StorageExists , operatorapi .ConditionFalse , "Creation Failed" , err .Error ())
487
488
return err
@@ -517,12 +518,12 @@ func (d *driver) RemoveStorage(cr *imageregistryv1.Config) (bool, error) {
517
518
pager := objects .List (client , cr .Spec .Storage .Swift .Container , & objects.ListOpts {
518
519
Limit : 50 ,
519
520
})
520
- if err := pager .EachPage (func (page pagination.Page ) (bool , error ) {
521
+ if err := pager .EachPage (context . TODO (), func (ctx context. Context , page pagination.Page ) (bool , error ) {
521
522
objectsOnPage , err := objects .ExtractNames (page )
522
523
if err != nil {
523
524
return false , err
524
525
}
525
- resp , err := objects .BulkDelete (client , cr .Spec .Storage .Swift .Container , objectsOnPage ).Extract ()
526
+ resp , err := objects .BulkDelete (ctx , client , cr .Spec .Storage .Swift .Container , objectsOnPage ).Extract ()
526
527
if err != nil {
527
528
return false , err
528
529
}
@@ -540,14 +541,14 @@ func (d *driver) RemoveStorage(cr *imageregistryv1.Config) (bool, error) {
540
541
541
542
return true , nil
542
543
}); err != nil {
543
- if _ , ok := err .(gophercloud. ErrDefault404 ); ! ok {
544
+ if ! gophercloud . ResponseCodeIs ( err , http . StatusNotFound ) {
544
545
return false , err
545
546
}
546
547
}
547
548
548
- _ , err = containers .Delete (client , cr .Spec .Storage .Swift .Container ).Extract ()
549
+ _ , err = containers .Delete (context . TODO (), client , cr .Spec .Storage .Swift .Container ).Extract ()
549
550
if err != nil {
550
- if _ , ok := err .(gophercloud. ErrDefault404 ); ! ok {
551
+ if ! gophercloud . ResponseCodeIs ( err , http . StatusNotFound ) {
551
552
util .UpdateCondition (cr , defaults .StorageExists , operatorapi .ConditionUnknown , err .Error (), err .Error ())
552
553
return false , err
553
554
}
0 commit comments