(CommandList children: [ (C {(set)} {(-o)} {(errexit)}) (C {(set)} {(-o)} {(nounset)}) (C {(set)} {(-o)} {(pipefail)}) (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: <Left_CommandSub "$("> spids: [64 72] ) (/..) } spids: [63] ) ] spids: [63] ) (C {(source)} {(DQ (${ VSub_Name KUBE_ROOT) (/cluster/common.sh))}) (C {(source)} {(DQ (${ VSub_Name KUBE_ROOT) (/hack/lib/init.sh))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ginkgo) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(kube) (Lit_Other ":") (Lit_Other ":") (util) (Lit_Other ":") (Lit_Other ":") (find-binary) } {(DQ (ginkgo))} ) ] ) left_token: <Left_CommandSub "$("> spids: [98 110] ) } spids: [97] ) ] spids: [97] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:e2e_test) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(kube) (Lit_Other ":") (Lit_Other ":") (util) (Lit_Other ":") (Lit_Other ":") (find-binary) } {(DQ (e2e.test))} ) ] ) left_token: <Left_CommandSub "$("> spids: [113 125] ) } spids: [112] ) ] spids: [112] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GINKGO_PARALLEL) op: Equal rhs: { (BracedVarSub token: <VSub_Name GINKGO_PARALLEL> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(n)}) spids: [133 137] ) } spids: [132] ) ] spids: [132] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CLOUD_CONFIG) op: Equal rhs: { (BracedVarSub token: <VSub_Name CLOUD_CONFIG> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(DQ )}) spids: [143 148] ) } spids: [142] ) ] spids: [142] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GINKGO_NO_COLOR) op: Equal rhs: { (BracedVarSub token: <VSub_Name GINKGO_NO_COLOR> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(n)}) spids: [158 162] ) } spids: [157] ) ] spids: [157] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GINKGO_TOLERATE_FLAKES) op: Equal rhs: { (BracedVarSub token: <VSub_Name GINKGO_TOLERATE_FLAKES> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(n)}) spids: [169 173] ) } spids: [168] ) ] spids: [168] ) (C {(Lit_Other ":")} { (BracedVarSub token: <VSub_Name KUBECTL> suffix_op: (StringUnary op_id: VTest_ColonEquals arg_word: {(DQ (${ VSub_Name KUBE_ROOT) (/cluster/kubectl.sh))} ) spids: [178 187] ) } ) (C {(Lit_Other ":")} { (BracedVarSub token: <VSub_Name KUBE_CONFIG_FILE> suffix_op: (StringUnary op_id:VTest_ColonEquals arg_word:{(DQ (config-test.sh))}) spids: [191 197] ) } ) (C {(export)} {(KUBECTL)} {(KUBE_CONFIG_FILE)}) (C {(source)} {(DQ (${ VSub_Name KUBE_ROOT) (/cluster/kube-util.sh))}) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_n child: { (DQ (BracedVarSub token: <VSub_Name KUBERNETES_CONFORMANCE_TEST> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [227 230] ) ) } ) ) terminator: <Op_Semi ";"> ) ] action: [ (C {(echo)} {(DQ ("Conformance test: not doing test setup."))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KUBERNETES_PROVIDER) op: Equal rhs: { (BracedVarSub token: <VSub_Name KUBERNETES_CONFORMANCE_PROVIDER> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(DQ (skeleton))}) spids: [247 253] ) } spids: [246] ) ] spids: [246] ) (C {(detect-master-from-kubeconfig)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:auth_config) op: Equal rhs: {(ArrayLiteralPart words:[{(DQ ("--kubeconfig=") (${ VSub_Name KUBECONFIG))}])} spids: [261] ) ] spids: [261] ) ] spids: [-1 236] ) ] else_action: [ (C {(echo)} { (DQ ("Setting up for KUBERNETES_PROVIDER=") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (${ VSub_Name KUBERNETES_PROVIDER) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (.) ) } ) (C {(prepare-e2e)}) (SimpleCommand words: [{(detect-master)}] redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(/dev/null)} spids:[298])] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KUBE_MASTER_URL) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name KUBE_MASTER_URL> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {("https:") (Lit_Slash /) (Lit_Slash /) (BracedVarSub token: <VSub_Name KUBE_MASTER_IP> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{}) spids: [310 313] ) } ) spids: [304 314] ) ) } spids: [302] ) ] spids: [302] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:auth_config) op: Equal rhs: { (ArrayLiteralPart words: [ { (DQ ("--kubeconfig=") (BracedVarSub token: <VSub_Name KUBECONFIG> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {($ VSub_Name "$DEFAULT_KUBECONFIG")} ) spids: [325 329] ) ) } ] ) } spids: [319] ) ] spids: [319] ) ] spids: [275 335] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_n child: { (DQ (BracedVarSub token: <VSub_Name NODE_INSTANCE_PREFIX> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [345 348] ) ) } ) ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:NODE_INSTANCE_GROUP) op: Equal rhs: {(DQ (${ VSub_Name NODE_INSTANCE_PREFIX) (-group))} spids: [357] ) ] spids: [357] ) ] spids: [-1 354] ) ] spids: [-1 365] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ (${ VSub_Name KUBERNETES_PROVIDER))} right: {(DQ (gce))} ) ) terminator: <Op_Semi ";"> ) ] action: [ (C {(set_num_migs)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:NODE_INSTANCE_GROUP) op: Equal rhs: {(DQ )} spids: [393] ) ] spids: [393] ) (ForExpr init: (BinaryAssign op_id: Arith_Equal left: (LhsName name:i) right: (ArithWord w:{(Lit_Digits 1)}) ) cond: (ArithBinary op_id: Arith_LessEqual left: (ArithVarRef name:i) right: (ArithWord w:{(${ VSub_Name NUM_MIGS)}) ) update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i)) body: (DoGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {($ VSub_Name "$i")} right: {(${ VSub_Name NUM_MIGS)} ) ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:NODE_INSTANCE_GROUP) op: Equal rhs: { (DQ (${ VSub_Name NODE_INSTANCE_GROUP) (${ VSub_Name NODE_INSTANCE_PREFIX) (-group) ) } spids: [444] ) ] spids: [444] ) ] spids: [-1 437] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:NODE_INSTANCE_GROUP) op: Equal rhs: { (DQ (${ VSub_Name NODE_INSTANCE_GROUP) (${ VSub_Name NODE_INSTANCE_PREFIX) (-group-) (${ VSub_Name i) (",") ) } spids: [459] ) ] spids: [459] ) ] spids: [456 475] ) ] spids: [419 478] ) ) ] spids: [-1 387] ) ] spids: [-1 480] ) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr children: [ (DBracket expr: (BoolUnary op_id: BoolUnary_z child: { (DQ (BracedVarSub token: <VSub_Name NODE_INSTANCE_GROUP> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [499 502] ) ) } ) ) (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ (${ VSub_Name KUBERNETES_PROVIDER))} right: {(DQ (gke))} ) ) ] op_id: Op_DAmp ) terminator: <Op_Semi ";"> ) ] action: [ (C {(detect-node-instance-groups)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:NODE_INSTANCE_GROUP) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(kube) (Lit_Other ":") (Lit_Other ":") (util) (Lit_Other ":") (Lit_Other ":") (join) } {(Lit_Comma ",")} { (DQ (BracedVarSub token: <VSub_Name NODE_INSTANCE_GROUPS> bracket_op: (WholeArray op_id:Lit_At) spids: [545 550] ) ) } ) ] ) left_token: <Left_CommandSub "$("> spids: [533 552] ) } spids: [532] ) ] spids: [532] ) ] spids: [-1 526] ) ] spids: [-1 554] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ (${ VSub_Name KUBERNETES_PROVIDER))} right: {(DQ (azure))} ) ) terminator: <Op_Semi ";"> ) ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(${ VSub_Name CLOUD_CONFIG)} right: {(DQ )} ) ) terminator: <Op_Semi ";"> ) ] action: [(C {(echo)} {(DQ ("Missing azure cloud config"))}) (C {(exit)} {(1)})] spids: [-1 595] ) ] spids: [-1 610] ) ] spids: [-1 576] ) ] spids: [-1 612] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ginkgo_args) op: Equal rhs: {(ArrayLiteralPart)} spids: [615] ) ] spids: [615] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_n child: { (DQ (BracedVarSub token: <VSub_Name CONFORMANCE_TEST_SKIP_REGEX> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [626 629] ) ) } ) ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ginkgo_args) op: PlusEqual rhs: { (ArrayLiteralPart words: [{(DQ ("--skip=") (${ VSub_Name CONFORMANCE_TEST_SKIP_REGEX))}] ) } spids: [638] ) ] spids: [638] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ginkgo_args) op: PlusEqual rhs: {(ArrayLiteralPart words:[{(DQ ("--seed=1436380640"))}])} spids: [649] ) ] spids: [649] ) ] spids: [-1 635] ) ] spids: [-1 656] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_n child: { (DQ (BracedVarSub token: <VSub_Name GINKGO_PARALLEL_NODES> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [665 668] ) ) } ) ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ginkgo_args) op: PlusEqual rhs: { (ArrayLiteralPart words: [{(DQ ("--nodes=") (${ VSub_Name GINKGO_PARALLEL_NODES))}] ) } spids: [677] ) ] spids: [677] ) ] spids: [-1 674] ) (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_EqualTilde left: {(${ VSub_Name GINKGO_PARALLEL)} right: {(Lit_Other "^") (Lit_Other "[") (yY) (Lit_Other "]") (Lit_Other "$")} ) ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ginkgo_args) op: PlusEqual rhs: {(ArrayLiteralPart words:[{(DQ ("--nodes=25"))}])} spids: [709] ) ] spids: [709] ) ] spids: [687 706] ) ] spids: [-1 716] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: { (DQ (BracedVarSub token: <VSub_Name GINKGO_UNTIL_IT_FAILS> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [724 727] ) ) } right: {(true)} ) ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ginkgo_args) op: PlusEqual rhs: {(ArrayLiteralPart words:[{(DQ ("--untilItFails=true"))}])} spids: [740] ) ] spids: [740] ) ] spids: [-1 737] ) ] spids: [-1 747] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:FLAKE_ATTEMPTS) op:Equal rhs:{(1)} spids:[750])] spids: [750] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ (${ VSub_Name GINKGO_TOLERATE_FLAKES))} right: {(DQ (y))} ) ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:FLAKE_ATTEMPTS) op:Equal rhs:{(2)} spids:[775])] spids: [775] ) ] spids: [-1 772] ) ] spids: [-1 778] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ (${ VSub_Name GINKGO_NO_COLOR))} right: {(DQ (y))} ) ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ginkgo_args) op: PlusEqual rhs: {(ArrayLiteralPart words:[{(DQ (--noColor))}])} spids: [803] ) ] spids: [803] ) ] spids: [-1 800] ) ] spids: [-1 810] ) (C {(export)} {(Lit_VarLike "PATH=") (CommandSubPart command_list: (CommandList children:[(C {(dirname)} {(DQ (${ VSub_Name e2e_test))})]) left_token: <Left_CommandSub "$("> spids: [828 836] ) (Lit_Other ":") (DQ (${ VSub_Name PATH)) } ) (C {(DQ (${ VSub_Name ginkgo))} { (DQ (BracedVarSub token: <VSub_Name ginkgo_args> bracket_op: (WholeArray op_id:Lit_At) suffix_op: (StringUnary op_id: VTest_ColonPlus arg_word: { (BracedVarSub token: <VSub_Name ginkgo_args> bracket_op: (WholeArray op_id:Lit_At) spids: [857 862] ) } ) spids: [851 863] ) ) } {(DQ (${ VSub_Name e2e_test))} {(--)} { (DQ (BracedVarSub token: <VSub_Name auth_config> bracket_op: (WholeArray op_id:Lit_At) suffix_op: (StringUnary op_id: VTest_ColonPlus arg_word: { (BracedVarSub token: <VSub_Name auth_config> bracket_op: (WholeArray op_id:Lit_At) spids: [883 888] ) } ) spids: [877 889] ) ) } {(--ginkgo.flakeAttempts) (Lit_Other "=") (DQ (${ VSub_Name FLAKE_ATTEMPTS))} {(--host) (Lit_Other "=") (DQ (${ VSub_Name KUBE_MASTER_URL))} {(--provider) (Lit_Other "=") (DQ (${ VSub_Name KUBERNETES_PROVIDER))} {(--gce-project) (Lit_Other "=") (DQ (BracedVarSub token: <VSub_Name PROJECT> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [927 930] ) ) } {(--gce-zone) (Lit_Other "=") (DQ (BracedVarSub token: <VSub_Name ZONE> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [938 941] ) ) } {(--gce-region) (Lit_Other "=") (DQ (BracedVarSub token: <VSub_Name REGION> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [949 952] ) ) } {(--gce-multizone) (Lit_Other "=") (DQ (BracedVarSub token: <VSub_Name MULTIZONE> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(false)}) spids: [960 964] ) ) } {(--gke-cluster) (Lit_Other "=") (DQ (BracedVarSub token: <VSub_Name CLUSTER_NAME> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [972 975] ) ) } {(--kube-master) (Lit_Other "=") (DQ (BracedVarSub token: <VSub_Name KUBE_MASTER> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [983 986] ) ) } {(--cluster-tag) (Lit_Other "=") (DQ (BracedVarSub token: <VSub_Name CLUSTER_ID> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [994 997] ) ) } {(--cloud-config-file) (Lit_Other "=") (DQ (BracedVarSub token: <VSub_Name CLOUD_CONFIG> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [1005 1008] ) ) } {(--repo-root) (Lit_Other "=") (DQ (${ VSub_Name KUBE_ROOT))} {(--node-instance-group) (Lit_Other "=") (DQ (BracedVarSub token: <VSub_Name NODE_INSTANCE_GROUP> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [1026 1029] ) ) } {(--prefix) (Lit_Other "=") (DQ (BracedVarSub token: <VSub_Name KUBE_GCE_INSTANCE_PREFIX> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(e2e)}) spids: [1037 1041] ) ) } {(--network) (Lit_Other "=") (DQ (BracedVarSub token: <VSub_Name KUBE_GCE_NETWORK> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: { (BracedVarSub token: <VSub_Name KUBE_GKE_NETWORK> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(e2e)}) spids: [1052 1056] ) } ) spids: [1049 1057] ) ) } {(--node-tag) (Lit_Other "=") (DQ (BracedVarSub token: <VSub_Name NODE_TAG> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [1065 1068] ) ) } {(--master-tag) (Lit_Other "=") (DQ (BracedVarSub token: <VSub_Name MASTER_TAG> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [1076 1079] ) ) } {(--federated-kube-context) (Lit_Other "=") (DQ (BracedVarSub token: <VSub_Name FEDERATION_KUBE_CONTEXT> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(e2e-federation)}) spids: [1087 1091] ) ) } { (BracedVarSub token: <VSub_Name KUBE_CONTAINER_RUNTIME> suffix_op: (StringUnary op_id: VTest_ColonPlus arg_word: {(DQ ("--container-runtime=") (${ VSub_Name KUBE_CONTAINER_RUNTIME))} ) spids: [1096 1105] ) } { (BracedVarSub token: <VSub_Name MASTER_OS_DISTRIBUTION> suffix_op: (StringUnary op_id: VTest_ColonPlus arg_word: {(DQ ("--master-os-distro=") (${ VSub_Name MASTER_OS_DISTRIBUTION))} ) spids: [1109 1118] ) } { (BracedVarSub token: <VSub_Name NODE_OS_DISTRIBUTION> suffix_op: (StringUnary op_id: VTest_ColonPlus arg_word: {(DQ ("--node-os-distro=") (${ VSub_Name NODE_OS_DISTRIBUTION))} ) spids: [1122 1131] ) } { (BracedVarSub token: <VSub_Name NUM_NODES> suffix_op: (StringUnary op_id: VTest_ColonPlus arg_word: {(DQ ("--num-nodes=") (${ VSub_Name NUM_NODES))} ) spids: [1135 1144] ) } { (BracedVarSub token: <VSub_Name E2E_REPORT_DIR> suffix_op: (StringUnary op_id: VTest_ColonPlus arg_word: {(DQ ("--report-dir=") (${ VSub_Name E2E_REPORT_DIR))} ) spids: [1148 1157] ) } { (BracedVarSub token: <VSub_Name E2E_REPORT_PREFIX> suffix_op: (StringUnary op_id: VTest_ColonPlus arg_word: {(DQ ("--report-prefix=") (${ VSub_Name E2E_REPORT_PREFIX))} ) spids: [1161 1170] ) } { (DQ (BracedVarSub token: <VSub_At "@"> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [1175 1178] ) ) } ) ] )