Add Kubernetes user agent to GCP API calls.

This commit is contained in:
Erik McClenney 2017-08-16 11:37:24 -07:00
parent 6bc0b295b5
commit ba974dbbc7
2 changed files with 9 additions and 0 deletions

View File

@ -47,6 +47,7 @@ go_library(
"//pkg/master/ports:go_default_library", "//pkg/master/ports:go_default_library",
"//pkg/util/net/sets:go_default_library", "//pkg/util/net/sets:go_default_library",
"//pkg/util/version:go_default_library", "//pkg/util/version:go_default_library",
"//pkg/version:go_default_library",
"//pkg/volume:go_default_library", "//pkg/volume:go_default_library",
"//vendor/cloud.google.com/go/compute/metadata:go_default_library", "//vendor/cloud.google.com/go/compute/metadata:go_default_library",
"//vendor/github.com/golang/glog:go_default_library", "//vendor/github.com/golang/glog:go_default_library",

View File

@ -21,6 +21,7 @@ import (
"io" "io"
"net/http" "net/http"
"regexp" "regexp"
"runtime"
"strings" "strings"
"sync" "sync"
"time" "time"
@ -34,6 +35,7 @@ import (
"k8s.io/client-go/util/flowcontrol" "k8s.io/client-go/util/flowcontrol"
"k8s.io/kubernetes/pkg/cloudprovider" "k8s.io/kubernetes/pkg/cloudprovider"
"k8s.io/kubernetes/pkg/controller" "k8s.io/kubernetes/pkg/controller"
"k8s.io/kubernetes/pkg/version"
"github.com/golang/glog" "github.com/golang/glog"
"golang.org/x/oauth2" "golang.org/x/oauth2"
@ -301,6 +303,7 @@ func generateCloudConfig(configFile *ConfigFile) (cloudConfig *CloudConfig, err
// If no tokenSource is specified, uses oauth2.DefaultTokenSource. // If no tokenSource is specified, uses oauth2.DefaultTokenSource.
// If managedZones is nil / empty all zones in the region will be managed. // If managedZones is nil / empty all zones in the region will be managed.
func CreateGCECloud(config *CloudConfig) (*GCECloud, error) { func CreateGCECloud(config *CloudConfig) (*GCECloud, error) {
userAgent := fmt.Sprintf("(%s %s) Kubernetes/%s", runtime.GOOS, runtime.GOARCH, version.Get().GitVersion)
client, err := newOauthClient(config.TokenSource) client, err := newOauthClient(config.TokenSource)
if err != nil { if err != nil {
@ -310,6 +313,7 @@ func CreateGCECloud(config *CloudConfig) (*GCECloud, error) {
if err != nil { if err != nil {
return nil, err return nil, err
} }
service.UserAgent = userAgent
client, err = newOauthClient(config.TokenSource) client, err = newOauthClient(config.TokenSource)
if err != nil { if err != nil {
@ -319,6 +323,7 @@ func CreateGCECloud(config *CloudConfig) (*GCECloud, error) {
if err != nil { if err != nil {
return nil, err return nil, err
} }
serviceBeta.UserAgent = userAgent
client, err = newOauthClient(config.TokenSource) client, err = newOauthClient(config.TokenSource)
if err != nil { if err != nil {
@ -328,6 +333,7 @@ func CreateGCECloud(config *CloudConfig) (*GCECloud, error) {
if err != nil { if err != nil {
return nil, err return nil, err
} }
serviceAlpha.UserAgent = userAgent
// Expect override api endpoint to always be v1 api and follows the same pattern as prod. // Expect override api endpoint to always be v1 api and follows the same pattern as prod.
// Generate alpha and beta api endpoints based on override v1 api endpoint. // Generate alpha and beta api endpoints based on override v1 api endpoint.
@ -343,11 +349,13 @@ func CreateGCECloud(config *CloudConfig) (*GCECloud, error) {
if err != nil { if err != nil {
return nil, err return nil, err
} }
containerService.UserAgent = userAgent
cloudkmsService, err := cloudkms.New(client) cloudkmsService, err := cloudkms.New(client)
if err != nil { if err != nil {
return nil, err return nil, err
} }
cloudkmsService.UserAgent = userAgent
if config.NetworkURL == "" { if config.NetworkURL == "" {
networkName, err := getNetworkNameViaAPICall(service, config.ProjectID) networkName, err := getNetworkNameViaAPICall(service, config.ProjectID)