(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:{(EmptyPart)}) 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: [16777215 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:16777215 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:{(EmptyPart)}) 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: [16777215 354] ) ] spids: [16777215 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: [16777215 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: [16777215 387] ) ] spids: [16777215 480] ) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr ops: [Op_DAmp] 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:{(EmptyPart)}) spids: [499 502] ) ) } ) ) (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ (${ VSub_Name KUBERNETES_PROVIDER))} right: {(DQ (gke))} ) ) ] ) 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: [16777215 526] ) ] spids: [16777215 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'))}) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [16777215 595] ) ] spids: [16777215 610] ) ] spids: [16777215 576] ) ] spids: [16777215 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:{(EmptyPart)}) 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: [16777215 635] ) ] spids: [16777215 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:{(EmptyPart)}) 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: [16777215 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: [16777215 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:{(EmptyPart)}) 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: [16777215 737] ) ] spids: [16777215 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: [16777215 772] ) ] spids: [16777215 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: [16777215 800] ) ] spids: [16777215 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:{(EmptyPart)}) spids: [927 930] ) ) } {(--gce-zone) (Lit_Other '=') (DQ (BracedVarSub token: <VSub_Name ZONE> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(EmptyPart)}) spids: [938 941] ) ) } {(--gce-region) (Lit_Other '=') (DQ (BracedVarSub token: <VSub_Name REGION> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(EmptyPart)}) 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:{(EmptyPart)}) spids: [972 975] ) ) } {(--kube-master) (Lit_Other '=') (DQ (BracedVarSub token: <VSub_Name KUBE_MASTER> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(EmptyPart)}) spids: [983 986] ) ) } {(--cluster-tag) (Lit_Other '=') (DQ (BracedVarSub token: <VSub_Name CLUSTER_ID> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(EmptyPart)}) spids: [994 997] ) ) } {(--cloud-config-file) (Lit_Other '=') (DQ (BracedVarSub token: <VSub_Name CLOUD_CONFIG> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(EmptyPart)}) 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:{(EmptyPart)}) 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:{(EmptyPart)}) spids: [1065 1068] ) ) } {(--master-tag) (Lit_Other '=') (DQ (BracedVarSub token: <VSub_Name MASTER_TAG> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(EmptyPart)}) 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:{(EmptyPart)}) spids: [1175 1178] ) ) } ) ] )