(List (Com {[LIT_CHARS set]} {[LIT_CHARS -o]} {[LIT_CHARS xtrace]} ) (= scope= flags=0 words=[] bindings=[('SOURCE', {[DQ [VarSub BASH_SOURCE bracket_op=(Index {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 0]}})]]})]) (If (DBracket {B1 UNARY_FILE_h {[VarSub SOURCE]}}) (= scope= flags=0 words=[] bindings=[('SOURCE', {[DQ [ComSub (Com {[LIT_CHARS readlink]} {[DQ [VarSub SOURCE]]})]]})]) ) (= scope= flags=0 words=[] bindings=[('DIR', {[DQ [ComSub (AndOr OP_AND_IF (Com {[LIT_CHARS cd]} {[LIT_CHARS -P]} {[DQ [ComSub (Com {[LIT_CHARS dirname]} {[DQ [VarSub SOURCE]]})]]}) (Com {[LIT_CHARS pwd]}) )]]})]) (= scope= flags=0 words=[] bindings=[('MANTA_ROOT', {[LIT_CHARS /manta]})]) (= scope= flags=0 words=[] bindings=[('MINNOW_PATH', {[LIT_CHARS /opt/smartdc/minnow]})]) (= scope= flags=0 words=[] bindings=[('MINNOW_CFG', {[VarSub MINNOW_PATH] [LIT_CHARS /etc/config.json]})]) (= scope= flags=0 words=[] bindings=[('NGINX_TEMP', {[VarSub MANTA_ROOT] [LIT_CHARS /nginx_temp]})]) (= scope= flags=0 words=[] bindings=[('SVC_ROOT', {[LIT_CHARS /opt/smartdc/mako]})]) (= scope= flags=0 words=[] bindings=[('ZONE_UUID', {[ComSub (Com {[LIT_CHARS zonename]})]})]) (= scope= flags=0 words=[] bindings=[('ZONE_DATASET', {[LIT_CHARS zones/] [VarSub ZONE_UUID] [LIT_CHARS /data]})]) (Com {[LIT_CHARS source]} {[VarSub DIR] [LIT_CHARS /scripts/services.sh]} ) (Com {[LIT_CHARS source]} {[VarSub DIR] [LIT_CHARS /scripts/util.sh]} ) (= scope= flags=1 words=[] bindings=[('PATH', {[VarSub MINNOW_PATH] [LIT_CHARS /build/node/bin] [LIT_OTHER ":"] [VarSub MINNOW_PATH] [LIT_CHARS /node_modules/.bin] [LIT_OTHER ":"] [LIT_CHARS /opt/local/bin] [LIT_OTHER ":"] [LIT_CHARS /usr/sbin] [LIT_OTHER ":"] [LIT_CHARS /usr/bin] [LIT_OTHER ":"] [VarSub PATH]})]) (FunctionDef manta_update_compute_id [] (List (= scope= flags=0 words=[] bindings=[('SERVER_UUID', {[ComSub (Com {[LIT_CHARS mdata-get]} {[LIT_CHARS sdc] [LIT_OTHER ":"] [LIT_CHARS server_uuid]})]})]) (AndOr OP_OR_IF (DBracket {B2 BINARY_INT_EQ {[VarSub ?]} {[LIT_CHARS 0]}}) (Com {[LIT_CHARS fatal]} {[DQ [LIT_CHARS "Unable to retrieve server_uuid"]]} ) ) (= scope= flags=0 words=[] bindings=[('TMP_FILE', {[LIT_CHARS /var/tmp/manta_update_compute_id.] [VarSub $]})]) (= scope= flags=0 words=[] bindings=[('ZONE_UUID', {[ComSub (Com {[LIT_CHARS zonename]})]})]) (= scope= flags=0 words=[] bindings=[('CURL_EXIT', {[LIT_CHARS 1]})]) (For i [{[LIT_LBRACE "{"] [LIT_CHARS 1..60] [LIT_RBRACE "}"]}]) (List (Com {[LIT_CHARS curl]} {[LIT_CHARS -s]} {[VarSub SAPI_URL] [LIT_CHARS /configs/] [ComSub (Com {[LIT_CHARS zonename]})]} < (DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2), (FilenameRedirectNode filename={[VarSub TMP_FILE]} "> 1), > ) (= scope= flags=0 words=[] bindings=[('CURL_EXIT', {[VarSub ?]})]) (If (DBracket {B2 BINARY_INT_EQ {[VarSub CURL_EXIT]} {[LIT_CHARS 0]}}) (Com {[LIT_CHARS break]} ) ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "unable to fetch config from sapi, exit code "][VarSub CURL_EXIT][LIT_CHARS ", sleeping"]]} ) (Com {[LIT_CHARS sleep]} {[LIT_CHARS 1]} ) ) ) (AndOr OP_OR_IF (DBracket {B2 BINARY_INT_EQ {[VarSub CURL_EXIT]} {[LIT_CHARS 0]}}) (Com {[LIT_CHARS fatal]} {[DQ [LIT_CHARS "unable to fetch config from sapi, exit code "][VarSub CURL_EXIT]]} ) ) (= scope= flags=0 words=[] bindings=[('MANTA_COMPUTE_ID', {[ComSub (Com {[LIT_CHARS json]} {[LIT_CHARS -f]} {[VarSub TMP_FILE]} {[LIT_CHARS metadata.SERVER_COMPUTE_ID_MAPPING.] [VarSub SERVER_UUID]})]})]) (AndOr OP_OR_IF (DBracket {B2 BINARY_INT_EQ {[VarSub ?]} {[LIT_CHARS 0]}}) (Com {[LIT_CHARS fatal]} {[DQ [LIT_CHARS "Unable to retrieve manta_compute_id"]]} ) ) (= scope= flags=0 words=[] bindings=[('update', {[LIT_CHARS /opt/smartdc/config-agent/bin/mdata-update]})]) (Com {[VarSub update]} {[LIT_CHARS MANTA_COMPUTE_ID]} {[VarSub MANTA_COMPUTE_ID]} ) (AndOr OP_OR_IF (DBracket {B2 BINARY_INT_EQ {[VarSub ?]} {[LIT_CHARS 0]}}) (Com {[LIT_CHARS fatal]} {[DQ [LIT_CHARS "Unable to update manta_compute_id"]]} ) ) (Com {[LIT_CHARS rm]} {[VarSub TMP_FILE]} ) (AndOr OP_OR_IF (DBracket {B2 BINARY_INT_EQ {[VarSub ?]} {[LIT_CHARS 0]}}) (Com {[LIT_CHARS fatal]} {[DQ [LIT_CHARS "Unable to remove "][VarSub TMP_FILE]]} ) ) ) ) (FunctionDef manta_setup_minnow [] (List (= scope= flags=0 words=[] bindings=[('storage_moray_shard', {[ComSub (Com {[LIT_CHARS json]} {[LIT_CHARS -f]} {[VarSub METADATA]} {[LIT_CHARS STORAGE_MORAY_SHARD]})]})]) (AndOr OP_OR_IF (DBracket {B2 BINARY_INT_EQ {[VarSub ?]} {[LIT_CHARS 0]}}) (Com {[LIT_CHARS fatal]} {[DQ [LIT_CHARS "Unable to retrieve storage_moray_shard"]]} ) ) (Com {[LIT_CHARS manta_ensure_moray]} {[DQ [VarSub storage_moray_shard]]} ) (Com {[LIT_CHARS svccfg]} {[LIT_CHARS import]} {[LIT_CHARS /opt/smartdc/minnow/smf/manifests/minnow.xml]} ) (Com {[LIT_CHARS svcadm]} {[LIT_CHARS enable]} {[LIT_CHARS minnow]} ) (Com {[LIT_CHARS manta_add_logadm_entry]} {[DQ [LIT_CHARS minnow]]} ) ) ) (FunctionDef manta_setup_nginx [] (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Updating ZFS configuration"]]} ) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[VarSub MANTA_ROOT]} ) (= scope= flags=0 words=[] bindings=[('mountpoint', {[ComSub (Com {[LIT_CHARS zfs]} {[LIT_CHARS get]} {[LIT_CHARS -H]} {[LIT_CHARS -o]} {[LIT_CHARS value]} {[LIT_CHARS mountpoint]} {[VarSub ZONE_DATASET]})]})]) (If (DBracket {B2 BINARY_STRING_NOT_EQUAL {[VarSub mountpoint]} {[DQ [LIT_CHARS /manta]]}}) (List (AndOr OP_OR_IF (Com {[LIT_CHARS zfs]} {[LIT_CHARS set]} {[LIT_VAR_LIKE "mountpoint="] [VarSub MANTA_ROOT] =} {[VarSub ZONE_DATASET]} ) (Com {[LIT_CHARS fatal]} {[DQ [LIT_CHARS "failed to set mountpoint"]]} ) ) (Com {[LIT_CHARS chmod]} {[LIT_CHARS 777]} {[VarSub MANTA_ROOT]} ) (Com {[LIT_CHARS chown]} {[LIT_CHARS nobody] [LIT_OTHER ":"] [LIT_CHARS nobody]} {[VarSub MANTA_ROOT]} ) ) ) (AndOr OP_OR_IF (Com {[LIT_CHARS zfs]} {[LIT_CHARS set]} {[LIT_VAR_LIKE "compression="] [LIT_CHARS lz4] =} {[VarSub ZONE_DATASET]} ) (Com {[LIT_CHARS fatal]} {[DQ [LIT_CHARS "failed to enable compression"]]} ) ) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[VarSub NGINX_TEMP]} ) (Com {[LIT_CHARS svccfg]} {[LIT_CHARS import]} {[LIT_CHARS /opt/smartdc/mako/smf/manifests/nginx.xml]} ) (Com {[LIT_CHARS svcadm]} {[LIT_CHARS enable]} {[LIT_CHARS mako]} ) (If (DBracket {B! {B1 UNARY_FILE_f {[LIT_CHARS /var/log/mako-access.log]}}}) (Com {[LIT_CHARS touch]} {[LIT_CHARS /var/log/mako-access.log]} ) ) (If (DBracket {B! {B1 UNARY_FILE_f {[LIT_CHARS /var/log/mako-error.log]}}}) (Com {[LIT_CHARS touch]} {[LIT_CHARS /var/log/mako-error.log]} ) ) (Com {[LIT_CHARS logadm]} {[LIT_CHARS -w]} {[LIT_CHARS mako_logs]} {[LIT_CHARS -C]} {[LIT_CHARS 48]} {[LIT_CHARS -p]} {[LIT_CHARS 1h]} {[LIT_CHARS -t]} {[SQ ]} {[LIT_CHARS -a]} {[SQ ]} {[SQ ]} ) ) ) (FunctionDef manta_setup_crons [] (List (= scope= flags=0 words=[] bindings=[('crontab', {[LIT_CHARS /tmp/.manta_mako_cron]})]) (Com {[LIT_CHARS crontab]} {[LIT_CHARS -l]} < (FilenameRedirectNode filename={[VarSub crontab]} "> 1), > ) (AndOr OP_OR_IF (DBracket {B2 BINARY_INT_EQ {[VarSub ?]} {[LIT_CHARS 0]}}) (Com {[LIT_CHARS fatal]} {[DQ [LIT_CHARS "Unable to write to "][VarSub crontab]]} ) ) (Com {[LIT_CHARS echo]} {[SQ >/var/log/mako-gc.log 2>&1">]} < (FilenameRedirectNode filename={[VarSub crontab]} >"> 1), > ) (Com {[LIT_CHARS echo]} {[SQ >/var/log/mako-ls-upload.log 2>&1">]} < (FilenameRedirectNode filename={[VarSub crontab]} >"> 1), > ) (Com {[LIT_CHARS crontab]} {[VarSub crontab]} ) (AndOr OP_OR_IF (DBracket {B2 BINARY_INT_EQ {[VarSub ?]} {[LIT_CHARS 0]}}) (Com {[LIT_CHARS fatal]} {[DQ [LIT_CHARS "Unable import crons"]]} ) ) (Com {[LIT_CHARS manta_add_logadm_entry]} {[DQ [LIT_CHARS mako-gc]]} {[DQ [LIT_CHARS /var/log]]} {[DQ [LIT_CHARS exact]]} ) (Com {[LIT_CHARS manta_add_logadm_entry]} {[DQ [LIT_CHARS mako-ls-upload]]} {[DQ [LIT_CHARS /var/log]]} {[DQ [LIT_CHARS exact]]} ) ) ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Running common pre-setup scripts"]]} ) (Com {[LIT_CHARS manta_common_presetup]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Adding local manifest directories"]]} ) (Com {[LIT_CHARS manta_add_manifest_dir]} {[DQ [LIT_CHARS /opt/smartdc/mako]]} ) (Com {[LIT_CHARS manta_add_manifest_dir]} {[DQ [LIT_CHARS /opt/smartdc/minnow]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Updating manta compute id"]]} ) (Com {[LIT_CHARS manta_update_compute_id]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Running common setup scripts"]]} ) (Com {[LIT_CHARS manta_common_setup]} {[DQ [LIT_CHARS mako]]} ) (Com {[LIT_CHARS manta_ensure_zk]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Updating minnow"]]} ) (Com {[LIT_CHARS manta_setup_minnow]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Updating nginx"]]} ) (Com {[LIT_CHARS manta_setup_nginx]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Updating crons for garbage collection, etc."]]} ) (Com {[LIT_CHARS manta_setup_crons]} ) (Com {[LIT_CHARS manta_common_setup_end]} ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 0]} ) )