(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SVCS='> name:SVCS) op: assign_op.Equal rhs: {<'/usr/bin/svcs'>} spids: [121] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'DSCFG_DEPEND_NOCHK='> name:DSCFG_DEPEND_NOCHK) op: assign_op.Equal rhs: {(DQ <'/tmp/.dscfgadm_pid'>)} spids: [124] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OS_MINOR='> name:OS_MINOR) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {<'/usr/bin/uname'>} {<-r>}) (C {<'/usr/bin/cut'>} {<-d>} {(SQ <.>)} {<-f2>}) ] negated: F stderr_indices: [] ) right: <Id.Backtick_Right '`'> ) } spids: [129] ) ] redirects: [] ) (C {<.>} {<'/lib/svc/share/smf_include.sh'>}) (command.ShFunction name: do_smf_depends body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'times='> name:times) op: assign_op.Equal rhs: {<0>} spids: [173] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'count='> name:count) op: assign_op.Equal rhs: {<1>} spids: [177] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName OS_MINOR)} {<-ge>} {<11>} {<Id.Lit_RBracket ']'>} ) ] ) action: [(command.ControlFlow token:<Id.ControlFlow_Return return> arg_word:{<0>})] spids: [182 195] ) (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {<-f>} {($ Id.VSub_DollarName DSCFG_DEPEND_NOCHK)} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (command.ForEach iter_names: [pid] iterable: (for_iter.Words words: [ { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<pgrep>} {<dscfgadm>}) right: <Id.Backtick_Right '`'> ) } ] ) body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<grep>} {<-c>} {($ Id.VSub_DollarName pid)} {($ Id.VSub_DollarName DSCFG_DEPEND_NOCHK)} ) right: <Id.Backtick_Right '`'> ) } {<-gt>} {<0>} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (command.ControlFlow token: <Id.ControlFlow_Return return> arg_word: {<0>} ) ] spids: [235 258] ) ] else_action: [] redirects: [] ) ] ) redirects: [] ) ] spids: [203 214] ) (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {<ps>} {<-ef>}) (C {<grep>} {<preremove>}) (C {<grep>} {<-c>} {<SUNWscmu>}) ] negated: F stderr_indices: [] ) right: <Id.Backtick_Right '`'> ) } {<-gt>} {<0>} {<Id.Lit_RBracket ']'>} ) ] ) action: [(command.ControlFlow token:<Id.ControlFlow_Return return> arg_word:{<0>})] spids: [272 305] ) ] else_action: [] redirects: [] ) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName count)} {<-ne>} {<0>} {<Id.Lit_RBracket ']'>} ) ] ) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'count='> name:count) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (command.Simple words: [ {($ Id.VSub_DollarName SVCS)} {<-o>} {<STATE>} {<-D>} {($ Id.VSub_Number 1)} ] redirects: [ (redir op: <Id.Redir_DGreat '2>>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (C {<grep>} {(DQ <'^online'>)}) (C {<wc>} {<-l>}) ] negated: F stderr_indices: [] ) right: <Id.Backtick_Right '`'> ) } spids: [334] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName count)} {<-ne>} {<0>} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName times)} {<-eq>} {<1>} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (C {<echo>} { (DQ <'Waiting for '> ($ Id.VSub_Number 1) <' dependents to be \'offline\''> ) } ) (command.Pipeline children: [ (command.Simple words: [ {($ Id.VSub_DollarName SVCS)} {<-D>} {($ Id.VSub_Number 1)} ] redirects: [ (redir op: <Id.Redir_DGreat '2>>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (C {<grep>} {(DQ <'^online'>)}) ] negated: F stderr_indices: [] ) ] spids: [391 404] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName times)} {<-eq>} {<60>} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (C {<echo>} { (DQ <'Error: Failed waiting for '> ($ Id.VSub_Number 1) <' dependents to be \'offline\''> ) } ) (command.Pipeline children: [ (command.Simple words: [ {($ Id.VSub_DollarName SVCS)} {<-D>} {($ Id.VSub_Number 1)} ] redirects: [ (redir op: <Id.Redir_DGreat '2>>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (C {<grep>} {(DQ <'^online'>)}) ] negated: F stderr_indices: [] ) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_DollarName SMF_EXIT_ERR_FATAL)} ) ] spids: [446 459] ) ] else_action: [] redirects: [] ) (C {<sleep>} {<5>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'times='> name:times) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<expr>} {($ Id.VSub_DollarName times)} {<Id.Lit_Other '+'>} {<1>} ) right: <Id.Backtick_Right '`'> ) } spids: [511] ) ] redirects: [] ) ] spids: [367 380] ) ] else_action: [] redirects: [] ) ] ) redirects: [] ) (command.ControlFlow token:<Id.ControlFlow_Return return> arg_word:{<0>}) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: set_system_type body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CLINFO='> name:CLINFO) op: assign_op.Equal rhs: {<'/usr/sbin/clinfo'>} spids: [545] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ESMSBIN='> name:ESMSBIN) op: assign_op.Equal rhs: {<'/usr/sbin'>} spids: [549] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SCMBIN='> name:SCMBIN) op: assign_op.Equal rhs: {<'/usr/sbin'>} spids: [553] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ESMSCMLIB='> name:ESMSCMLIB) op: assign_op.Equal rhs: {<'/usr/lib'>} spids: [557] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SCMLIB='> name:SCMLIB) op: assign_op.Equal rhs: {<'/usr/lib'>} spids: [561] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'DSCFG_LOCKDB='> name:DSCFG_LOCKDB) op: assign_op.Equal rhs: {<'/etc/dscfg_lockdb'>} spids: [565] ) ] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: do_stopsdbc body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-r>} {<'/dev/sdbc'>} {<Id.Lit_RBracket ']'>} ) ] ) action: [(command.ControlFlow token:<Id.ControlFlow_Return return>)] spids: [579 592] ) ] else_action: [] redirects: [] ) (C {(${ Id.VSub_Name SCMBIN) <'/scmadm'>} {<-d>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {($ Id.VSub_QMark '?')} {<-ne>} {<0>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<echo>} {(DQ <'Cache Not Deconfigured'>)})] spids: [610 624] ) ] else_action: [] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: do_stopnskernd body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Pipeline children: [ (C {<ps>} {<-e>}) (command.Simple words: [{<grep>} {<-w>} {<nskernd>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) (redir op: <Id.Redir_GreatAnd '2>&'> loc: (redir_loc.Fd fd:2) arg: {<1>} ) ] more_env: [] do_fork: T ) ] negated: F stderr_indices: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {($ Id.VSub_QMark '?')} {<-eq>} {<0>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'stop='> name:stop) op: assign_op.Equal rhs: {<1>} spids: [704] ) ] redirects: [] ) (command.ForEach iter_names: [m] iterable: (for_iter.Words words:[{<ste>} {<rdc>} {<rdcsrv>} {<ii>} {<sdbc>}]) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'mid='> name:mid) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {<'/usr/sbin/modinfo'>}) (C {<grep>} {<-w>} {($ Id.VSub_DollarName m)}) (C {<awk>} {(SQ <'{print $1}'>)} {<->}) ] negated: F stderr_indices: [] ) right: <Id.Backtick_Right '`'> ) } spids: [729] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-z>} {(DQ ($ Id.VSub_DollarName mid))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ControlFlow token: <Id.ControlFlow_Continue continue> ) ] spids: [755 769] ) ] else_action: [] redirects: [] ) (command.Simple words: [{<'/usr/sbin/modunload'>} {<-i>} {($ Id.VSub_DollarName mid)}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) (redir op: <Id.Redir_GreatAnd '2>&'> loc: (redir_loc.Fd fd:2) arg: {<1>} ) ] more_env: [] do_fork: T ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {($ Id.VSub_QMark '?')} {<-ne>} {<0>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'stop='> name: stop ) op: assign_op.Equal rhs: {<0>} spids: [812] ) ] redirects: [] ) (command.ControlFlow token: <Id.ControlFlow_Break break> ) ] spids: [795 809] ) ] else_action: [] redirects: [] ) ] ) redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'pid='> name:pid) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {<ps>} {<-e>}) (C {<grep>} {<-w>} {<nskernd>}) (C {<sed>} {<-e>} {(SQ <'s/^ *//'>)} {<-e>} {(SQ <'s/ .*//'>)}) ] negated: F stderr_indices: [] ) right: <Id.Backtick_Right '`'> ) } spids: [830] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName stop)} {<-eq>} {<1>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_DollarName pid))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<kill>} {<-15>} {($ Id.VSub_DollarName pid)})] spids: [881 895] ) ] else_action: [] redirects: [] ) ] spids: [864 878] ) ] else_action: [] redirects: [] ) ] spids: [671 685] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {<-r>} {<'/dev/ncall'>} {<-a>} {<-x>} {($ Id.VSub_DollarName ESMSCMLIB) <'/ncalladm'>} {<Id.Lit_RBracket ']'>} ) ] ) action: [(C {($ Id.VSub_DollarName ESMSCMLIB) <'/ncalladm'>} {<-d>})] spids: [915 933] ) ] else_action: [] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: do_stopdscfglockd body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'pid='> name:pid) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {<ps>} {<-e>}) (C {<grep>} {<-w>} {<dscfgloc>}) (C {<sed>} {<-e>} {(SQ <'s/^ *//'>)} {<-e>} {(SQ <'s/ .*//'>)}) ] negated: F stderr_indices: [] ) right: <Id.Backtick_Right '`'> ) } spids: [955] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_DollarName pid))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<kill>} {<-15>} {($ Id.VSub_DollarName pid)})] spids: [989 1003] ) ] else_action: [] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: do_stop body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (C {<do_smf_depends>} {(DQ <'system/nws_scm'>)}) (C {<do_stopsdbc>}) (C {<do_stopnskernd>}) (C {<do_stopdscfglockd>}) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: do_nskernd body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {<-x>} {($ Id.VSub_DollarName ESMSCMLIB) <'/ncalladm'>} {<Id.Lit_RBracket ']'>} ) ] ) action: [(C {($ Id.VSub_DollarName ESMSCMLIB) <'/ncalladm'>} {<-e>})] spids: [1052 1064] ) ] else_action: [] redirects: [] ) (command.Pipeline children: [ (C {<ps>} {<-e>}) (command.Simple words: [{<grep>} {<-w>} {<nskernd>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) (redir op: <Id.Redir_GreatAnd '2>&'> loc: (redir_loc.Fd fd:2) arg: {<1>} ) ] more_env: [] do_fork: T ) ] negated: F stderr_indices: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {($ Id.VSub_QMark '?')} {<-ne>} {<0>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {(${ Id.VSub_Name SCMLIB) <'/nskernd'>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {($ Id.VSub_QMark '?')} {<-ne>} {<0>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<echo>} {(DQ <'Error: Unable to start nskernd'>)}) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_DollarName SMF_EXIT_ERR_FATAL)} ) ] spids: [1120 1134] ) ] else_action: [] redirects: [] ) ] spids: [1097 1111] ) ] else_action: [] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: do_dscfglockd body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Pipeline children: [ (C {<ps>} {<-e>}) (command.Simple words: [{<grep>} {<-w>} {<dscfgloc>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) (redir op: <Id.Redir_GreatAnd '2>&'> loc: (redir_loc.Fd fd:2) arg: {<1>} ) ] more_env: [] do_fork: T ) ] negated: F stderr_indices: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {($ Id.VSub_QMark '?')} {<-ne>} {<0>} {<Id.Lit_RBracket ']'>} ) ] ) action: [(C {<rm>} {<-f>} {<'/var/tmp/.cfglockd.pid'>})] spids: [1185 1198] ) ] else_action: [(command.ControlFlow token:<Id.ControlFlow_Return return>)] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands:[(C {(${ Id.VSub_Name CLINFO)})]) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'NODELIST='> name:NODELIST) op: assign_op.Equal rhs: {<'/tmp/'> ($ Id.VSub_Dollar '$') <.dscfg_nodelist>} spids: [1249] ) ] redirects: [] ) (command.Simple words: [{<rm>} {<-f>} {($ Id.VSub_DollarName NODELIST)}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) (redir op: <Id.Redir_GreatAnd '2>&'> loc: (redir_loc.Fd fd:2) arg: {<1>} ) ] more_env: [] do_fork: T ) (C {<touch>} {($ Id.VSub_DollarName NODELIST)}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {<-x>} {<'/usr/cluster/bin/scstat'>} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (command.Pipeline children: [ (C {<'/usr/cluster/bin/scstat'>} {<-n>}) (C {<grep>} {<node> <Id.Lit_Colon ':'>}) (command.Simple words: [{<awk>} {(SQ <'{print $3}'>)}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName NODELIST)} ) ] more_env: [] do_fork: T ) ] negated: F stderr_indices: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} {($ Id.VSub_DollarName DSCFG_LOCKDB)} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (C {<printf>} { (DQ <'In clustered environment.'> <Id.Lit_BadBackslash '\\'> <n> ) } ) (C {<printf>} {(DQ <'creating per node dscfg_lockdb database'>)}) (C {<printf>} { (DQ <' with following nodenames:'> <Id.Lit_BadBackslash '\\'> <n> ) } ) (C {<cat>} {($ Id.VSub_DollarName NODELIST)}) (C {<cp>} {($ Id.VSub_DollarName NODELIST)} {($ Id.VSub_DollarName DSCFG_LOCKDB)} ) ] spids: [1318 1331] ) ] else_action: [ (command.Simple words: [ {<diff>} {($ Id.VSub_DollarName NODELIST)} {($ Id.VSub_DollarName DSCFG_LOCKDB)} ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {($ Id.VSub_QMark '?')} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<0>} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (C {<printf>} {(DQ <'The cluster node names have '>)}) (C {<printf>} {(DQ <'changed. Updating dscfg_lockdb '>)}) (C {<printf>} {(DQ <database.> <Id.Lit_BadBackslash '\\'> <n>)}) (C {<printf>} { (DQ <'Previous node names:'> <Id.Lit_BadBackslash '\\'> <n>) } ) (C {<cat>} {($ Id.VSub_DollarName DSCFG_LOCKDB)}) (C {<printf>} {(DQ <'New node names:'> <Id.Lit_BadBackslash '\\'> <n>)} ) (C {<cat>} {($ Id.VSub_DollarName NODELIST)}) (C {<rm>} {<-f>} {($ Id.VSub_DollarName DSCFG_LOCKDB)}) (C {<cp>} {($ Id.VSub_DollarName NODELIST)} {($ Id.VSub_DollarName DSCFG_LOCKDB)} ) ] spids: [1389 1403] ) ] else_action: [] redirects: [] ) ] redirects: [] ) ] spids: [1274 1285] ) ] else_action: [ (C {<printf>} {(DQ <'In clustered environment.'> <Id.Lit_BadBackslash '\\'> <n>)} ) (C {<printf>} { (DQ <'Required configuration file, '> ($ Id.VSub_DollarName DSCFG_LOCKDB) <Id.Lit_BadBackslash '\\'> <n> ) } ) (C {<printf>} {(DQ <'was not properly populated with the cluster '>)}) (C {<printf>} { (DQ <nodenames.> <Id.Lit_BadBackslash '\\'> <'nThis file needs to be manually'> ) } ) (C {<printf>} { (DQ <'updated with the cluster'> <Id.Lit_BadBackslash '\\'> <'nnodenames before '> ) } ) (C {<printf>} { (DQ <'reboot. Refer to Sun Storage Availability'> <Id.Lit_BadBackslash '\\'> <n> ) } ) (C {<printf>} { (DQ <'Suite Installation Guide for details.'> <Id.Lit_BadBackslash '\\'> <n> ) } ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {<-f>} {($ Id.VSub_DollarName DSCFG_LOCKDB)} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (C {<printf>} {(DQ <'Starting dscfglockd'> <Id.Lit_BadBackslash '\\'> <n>)}) (C {(${ Id.VSub_Name SCMLIB) <'/dscfglockd'>} {<-f>} {($ Id.VSub_DollarName DSCFG_LOCKDB)} ) ] spids: [1554 1565] ) ] else_action: [ (C {<printf>} {(DQ <'WARNING: Mis-Configuration of Availability '>)}) (C {<printf>} {(DQ <'Suite for Sun Cluster'> <Id.Lit_BadBackslash '\\'> <n>)}) (C {<printf>} {(DQ <'WARNING: Can\'t find configuration file for '>)}) (C {<printf>} {(DQ <dscfglockd> <Id.Lit_BadBackslash '\\'> <n>)}) ] redirects: [] ) (C {<rm>} {<-f>} {($ Id.VSub_DollarName NODELIST)}) ] spids: [1222 1229] ) ] else_action: [] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: do_sdbc body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [(C {(${ Id.VSub_Name SCMBIN) <'/scmadm'>} {<-e>})] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: do_start body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} {<'/etc/dscfg_local'>} {<Id.Lit_RBracket ']'>} ) ] ) action: [ (C {<echo>} {(DQ <'Cannot find Availability Suite configuration location'>)}) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_DollarName SMF_EXIT_ERR_NOSMF)} ) ] spids: [1671 1684] ) ] else_action: [] redirects: [] ) (C {<do_dscfglockd>}) (C {<do_nskernd>}) (C {<do_sdbc>}) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: do_usage body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (C {<echo>} {(DQ <'Usage: '> ($ Id.VSub_Number 0))}) (C {<echo>} {(DQ <' start'>)}) (C {<echo>} {(DQ <' stop'>)}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (C {<set_system_type>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'USED='> name:USED) op: assign_op.Equal rhs: {<0>} spids: [1779] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ACTION='> name:ACTION) op: assign_op.Equal rhs: (rhs_word.Empty) spids: [1782] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CLUSTERTAG='> name:CLUSTERTAG) op: assign_op.Equal rhs: (rhs_word.Empty) spids: [1784] ) ] redirects: [] ) (command.Case to_match: {($ Id.VSub_Pound '#')} arms: [ (case_arm pat_list:[{(SQ <0>)}] action:[(C {<do_usage>})] spids:[1794 1797 1803 -1]) (case_arm pat_list: [{(SQ <1>)}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ACTION='> name:ACTION) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} spids: [1812] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'USED='> name:USED) op: assign_op.Equal rhs: {<1>} spids: [1816] ) ] redirects: [] ) ] spids: [1805 1808 1820 -1] ) (case_arm pat_list: [{(SQ <2>)}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ACTION='> name:ACTION) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} spids: [1828] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CLUSTERTAG='> name:CLUSTERTAG) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_Number 2))} spids: [1832] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'USED='> name:USED) op: assign_op.Equal rhs: {<1>} spids: [1838] ) ] redirects: [] ) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<0>}) ] spids: [1822 1825 1847 -1] ) (case_arm pat_list: [{(SQ <'*'>)}] action: [(C {<do_usage>})] spids: [1849 1852 1858 -1] ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName USED)} {<Id.Lit_Equals '='>} {<0>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<do_usage>})] spids: [1863 1877] ) ] else_action: [] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName ACTION)} {<Id.Lit_Equals '='>} {(DQ <start>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<do_start>})] spids: [1885 1901] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName ACTION)} {<Id.Lit_Equals '='>} {(DQ <stop>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<do_stop>})] spids: [1906 1922] ) ] else_action: [(C {<do_usage>})] redirects: [] ) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_DollarName SMF_EXIT_OK)} ) ] )