Auto-update dependencies (#112)

Produced via:
  `dep ensure -update knative.dev/test-infra knative.dev/pkg`
/assign mattmoor
This commit is contained in:
mattmoor-sockpuppet 2019-09-30 10:51:46 -07:00 committed by Knative Prow Robot
parent 9e4109bae8
commit 2ea8392af2
4 changed files with 84 additions and 60 deletions

6
Gopkg.lock generated
View File

@ -927,7 +927,7 @@
[[projects]]
branch = "master"
digest = "1:d772e1e5cb8dee04f869b516c450bb12ca799de9add802a07c49c8c8cf0907ad"
digest = "1:cf1f8c7dd0c71d2e26bce8889404ede818a53aff0453aa187ead7c9a48103ea9"
name = "knative.dev/pkg"
packages = [
"apis",
@ -946,7 +946,7 @@
"metrics/metricskey",
]
pruneopts = "T"
revision = "d02c80dc625667d793a732b019503197913fa756"
revision = "43f0d8fdb9183d6fd95f021d2888c560d2a8c8ff"
[[projects]]
branch = "master"
@ -957,7 +957,7 @@
"tools/dep-collector",
]
pruneopts = "UT"
revision = "5d51ed40c38a606beaa42197961edb6d737227fc"
revision = "f0bc0373119bd2d8f7a059d377438b64deb32ff1"
[[projects]]
digest = "1:8730e0150dfb2b7e173890c8b9868e7a273082ef8e39f4940e3506a481cf895c"

10
vendor/knative.dev/pkg/Gopkg.lock generated vendored
View File

@ -411,7 +411,7 @@
version = "1.0.1"
[[projects]]
digest = "1:1dd0ef584fe04a3e14297c004da996de66c1816666d25836d24696bea6194a63"
digest = "1:ba4312bc8a900105f0c5b85d23b289d594dc88af6608ce971c8696435f43ae85"
name = "github.com/openzipkin/zipkin-go"
packages = [
".",
@ -423,8 +423,8 @@
"reporter/recorder",
]
pruneopts = "NUT"
revision = "1277a5f30075b9c13d37775aed4f0f3b44d1a710"
version = "v0.2.0"
revision = "c29478e51bfb2e9c93e0e9f5e015e5993a490399"
version = "v0.2.2"
[[projects]]
digest = "1:14715f705ff5dfe0ffd6571d7d201dd8e921030f8070321a79380d8ca4ec1a24"
@ -1251,14 +1251,14 @@
[[projects]]
branch = "master"
digest = "1:d65a0f4c8458b9720f97b17d6d04c9efe341298f1c3f6c37e124a6c83c716668"
digest = "1:8009d9ea7464198279c5c1b1a760365c1f731aa88239632c08929df5b7f323f6"
name = "knative.dev/test-infra"
packages = [
"scripts",
"tools/dep-collector",
]
pruneopts = "UT"
revision = "0496d5ca277c0826349264be609cb0bdf8ad5b64"
revision = "5d51ed40c38a606beaa42197961edb6d737227fc"
[[projects]]
digest = "1:8730e0150dfb2b7e173890c8b9868e7a273082ef8e39f4940e3506a481cf895c"

View File

@ -49,13 +49,11 @@ aliases:
productivity-approvers:
- adrcunha
- chaodaiG
- srinivashegde86
productivity-reviewers:
- adrcunha
- chaodaiG
- coryrc
- Fredy-Z
- srinivashegde86
- chizhg
- steuhs
- yt3liu

View File

@ -39,6 +39,7 @@ const (
DefaultGKEZone = ""
regionEnv = "E2E_CLUSTER_REGION"
backupRegionEnv = "E2E_CLUSTER_BACKUP_REGIONS"
defaultGKEVersion = "latest"
)
var (
@ -57,13 +58,35 @@ type GKEClient struct {
// GKERequest contains all requests collected for cluster creation
type GKERequest struct {
MinNodes int64
MaxNodes int64
NodeType string
Region string
Zone string
// Project: GKE project, no default. Fall back to get project from kubeconfig
// then gcloud config
Project string
// ClusterName: custom cluster name to use. Fall back to cluster set by
// kubeconfig, else composed as k[REPO]-cls-e2e-[BUILD_ID]
ClusterName string
// MinNodes: default to 1 if not provided
MinNodes int64
// MaxNodes: default to max(3, MinNodes) if not provided
MaxNodes int64
// NodeType: default to n1-standard-4 if not provided
NodeType string
// Region: default to regional cluster if not provided, and use default backup regions
Region string
// Zone: default is none, must be provided together with region
Zone string
// BackupRegions: fall back regions to try out in case of cluster creation
// failure due to regional issue(s)
BackupRegions []string
Addons []string
// Addons: cluster addons to be added to cluster, such as istio
Addons []string
}
// GKECluster implements ClusterOperations
@ -123,55 +146,50 @@ func (gsc *GKESDKClient) setAutoscaling(project, clusterName, location, nodepool
return gsc.Service.Projects.Locations.Clusters.NodePools.SetAutoscaling(parent, rb).Do()
}
// Setup sets up a GKECluster client.
// minNodes: default to 1 if not provided
// maxNodes: default to 3 if not provided
// nodeType: default to n1-standard-4 if not provided
// region: default to regional cluster if not provided, and use default backup regions
// zone: default is none, must be provided together with region
// project: no default
// addons: cluster addons to be added to cluster
func (gs *GKEClient) Setup(minNodes *int64, maxNodes *int64, nodeType *string, region *string, zone *string, project *string, addons []string) ClusterOperations {
gc := &GKECluster{
Request: &GKERequest{
MinNodes: DefaultGKEMinNodes,
MaxNodes: DefaultGKEMaxNodes,
NodeType: DefaultGKENodeType,
Region: DefaultGKERegion,
Zone: DefaultGKEZone,
BackupRegions: DefaultGKEBackupRegions,
Addons: addons,
},
}
// Setup sets up a GKECluster client, takes GEKRequest as parameter and applies
// all defaults if not defined.
func (gs *GKEClient) Setup(r GKERequest) ClusterOperations {
gc := &GKECluster{}
if project != nil { // use provided project and create cluster
gc.Project = project
if r.Project != "" { // use provided project and create cluster
gc.Project = &r.Project
gc.NeedCleanup = true
}
if minNodes != nil {
gc.Request.MinNodes = *minNodes
if r.MinNodes == 0 {
r.MinNodes = DefaultGKEMinNodes
}
if maxNodes != nil {
gc.Request.MaxNodes = *maxNodes
if r.MaxNodes == 0 {
r.MaxNodes = DefaultGKEMaxNodes
// We don't want MaxNodes < MinNodes
if r.MinNodes > r.MaxNodes {
r.MaxNodes = r.MinNodes
}
}
if nodeType != nil {
gc.Request.NodeType = *nodeType
if r.NodeType == "" {
r.NodeType = DefaultGKENodeType
}
if region != nil {
gc.Request.Region = *region
// Only use default backup regions if region is not provided
if len(r.BackupRegions) == 0 && r.Region == "" {
r.BackupRegions = DefaultGKEBackupRegions
if common.GetOSEnv(backupRegionEnv) != "" {
r.BackupRegions = strings.Split(common.GetOSEnv(backupRegionEnv), " ")
}
}
if common.GetOSEnv(regionEnv) != "" {
gc.Request.Region = common.GetOSEnv(regionEnv)
if r.Region == "" {
r.Region = DefaultGKERegion
if common.GetOSEnv(regionEnv) != "" {
r.Region = common.GetOSEnv(regionEnv)
}
}
if common.GetOSEnv(backupRegionEnv) != "" {
gc.Request.BackupRegions = strings.Split(common.GetOSEnv(backupRegionEnv), " ")
}
if zone != nil {
gc.Request.Zone = *zone
gc.Request.BackupRegions = make([]string, 0)
if r.Zone == "" {
r.Zone = DefaultGKEZone
} else { // No backupregions if zone is provided
r.BackupRegions = make([]string, 0)
}
gc.Request = &r
ctx := context.Background()
c, err := google.DefaultClient(ctx, container.CloudPlatformScope)
if err != nil {
@ -189,8 +207,8 @@ func (gs *GKEClient) Setup(minNodes *int64, maxNodes *int64, nodeType *string, r
return gc
}
// Initialize sets up GKE SDK client, checks environment for cluster and
// projects to decide whether use existing cluster/project or creating new ones.
// Initialize checks environment for cluster and projects to decide whether using
// existing cluster/project or creating new ones.
func (gc *GKECluster) Initialize() error {
// Try obtain project name via `kubectl`, `gcloud`
if gc.Project == nil {
@ -229,15 +247,20 @@ func (gc *GKECluster) Provider() string {
// Region or Zone is provided then there is no retries
func (gc *GKECluster) Acquire() error {
gc.ensureProtected()
var clusterName string
var err error
// Check if using existing cluster
if gc.Cluster != nil {
return nil
}
// Perform GKE specific cluster creation logics
clusterName, err := getResourceName(ClusterResource)
if err != nil {
return fmt.Errorf("failed getting cluster name: '%v'", err)
if gc.Request.ClusterName == "" {
clusterName, err = getResourceName(ClusterResource)
if err != nil {
return fmt.Errorf("failed getting cluster name: '%v'", err)
}
} else {
clusterName = gc.Request.ClusterName
}
regions := []string{gc.Request.Region}
@ -260,6 +283,9 @@ func (gc *GKECluster) Acquire() error {
rb := &container.CreateClusterRequest{
Cluster: &container.Cluster{
Name: clusterName,
// The default cluster version is not latest, has to explicitly
// set it as "latest"
InitialClusterVersion: defaultGKEVersion,
// Installing addons after cluster creation takes at least 5
// minutes, so install addons as part of cluster creation, which
// doesn't seem to add much time on top of cluster creation