(command.CommandList children: [ (C {(Id.KW_Set set)} {(-e)}) (C {(.)} {($ Id.VSub_DollarName '$REPO_ROOT') (/bootstrap/shared/shared_functions.sh)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:REQUIRED_VARS) op: assign_op.Equal rhs: { (sh_array_literal left: (Token id:Id.Op_LParen val:'(' span_id:18) words: [{(BOOTSTRAP_CHEF_ENV)} {(REPO_ROOT)}] ) } spids: [17] ) ] ) (C {(check_for_envvars)} { (braced_var_sub token: (Token id:Id.VSub_Name val:REQUIRED_VARS span_id:29) bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) ) } ) (C {(cd)} {($ Id.VSub_DollarName '$REPO_ROOT') (/bootstrap/vagrant_scripts)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:KNIFE) op: assign_op.Equal rhs: {(/opt/opscode/embedded/bin/knife)} spids: [42] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:DATA_BAG) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:49) command_list: (command.CommandList children: [ (C {(vagrant)} {(ssh)} {(vm-bootstrap)} {(-c)} { (DQ ($ Id.VSub_DollarName '$KNIFE') (' data bag show configs ') ($ Id.VSub_DollarName '$BOOTSTRAP_CHEF_ENV') (' -F yaml') ) } ) ] ) ) } spids: [48] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:MANAGEMENT_VIP) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:70) command_list: (command.CommandList children: [ (C {(vagrant)} {(ssh)} {(vm-bootstrap)} {(-c)} { (DQ ($ Id.VSub_DollarName '$KNIFE') (' environment show ') ($ Id.VSub_DollarName '$BOOTSTRAP_CHEF_ENV') (" -a override_attributes.bcpc.management.vip | tail -n +2 | awk '{ print ") (word_part.EscapedLiteral token: (Token id:Id.Lit_EscapedChar val:'\\$' span_id:84) ) ("2 }'") ) } ) ] ) ) } spids: [69] ) ] ) (command.ShFunction name: extract_value body: (command.BraceGroup children: [ (command.Pipeline children: [ (C {(echo)} {(DQ ($ Id.VSub_DollarName '$DATA_BAG'))}) (C {(grep)} {(DQ ($ Id.VSub_Number '$1') (':'))}) (C {(awk)} {(SQ (Token id:Id.Lit_Chars val:'{ print $2 }' span_id:123))}) (C {(tr)} {(-d)} {(SQ (Token id:Id.Lit_Chars val:'\\r\\n' span_id:133))}) ] negated: F ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ROOT_PASSWORD) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:143) command_list: (command.CommandList children: [ (C {(extract_value)} {(SQ (Token id:Id.Lit_Chars val:cobbler-root-password span_id:147))} ) ] ) ) } spids: [142] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:MYSQL_ROOT_PASSWORD) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:152) command_list: (command.CommandList children: [ (C {(extract_value)} {(SQ (Token id:Id.Lit_Chars val:mysql-root-password span_id:156))} ) ] ) ) } spids: [151] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:RABBITMQ_USER) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:161) command_list: (command.CommandList children: [ (C {(extract_value)} {(SQ (Token id:Id.Lit_Chars val:rabbitmq-user span_id:165))}) ] ) ) } spids: [160] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:RABBITMQ_PASSWORD) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:170) command_list: (command.CommandList children: [ (C {(extract_value)} {(SQ (Token id:Id.Lit_Chars val:rabbitmq-password span_id:174))} ) ] ) ) } spids: [169] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HAPROXY_USER) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:179) command_list: (command.CommandList children: [ (C {(extract_value)} {(SQ (Token id:Id.Lit_Chars val:haproxy-stats-user span_id:183))} ) ] ) ) } spids: [178] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HAPROXY_PASSWORD) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:188) command_list: (command.CommandList children: [ (C {(extract_value)} {(SQ (Token id:Id.Lit_Chars val:haproxy-stats-password span_id:192))} ) ] ) ) } spids: [187] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:KEYSTONE_ADMIN_USER) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:197) command_list: (command.CommandList children: [ (C {(extract_value)} {(SQ (Token id:Id.Lit_Chars val:keystone-admin-user span_id:201))} ) ] ) ) } spids: [196] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:KEYSTONE_ADMIN_PASSWORD) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:206) command_list: (command.CommandList children: [ (C {(extract_value)} {(SQ (Token id:Id.Lit_Chars val:keystone-admin-password span_id:210))} ) ] ) ) } spids: [205] ) ] ) (C {(echo)} {(DQ (------------------------------------------------------------))}) (C {(echo)} {(DQ ("Everything looks like it's been installed successfully!"))}) (C {(echo)}) (C {(echo)} {(DQ ('Access the BCPC landing page at https://') ($ Id.VSub_DollarName '$MANAGEMENT_VIP'))} ) (C {(echo)} {(DQ ('Use these users and passwords to access the different resources:'))}) (C {(echo)}) (C {(echo)} { (DQ ('Horizon: ') ($ Id.VSub_DollarName '$KEYSTONE_ADMIN_USER') (' / ') ($ Id.VSub_DollarName '$KEYSTONE_ADMIN_PASSWORD') ) } ) (C {(echo)} { (DQ ('HAProxy: ') ($ Id.VSub_DollarName '$HAPROXY_USER') (' / ') ($ Id.VSub_DollarName '$HAPROXY_PASSWORD') ) } ) (C {(echo)} { (DQ ('RabbitMQ: ') ($ Id.VSub_DollarName '$RABBITMQ_USER') (' / ') ($ Id.VSub_DollarName '$RABBITMQ_PASSWORD') ) } ) (C {(echo)}) (C {(echo)} {(DQ ('Here are a few additional passwords:'))}) (C {(echo)} {(DQ ('System root password: ') ($ Id.VSub_DollarName '$ROOT_PASSWORD'))}) (C {(echo)} {(DQ ('MySQL root password: ') ($ Id.VSub_DollarName '$MYSQL_ROOT_PASSWORD'))}) (C {(echo)}) (C {(echo)} {(DQ ('Thanks for using BCPC!'))}) ] )