@@ -25,9 +25,11 @@ import (
25
25
26
26
"github.com/gophercloud/gophercloud"
27
27
"github.com/gophercloud/gophercloud/openstack"
28
+ osclient "github.com/gophercloud/utils/client"
28
29
"github.com/gophercloud/utils/openstack/clientconfig"
29
30
v1 "k8s.io/api/core/v1"
30
31
"k8s.io/apimachinery/pkg/types"
32
+ "k8s.io/klog/v2"
31
33
"sigs.k8s.io/controller-runtime/pkg/client"
32
34
"sigs.k8s.io/yaml"
33
35
@@ -39,7 +41,7 @@ const (
39
41
CaSecretKey = "cacert"
40
42
)
41
43
42
- func NewClientFromMachine (ctrlClient client.Client , openStackMachine * infrav1.OpenStackMachine ) (* gophercloud.ProviderClient , * clientconfig.ClientOpts , error ) {
44
+ func NewClientFromMachine (ctx context. Context , ctrlClient client.Client , openStackMachine * infrav1.OpenStackMachine ) (* gophercloud.ProviderClient , * clientconfig.ClientOpts , error ) {
43
45
var cloud clientconfig.Cloud
44
46
var caCert []byte
45
47
@@ -49,15 +51,15 @@ func NewClientFromMachine(ctrlClient client.Client, openStackMachine *infrav1.Op
49
51
namespace = openStackMachine .Namespace
50
52
}
51
53
var err error
52
- cloud , caCert , err = getCloudFromSecret (ctrlClient , namespace , openStackMachine .Spec .CloudsSecret .Name , openStackMachine .Spec .CloudName )
54
+ cloud , caCert , err = getCloudFromSecret (ctx , ctrlClient , namespace , openStackMachine .Spec .CloudsSecret .Name , openStackMachine .Spec .CloudName )
53
55
if err != nil {
54
56
return nil , nil , err
55
57
}
56
58
}
57
59
return NewClient (cloud , caCert )
58
60
}
59
61
60
- func NewClientFromCluster (ctrlClient client.Client , openStackCluster * infrav1.OpenStackCluster ) (* gophercloud.ProviderClient , * clientconfig.ClientOpts , error ) {
62
+ func NewClientFromCluster (ctx context. Context , ctrlClient client.Client , openStackCluster * infrav1.OpenStackCluster ) (* gophercloud.ProviderClient , * clientconfig.ClientOpts , error ) {
61
63
var cloud clientconfig.Cloud
62
64
var caCert []byte
63
65
@@ -67,7 +69,7 @@ func NewClientFromCluster(ctrlClient client.Client, openStackCluster *infrav1.Op
67
69
namespace = openStackCluster .Namespace
68
70
}
69
71
var err error
70
- cloud , caCert , err = getCloudFromSecret (ctrlClient , namespace , openStackCluster .Spec .CloudsSecret .Name , openStackCluster .Spec .CloudName )
72
+ cloud , caCert , err = getCloudFromSecret (ctx , ctrlClient , namespace , openStackCluster .Spec .CloudsSecret .Name , openStackCluster .Spec .CloudName )
71
73
if err != nil {
72
74
return nil , nil , err
73
75
}
@@ -106,16 +108,28 @@ func NewClient(cloud clientconfig.Cloud, caCert []byte) (*gophercloud.ProviderCl
106
108
}
107
109
108
110
provider .HTTPClient .Transport = & http.Transport {Proxy : http .ProxyFromEnvironment , TLSClientConfig : config }
111
+ if klog .V (6 ).Enabled () {
112
+ provider .HTTPClient .Transport = & osclient.RoundTripper {
113
+ Rt : provider .HTTPClient .Transport ,
114
+ Logger : & defaultLogger {},
115
+ }
116
+ }
109
117
err = openstack .Authenticate (provider , * opts )
110
118
if err != nil {
111
119
return nil , nil , fmt .Errorf ("providerClient authentication err: %v" , err )
112
120
}
113
121
return provider , clientOpts , nil
114
122
}
115
123
124
+ type defaultLogger struct {}
125
+
126
+ // Printf is a default Printf method.
127
+ func (defaultLogger ) Printf (format string , args ... interface {}) {
128
+ klog .V (6 ).Infof (format , args ... )
129
+ }
130
+
116
131
// getCloudFromSecret extract a Cloud from the given namespace:secretName.
117
- func getCloudFromSecret (ctrlClient client.Client , secretNamespace string , secretName string , cloudName string ) (clientconfig.Cloud , []byte , error ) {
118
- ctx := context .TODO ()
132
+ func getCloudFromSecret (ctx context.Context , ctrlClient client.Client , secretNamespace string , secretName string , cloudName string ) (clientconfig.Cloud , []byte , error ) {
119
133
emptyCloud := clientconfig.Cloud {}
120
134
121
135
if secretName == "" {
0 commit comments