(CommandList children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(DQ ($ VSub_Pound "$#"))} {(-ne)} {(5)} {(Lit_Other "]")}) terminator: <Op_Semi ";"> ) ] action: [ (C {(echo)} { (DQ ( "Must pass in 5 parameters in order: <token> <IP of local machine> <region> <VIP IP> <Ceph S3 Host IP>" ) ) } ) (C {(exit)} {(1)}) ] spids: [-1 69] ) ] spids: [-1 83] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:TOKEN) op:Equal rhs:{($ VSub_Number "$1")} spids:[86])] spids: [86] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:IP) op:Equal rhs:{($ VSub_Number "$2")} spids:[89])] spids: [89] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KEYSTONE_REGION) op: Equal rhs: {($ VSub_Number "$3")} spids: [92] ) ] spids: [92] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KEYSTONE_HOST) op: Equal rhs: {($ VSub_Number "$4")} spids: [95] ) ] spids: [95] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CEPH_S3_HOST) op: Equal rhs: {($ VSub_Number "$5")} spids: [98] ) ] spids: [98] ) (C {(export)} {(Lit_VarLike "OS_SERVICE_TOKEN=") (${ VSub_Name TOKEN)}) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(${ VSub_Name IP)} {(Lit_Other "=")} {(${ VSub_Name KEYSTONE_HOST)} {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) ] action: [ (C {(export)} {(Lit_VarLike "OS_SERVICE_ENDPOINT=") (DQ ("https://") (${ VSub_Name IP) (":35357/v2.0")) } ) ] spids: [-1 127] ) ] else_action: [ (C {(export)} {(Lit_VarLike "OS_SERVICE_ENDPOINT=") (DQ ("http://") (${ VSub_Name IP) (":35357/v2.0"))} ) ] spids: [141 155] ) (FuncDef name: get_field body: (BraceGroup children: [ (SimpleCommand words: [{(read)} {(-ra)} {(COL)}] more_env: [(env_pair name:IFS val:{(SQ <"|">)} spids:[185])] ) (C {(echo)} { (CommandSubPart command_list: (CommandList children: [ (C {(trim)} { (BracedVarSub token: <VSub_Name COL> bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Number "$1")})) spids: [202 207] ) } ) ] ) left_token: <Left_CommandSub "$("> spids: [199 208] ) } ) ] spids: [174] ) spids: [170 173] ) (FuncDef name: trim body: (BraceGroup children: [ (C {(echo)} { (BracedVarSub token: <VSub_Number 1> suffix_op: (PatSub pat: {("[[:blank:]]")} replace: {} do_all: True do_prefix: False do_suffix: False ) spids: [226 232] ) } ) ] spids: [221] ) spids: [217 220] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:check) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [(C {(keystone)} {(service-list)}) (C {(grep)} {(SQ <compute>)})] negated: False ) ] ) left_token: <Left_CommandSub "$("> spids: [266 278] ) } spids: [265] ) ] spids: [265] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr:(BoolUnary op_id:BoolUnary_z child:{(${ VSub_Name check)})) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:COMPUTE_SERVICE) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(keystone)} {(service-create)} {(--name)} {(SQ <"Computer Service">)} {(--type)} {(compute)} {(--description)} {(SQ <"OpenStack Compute Service">)} ) (C {(grep)} {(DQ (" id "))}) (C {(get_field)} {(2)}) ] negated: False ) ] ) left_token: <Left_CommandSub "$("> spids: [297 331] ) } spids: [296] ) ] spids: [296] ) ] spids: [-1 293] ) ] spids: [-1 333] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:check) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [(C {(keystone)} {(service-list)}) (C {(grep)} {(SQ <volume>)})] negated: False ) ] ) left_token: <Left_CommandSub "$("> spids: [337 349] ) } spids: [336] ) ] spids: [336] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr:(BoolUnary op_id:BoolUnary_z child:{(${ VSub_Name check)})) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:VOLUME_SERVICE) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(keystone)} {(service-create)} {(--name)} {(SQ <"Volume Service">)} {(--type)} {(volume)} {(--description)} {(SQ <"OpenStack Volume Service">)} ) (C {(grep)} {(DQ (" id "))}) (C {(get_field)} {(2)}) ] negated: False ) ] ) left_token: <Left_CommandSub "$("> spids: [368 402] ) } spids: [367] ) ] spids: [367] ) ] spids: [-1 364] ) ] spids: [-1 404] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:check) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [(C {(keystone)} {(service-list)}) (C {(grep)} {(SQ <object-store>)})] negated: False ) ] ) left_token: <Left_CommandSub "$("> spids: [408 420] ) } spids: [407] ) ] spids: [407] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr:(BoolUnary op_id:BoolUnary_z child:{(${ VSub_Name check)})) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:OBJECT_SERVICE) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(keystone)} {(service-create)} {(--name)} {(SQ <"Object Store Service">)} {(--type)} {(object-store)} {(--description)} {(SQ <"OpenStack Object Storage Service">)} ) (C {(grep)} {(DQ (" id "))}) (C {(get_field)} {(2)}) ] negated: False ) ] ) left_token: <Left_CommandSub "$("> spids: [439 473] ) } spids: [438] ) ] spids: [438] ) ] spids: [-1 435] ) ] spids: [-1 475] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:check) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [(C {(keystone)} {(service-list)}) (C {(grep)} {(SQ <image>)})] negated: False ) ] ) left_token: <Left_CommandSub "$("> spids: [479 491] ) } spids: [478] ) ] spids: [478] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr:(BoolUnary op_id:BoolUnary_z child:{(${ VSub_Name check)})) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:IMAGE_SERVICE) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(keystone)} {(service-create)} {(--name)} {(SQ <"Image Service">)} {(--type)} {(image)} {(--description)} {(SQ <"OpenStack Image Service">)} ) (C {(grep)} {(DQ (" id "))}) (C {(get_field)} {(2)}) ] negated: False ) ] ) left_token: <Left_CommandSub "$("> spids: [510 544] ) } spids: [509] ) ] spids: [509] ) ] spids: [-1 506] ) ] spids: [-1 546] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:check) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [(C {(keystone)} {(service-list)}) (C {(grep)} {(SQ <identity>)})] negated: False ) ] ) left_token: <Left_CommandSub "$("> spids: [550 562] ) } spids: [549] ) ] spids: [549] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr:(BoolUnary op_id:BoolUnary_z child:{(${ VSub_Name check)})) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:IDENTITY_SERVICE) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(keystone)} {(service-create)} {(--name)} {(SQ <keystone>)} {(--type)} {(identity)} {(--description)} {(SQ <"OpenStack Identity">)} ) (C {(grep)} {(DQ (" id "))}) (C {(get_field)} {(2)}) ] negated: False ) ] ) left_token: <Left_CommandSub "$("> spids: [585 619] ) } spids: [584] ) ] spids: [584] ) ] spids: [-1 577] ) ] spids: [-1 621] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:check) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [(C {(keystone)} {(service-list)}) (C {(grep)} {(SQ <ec2>)})] negated: False ) ] ) left_token: <Left_CommandSub "$("> spids: [625 637] ) } spids: [624] ) ] spids: [624] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr:(BoolUnary op_id:BoolUnary_z child:{(${ VSub_Name check)})) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:EC2_SERVICE) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(keystone)} {(service-create)} {(--name)} {(SQ <"EC2 Service">)} {(--type)} {(ec2)} {(--description)} {(SQ <"OpenStack EC2 service">)} ) (C {(grep)} {(DQ (" id "))}) (C {(get_field)} {(2)}) ] negated: False ) ] ) left_token: <Left_CommandSub "$("> spids: [656 690] ) } spids: [655] ) ] spids: [655] ) ] spids: [-1 652] ) ] spids: [-1 692] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:check) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [(C {(keystone)} {(service-list)}) (C {(grep)} {(SQ <orchestration>)})] negated: False ) ] ) left_token: <Left_CommandSub "$("> spids: [696 708] ) } spids: [695] ) ] spids: [695] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr:(BoolUnary op_id:BoolUnary_z child:{(${ VSub_Name check)})) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ORCHESTRATION_SERVICE) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(keystone)} {(service-create)} {(--name)} {(SQ <"Orchestration Service">)} {(--type)} {(orchestration)} {(--description)} {(SQ <"OpenStack Orchestration service">)} ) (C {(grep)} {(DQ (" id "))}) (C {(get_field)} {(2)}) ] negated: False ) ] ) left_token: <Left_CommandSub "$("> spids: [727 761] ) } spids: [726] ) ] spids: [726] ) ] spids: [-1 723] ) ] spids: [-1 763] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:check) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [(C {(keystone)} {(service-list)}) (C {(grep)} {(SQ <cloudformation>)})] negated: False ) ] ) left_token: <Left_CommandSub "$("> spids: [767 779] ) } spids: [766] ) ] spids: [766] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr:(BoolUnary op_id:BoolUnary_z child:{(${ VSub_Name check)})) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:CLOUD_FORMATION_SERVICE) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(keystone)} {(service-create)} {(--name)} {(SQ <"Cloudformation Service">)} {(--type)} {(cloudformation)} {(--description)} {(SQ <"OpenStack Cloudformation service">)} ) (C {(grep)} {(DQ (" id "))}) (C {(get_field)} {(2)}) ] negated: False ) ] ) left_token: <Left_CommandSub "$("> spids: [798 832] ) } spids: [797] ) ] spids: [797] ) ] spids: [-1 794] ) ] spids: [-1 834] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id:BoolUnary_z child:{(${ VSub_Name COMPUTE_SERVICE)}) ) terminator: <Op_Semi ";"> ) ] action: [(C {(echo)} {(SQ <"Compute Service exists or not created.">)})] spids: [-1 853] ) ] else_action: [ (C {(keystone)} {(endpoint-create)} {(--region)} {(${ VSub_Name KEYSTONE_REGION)} {(--service-id)} {(${ VSub_Name COMPUTE_SERVICE)} {(--publicurl)} {(SQ <"https://">) (${ VSub_Name KEYSTONE_HOST) (SQ <":8774/v1.1/$(tenant_id)s">)} {(--adminurl)} {(SQ <"https://">) (${ VSub_Name KEYSTONE_HOST) (SQ <":8774/v1.1/$(tenant_id)s">)} {(--internalurl)} {(SQ <"https://">) (${ VSub_Name KEYSTONE_HOST) (SQ <":8774/v1.1/$(tenant_id)s">)} ) ] spids: [862 917] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr:(BoolUnary op_id:BoolUnary_z child:{(${ VSub_Name VOLUME_SERVICE)})) terminator: <Op_Semi ";"> ) ] action: [(C {(echo)} {(SQ <"Volume Service exists or not created.">)})] spids: [-1 933] ) ] else_action: [ (C {(keystone)} {(endpoint-create)} {(--region)} {(${ VSub_Name KEYSTONE_REGION)} {(--service-id)} {(${ VSub_Name VOLUME_SERVICE)} {(--publicurl)} {(SQ <"https://">) (${ VSub_Name KEYSTONE_HOST) (SQ <":8776/v1/$(tenant_id)s">)} {(--adminurl)} {(SQ <"https://">) (${ VSub_Name KEYSTONE_HOST) (SQ <":8776/v1/$(tenant_id)s">)} {(--internalurl)} {(SQ <"https://">) (${ VSub_Name KEYSTONE_HOST) (SQ <":8776/v1/$(tenant_id)s">)} ) ] spids: [942 997] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr:(BoolUnary op_id:BoolUnary_z child:{(${ VSub_Name OBJECT_SERVICE)})) terminator: <Op_Semi ";"> ) ] action: [(C {(echo)} {(SQ <"Object Service exists or not created.">)})] spids: [-1 1013] ) ] else_action: [ (C {(keystone)} {(endpoint-create)} {(--region)} {(${ VSub_Name KEYSTONE_REGION)} {(--service-id)} {(${ VSub_Name OBJECT_SERVICE)} {(--publicurl)} {(SQ <"http://">) (${ VSub_Name CEPH_S3_HOST) (SQ </swift/v1>)} {(--adminurl)} {(SQ <"http://">) (${ VSub_Name CEPH_S3_HOST) (SQ </swift/v1>)} {(--internalurl)} {(SQ <"http://">) (${ VSub_Name CEPH_S3_HOST) (SQ </swift/v1>)} ) ] spids: [1022 1077] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr:(BoolUnary op_id:BoolUnary_z child:{(${ VSub_Name IMAGE_SERVICE)})) terminator: <Op_Semi ";"> ) ] action: [(C {(echo)} {(SQ <"Image Service exists or not created.">)})] spids: [-1 1093] ) ] else_action: [ (C {(keystone)} {(endpoint-create)} {(--region)} {(${ VSub_Name KEYSTONE_REGION)} {(--service-id)} {(${ VSub_Name IMAGE_SERVICE)} {(--publicurl)} {(SQ <"https://">) (${ VSub_Name KEYSTONE_HOST) (SQ <":9292/v1">)} {(--adminurl)} {(SQ <"https://">) (${ VSub_Name KEYSTONE_HOST) (SQ <":9292/v1">)} {(--internalurl)} {(SQ <"https://">) (${ VSub_Name KEYSTONE_HOST) (SQ <":9292/v1">)} ) ] spids: [1102 1157] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id:BoolUnary_z child:{(${ VSub_Name IDENTITY_SERVICE)}) ) terminator: <Op_Semi ";"> ) ] action: [(C {(echo)} {(SQ <"Identity Service exists or not created.">)})] spids: [-1 1173] ) ] else_action: [ (C {(keystone)} {(endpoint-create)} {(--region)} {(${ VSub_Name KEYSTONE_REGION)} {(--service-id)} {(${ VSub_Name IDENTITY_SERVICE)} {(--publicurl)} {(SQ <"https://">) (${ VSub_Name KEYSTONE_HOST) (SQ <":5000/v2.0">)} {(--adminurl)} {(SQ <"https://">) (${ VSub_Name KEYSTONE_HOST) (SQ <":35357/v2.0">)} {(--internalurl)} {(SQ <"https://">) (${ VSub_Name KEYSTONE_HOST) (SQ <":5000/v2.0">)} ) ] spids: [1182 1237] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr:(BoolUnary op_id:BoolUnary_z child:{(${ VSub_Name EC2_SERVICE)})) terminator: <Op_Semi ";"> ) ] action: [(C {(echo)} {(SQ <"EC2 Service exists or not created.">)})] spids: [-1 1253] ) ] else_action: [ (C {(keystone)} {(endpoint-create)} {(--region)} {(${ VSub_Name KEYSTONE_REGION)} {(--service-id)} {(${ VSub_Name EC2_SERVICE)} {(--publicurl)} {(SQ <"https://">) (${ VSub_Name KEYSTONE_HOST) (SQ <":8773/services/Cloud">)} {(--adminurl)} {(SQ <"https://">) (${ VSub_Name KEYSTONE_HOST) (SQ <":8773/services/Admin">)} {(--internalurl)} {(SQ <"https://">) (${ VSub_Name KEYSTONE_HOST) (SQ <":8773/services/Cloud">)} ) ] spids: [1262 1317] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id:BoolUnary_z child:{(${ VSub_Name ORCHESTRATION_SERVICE)}) ) terminator: <Op_Semi ";"> ) ] action: [(C {(echo)} {(SQ <"Orchestration Service exists or not created.">)})] spids: [-1 1333] ) ] else_action: [ (C {(keystone)} {(endpoint-create)} {(--region)} {(${ VSub_Name KEYSTONE_REGION)} {(--service-id)} {(${ VSub_Name ORCHESTRATION_SERVICE)} {(--publicurl)} {(SQ <"https://">) (${ VSub_Name KEYSTONE_HOST) (SQ <":8004/v1/$(tenant_id)s">)} {(--adminurl)} {(SQ <"https://">) (${ VSub_Name KEYSTONE_HOST) (SQ <":8004/v1/$(tenant_id)s">)} {(--internalurl)} {(SQ <"https://">) (${ VSub_Name KEYSTONE_HOST) (SQ <":8004/v1/$(tenant_id)s">)} ) ] spids: [1342 1397] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id:BoolUnary_z child:{(${ VSub_Name CLOUD_FORMATION_SERVICE)}) ) terminator: <Op_Semi ";"> ) ] action: [(C {(echo)} {(SQ <"Cloudformation Service exists or not created.">)})] spids: [-1 1413] ) ] else_action: [ (C {(keystone)} {(endpoint-create)} {(--region)} {(${ VSub_Name KEYSTONE_REGION)} {(--service-id)} {(${ VSub_Name CLOUD_FORMATION_SERVICE)} {(--publicurl)} {(SQ <"https://">) (${ VSub_Name KEYSTONE_HOST) (SQ <":8000/v1">)} {(--adminurl)} {(SQ <"https://">) (${ VSub_Name KEYSTONE_HOST) (SQ <":8000/v1">)} {(--internalurl)} {(SQ <"https://">) (${ VSub_Name KEYSTONE_HOST) (SQ <":8000/v1">)} ) ] spids: [1422 1477] ) (C {(unset)} {(OS_SERVICE_TOKEN)}) (C {(unset)} {(OS_SERVICE_ENDPOINT)}) ] )