#!/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) # Accelerators to be attached to each node. Format "type=,count=" # More information on available GPUs here - https://cloud.google.com/compute/docs/gpus/ global NODE_ACCELERATORS := $(NODE_ACCELERATORS:-"") global REGISTER_MASTER_KUBELET := $(REGISTER_MASTER:-true) 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:-false) 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 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:-default) if [[ "${CREATE_CUSTOM_NETWORK}" == true ]] { global SUBNETWORK := $(SUBNETWORK:-${NETWORK}-custom-subnet) } global INSTANCE_PREFIX := $(KUBE_GCE_INSTANCE_PREFIX:-kubernetes) 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] if [[ "${FEDERATION:-}" == true ]] { global NODE_SCOPES := $(NODE_SCOPES:-monitoring,logging-write,storage-ro,https://www.googleapis.com/auth/ndev.clouddns.readwrite) } else { global NODE_SCOPES := $(NODE_SCOPES:-monitoring,logging-write,storage-ro) } # Extra docker options for nodes. global EXTRA_DOCKER_OPTS := $(EXTRA_DOCKER_OPTS:-) global SERVICE_CLUSTER_IP_RANGE := $(SERVICE_CLUSTER_IP_RANGE:-10.0.0.0/16) # formerly PORTAL_NET global ALLOCATE_NODE_CIDRS := 'true' # 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:-) # 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"" } # Currently, ENABLE_METADATA_PROXY supports only "simple". In the future, we # may add other options. global ENABLE_METADATA_PROXY := $(ENABLE_METADATA_PROXY:-) # 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: customize runtime config 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"" } # Optional: Install cluster DNS. global ENABLE_CLUSTER_DNS := $(KUBE_ENABLE_CLUSTER_DNS:-true) global DNS_SERVER_IP := $(KUBE_DNS_SERVER_IP:-10.0.0.10) global DNS_DOMAIN := $(KUBE_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_PD:-${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:-true) 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. Currently 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"" } # Admission Controllers to invoke prior to persisting objects in cluster # If we included ResourceQuota, we should keep it at the end of the list to prevent incrementing quota usage prematurely. global ADMISSION_CONTROL := 'Initializers,NamespaceLifecycle,LimitRanger,ServiceAccount,PersistentVolumeLabel,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) # Storage backend. 'etcd2' supported, 'etcd3' experimental. global STORAGE_BACKEND := $(STORAGE_BACKEND:-) # 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) # 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. 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:-false) # true, false # Indicates if the values (i.e. KUBE_USER and KUBE_PASSWORD for basic # authentication) in metadata should be treated as canonical, and therefore disk # copies ought to be recreated/clobbered. global METADATA_CLOBBERS_CONFIG := $(METADATA_CLOBBERS_CONFIG:-false) global ENABLE_BIG_CLUSTER_SUBNETS := $(ENABLE_BIG_CLUSTER_SUBNETS:-false) if [[ "${ENABLE_APISERVER_BASIC_AUDIT:-}" == "true" ]] { echo "Warning: Basic audit logging is deprecated and will be removed. Please use advanced auditing instead." } 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:-false) # 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: [188 193] ) } spids: [187] ) ] spids: [187] ) (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: [196 200] ) } spids: [195] ) ] spids: [195] ) (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: [203 207] ) } spids: [202] ) ] spids: [202] ) (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: [210 214] ) } spids: [209] ) ] spids: [209] ) (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: [217 221] ) } spids: [216] ) ] spids: [216] ) (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:{(false)}) spids: [224 228] ) } spids: [223] ) ] spids: [223] ) (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: [231 235] ) } spids: [230] ) ] spids: [230] ) (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: [242 246] ) } ) spids: [239 247] ) } spids: [238] ) ] spids: [238] ) (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: [253 257] ) } ) spids: [250 258] ) } spids: [249] ) ] spids: [249] ) (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: [282] ) ] spids: [282] ) ] spids: [-1 279] ) ] spids: [-1 287] ) (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: [311] ) ] spids: [311] ) ] spids: [-1 308] ) ] spids: [-1 316] ) (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: [341] ) ] spids: [341] ) ] spids: [-1 338] ) ] spids: [-1 346] ) (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: [371] ) ] spids: [371] ) ] spids: [-1 368] ) ] spids: [-1 376] ) (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: [404] ) ] spids: [404] ) ] spids: [-1 401] ) ] spids: [-1 408] ) (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: [427 431] ) } spids: [426] ) ] spids: [426] ) (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: [434 438] ) } spids: [433] ) ] spids: [433] ) (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: [441 444] ) } spids: [440] ) ] spids: [440] ) (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: [447 451] ) } spids: [446] ) ] spids: [446] ) (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: [454 460] ) } spids: [453] ) ] spids: [453] ) (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: [463 467] ) } spids: [462] ) ] spids: [462] ) (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: [470 474] ) } spids: [469] ) ] spids: [469] ) (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: [477 481] ) } spids: [476] ) ] spids: [476] ) (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: [484 492] ) } spids: [483] ) ] spids: [483] ) (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:{(default)}) spids: [496 500] ) } spids: [495] ) ] spids: [495] ) (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: [524 531] ) ) } spids: [522] ) ] spids: [522] ) ] spids: [-1 519] ) ] spids: [-1 534] ) (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:{(kubernetes)}) spids: [538 542] ) ) } spids: [536] ) ] spids: [536] ) (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: [547 553] ) ) } spids: [545] ) ] spids: [545] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:MASTER_NAME) op: Equal rhs: {(DQ (${ VSub_Name INSTANCE_PREFIX) (-master))} spids: [556] ) ] spids: [556] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:AGGREGATOR_MASTER_NAME) op: Equal rhs: {(DQ (${ VSub_Name INSTANCE_PREFIX) (-aggregator))} spids: [564] ) ] spids: [564] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:INITIAL_ETCD_CLUSTER) op: Equal rhs: {(DQ (${ VSub_Name MASTER_NAME))} spids: [572] ) ] spids: [572] ) (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: [581 585] ) ) } spids: [579] ) ] spids: [579] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:MASTER_TAG) op: Equal rhs: {(DQ (${ VSub_Name INSTANCE_PREFIX) (-master))} spids: [588] ) ] spids: [588] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:NODE_TAG) op: Equal rhs: {(DQ (${ VSub_Name INSTANCE_PREFIX) (-minion))} spids: [596] ) ] spids: [596] ) (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: [610 612] ) } ) spids: [607 613] ) ) } spids: [605] ) ] spids: [605] ) (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: [618 624] ) ) } spids: [616] ) ] spids: [616] ) (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: [635 637] ) ) } spids: [633] ) ] spids: [633] ) (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: [646 649] ) ) } right: {(true)} ) ) terminator: ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:NODE_SCOPES) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {("monitoring,logging-write,storage-ro,https:") (Lit_Slash /) (Lit_Slash /) (www.googleapis.com) (Lit_Slash /) (auth) (Lit_Slash /) (ndev.clouddns.readwrite) } ) spids: [664 675] ) ) } spids: [662] ) ] spids: [662] ) ] spids: [-1 659] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:NODE_SCOPES) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {("monitoring,logging-write,storage-ro")} ) spids: [683 687] ) ) } spids: [681] ) ] spids: [681] ) ] spids: [678 690] ) (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: [698 701] ) ) } spids: [696] ) ] spids: [696] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:SERVICE_CLUSTER_IP_RANGE) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {(10.0.0.0) (Lit_Slash /) (16)} ) spids: [707 713] ) ) } spids: [705] ) ] spids: [705] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:ALLOCATE_NODE_CIDRS) op:Equal rhs:{(true)} spids:[719])] spids: [719] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ENABLE_DOCKER_REGISTRY_CACHE) op: Equal rhs: {(true)} spids: [726] ) ] spids: [726] ) (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: [738 742] ) ) } spids: [736] ) ] spids: [736] ) (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: [769 773] ) ) } spids: [767] ) ] spids: [767] ) (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: [791 795] ) ) } spids: [789] ) ] spids: [789] ) (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: [807 810] ) ) } spids: [805] ) ] spids: [805] ) (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: [831 837] ) ) } spids: [829] ) ] spids: [829] ) (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: [851 854] ) } 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: [868] ) ] spids: [868] ) ] spids: [-1 865] ) ] spids: [-1 876] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ENABLE_METADATA_PROXY) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [887 890] ) ) } spids: [885] ) ] spids: [885] ) (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: [900 903] ) } 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: [917] ) ] spids: [917] ) ] spids: [-1 914] ) ] spids: [-1 925] ) (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: [933 937] ) ) } spids: [931] ) ] spids: [931] ) (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: [942 946] ) ) } spids: [940] ) ] spids: [940] ) (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: [958 962] ) ) } spids: [956] ) ] spids: [956] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ELASTICSEARCH_LOGGING_REPLICAS) op: Equal rhs: {(1)} spids: [965] ) ] spids: [965] ) (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: [976 980] ) } 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: [994] ) ] spids: [994] ) ] spids: [-1 991] ) ] spids: [-1 1002] ) (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: [1010 1013] ) ) } spids: [1008] ) ] spids: [1008] ) (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: [1022 1026] ) ) } spids: [1020] ) ] spids: [1020] ) (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: [1050] ) ] spids: [1050] ) ] spids: [-1 1047] ) ] spids: [-1 1058] ) (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: [1066 1070] ) ) } spids: [1064] ) ] spids: [1064] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DNS_SERVER_IP) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(10.0.0.10)}) spids: [1075 1079] ) ) } spids: [1073] ) ] spids: [1073] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DNS_DOMAIN) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(cluster.local)}) spids: [1084 1088] ) ) } spids: [1082] ) ] spids: [1082] ) (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: [1097 1101] ) ) } spids: [1095] ) ] spids: [1095] ) (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: [1110 1114] ) ) } spids: [1108] ) ] spids: [1108] ) (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: [1119 1126] ) ) } spids: [1117] ) ] spids: [1117] ) (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: [1131 1135] ) ) } spids: [1129] ) ] spids: [1129] ) (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: [1140 1144] ) ) } spids: [1138] ) ] spids: [1138] ) (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: [1153 1157] ) ) } spids: [1151] ) ] spids: [1151] ) (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: [1201 1205] ) ) } spids: [1199] ) ] spids: [1199] ) ] spids: [-1 1192] ) ] 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: [1213 1217] ) ) } spids: [1211] ) ] spids: [1211] ) ] spids: [1208 1220] ) (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: [1224 1227] ) ) } spids: [1222] ) ] spids: [1222] ) (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: [1232 1235] ) ) } spids: [1230] ) ] spids: [1230] ) (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: [1244 1248] ) ) } spids: [1242] ) ] spids: [1242] ) (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: [1275 1278] ) ) } spids: [1273] ) ] spids: [1273] ) (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: [1284 1287] ) ) } spids: [1282] ) ] spids: [1282] ) (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:{(true)}) spids: [1293 1297] ) ) } spids: [1291] ) ] spids: [1291] ) (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: [1303 1307] ) ) } spids: [1301] ) ] spids: [1301] ) ] spids: [-1 1270] ) ] spids: [-1 1310] ) (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: [1318 1322] ) ) } spids: [1316] ) ] spids: [1316] ) (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: [1348 1352] ) } spids: [1347] ) ] spids: [1347] ) (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: [1377 1382] ) } spids: [1376] ) ] spids: [1376] ) (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: [1386 1393] ) } spids: [1385] ) ] spids: [1385] ) (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: [1401 1408] ) } spids: [1400] ) ] spids: [1400] ) (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: [1417 1420] ) (" ENABLE_IP_ALIASES") ) } spids: [1415] ) ] spids: [1415] ) ] spids: [-1 1369] ) ] spids: [-1 1424] ) (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: [1438 1441] ) ) } ) ) 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: [1452 1455] ) (" GCE_ALPHA_FEATURES") ) } spids: [1450] ) ] spids: [1450] ) ] spids: [-1 1447] ) ] spids: [-1 1459] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ADMISSION_CONTROL) op: Equal rhs: {(Initializers) (Lit_Comma ",") (NamespaceLifecycle) (Lit_Comma ",") (LimitRanger) (Lit_Comma ",") (ServiceAccount) (Lit_Comma ",") (PersistentVolumeLabel) (Lit_Comma ",") (DefaultStorageClass) (Lit_Comma ",") (DefaultTolerationSeconds) (Lit_Comma ",") (NodeRestriction) (Lit_Comma ",") (Priority) (Lit_Comma ",") (ResourceQuota) } spids: [1468] ) ] spids: [1468] ) (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: [1494 1498] ) } spids: [1493] ) ] spids: [1493] ) (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: [1505 1508] ) } spids: [1504] ) ] spids: [1504] ) (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: [1516 1520] ) ) } spids: [1514] ) ] spids: [1514] ) (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: [1528 1532] ) ) } spids: [1526] ) ] spids: [1526] ) (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: [1537 1541] ) ) } spids: [1535] ) ] spids: [1535] ) (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: [1546 1552] ) ) } spids: [1544] ) ] spids: [1544] ) (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: [1561 1565] ) ) } spids: [1559] ) ] spids: [1559] ) (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: [1577 1581] ) ) } spids: [1575] ) ] spids: [1575] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:E2E_STORAGE_TEST_ENVIRONMENT) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(false)}) spids: [1592 1596] ) ) } spids: [1590] ) ] spids: [1590] ) (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: [1605 1612] ) ) } spids: [1603] ) ] spids: [1603] ) (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: [1621 1624] ) ) } spids: [1619] ) ] spids: [1619] ) (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: [1633 1637] ) ) } spids: [1631] ) ] spids: [1631] ) (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: [1646 1650] ) ) } spids: [1644] ) ] spids: [1644] ) (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:{(false)}) spids: [1665 1669] ) ) } spids: [1663] ) ] spids: [1663] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:METADATA_CLOBBERS_CONFIG) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(false)}) spids: [1687 1691] ) ) } spids: [1685] ) ] spids: [1685] ) (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: [1697 1701] ) ) } spids: [1695] ) ] spids: [1695] ) (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: [1710 1713] ) ) } 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 1725] ) ] spids: [-1 1734] ) (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: [1744 1747] ) ) } ) ) 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: [1758 1761] ) (" LOGROTATE_FILES_MAX_COUNT") ) } spids: [1756] ) ] spids: [1756] ) ] spids: [-1 1753] ) ] spids: [-1 1765] ) (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: [1774 1777] ) ) } ) ) 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: [1788 1791] ) (" LOGROTATE_MAX_SIZE") ) } spids: [1786] ) ] spids: [1786] ) ] spids: [-1 1783] ) ] spids: [-1 1795] ) (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: [1803 1807] ) ) } spids: [1801] ) ] spids: [1801] ) (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: [1812 1816] ) ) } spids: [1810] ) ] spids: [1810] ) (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: [1821 1825] ) ) } spids: [1819] ) ] spids: [1819] ) (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: [1834 1838] ) ) } spids: [1832] ) ] spids: [1832] ) (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: [1843 1847] ) ) } spids: [1841] ) ] spids: [1841] ) (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: [1852 1856] ) ) } spids: [1850] ) ] spids: [1850] ) (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: [1861 1865] ) ) } spids: [1859] ) ] spids: [1859] ) (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: [1874 1877] ) ( " 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: [1872] ) ] spids: [1872] ) (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: [1887 1895] ) ) } spids: [1885] ) ] spids: [1885] ) (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: [1900 1904] ) ) } spids: [1898] ) ] spids: [1898] ) (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:{(false)}) spids: [1909 1913] ) ) } spids: [1907] ) ] spids: [1907] ) (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: [1925 1929] ) ) } spids: [1923] ) ] spids: [1923] ) (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: [1941 1944] ) ) } spids: [1939] ) ] spids: [1939] ) (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: [1953 1956] ) ) } spids: [1951] ) ] spids: [1951] ) (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: [1981] ) ] spids: [1981] ) ] spids: [-1 1978] ) ] spids: [-1 1989] ) (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: [1997 2000] ) ) } spids: [1995] ) ] spids: [1995] ) (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: [2012 2015] ) ) } spids: [2010] ) ] spids: [2010] ) ] )