#!/bin/bash # Copyright 2014 The Kubernetes Authors. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # TODO(jbeda): Provide a way to override project # gcloud multiplexing for shared GCE/GKE tests. global KUBE_ROOT := "$[dirname $(BASH_SOURCE)]/../.." source "$(KUBE_ROOT)/cluster/gce/config-common.sh" # Specifying KUBE_GCE_API_ENDPOINT will override the default GCE Compute API endpoint (https://www.googleapis.com/compute/v1/). # This endpoint has to be pointing to v1 api. For example, https://www.googleapis.com/compute/staging_v1/ global GCE_API_ENDPOINT := $(KUBE_GCE_API_ENDPOINT:-) global GCLOUD := 'gcloud' global ZONE := $(KUBE_GCE_ZONE:-us-central1-b) global REGION := $(ZONE%-*) global RELEASE_REGION_FALLBACK := $(RELEASE_REGION_FALLBACK:-false) global REGIONAL_KUBE_ADDONS := $(REGIONAL_KUBE_ADDONS:-true) global NODE_SIZE := $(NODE_SIZE:-n1-standard-2) global NUM_NODES := $(NUM_NODES:-3) global MASTER_SIZE := $(MASTER_SIZE:-n1-standard-$(get-master-size)) global MASTER_DISK_TYPE := 'pd-ssd' global MASTER_DISK_SIZE := $(MASTER_DISK_SIZE:-$(get-master-disk-size)) global MASTER_ROOT_DISK_SIZE := $(MASTER_ROOT_DISK_SIZE:-$(get-master-root-disk-size)) global NODE_DISK_TYPE := $(NODE_DISK_TYPE:-pd-standard) global NODE_DISK_SIZE := $(NODE_DISK_SIZE:-100GB) global NODE_LOCAL_SSDS := $(NODE_LOCAL_SSDS:-0) global NODE_ACCELERATORS := $(NODE_ACCELERATORS:-"") global REGISTER_MASTER_KUBELET := $(REGISTER_MASTER:-true) global KUBE_APISERVER_REQUEST_TIMEOUT := '300' global PREEMPTIBLE_NODE := $(PREEMPTIBLE_NODE:-false) global PREEMPTIBLE_MASTER := $(PREEMPTIBLE_MASTER:-false) global KUBE_DELETE_NODES := $(KUBE_DELETE_NODES:-true) global KUBE_DELETE_NETWORK := $(KUBE_DELETE_NETWORK:-true) global CREATE_CUSTOM_NETWORK := $(CREATE_CUSTOM_NETWORK:-false) global MASTER_OS_DISTRIBUTION := $(KUBE_MASTER_OS_DISTRIBUTION:-${KUBE_OS_DISTRIBUTION:-gci}) global NODE_OS_DISTRIBUTION := $(KUBE_NODE_OS_DISTRIBUTION:-${KUBE_OS_DISTRIBUTION:-gci}) if [[ "${MASTER_OS_DISTRIBUTION}" == "coreos" ]] { global MASTER_OS_DISTRIBUTION := '"container-linux'" } if [[ "${NODE_OS_DISTRIBUTION}" == "coreos" ]] { global NODE_OS_DISTRIBUTION := '"container-linux'" } if [[ "${MASTER_OS_DISTRIBUTION}" == "cos" ]] { global MASTER_OS_DISTRIBUTION := '"gci'" } if [[ "${NODE_OS_DISTRIBUTION}" == "cos" ]] { global NODE_OS_DISTRIBUTION := '"gci'" } # GPUs supported in GCE do not have compatible drivers in Debian 7. if [[ "${NODE_OS_DISTRIBUTION}" == "debian" ]] { global NODE_ACCELERATORS := ''"" } # By default a cluster will be started with the master and nodes # on Container-optimized OS (cos, previously known as gci). If # you are updating the os image versions, update this variable. # Also please update corresponding image for node e2e at: # https://github.com/kubernetes/kubernetes/blob/master/test/e2e_node/jenkins/image-config.yaml global CVM_VERSION := $(CVM_VERSION:-container-vm-v20170627) global GCI_VERSION := $(KUBE_GCI_VERSION:-cos-stable-60-9592-90-0) global MASTER_IMAGE := $(KUBE_GCE_MASTER_IMAGE:-) global MASTER_IMAGE_PROJECT := $(KUBE_GCE_MASTER_PROJECT:-cos-cloud) global NODE_IMAGE := $(KUBE_GCE_NODE_IMAGE:-${GCI_VERSION}) global NODE_IMAGE_PROJECT := $(KUBE_GCE_NODE_PROJECT:-cos-cloud) global CONTAINER_RUNTIME := $(KUBE_CONTAINER_RUNTIME:-docker) global GCI_DOCKER_VERSION := $(KUBE_GCI_DOCKER_VERSION:-) global RKT_VERSION := $(KUBE_RKT_VERSION:-1.23.0) global RKT_STAGE1_IMAGE := $(KUBE_RKT_STAGE1_IMAGE:-coreos.com/rkt/stage1-coreos) global NETWORK := $(KUBE_GCE_NETWORK:-e2e-test-${USER}) if [[ "${CREATE_CUSTOM_NETWORK}" == true ]] { global SUBNETWORK := $(SUBNETWORK:-${NETWORK}-custom-subnet) } global INSTANCE_PREFIX := $(KUBE_GCE_INSTANCE_PREFIX:-e2e-test-${USER}) global CLUSTER_NAME := $(CLUSTER_NAME:-${INSTANCE_PREFIX}) global MASTER_NAME := ""$(INSTANCE_PREFIX)-master"" global AGGREGATOR_MASTER_NAME := ""$(INSTANCE_PREFIX)-aggregator"" global INITIAL_ETCD_CLUSTER := $(MASTER_NAME) global ETCD_QUORUM_READ := $(ENABLE_ETCD_QUORUM_READ:-false) global MASTER_TAG := ""$(INSTANCE_PREFIX)-master"" global NODE_TAG := ""$(INSTANCE_PREFIX)-minion"" global CLUSTER_IP_RANGE := $(CLUSTER_IP_RANGE:-$(get-cluster-ip-range)) global MASTER_IP_RANGE := $(MASTER_IP_RANGE:-10.246.0.0/24) # NODE_IP_RANGE is used when ENABLE_IP_ALIASES=true or CREATE_CUSTOM_NETWORK=true. # It is the primary range in the subnet and is the range used for node instance IPs. global NODE_IP_RANGE := $[get-node-ip-range] global RUNTIME_CONFIG := $(KUBE_RUNTIME_CONFIG:-) # Optional: set feature gates global FEATURE_GATES := $(KUBE_FEATURE_GATES:-ExperimentalCriticalPodAnnotation=true) if [[ ! -z "${NODE_ACCELERATORS}" ]] { global FEATURE_GATES := ""$(FEATURE_GATES),Accelerators=true"" } global TERMINATED_POD_GC_THRESHOLD := $(TERMINATED_POD_GC_THRESHOLD:-100) # Extra docker options for nodes. global EXTRA_DOCKER_OPTS := $(EXTRA_DOCKER_OPTS:-) # Enable the docker debug mode. global EXTRA_DOCKER_OPTS := ""$(EXTRA_DOCKER_OPTS) --debug"" global SERVICE_CLUSTER_IP_RANGE := '"10.0.0.0/16'" # formerly PORTAL_NET # When set to true, Docker Cache is enabled by default as part of the cluster bring up. global ENABLE_DOCKER_REGISTRY_CACHE := 'true' # Optional: Deploy a L7 loadbalancer controller to fulfill Ingress requests: # glbc - CE L7 Load Balancer Controller global ENABLE_L7_LOADBALANCING := $(KUBE_ENABLE_L7_LOADBALANCING:-glbc) # Optional: Cluster monitoring to setup as part of the cluster bring up: # none - No cluster monitoring setup # influxdb - Heapster, InfluxDB, and Grafana # google - Heapster, Google Cloud Monitoring, and Google Cloud Logging # stackdriver - Heapster, Google Cloud Monitoring (schema container), and Google Cloud Logging # googleinfluxdb - Enable influxdb and google (except GCM) # standalone - Heapster only. Metrics available via Heapster REST API. global ENABLE_CLUSTER_MONITORING := $(KUBE_ENABLE_CLUSTER_MONITORING:-influxdb) # Optional: Enable Metrics Server. Metrics Server should be enable everywhere, # since it's a critical component, but in the first release we need a way to disable # this in case of stability issues. # TODO(piosz) remove this option once Metrics Server became a stable thing. global ENABLE_METRICS_SERVER := $(KUBE_ENABLE_METRICS_SERVER:-true) # One special node out of NUM_NODES would be created of this type if specified. # Useful for scheduling heapster in large clusters with nodes of small size. global HEAPSTER_MACHINE_TYPE := $(HEAPSTER_MACHINE_TYPE:-) # Set etcd image (e.g. gcr.io/google_containers/etcd) and version (e.g. 3.1.10) if you need # non-default version. global ETCD_IMAGE := $(TEST_ETCD_IMAGE:-) global ETCD_DOCKER_REPOSITORY := $(TEST_ETCD_DOCKER_REPOSITORY:-) global ETCD_VERSION := $(TEST_ETCD_VERSION:-) # Default Log level for all components in test clusters and variables to override it in specific components. global TEST_CLUSTER_LOG_LEVEL := $(TEST_CLUSTER_LOG_LEVEL:---v=4) global KUBELET_TEST_LOG_LEVEL := $(KUBELET_TEST_LOG_LEVEL:-$TEST_CLUSTER_LOG_LEVEL) global DOCKER_TEST_LOG_LEVEL := $(DOCKER_TEST_LOG_LEVEL:---log-level=info) global API_SERVER_TEST_LOG_LEVEL := $(API_SERVER_TEST_LOG_LEVEL:-$TEST_CLUSTER_LOG_LEVEL) global CONTROLLER_MANAGER_TEST_LOG_LEVEL := $(CONTROLLER_MANAGER_TEST_LOG_LEVEL:-$TEST_CLUSTER_LOG_LEVEL) global SCHEDULER_TEST_LOG_LEVEL := $(SCHEDULER_TEST_LOG_LEVEL:-$TEST_CLUSTER_LOG_LEVEL) global KUBEPROXY_TEST_LOG_LEVEL := $(KUBEPROXY_TEST_LOG_LEVEL:-$TEST_CLUSTER_LOG_LEVEL) # TODO: change this and flex e2e test when default flex volume install path is changed for GCI # Set flex dir to one that's readable from controller-manager container and writable by the flex e2e test. if [[ "${MASTER_OS_DISTRIBUTION}" == "gci" ]] { global CONTROLLER_MANAGER_TEST_VOLUME_PLUGIN_DIR := '"--flex-volume-plugin-dir=/etc/srv/kubernetes/kubelet-plugins/volume/exec'" } # Set flex dir to one that's readable from kubelet and writable by the flex e2e test. if [[ "${NODE_OS_DISTRIBUTION}" == "gci" ]] || shell {[[ "${MASTER_OS_DISTRIBUTION}" == "gci" ]] && [[ "${REGISTER_MASTER_KUBELET}" == "false" ]]} { global KUBELET_TEST_VOLUME_PLUGIN_DIR := '"--volume-plugin-dir=/etc/srv/kubernetes/kubelet-plugins/volume/exec'" } global TEST_CLUSTER_DELETE_COLLECTION_WORKERS := $(TEST_CLUSTER_DELETE_COLLECTION_WORKERS:---delete-collection-workers=1) global TEST_CLUSTER_MAX_REQUESTS_INFLIGHT := $(TEST_CLUSTER_MAX_REQUESTS_INFLIGHT:-) global TEST_CLUSTER_RESYNC_PERIOD := $(TEST_CLUSTER_RESYNC_PERIOD:---min-resync-period=3m) # ContentType used by all components to communicate with apiserver. global TEST_CLUSTER_API_CONTENT_TYPE := $(TEST_CLUSTER_API_CONTENT_TYPE:-) global KUBELET_TEST_ARGS := ""$(KUBELET_TEST_ARGS:-) --max-pods=110 --serialize-image-pulls=false $(TEST_CLUSTER_API_CONTENT_TYPE) $(KUBELET_TEST_VOLUME_PLUGIN_DIR:-)"" if [[ "${NODE_OS_DISTRIBUTION}" == "gci" ]] || [[ "${NODE_OS_DISTRIBUTION}" == "ubuntu" ]] { global NODE_KUBELET_TEST_ARGS := '" --experimental-kernel-memcg-notification=true'" } if [[ "${MASTER_OS_DISTRIBUTION}" == "gci" ]] || [[ "${MASTER_OS_DISTRIBUTION}" == "ubuntu" ]] { global MASTER_KUBELET_TEST_ARGS := '" --experimental-kernel-memcg-notification=true'" } global APISERVER_TEST_ARGS := ""$(APISERVER_TEST_ARGS:-) --runtime-config=extensions/v1beta1 $(TEST_CLUSTER_DELETE_COLLECTION_WORKERS) $(TEST_CLUSTER_MAX_REQUESTS_INFLIGHT)"" global CONTROLLER_MANAGER_TEST_ARGS := ""$(CONTROLLER_MANAGER_TEST_ARGS:-) $(TEST_CLUSTER_RESYNC_PERIOD) $(TEST_CLUSTER_API_CONTENT_TYPE) $(CONTROLLER_MANAGER_TEST_VOLUME_PLUGIN_DIR:-)"" global SCHEDULER_TEST_ARGS := ""$(SCHEDULER_TEST_ARGS:-) $(TEST_CLUSTER_API_CONTENT_TYPE)"" global KUBEPROXY_TEST_ARGS := ""$(KUBEPROXY_TEST_ARGS:-) $(TEST_CLUSTER_API_CONTENT_TYPE)"" # Historically fluentd was a manifest pod and then was migrated to DaemonSet. # To avoid situation during cluster upgrade when there are two instances # of fluentd running on a node, kubelet need to mark node on which # fluentd is not running as a manifest pod with appropriate label. # TODO(piosz): remove this in 1.8 global NODE_LABELS := $(KUBE_NODE_LABELS:-beta.kubernetes.io/fluentd-ds-ready=true) # To avoid running Calico on a node that is not configured appropriately, # label each Node so that the DaemonSet can run the Pods only on ready Nodes. if [[ ${NETWORK_POLICY_PROVIDER:-} == "calico" ]] { global NODE_LABELS := ""$NODE_LABELS,projectcalico.org/ds-ready=true"" } # Apply the right node label if metadata proxy is on. if [[ ${ENABLE_METADATA_PROXY:-} == "simple" ]] { global NODE_LABELS := ""$(NODE_LABELS),beta.kubernetes.io/metadata-proxy-ready=true"" } # Optional: Enable node logging. global ENABLE_NODE_LOGGING := $(KUBE_ENABLE_NODE_LOGGING:-true) global LOGGING_DESTINATION := $(KUBE_LOGGING_DESTINATION:-gcp) # options: elasticsearch, gcp # Optional: When set to true, Elasticsearch and Kibana will be setup as part of the cluster bring up. global ENABLE_CLUSTER_LOGGING := $(KUBE_ENABLE_CLUSTER_LOGGING:-true) global ELASTICSEARCH_LOGGING_REPLICAS := '1' # Optional: Don't require https for registries in our local RFC1918 network if [[ ${KUBE_ENABLE_INSECURE_REGISTRY:-false} == "true" ]] { global EXTRA_DOCKER_OPTS := ""$(EXTRA_DOCKER_OPTS) --insecure-registry 10.0.0.0/8"" } # Optional: Install cluster DNS. global ENABLE_CLUSTER_DNS := $(KUBE_ENABLE_CLUSTER_DNS:-true) global DNS_SERVER_IP := '"10.0.0.10'" global DNS_DOMAIN := '"cluster.local'" # Optional: Enable DNS horizontal autoscaler global ENABLE_DNS_HORIZONTAL_AUTOSCALER := $(KUBE_ENABLE_DNS_HORIZONTAL_AUTOSCALER:-true) # Optional: Install cluster docker registry. global ENABLE_CLUSTER_REGISTRY := $(KUBE_ENABLE_CLUSTER_REGISTRY:-false) global CLUSTER_REGISTRY_DISK := $(CLUSTER_REGISTRY_DISK:-${INSTANCE_PREFIX}-kube-system-kube-registry) global CLUSTER_REGISTRY_DISK_SIZE := $(CLUSTER_REGISTRY_DISK_SIZE:-200GB) global CLUSTER_REGISTRY_DISK_TYPE_GCE := $(CLUSTER_REGISTRY_DISK_TYPE_GCE:-pd-standard) # Optional: Install Kubernetes UI global ENABLE_CLUSTER_UI := $(KUBE_ENABLE_CLUSTER_UI:-true) # Optional: Install node problem detector. # none - Not run node problem detector. # daemonset - Run node problem detector as daemonset. # standalone - Run node problem detector as standalone system daemon. if [[ "${NODE_OS_DISTRIBUTION}" == "gci" ]] { # Enable standalone mode by default for gci. global ENABLE_NODE_PROBLEM_DETECTOR := $(KUBE_ENABLE_NODE_PROBLEM_DETECTOR:-standalone) } else { global ENABLE_NODE_PROBLEM_DETECTOR := $(KUBE_ENABLE_NODE_PROBLEM_DETECTOR:-daemonset) } global NODE_PROBLEM_DETECTOR_VERSION := $(NODE_PROBLEM_DETECTOR_VERSION:-) global NODE_PROBLEM_DETECTOR_TAR_HASH := $(NODE_PROBLEM_DETECTOR_TAR_HASH:-) # Optional: Create autoscaler for cluster's nodes. global ENABLE_CLUSTER_AUTOSCALER := $(KUBE_ENABLE_CLUSTER_AUTOSCALER:-false) if [[ "${ENABLE_CLUSTER_AUTOSCALER}" == "true" ]] { global AUTOSCALER_MIN_NODES := $(KUBE_AUTOSCALER_MIN_NODES:-) global AUTOSCALER_MAX_NODES := $(KUBE_AUTOSCALER_MAX_NODES:-) global AUTOSCALER_ENABLE_SCALE_DOWN := $(KUBE_AUTOSCALER_ENABLE_SCALE_DOWN:-false) global AUTOSCALER_EXPANDER_CONFIG := $(KUBE_AUTOSCALER_EXPANDER_CONFIG:---expander=price) } # Optional: Enable Rescheduler global ENABLE_RESCHEDULER := $(KUBE_ENABLE_RESCHEDULER:-true) # Optional: Enable allocation of pod IPs using IP aliases. # # BETA FEATURE. # # IP_ALIAS_SIZE is the size of the podCIDR allocated to a node. # IP_ALIAS_SUBNETWORK is the subnetwork to allocate from. If empty, a # new subnetwork will be created for the cluster. global ENABLE_IP_ALIASES := $(KUBE_GCE_ENABLE_IP_ALIASES:-false) if test $(ENABLE_IP_ALIASES) = true { # Size of ranges allocated to each node. gcloud current supports only /32 and /24. global IP_ALIAS_SIZE := $(KUBE_GCE_IP_ALIAS_SIZE:-/24) global IP_ALIAS_SUBNETWORK := $(KUBE_GCE_IP_ALIAS_SUBNETWORK:-${INSTANCE_PREFIX}-subnet-default) # Reserve the services IP space to avoid being allocated for other GCP resources. global SERVICE_CLUSTER_IP_SUBNETWORK := $(KUBE_GCE_SERVICE_CLUSTER_IP_SUBNETWORK:-${INSTANCE_PREFIX}-subnet-services) # Add to the provider custom variables. global PROVIDER_VARS := ""$(PROVIDER_VARS:-) ENABLE_IP_ALIASES"" } # Enable GCE Alpha features. if [[ -n "${GCE_ALPHA_FEATURES:-}" ]] { global PROVIDER_VARS := ""$(PROVIDER_VARS:-) GCE_ALPHA_FEATURES"" } # If we included ResourceQuota, we should keep it at the end of the list to prevent incrementing quota usage prematurely. global ADMISSION_CONTROL := $(KUBE_ADMISSION_CONTROL:-Initializers,NamespaceLifecycle,LimitRanger,ServiceAccount,PersistentVolumeLabel,PodPreset,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,Priority,ResourceQuota) # Optional: if set to true kube-up will automatically check for existing resources and clean them up. global KUBE_UP_AUTOMATIC_CLEANUP := $(KUBE_UP_AUTOMATIC_CLEANUP:-false) # Optional: setting it to true denotes this is a testing cluster, # so that we can use pulled kubernetes binaries, even if binaries # are pre-installed in the image. Note that currently this logic # is only supported in trusty or GCI. global TEST_CLUSTER := $(TEST_CLUSTER:-true) # Storage backend. 'etcd2' and 'etcd3' are supported. global STORAGE_BACKEND := $(STORAGE_BACKEND:-) # Storage media type: application/json and application/vnd.kubernetes.protobuf are supported. global STORAGE_MEDIA_TYPE := $(STORAGE_MEDIA_TYPE:-) # OpenContrail networking plugin specific settings global NETWORK_PROVIDER := $(NETWORK_PROVIDER:-kubenet) # none, opencontrail, kubenet global OPENCONTRAIL_TAG := $(OPENCONTRAIL_TAG:-R2.20) global OPENCONTRAIL_KUBERNETES_TAG := $(OPENCONTRAIL_KUBERNETES_TAG:-master) global OPENCONTRAIL_PUBLIC_SUBNET := $(OPENCONTRAIL_PUBLIC_SUBNET:-10.1.0.0/16) # Network Policy plugin specific settings. global NETWORK_POLICY_PROVIDER := $(NETWORK_POLICY_PROVIDER:-none) # calico # How should the kubelet configure hairpin mode? global HAIRPIN_MODE := $(HAIRPIN_MODE:-promiscuous-bridge) # promiscuous-bridge, hairpin-veth, none # Optional: if set to true, kube-up will configure the cluster to run e2e tests. global E2E_STORAGE_TEST_ENVIRONMENT := $(KUBE_E2E_STORAGE_TEST_ENVIRONMENT:-false) # Optional: if set to true, a image puller is deployed. Only for use in e2e clusters. # TODO: Pipe this through GKE e2e clusters once we know it helps. global PREPULL_E2E_IMAGES := $(PREPULL_E2E_IMAGES:-true) # Evict pods whenever compute resource availability on the nodes gets below a threshold. global EVICTION_HARD := $(EVICTION_HARD:-memory.available<250Mi,nodefs.available<10%,nodefs.inodesFree<5%) # Optional: custom scheduling algorithm global SCHEDULING_ALGORITHM_PROVIDER := $(SCHEDULING_ALGORITHM_PROVIDER:-) # Optional: install a default StorageClass global ENABLE_DEFAULT_STORAGE_CLASS := $(ENABLE_DEFAULT_STORAGE_CLASS:-true) # Optional: Enable legacy ABAC policy that makes all service accounts superusers. # Disabling this by default in tests ensures default RBAC policies are sufficient from 1.6+ # Upgrade test jobs that go from a version < 1.6 to a version >= 1.6 should override this to be true. global ENABLE_LEGACY_ABAC := $(ENABLE_LEGACY_ABAC:-false) # true, false # TODO(dawn1107): Remove this once the flag is built into CVM image. # Kernel panic upon soft lockup issue global SOFTLOCKUP_PANIC := $(SOFTLOCKUP_PANIC:-true) # true, false # Enable a simple "AdvancedAuditing" setup for testing. global ENABLE_APISERVER_ADVANCED_AUDIT := $(ENABLE_APISERVER_ADVANCED_AUDIT:-true) # true, false if [[ "${ENABLE_APISERVER_BASIC_AUDIT:-}" == "true" ]] { echo "Warning: Basic audit logging is deprecated and will be removed. Please use advanced auditing instead." } global ENABLE_BIG_CLUSTER_SUBNETS := $(ENABLE_BIG_CLUSTER_SUBNETS:-false) if [[ -n "${LOGROTATE_FILES_MAX_COUNT:-}" ]] { global PROVIDER_VARS := ""$(PROVIDER_VARS:-) LOGROTATE_FILES_MAX_COUNT"" } if [[ -n "${LOGROTATE_MAX_SIZE:-}" ]] { global PROVIDER_VARS := ""$(PROVIDER_VARS:-) LOGROTATE_MAX_SIZE"" } # Fluentd requirements global FLUENTD_GCP_MEMORY_LIMIT := $(FLUENTD_GCP_MEMORY_LIMIT:-300Mi) global FLUENTD_GCP_CPU_REQUEST := $(FLUENTD_GCP_CPU_REQUEST:-100m) global FLUENTD_GCP_MEMORY_REQUEST := $(FLUENTD_GCP_MEMORY_REQUEST:-200Mi) # Heapster requirements global HEAPSTER_GCP_BASE_MEMORY := $(HEAPSTER_GCP_BASE_MEMORY:-140Mi) global HEAPSTER_GCP_MEMORY_PER_NODE := $(HEAPSTER_GCP_MEMORY_PER_NODE:-4) global HEAPSTER_GCP_BASE_CPU := $(HEAPSTER_GCP_BASE_CPU:-80m) global HEAPSTER_GCP_CPU_PER_NODE := $(HEAPSTER_GCP_CPU_PER_NODE:-0.5) # Adding to PROVIDER_VARS, since this is GCP-specific. global PROVIDER_VARS := ""$(PROVIDER_VARS:-) FLUENTD_GCP_MEMORY_LIMIT FLUENTD_GCP_CPU_REQUEST FLUENTD_GCP_MEMORY_REQUEST HEAPSTER_GCP_BASE_MEMORY HEAPSTER_GCP_MEMORY_PER_NODE HEAPSTER_GCP_BASE_CPU HEAPSTER_GCP_CPU_PER_NODE"" # prometheus-to-sd configuration global PROMETHEUS_TO_SD_ENDPOINT := $(PROMETHEUS_TO_SD_ENDPOINT:-https://monitoring.googleapis.com/) global PROMETHEUS_TO_SD_PREFIX := $(PROMETHEUS_TO_SD_PREFIX:-custom.googleapis.com) global ENABLE_PROMETHEUS_TO_SD := $(ENABLE_PROMETHEUS_TO_SD:-true) # TODO(#51292): Make kube-proxy Daemonset default and remove the configuration here. # Optional: [Experiment Only] Run kube-proxy as a DaemonSet if set to true, run as static pods otherwise. global KUBE_PROXY_DAEMONSET := $(KUBE_PROXY_DAEMONSET:-false) # true, false # Optional: duration of cluster signed certificates. global CLUSTER_SIGNING_DURATION := $(CLUSTER_SIGNING_DURATION:-) # Optional: enable pod priority global ENABLE_POD_PRIORITY := $(ENABLE_POD_PRIORITY:-) if [[ "${ENABLE_POD_PRIORITY}" == "true" ]] { global FEATURE_GATES := ""$(FEATURE_GATES),PodPriority=true"" } # Optional: enable certificate rotation of the kubelet certificates. global ROTATE_CERTIFICATES := $(ROTATE_CERTIFICATES:-) # The number of services that are allowed to sync concurrently. Will be passed # into kube-controller-manager via `--concurrent-service-syncs` global CONCURRENT_SERVICE_SYNCS := $(CONCURRENT_SERVICE_SYNCS:-) (CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KUBE_ROOT) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(dirname)} {(DQ (${ VSub_Name BASH_SOURCE))})] ) left_token: spids: [51 59] ) (/../..) } spids: [50] ) ] spids: [50] ) (C {(source)} {(DQ (${ VSub_Name KUBE_ROOT) (/cluster/gce/config-common.sh))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GCE_API_ENDPOINT) op: Equal rhs: { (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{}) spids: [79 82] ) } spids: [78] ) ] spids: [78] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:GCLOUD) op:Equal rhs:{(gcloud)} spids:[84])] spids: [84] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ZONE) op: Equal rhs: { (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(us-central1-b)}) spids: [88 92] ) } spids: [87] ) ] spids: [87] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:REGION) op: Equal rhs: { (BracedVarSub token: suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{("-*")}) spids: [95 99] ) } spids: [94] ) ] spids: [94] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:RELEASE_REGION_FALLBACK) op: Equal rhs: { (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(false)}) spids: [102 106] ) } spids: [101] ) ] spids: [101] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:REGIONAL_KUBE_ADDONS) op: Equal rhs: { (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(true)}) spids: [109 113] ) } spids: [108] ) ] spids: [108] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:NODE_SIZE) op: Equal rhs: { (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(n1-standard-2)}) spids: [116 120] ) } spids: [115] ) ] spids: [115] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:NUM_NODES) op: Equal rhs: { (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(3)}) spids: [123 127] ) } spids: [122] ) ] spids: [122] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:MASTER_SIZE) op: Equal rhs: { (BracedVarSub token: suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {(n1-standard-) (CommandSubPart command_list: (CommandList children:[(C {(get-master-size)})]) left_token: spids: [134 136] ) } ) spids: [130 137] ) } spids: [129] ) ] spids: [129] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:MASTER_DISK_TYPE) op:Equal rhs:{(pd-ssd)} spids:[139])] spids: [139] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:MASTER_DISK_SIZE) op: Equal rhs: { (BracedVarSub token: suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: { (CommandSubPart command_list: (CommandList children:[(C {(get-master-disk-size)})]) left_token: spids: [146 148] ) } ) spids: [143 149] ) } spids: [142] ) ] spids: [142] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:MASTER_ROOT_DISK_SIZE) op: Equal rhs: { (BracedVarSub token: suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: { (CommandSubPart command_list: (CommandList children:[(C {(get-master-root-disk-size)})]) left_token: spids: [155 157] ) } ) spids: [152 158] ) } spids: [151] ) ] spids: [151] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:NODE_DISK_TYPE) op: Equal rhs: { (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(pd-standard)}) spids: [161 165] ) } spids: [160] ) ] spids: [160] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:NODE_DISK_SIZE) op: Equal rhs: { (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(100GB)}) spids: [168 172] ) } spids: [167] ) ] spids: [167] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:NODE_LOCAL_SSDS) op: Equal rhs: { (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(0)}) spids: [175 179] ) } spids: [174] ) ] spids: [174] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:NODE_ACCELERATORS) op: Equal rhs: { (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(DQ )}) spids: [182 187] ) } spids: [181] ) ] spids: [181] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:REGISTER_MASTER_KUBELET) op: Equal rhs: { (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(true)}) spids: [190 194] ) } spids: [189] ) ] spids: [189] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KUBE_APISERVER_REQUEST_TIMEOUT) op: Equal rhs: {(300)} spids: [196] ) ] spids: [196] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PREEMPTIBLE_NODE) op: Equal rhs: { (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(false)}) spids: [200 204] ) } spids: [199] ) ] spids: [199] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PREEMPTIBLE_MASTER) op: Equal rhs: { (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(false)}) spids: [207 211] ) } spids: [206] ) ] spids: [206] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KUBE_DELETE_NODES) op: Equal rhs: { (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(true)}) spids: [214 218] ) } spids: [213] ) ] spids: [213] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KUBE_DELETE_NETWORK) op: Equal rhs: { (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(true)}) spids: [221 225] ) } spids: [220] ) ] spids: [220] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CREATE_CUSTOM_NETWORK) op: Equal rhs: { (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(false)}) spids: [228 232] ) } spids: [227] ) ] spids: [227] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:MASTER_OS_DISTRIBUTION) op: Equal rhs: { (BracedVarSub token: suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: { (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(gci)}) spids: [239 243] ) } ) spids: [236 244] ) } spids: [235] ) ] spids: [235] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:NODE_OS_DISTRIBUTION) op: Equal rhs: { (BracedVarSub token: suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: { (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(gci)}) spids: [250 254] ) } ) spids: [247 255] ) } spids: [246] ) ] spids: [246] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ (${ VSub_Name MASTER_OS_DISTRIBUTION))} right: {(DQ (coreos))} ) ) terminator: ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:MASTER_OS_DISTRIBUTION) op: Equal rhs: {(DQ (container-linux))} spids: [279] ) ] spids: [279] ) ] spids: [-1 276] ) ] spids: [-1 284] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ (${ VSub_Name NODE_OS_DISTRIBUTION))} right: {(DQ (coreos))} ) ) terminator: ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:NODE_OS_DISTRIBUTION) op: Equal rhs: {(DQ (container-linux))} spids: [308] ) ] spids: [308] ) ] spids: [-1 305] ) ] spids: [-1 313] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ (${ VSub_Name MASTER_OS_DISTRIBUTION))} right: {(DQ (cos))} ) ) terminator: ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:MASTER_OS_DISTRIBUTION) op: Equal rhs: {(DQ (gci))} spids: [338] ) ] spids: [338] ) ] spids: [-1 335] ) ] spids: [-1 343] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ (${ VSub_Name NODE_OS_DISTRIBUTION))} right: {(DQ (cos))} ) ) terminator: ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:NODE_OS_DISTRIBUTION) op: Equal rhs: {(DQ (gci))} spids: [368] ) ] spids: [368] ) ] spids: [-1 365] ) ] spids: [-1 373] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ (${ VSub_Name NODE_OS_DISTRIBUTION))} right: {(DQ (debian))} ) ) terminator: ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:NODE_ACCELERATORS) op: Equal rhs: {(DQ )} spids: [401] ) ] spids: [401] ) ] spids: [-1 398] ) ] spids: [-1 405] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CVM_VERSION) op: Equal rhs: { (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(container-vm-v20170627)}) spids: [424 428] ) } spids: [423] ) ] spids: [423] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GCI_VERSION) op: Equal rhs: { (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(cos-stable-60-9592-90-0)}) spids: [431 435] ) } spids: [430] ) ] spids: [430] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:MASTER_IMAGE) op: Equal rhs: { (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{}) spids: [438 441] ) } spids: [437] ) ] spids: [437] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:MASTER_IMAGE_PROJECT) op: Equal rhs: { (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(cos-cloud)}) spids: [444 448] ) } spids: [443] ) ] spids: [443] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:NODE_IMAGE) op: Equal rhs: { (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(${ VSub_Name GCI_VERSION)}) spids: [451 457] ) } spids: [450] ) ] spids: [450] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:NODE_IMAGE_PROJECT) op: Equal rhs: { (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(cos-cloud)}) spids: [460 464] ) } spids: [459] ) ] spids: [459] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CONTAINER_RUNTIME) op: Equal rhs: { (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(docker)}) spids: [467 471] ) } spids: [466] ) ] spids: [466] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GCI_DOCKER_VERSION) op: Equal rhs: { (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{}) spids: [474 477] ) } spids: [473] ) ] spids: [473] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:RKT_VERSION) op: Equal rhs: { (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(1.23.0)}) spids: [480 484] ) } spids: [479] ) ] spids: [479] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:RKT_STAGE1_IMAGE) op: Equal rhs: { (BracedVarSub token: suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {(coreos.com) (Lit_Slash /) (rkt) (Lit_Slash /) (stage1-coreos)} ) spids: [487 495] ) } spids: [486] ) ] spids: [486] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:NETWORK) op: Equal rhs: { (BracedVarSub token: suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {(e2e-test-) (${ VSub_Name USER)} ) spids: [499 506] ) } spids: [498] ) ] spids: [498] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ (${ VSub_Name CREATE_CUSTOM_NETWORK))} right: {(true)} ) ) terminator: ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:SUBNETWORK) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {(${ VSub_Name NETWORK) (-custom-subnet)} ) spids: [530 537] ) ) } spids: [528] ) ] spids: [528] ) ] spids: [-1 525] ) ] spids: [-1 540] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:INSTANCE_PREFIX) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {(e2e-test-) (${ VSub_Name USER)} ) spids: [544 551] ) ) } spids: [542] ) ] spids: [542] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CLUSTER_NAME) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {(${ VSub_Name INSTANCE_PREFIX)} ) spids: [556 562] ) ) } spids: [554] ) ] spids: [554] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:MASTER_NAME) op: Equal rhs: {(DQ (${ VSub_Name INSTANCE_PREFIX) (-master))} spids: [565] ) ] spids: [565] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:AGGREGATOR_MASTER_NAME) op: Equal rhs: {(DQ (${ VSub_Name INSTANCE_PREFIX) (-aggregator))} spids: [573] ) ] spids: [573] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:INITIAL_ETCD_CLUSTER) op: Equal rhs: {(DQ (${ VSub_Name MASTER_NAME))} spids: [581] ) ] spids: [581] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ETCD_QUORUM_READ) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(false)}) spids: [590 594] ) ) } spids: [588] ) ] spids: [588] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:MASTER_TAG) op: Equal rhs: {(DQ (${ VSub_Name INSTANCE_PREFIX) (-master))} spids: [597] ) ] spids: [597] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:NODE_TAG) op: Equal rhs: {(DQ (${ VSub_Name INSTANCE_PREFIX) (-minion))} spids: [605] ) ] spids: [605] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CLUSTER_IP_RANGE) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: { (CommandSubPart command_list: (CommandList children:[(C {(get-cluster-ip-range)})]) left_token: spids: [619 621] ) } ) spids: [616 622] ) ) } spids: [614] ) ] spids: [614] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:MASTER_IP_RANGE) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {(10.246.0.0) (Lit_Slash /) (24)} ) spids: [627 633] ) ) } spids: [625] ) ] spids: [625] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:NODE_IP_RANGE) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children:[(C {(get-node-ip-range)})]) left_token: spids: [644 646] ) ) } spids: [642] ) ] spids: [642] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:RUNTIME_CONFIG) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [652 655] ) ) } spids: [650] ) ] spids: [650] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:FEATURE_GATES) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {("ExperimentalCriticalPodAnnotation=true")} ) spids: [664 668] ) ) } spids: [662] ) ] spids: [662] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (LogicalNot child: (BoolUnary op_id:BoolUnary_z child:{(DQ (${ VSub_Name NODE_ACCELERATORS))}) ) ) terminator: ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:FEATURE_GATES) op: Equal rhs: {(DQ (${ VSub_Name FEATURE_GATES) (",Accelerators=true"))} spids: [692] ) ] spids: [692] ) ] spids: [-1 689] ) ] spids: [-1 700] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:TERMINATED_POD_GC_THRESHOLD) op: Equal rhs: { (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(100)}) spids: [704 708] ) } spids: [703] ) ] spids: [703] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:EXTRA_DOCKER_OPTS) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [716 719] ) ) } spids: [714] ) ] spids: [714] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:EXTRA_DOCKER_OPTS) op: Equal rhs: {(DQ (${ VSub_Name EXTRA_DOCKER_OPTS) (" --debug"))} spids: [726] ) ] spids: [726] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:SERVICE_CLUSTER_IP_RANGE) op: Equal rhs: {(DQ (10.0.0.0/16))} spids: [735] ) ] spids: [735] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ENABLE_DOCKER_REGISTRY_CACHE) op: Equal rhs: {(true)} spids: [747] ) ] spids: [747] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ENABLE_L7_LOADBALANCING) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(glbc)}) spids: [759 763] ) ) } spids: [757] ) ] spids: [757] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ENABLE_CLUSTER_MONITORING) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(influxdb)}) spids: [790 794] ) ) } spids: [788] ) ] spids: [788] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ENABLE_METRICS_SERVER) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(true)}) spids: [812 816] ) ) } spids: [810] ) ] spids: [810] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:HEAPSTER_MACHINE_TYPE) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [828 831] ) ) } spids: [826] ) ] spids: [826] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ETCD_IMAGE) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [843 846] ) ) } spids: [841] ) ] spids: [841] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ETCD_DOCKER_REPOSITORY) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [851 854] ) ) } spids: [849] ) ] spids: [849] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ETCD_VERSION) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [859 862] ) ) } spids: [857] ) ] spids: [857] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:TEST_CLUSTER_LOG_LEVEL) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{("--v=4")}) spids: [871 875] ) ) } spids: [869] ) ] spids: [869] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KUBELET_TEST_LOG_LEVEL) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {($ VSub_Name "$TEST_CLUSTER_LOG_LEVEL")} ) spids: [880 884] ) ) } spids: [878] ) ] spids: [878] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DOCKER_TEST_LOG_LEVEL) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{("--log-level=info")}) spids: [889 893] ) ) } spids: [887] ) ] spids: [887] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:API_SERVER_TEST_LOG_LEVEL) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {($ VSub_Name "$TEST_CLUSTER_LOG_LEVEL")} ) spids: [898 902] ) ) } spids: [896] ) ] spids: [896] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CONTROLLER_MANAGER_TEST_LOG_LEVEL) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {($ VSub_Name "$TEST_CLUSTER_LOG_LEVEL")} ) spids: [907 911] ) ) } spids: [905] ) ] spids: [905] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:SCHEDULER_TEST_LOG_LEVEL) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {($ VSub_Name "$TEST_CLUSTER_LOG_LEVEL")} ) spids: [916 920] ) ) } spids: [914] ) ] spids: [914] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KUBEPROXY_TEST_LOG_LEVEL) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {($ VSub_Name "$TEST_CLUSTER_LOG_LEVEL")} ) spids: [925 929] ) ) } spids: [923] ) ] spids: [923] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ (${ VSub_Name MASTER_OS_DISTRIBUTION))} right: {(DQ (gci))} ) ) terminator: ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CONTROLLER_MANAGER_TEST_VOLUME_PLUGIN_DIR) op: Equal rhs: { (DQ ( "--flex-volume-plugin-dir=/etc/srv/kubernetes/kubelet-plugins/volume/exec" ) ) } spids: [961] ) ] spids: [961] ) ] spids: [-1 958] ) ] spids: [-1 966] ) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr children: [ (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ (${ VSub_Name NODE_OS_DISTRIBUTION))} right: {(DQ (gci))} ) ) (Subshell child: (AndOr children: [ (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ (${ VSub_Name MASTER_OS_DISTRIBUTION))} right: {(DQ (gci))} ) ) (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ (${ VSub_Name REGISTER_MASTER_KUBELET))} right: {(DQ (false))} ) ) ] op_id: Op_DAmp ) spids: [991 1025] ) ] op_id: Op_DPipe ) terminator: ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KUBELET_TEST_VOLUME_PLUGIN_DIR) op: Equal rhs: {(DQ ("--volume-plugin-dir=/etc/srv/kubernetes/kubelet-plugins/volume/exec"))} spids: [1031] ) ] spids: [1031] ) ] spids: [-1 1028] ) ] spids: [-1 1036] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:TEST_CLUSTER_DELETE_COLLECTION_WORKERS) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {("--delete-collection-workers=1")} ) spids: [1041 1045] ) ) } spids: [1039] ) ] spids: [1039] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:TEST_CLUSTER_MAX_REQUESTS_INFLIGHT) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [1050 1053] ) ) } spids: [1048] ) ] spids: [1048] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:TEST_CLUSTER_RESYNC_PERIOD) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {("--min-resync-period=3m")} ) spids: [1058 1062] ) ) } spids: [1056] ) ] spids: [1056] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:TEST_CLUSTER_API_CONTENT_TYPE) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [1071 1074] ) ) } spids: [1069] ) ] spids: [1069] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KUBELET_TEST_ARGS) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [1080 1083] ) (" --max-pods=110 --serialize-image-pulls=false ") (${ VSub_Name TEST_CLUSTER_API_CONTENT_TYPE) (" ") (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [1089 1092] ) ) } spids: [1078] ) ] spids: [1078] ) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr children: [ (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ (${ VSub_Name NODE_OS_DISTRIBUTION))} right: {(DQ (gci))} ) ) (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ (${ VSub_Name NODE_OS_DISTRIBUTION))} right: {(DQ (ubuntu))} ) ) ] op_id: Op_DPipe ) terminator: ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:NODE_KUBELET_TEST_ARGS) op: Equal rhs: {(DQ (" --experimental-kernel-memcg-notification=true"))} spids: [1135] ) ] spids: [1135] ) ] spids: [-1 1132] ) ] spids: [-1 1140] ) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr children: [ (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ (${ VSub_Name MASTER_OS_DISTRIBUTION))} right: {(DQ (gci))} ) ) (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ (${ VSub_Name MASTER_OS_DISTRIBUTION))} right: {(DQ (ubuntu))} ) ) ] op_id: Op_DPipe ) terminator: ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:MASTER_KUBELET_TEST_ARGS) op: Equal rhs: {(DQ (" --experimental-kernel-memcg-notification=true"))} spids: [1182] ) ] spids: [1182] ) ] spids: [-1 1179] ) ] spids: [-1 1187] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:APISERVER_TEST_ARGS) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [1191 1194] ) (" --runtime-config=extensions/v1beta1 ") (${ VSub_Name TEST_CLUSTER_DELETE_COLLECTION_WORKERS) (" ") (${ VSub_Name TEST_CLUSTER_MAX_REQUESTS_INFLIGHT) ) } spids: [1189] ) ] spids: [1189] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CONTROLLER_MANAGER_TEST_ARGS) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [1207 1210] ) (" ") (${ VSub_Name TEST_CLUSTER_RESYNC_PERIOD) (" ") (${ VSub_Name TEST_CLUSTER_API_CONTENT_TYPE) (" ") (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [1220 1223] ) ) } spids: [1205] ) ] spids: [1205] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:SCHEDULER_TEST_ARGS) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [1228 1231] ) (" ") (${ VSub_Name TEST_CLUSTER_API_CONTENT_TYPE) ) } spids: [1226] ) ] spids: [1226] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KUBEPROXY_TEST_ARGS) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [1240 1243] ) (" ") (${ VSub_Name TEST_CLUSTER_API_CONTENT_TYPE) ) } spids: [1238] ) ] spids: [1238] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:NODE_LABELS) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {(beta.kubernetes.io) (Lit_Slash /) ("fluentd-ds-ready=true")} ) spids: [1268 1274] ) ) } spids: [1266] ) ] spids: [1266] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: { (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{}) spids: [1288 1291] ) } right: {(DQ (calico))} ) ) terminator: ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:NODE_LABELS) op: Equal rhs: {(DQ ($ VSub_Name "$NODE_LABELS") (",projectcalico.org/ds-ready=true"))} spids: [1305] ) ] spids: [1305] ) ] spids: [-1 1302] ) ] spids: [-1 1311] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: { (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{}) spids: [1321 1324] ) } right: {(DQ (simple))} ) ) terminator: ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:NODE_LABELS) op: Equal rhs: { (DQ (${ VSub_Name NODE_LABELS) (",beta.kubernetes.io/metadata-proxy-ready=true")) } spids: [1338] ) ] spids: [1338] ) ] spids: [-1 1335] ) ] spids: [-1 1346] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ENABLE_NODE_LOGGING) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(true)}) spids: [1354 1358] ) ) } spids: [1352] ) ] spids: [1352] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:LOGGING_DESTINATION) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(gcp)}) spids: [1363 1367] ) ) } spids: [1361] ) ] spids: [1361] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ENABLE_CLUSTER_LOGGING) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(true)}) spids: [1379 1383] ) ) } spids: [1377] ) ] spids: [1377] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ELASTICSEARCH_LOGGING_REPLICAS) op: Equal rhs: {(1)} spids: [1386] ) ] spids: [1386] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: { (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(false)}) spids: [1397 1401] ) } right: {(DQ (true))} ) ) terminator: ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:EXTRA_DOCKER_OPTS) op: Equal rhs: {(DQ (${ VSub_Name EXTRA_DOCKER_OPTS) (" --insecure-registry 10.0.0.0/8"))} spids: [1415] ) ] spids: [1415] ) ] spids: [-1 1412] ) ] spids: [-1 1423] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ENABLE_CLUSTER_DNS) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(true)}) spids: [1431 1435] ) ) } spids: [1429] ) ] spids: [1429] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DNS_SERVER_IP) op: Equal rhs: {(DQ (10.0.0.10))} spids: [1438] ) ] spids: [1438] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DNS_DOMAIN) op: Equal rhs: {(DQ (cluster.local))} spids: [1443] ) ] spids: [1443] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ENABLE_DNS_HORIZONTAL_AUTOSCALER) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(true)}) spids: [1454 1458] ) ) } spids: [1452] ) ] spids: [1452] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ENABLE_CLUSTER_REGISTRY) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(false)}) spids: [1467 1471] ) ) } spids: [1465] ) ] spids: [1465] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CLUSTER_REGISTRY_DISK) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {(${ VSub_Name INSTANCE_PREFIX) (-kube-system-kube-registry)} ) spids: [1476 1483] ) ) } spids: [1474] ) ] spids: [1474] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CLUSTER_REGISTRY_DISK_SIZE) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(200GB)}) spids: [1488 1492] ) ) } spids: [1486] ) ] spids: [1486] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CLUSTER_REGISTRY_DISK_TYPE_GCE) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(pd-standard)}) spids: [1497 1501] ) ) } spids: [1495] ) ] spids: [1495] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ENABLE_CLUSTER_UI) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(true)}) spids: [1510 1514] ) ) } spids: [1508] ) ] spids: [1508] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ (${ VSub_Name NODE_OS_DISTRIBUTION))} right: {(DQ (gci))} ) ) terminator: ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ENABLE_NODE_PROBLEM_DETECTOR) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(standalone)}) spids: [1558 1562] ) ) } spids: [1556] ) ] spids: [1556] ) ] spids: [-1 1549] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ENABLE_NODE_PROBLEM_DETECTOR) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(daemonset)}) spids: [1570 1574] ) ) } spids: [1568] ) ] spids: [1568] ) ] spids: [1565 1577] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:NODE_PROBLEM_DETECTOR_VERSION) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [1581 1584] ) ) } spids: [1579] ) ] spids: [1579] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:NODE_PROBLEM_DETECTOR_TAR_HASH) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [1589 1592] ) ) } spids: [1587] ) ] spids: [1587] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ENABLE_CLUSTER_AUTOSCALER) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(false)}) spids: [1601 1605] ) ) } spids: [1599] ) ] spids: [1599] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ (${ VSub_Name ENABLE_CLUSTER_AUTOSCALER))} right: {(DQ (true))} ) ) terminator: ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:AUTOSCALER_MIN_NODES) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [1632 1635] ) ) } spids: [1630] ) ] spids: [1630] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:AUTOSCALER_MAX_NODES) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [1641 1644] ) ) } spids: [1639] ) ] spids: [1639] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:AUTOSCALER_ENABLE_SCALE_DOWN) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(false)}) spids: [1650 1654] ) ) } spids: [1648] ) ] spids: [1648] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:AUTOSCALER_EXPANDER_CONFIG) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {("--expander=price")} ) spids: [1660 1664] ) ) } spids: [1658] ) ] spids: [1658] ) ] spids: [-1 1627] ) ] spids: [-1 1667] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ENABLE_RESCHEDULER) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(true)}) spids: [1675 1679] ) ) } spids: [1673] ) ] spids: [1673] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ENABLE_IP_ALIASES) op: Equal rhs: { (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(false)}) spids: [1705 1709] ) } spids: [1704] ) ] spids: [1704] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(${ VSub_Name ENABLE_IP_ALIASES)} {(Lit_Other "=")} {(true)} {(Lit_Other "]")} ) terminator: ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:IP_ALIAS_SIZE) op: Equal rhs: { (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(Lit_Slash /) (24)}) spids: [1734 1739] ) } spids: [1733] ) ] spids: [1733] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:IP_ALIAS_SUBNETWORK) op: Equal rhs: { (BracedVarSub token: suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {(${ VSub_Name INSTANCE_PREFIX) (-subnet-default)} ) spids: [1743 1750] ) } spids: [1742] ) ] spids: [1742] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:SERVICE_CLUSTER_IP_SUBNETWORK) op: Equal rhs: { (BracedVarSub token: suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {(${ VSub_Name INSTANCE_PREFIX) (-subnet-services)} ) spids: [1758 1765] ) } spids: [1757] ) ] spids: [1757] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PROVIDER_VARS) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [1774 1777] ) (" ENABLE_IP_ALIASES") ) } spids: [1772] ) ] spids: [1772] ) ] spids: [-1 1726] ) ] spids: [-1 1781] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_n child: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [1794 1797] ) ) } ) ) terminator: ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PROVIDER_VARS) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [1808 1811] ) (" GCE_ALPHA_FEATURES") ) } spids: [1806] ) ] spids: [1806] ) ] spids: [-1 1803] ) ] spids: [-1 1815] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ADMISSION_CONTROL) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: { ( "Initializers,NamespaceLifecycle,LimitRanger,ServiceAccount,PersistentVolumeLabel,PodPreset,DefaultStorageClass,DefaultTolerationSeconds,NodeRestriction,Priority,ResourceQuota" ) } ) spids: [1823 1827] ) ) } spids: [1821] ) ] spids: [1821] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KUBE_UP_AUTOMATIC_CLEANUP) op: Equal rhs: { (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(false)}) spids: [1835 1839] ) } spids: [1834] ) ] spids: [1834] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:TEST_CLUSTER) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(true)}) spids: [1856 1860] ) ) } spids: [1854] ) ] spids: [1854] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:STORAGE_BACKEND) op: Equal rhs: { (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{}) spids: [1868 1871] ) } spids: [1867] ) ] spids: [1867] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:STORAGE_MEDIA_TYPE) op: Equal rhs: { (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{}) spids: [1877 1880] ) } spids: [1876] ) ] spids: [1876] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:NETWORK_PROVIDER) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(kubenet)}) spids: [1888 1892] ) ) } spids: [1886] ) ] spids: [1886] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:OPENCONTRAIL_TAG) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(R2.20)}) spids: [1900 1904] ) ) } spids: [1898] ) ] spids: [1898] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:OPENCONTRAIL_KUBERNETES_TAG) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(master)}) spids: [1909 1913] ) ) } spids: [1907] ) ] spids: [1907] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:OPENCONTRAIL_PUBLIC_SUBNET) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {(10.1.0.0) (Lit_Slash /) (16)} ) spids: [1918 1924] ) ) } spids: [1916] ) ] spids: [1916] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:NETWORK_POLICY_PROVIDER) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(none)}) spids: [1933 1937] ) ) } spids: [1931] ) ] spids: [1931] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:HAIRPIN_MODE) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(promiscuous-bridge)}) spids: [1949 1953] ) ) } spids: [1947] ) ] spids: [1947] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:E2E_STORAGE_TEST_ENVIRONMENT) op: Equal rhs: { (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(false)}) spids: [1964 1968] ) } spids: [1963] ) ] spids: [1963] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PREPULL_E2E_IMAGES) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(true)}) spids: [1979 1983] ) ) } spids: [1977] ) ] spids: [1977] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:EVICTION_HARD) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {("memory.available<250Mi,nodefs.available<10") (Lit_Percent "%") (",nodefs.inodesFree<5") (Lit_Percent "%") } ) spids: [1992 1999] ) ) } spids: [1990] ) ] spids: [1990] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:SCHEDULING_ALGORITHM_PROVIDER) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [2008 2011] ) ) } spids: [2006] ) ] spids: [2006] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ENABLE_DEFAULT_STORAGE_CLASS) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(true)}) spids: [2020 2024] ) ) } spids: [2018] ) ] spids: [2018] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ENABLE_LEGACY_ABAC) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(false)}) spids: [2039 2043] ) ) } spids: [2037] ) ] spids: [2037] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:SOFTLOCKUP_PANIC) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(true)}) spids: [2058 2062] ) ) } spids: [2056] ) ] spids: [2056] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ENABLE_APISERVER_ADVANCED_AUDIT) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(true)}) spids: [2074 2078] ) ) } spids: [2072] ) ] spids: [2072] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [2090 2093] ) ) } right: {(DQ (true))} ) ) terminator: ) ] action: [ (C {(echo)} { (DQ ( "Warning: Basic audit logging is deprecated and will be removed. Please use advanced auditing instead." ) ) } ) ] spids: [-1 2105] ) ] spids: [-1 2114] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ENABLE_BIG_CLUSTER_SUBNETS) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(false)}) spids: [2119 2123] ) ) } spids: [2117] ) ] spids: [2117] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_n child: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [2134 2137] ) ) } ) ) terminator: ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PROVIDER_VARS) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [2148 2151] ) (" LOGROTATE_FILES_MAX_COUNT") ) } spids: [2146] ) ] spids: [2146] ) ] spids: [-1 2143] ) ] spids: [-1 2155] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_n child: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [2164 2167] ) ) } ) ) terminator: ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PROVIDER_VARS) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [2178 2181] ) (" LOGROTATE_MAX_SIZE") ) } spids: [2176] ) ] spids: [2176] ) ] spids: [-1 2173] ) ] spids: [-1 2185] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:FLUENTD_GCP_MEMORY_LIMIT) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(300Mi)}) spids: [2193 2197] ) ) } spids: [2191] ) ] spids: [2191] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:FLUENTD_GCP_CPU_REQUEST) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(100m)}) spids: [2202 2206] ) ) } spids: [2200] ) ] spids: [2200] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:FLUENTD_GCP_MEMORY_REQUEST) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(200Mi)}) spids: [2211 2215] ) ) } spids: [2209] ) ] spids: [2209] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:HEAPSTER_GCP_BASE_MEMORY) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(140Mi)}) spids: [2224 2228] ) ) } spids: [2222] ) ] spids: [2222] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:HEAPSTER_GCP_MEMORY_PER_NODE) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(4)}) spids: [2233 2237] ) ) } spids: [2231] ) ] spids: [2231] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:HEAPSTER_GCP_BASE_CPU) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(80m)}) spids: [2242 2246] ) ) } spids: [2240] ) ] spids: [2240] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:HEAPSTER_GCP_CPU_PER_NODE) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(0.5)}) spids: [2251 2255] ) ) } spids: [2249] ) ] spids: [2249] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PROVIDER_VARS) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [2264 2267] ) ( " FLUENTD_GCP_MEMORY_LIMIT FLUENTD_GCP_CPU_REQUEST FLUENTD_GCP_MEMORY_REQUEST HEAPSTER_GCP_BASE_MEMORY HEAPSTER_GCP_MEMORY_PER_NODE HEAPSTER_GCP_BASE_CPU HEAPSTER_GCP_CPU_PER_NODE" ) ) } spids: [2262] ) ] spids: [2262] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PROMETHEUS_TO_SD_ENDPOINT) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {("https:") (Lit_Slash /) (Lit_Slash /) (monitoring.googleapis.com) (Lit_Slash /) } ) spids: [2277 2285] ) ) } spids: [2275] ) ] spids: [2275] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PROMETHEUS_TO_SD_PREFIX) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(custom.googleapis.com)}) spids: [2290 2294] ) ) } spids: [2288] ) ] spids: [2288] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ENABLE_PROMETHEUS_TO_SD) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(true)}) spids: [2299 2303] ) ) } spids: [2297] ) ] spids: [2297] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KUBE_PROXY_DAEMONSET) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(false)}) spids: [2315 2319] ) ) } spids: [2313] ) ] spids: [2313] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CLUSTER_SIGNING_DURATION) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [2331 2334] ) ) } spids: [2329] ) ] spids: [2329] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ENABLE_POD_PRIORITY) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [2343 2346] ) ) } spids: [2341] ) ] spids: [2341] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ (${ VSub_Name ENABLE_POD_PRIORITY))} right: {(DQ (true))} ) ) terminator: ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:FEATURE_GATES) op: Equal rhs: {(DQ (${ VSub_Name FEATURE_GATES) (",PodPriority=true"))} spids: [2371] ) ] spids: [2371] ) ] spids: [-1 2368] ) ] spids: [-1 2379] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ROTATE_CERTIFICATES) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [2387 2390] ) ) } spids: [2385] ) ] spids: [2385] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CONCURRENT_SERVICE_SYNCS) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [2402 2405] ) ) } spids: [2400] ) ] spids: [2400] ) ] )