Changeset 23912
- Timestamp:
- Apr 17, 2009, 3:58:46 PM (17 years ago)
- Location:
- trunk
- Files:
-
- 6 added
- 11 edited
-
dbconfig/changes.txt (modified) (1 diff)
-
dbconfig/rc.md (modified) (1 diff)
-
ippScripts/Build.PL (modified) (1 diff)
-
ippScripts/scripts/dist_make_fileset.pl (modified) (2 diffs)
-
ippScripts/scripts/rcserver_checkstatus.pl (added)
-
ippTasks/rcserver.pro (modified) (10 diffs)
-
ippTools/share/Makefile.am (modified) (1 diff)
-
ippTools/share/difftool_pendingcleanupskyfile.sql (modified) (1 diff)
-
ippTools/share/disttool_pendingdest.sql (added)
-
ippTools/share/disttool_queuercrun.sql (added)
-
ippTools/share/disttool_revertrcrun.sql (added)
-
ippTools/share/disttool_updatercrun.sql (added)
-
ippTools/share/pxadmin_create_tables.sql (modified) (1 diff)
-
ippTools/share/rcserver_updatercrun.sql (added)
-
ippTools/src/disttool.c (modified) (8 diffs)
-
ippTools/src/disttool.h (modified) (1 diff)
-
ippTools/src/disttoolConfig.c (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/dbconfig/changes.txt
r23893 r23912 1080 1080 FOREIGN KEY(file_id) REFERENCES receiveFile(file_id) 1081 1081 ) ENGINE=innodb DEFAULT CHARSET=latin1; 1082 1083 ALTER TABLE rcRun ADD COLUMN fault SMALLINT DEFAULT 0; 1084 ALTER TABLE rcRun ADD COLUMN status_fs VARCHAR(64) AFTER state; -
trunk/dbconfig/rc.md
r23843 r23912 37 37 dest_id S64 0 # Primary Key fkey(dest_id) ref rcDestination(dest_id) 38 38 state STR 64 39 status_fs_name STR 64 39 40 registered UTC 0001-01-01T00:00:00Z 41 fault S16 0 40 42 END 41 43 -
trunk/ippScripts/Build.PL
r23889 r23912 86 86 scripts/receive_fileset.pl 87 87 scripts/receive_file.pl 88 scripts/rcserver_checkstatus.pl 88 89 )], 89 90 dist_abstract => 'Scripts for running the Pan-STARRS IPP', -
trunk/ippScripts/scripts/dist_make_fileset.pl
r23861 r23912 153 153 } 154 154 155 # XXX: disttool -addrcdsfileset156 155 { 157 156 my $command = "$disttool -addfileset -dist_id $dist_id -prod_id $prod_id -name $fileset_name"; … … 161 160 run(command => $command, verbose => $verbose); 162 161 unless ($success) { 162 # XXX: if we get here we the fileset has been created but the database update failed 163 # We need to have revertfileset check whether the fileset exists and do dsreg -del if it does 163 164 $error_code = (($error_code >> 8) or $PS_EXIT_PROG_ERROR); 164 165 &my_die("Unable to perform $command error_code: $error_code", $dist_id, $prod_id, $error_code); -
trunk/ippTasks/rcserver.pro
r23861 r23912 9 9 ### Initialise the books containing the tasks to do 10 10 book init rcPendingFS 11 book init rcPendingD S11 book init rcPendingDest 12 12 13 13 ### Database lists 14 14 $rcPendingFS_DB = 0 15 $rcPendingD S_DB = 015 $rcPendingDest_DB = 0 16 16 17 17 ### Check status of tasks 18 18 macro rcserver.status 19 19 book listbook rcPendingFS 20 book listbook rcPendingD S20 book listbook rcPendingDest 21 21 end 22 22 … … 24 24 macro rcserver.reset 25 25 book init rcPendingFS 26 book init rcPendingD S26 book init rcPendingDest 27 27 end 28 28 … … 35 35 active true 36 36 end 37 task rcserver.check runs.load38 active true 39 end 40 task rcserver.check runs.run37 task rcserver.checkstatus.load 38 active true 39 end 40 task rcserver.checkstatus.run 41 41 active true 42 42 end … … 49 49 active false 50 50 end 51 task rcserver.check runs.load52 active false 53 end 54 task rcserver.check runs.run51 task rcserver.checkstatus.load 52 active false 53 end 54 task rcserver.checkstatus.run 55 55 active false 56 56 end … … 169 169 170 170 171 task rcserver.check runs.load171 task rcserver.checkstatus.load 172 172 host local 173 173 … … 177 177 npending 1 178 178 179 active false180 181 179 stdout NULL 182 stderr $LOGDIR/rcserver.check runs.load.log183 184 task.exec 185 $run = disttool -pendingd atastores180 stderr $LOGDIR/rcserver.checkstatus.load.log 181 182 task.exec 183 $run = disttool -pendingdest 186 184 if ($DB:n == 0) 187 185 option DEFAULT 188 186 else 189 187 # save the DB name for the exit tasks 190 option $DB:$rcPendingD S_DB191 $run = $run -dbname $DB:$rcPendingD S_DB192 $rcPendingD S_DB ++193 if ($rcPendingD S_DB >= $DB:n) set rcPendingDS_DB = 0188 option $DB:$rcPendingDest_DB 189 $run = $run -dbname $DB:$rcPendingDest_DB 190 $rcPendingDest_DB ++ 191 if ($rcPendingDest_DB >= $DB:n) set rcPendingDest_DB = 0 194 192 end 195 193 add_poll_args run … … 200 198 task.exit 0 201 199 # convert 'stdout' to book format 202 ipptool2book stdout rcPendingD S -key fs_id -uniq -setword dbname $options:0 -setword pantaskState INIT200 ipptool2book stdout rcPendingDest -key dest_id -uniq -setword dbname $options:0 -setword pantaskState INIT 203 201 if ($VERBOSE > 2) 204 book listbook rcPendingD S202 book listbook rcPendingDest 205 203 end 206 204 207 205 # delete existing entries in the appropriate pantaskStates 208 process_cleanup rcPendingD S206 process_cleanup rcPendingDest 209 207 end 210 208 … … 220 218 end 221 219 222 task rcserver.check runs.run220 task rcserver.checkstatus.run 223 221 periods -poll $RUNPOLL 224 222 periods -exec $RUNEXEC 225 223 periods -timeout 60 226 224 227 active false228 229 task.exec 230 book npages rcPendingD S-var N225 periods -exec 20 226 227 task.exec 228 book npages rcPendingDest -var N 231 229 if ($N == 0) break 232 230 if ($NETWORK == 0) break 233 231 234 232 # look for new components to process (pantaskState == INIT) 235 book getpage rcPendingD S0 -var pageName -key pantaskState INIT233 book getpage rcPendingDest 0 -var pageName -key pantaskState INIT 236 234 if ("$pageName" == "NULL") break 237 235 238 book setword rcPendingDS $pageName pantaskState RUN 239 book getword rcPendingDS $pageName dist_id -var DIST_ID 240 book getword rcPendingDS $pageName stage -var STAGE 241 book getword rcPendingDS $pageName stage_id -var STAGE_ID 242 book getword rcPendingDS $pageName outdir -var OUTDIR 236 stdout NULL 237 stderr $LOGDIR/rcserver.checkstatus.run.log 238 239 book setword rcPendingDest $pageName pantaskState RUN 240 book getword rcPendingDest $pageName dest_id -var DEST_ID 241 book getword rcPendingDest $pageName prod_id -var PROD_ID 242 book getword rcPendingDest $pageName status_uri -var STATUS_URI 243 book getword rcPendingDest $pageName last_fileset -var LAST_FILESET 244 book getword rcPendingDest $pageName dbname -var DBNAME 243 245 244 246 host anyhost 245 247 246 sprintf logfile "%s/dist.advance.%s.log" $OUTDIR $DIST_ID 247 stdout $logfile 248 stderr $logfile 249 250 $run = dist_advancerun.pl --dist_id $DIST_ID --stage $STAGE --stage_id $STAGE_ID --outdir $OUTDIR --logfile $logfile 248 $run = rcserver_checkstatus.pl --dest_id $DEST_ID --prod_id $PROD_ID --status_uri $STATUS_URI --last_fileset $LAST_FILESET 251 249 add_standard_args run 252 250 … … 263 261 # default exit status 264 262 task.exit default 265 process_exit rcPendingD S$options:0 $JOB_STATUS263 process_exit rcPendingDest $options:0 $JOB_STATUS 266 264 end 267 265 … … 269 267 task.exit timeout 270 268 showcommand timeout 271 book setword rcPendingD S$options:0 pantaskState TIMEOUT272 end 273 end 274 269 book setword rcPendingDest $options:0 pantaskState TIMEOUT 270 end 271 end 272 -
trunk/ippTools/share/Makefile.am
r23898 r23912 106 106 disttool_pendingcomponent.sql \ 107 107 disttool_pendingfileset.sql \ 108 disttool_pendingdest.sql \ 108 109 disttool_processedcomponent.sql \ 110 disttool_queuercrun.sql \ 111 disttool_revertrcrun.sql \ 109 112 disttool_revertrun_update.sql \ 110 113 disttool_revertrun_delete.sql \ 111 114 disttool_revertfileset.sql \ 112 115 disttool_toadvance.sql \ 116 disttool_updatercrun.sql \ 113 117 faketool_change_exp_state.sql \ 114 118 faketool_change_imfile_data_state.sql \ -
trunk/ippTools/share/difftool_pendingcleanupskyfile.sql
r19092 r23912 10 10 WHERE 11 11 diffRun.state = 'goto_cleaned' 12 AND diffSkyfile.data_state = 'full' -
trunk/ippTools/share/pxadmin_create_tables.sql
r23893 r23912 1297 1297 dest_id BIGINT, 1298 1298 state VARCHAR(64), 1299 status_fs_name VARCHAR(64), 1299 1300 registered TIMESTAMP DEFAULT CURRENT_TIMESTAMP, 1301 fault SMALLINT DEFAULT 0, 1300 1302 PRIMARY KEY(rc_id), 1301 1303 FOREIGN KEY(fs_id) REFERENCES rcDSFileset(fs_id), -
trunk/ippTools/src/disttool.c
r23864 r23912 45 45 static bool updatercrunMode(pxConfig *config); 46 46 static bool revertrcrunMode(pxConfig *config); 47 static bool pendingd atastoresMode(pxConfig *config);47 static bool pendingdestMode(pxConfig *config); 48 48 49 49 # define MODECASE(caseName, func) \ … … 80 80 MODECASE(DISTTOOL_MODE_UPDATERCRUN, updatercrunMode); 81 81 MODECASE(DISTTOOL_MODE_REVERTRCRUN, revertrcrunMode); 82 MODECASE(DISTTOOL_MODE_PENDINGD ATASTORES, pendingdatastoresMode);82 MODECASE(DISTTOOL_MODE_PENDINGDEST, pendingdestMode); 83 83 default: 84 84 psAbort("invalid option (this should not happen)"); … … 952 952 } 953 953 954 static bool pendingd atastoresMode(pxConfig *config)954 static bool pendingdestMode(pxConfig *config) 955 955 { 956 956 PS_ASSERT_PTR_NON_NULL(config, false); 957 #ifdef notyet958 957 959 958 psMetadata *where = psMetadataAlloc(); 960 PXOPT_COPY_S64(config->args, where, "-d ist_id", "dist_id", "==");961 PXOPT_COPY_STR(config->args, where, "-label", "label", "==");959 PXOPT_COPY_S64(config->args, where, "-dest_id", "dist_id", "=="); 960 // PXOPT_COPY_STR(config->args, where, "-label", "label", "=="); 962 961 963 962 PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false); … … 965 964 966 965 // look for "inputs" that need to processed 967 psString query = pxDataGet("disttool_pending fileset.sql");966 psString query = pxDataGet("disttool_pendingdest.sql"); 968 967 if (!query) { 969 968 psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement"); … … 971 970 } 972 971 972 psString whereString = NULL; 973 973 if (psListLength(where->list)) { 974 974 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 975 psStringAppend(&query, " AND %s", whereClause); 975 // where string gets added by hook, not at the end of the query 976 psStringAppend(&whereString, "\n AND %s", whereClause); 976 977 psFree(whereClause); 977 978 } … … 985 986 } 986 987 987 if (!p_psDBRunQuery(config->dbh, query)) { 988 psError(PS_ERR_UNKNOWN, false, "database error"); 988 if (!p_psDBRunQueryF(config->dbh, query, whereString ? whereString : "")) { 989 psError(PS_ERR_UNKNOWN, false, "database error"); 990 psFree(whereString); 989 991 psFree(query); 990 992 return false; … … 1022 1024 1023 1025 psFree(output); 1024 # endif // notdef 1026 1025 1027 return true; 1026 1028 } … … 1029 1031 { 1030 1032 PS_ASSERT_PTR_NON_NULL(config, false); 1031 return true; 1032 } 1033 psMetadata *where = psMetadataAlloc(); 1034 1035 PXOPT_COPY_S64(config->args, where, "-dist_id", "dist_id", "=="); 1036 PXOPT_COPY_S64(config->args, where, "-dest_id", "dest_id", "=="); 1037 PXOPT_COPY_S64(config->args, where, "-prod_id", "prod_id", "=="); 1038 PXOPT_COPY_S64(config->args, where, "-target_id","target_id", "=="); 1039 PXOPT_COPY_S64(config->args, where, "-fs_id", "fs_id", "=="); 1040 PXOPT_COPY_STR(config->args, where, "-stage", "stage", "==");; 1041 PXOPT_COPY_S64(config->args, where, "-stage_id", "stage_id", "=="); 1042 PXOPT_COPY_STR(config->args, where, "-label", "label", "=="); 1043 1044 PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false); 1045 1046 psString query = pxDataGet("disttool_queuercrun.sql"); 1047 if (!query) { 1048 psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement"); 1049 return false; 1050 } 1051 1052 if (psListLength(where->list)) { 1053 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 1054 psStringAppend(&query, " AND %s", whereClause); 1055 psFree(whereClause); 1056 } 1057 psFree(where); 1058 1059 // treat limit == 0 as "no limit" 1060 if (limit) { 1061 psString limitString = psDBGenerateLimitSQL(limit); 1062 psStringAppend(&query, " %s", limitString); 1063 psFree(limitString); 1064 } 1065 1066 if (!p_psDBRunQuery(config->dbh, query)) { 1067 psError(PS_ERR_UNKNOWN, false, "database error"); 1068 psFree(query); 1069 return false; 1070 } 1071 psFree(query); 1072 1073 long numUpdated = psDBAffectedRows(config->dbh); 1074 1075 psLogMsg("disttool", PS_LOG_INFO, "Inserted %ld rcRuns", numUpdated); 1076 1077 return true; 1078 } 1079 1080 1033 1081 static bool updatercrunMode(pxConfig *config) 1034 1082 { 1035 1083 PS_ASSERT_PTR_NON_NULL(config, false); 1036 return true; 1037 } 1084 1085 psMetadata *where = psMetadataAlloc(); 1086 1087 PXOPT_LOOKUP_S64(rc_id, config->args, "-rc_id", false, false); 1088 PXOPT_LOOKUP_STR(fs_name, config->args, "-fs_name", false, false); 1089 PXOPT_LOOKUP_STR(status_fs_name, config->args, "-status_fs_name", false, false); 1090 PXOPT_LOOKUP_S64(dest_id, config->args, "-dest_id", false, false); 1091 1092 // We either need rc_id or (dest_id and fs_name) to identifiy the rcRun 1093 if ((!rc_id) && !(dest_id && fs_name)) { 1094 psError(PXTOOLS_ERR_DATA, true, "either -rc_id or (-fs_name and -dest_id) are required"); 1095 return false; 1096 } 1097 1098 // now that we have done the argument checking 1099 PXOPT_COPY_S64(config->args, where, "-rc_id", "rc_id", "=="); 1100 PXOPT_COPY_STR(config->args, where, "-fs_name", "rcDSFileset.name", "=="); 1101 PXOPT_COPY_S64(config->args, where, "-dest_id", "rcRun.dest_id", "=="); 1102 1103 if (!psListLength(where->list)) { 1104 // this can't happen because we checked above 1105 psFree(where); 1106 psError(PXTOOLS_ERR_DATA, false, "search parameters are required"); 1107 return false; 1108 } 1109 1110 1111 PXOPT_LOOKUP_STR(last_fileset, config->args, "-last_fileset", false, false); 1112 PXOPT_LOOKUP_STR(state, config->args, "-set_state", false, false); 1113 PXOPT_LOOKUP_S16(fault, config->args, "-fault", false, false); 1114 1115 if (!state && (fault < 0)) { 1116 psError(PXTOOLS_ERR_DATA, false, "parameters (-fault or -set_state) are required"); 1117 psFree(where); 1118 return false; 1119 } 1120 1121 psString query = pxDataGet("disttool_updatercrun.sql"); 1122 if (!query) { 1123 psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement"); 1124 return false; 1125 } 1126 1127 psString setString = psStringCopy("\n"); 1128 psString separator = ""; 1129 if (state) { 1130 psStringAppend(&setString, " rcRun.state = '%s'", state); 1131 separator = ","; 1132 } 1133 1134 // default for fault is -1, so set it if it's zero or higher. This allows clearing fault 1135 // without forcing revert first 1136 if (fault >= 0) { 1137 psStringAppend(&setString, "%s rcRun.fault = %d", separator, fault); 1138 } 1139 1140 if (status_fs_name) { 1141 psStringAppend(&setString, ", rcRun.status_fs_name = '%s'", status_fs_name); 1142 } 1143 1144 if (last_fileset) { 1145 psStringAppend(&setString, ", rcDestination.last_fileset = '%s'", last_fileset); 1146 } 1147 1148 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 1149 psStringAppend(&query, " AND %s", whereClause); 1150 psFree(whereClause); 1151 psFree(where); 1152 1153 if (!p_psDBRunQueryF(config->dbh, query, setString)) { 1154 psError(PS_ERR_UNKNOWN, false, "database error"); 1155 psFree(setString); 1156 psFree(query); 1157 return false; 1158 } 1159 psFree(setString); 1160 psFree(query); 1161 1162 long numUpdated = psDBAffectedRows(config->dbh); 1163 1164 psLogMsg("disttool", PS_LOG_INFO, "Updated %ld rows", numUpdated); 1165 1166 return true; 1167 } 1168 1038 1169 static bool revertrcrunMode(pxConfig *config) 1039 1170 { 1040 1171 PS_ASSERT_PTR_NON_NULL(config, false); 1041 return true; 1042 } 1172 psMetadata *where = psMetadataAlloc(); 1173 PXOPT_COPY_S64(config->args, where, "-rc_id", "rc_id", "=="); 1174 PXOPT_COPY_S64(config->args, where, "-fs_id", "fs_id", "=="); 1175 PXOPT_COPY_S64(config->args, where, "-dest_id", "dest_id", "=="); 1176 PXOPT_COPY_S64(config->args, where, "-fault", "fault", "=="); 1177 1178 if (!psListLength(where->list) && !psMetadataLookupBool(NULL, config->args, "-all")) { 1179 psFree(where); 1180 psError(PXTOOLS_ERR_DATA, false, "search parameters are required"); 1181 return false; 1182 } 1183 1184 psString query = pxDataGet("disttool_revertrcrun.sql"); 1185 if (!query) { 1186 psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement"); 1187 if (!psDBRollback(config->dbh)) { 1188 psError(PS_ERR_UNKNOWN, false, "database error"); 1189 } 1190 return false; 1191 } 1192 1193 if (psListLength(where->list)) { 1194 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 1195 psStringAppend(&query, " AND %s", whereClause); 1196 psFree(whereClause); 1197 } 1198 1199 if (!p_psDBRunQuery(config->dbh, query)) { 1200 psError(PS_ERR_UNKNOWN, false, "database error"); 1201 psFree(query); 1202 if (!psDBRollback(config->dbh)) { 1203 psError(PS_ERR_UNKNOWN, false, "database error"); 1204 } 1205 return false; 1206 } 1207 psFree(query); 1208 1209 long numUpdated = psDBAffectedRows(config->dbh); 1210 1211 psLogMsg("disttool", PS_LOG_INFO, "Updated %ld rcRuns", numUpdated); 1212 1213 return true; 1214 } -
trunk/ippTools/src/disttool.h
r23864 r23912 39 39 DISTTOOL_MODE_UPDATERCRUN, 40 40 DISTTOOL_MODE_REVERTRCRUN, 41 DISTTOOL_MODE_PENDINGD ATASTORES,41 DISTTOOL_MODE_PENDINGDEST, 42 42 } disttoolMode; 43 43 -
trunk/ippTools/src/disttoolConfig.c
r23864 r23912 120 120 psMetadata *toadvanceArgs = psMetadataAlloc(); 121 121 psMetadataAddS64(toadvanceArgs, PS_LIST_TAIL, "-dist_id", 0, "define dist_id", 0); 122 psMetadataAddStr(toadvanceArgs, PS_LIST_TAIL, "-label", 0, "limit updates to label", NULL);123 psMetadataAddU64(toadvanceArgs, PS_LIST_TAIL, "-limit", 0, "limit result set to N items", 0);122 psMetadataAddStr(toadvanceArgs, PS_LIST_TAIL, "-label", 0, "limit updates to label", NULL); 123 psMetadataAddU64(toadvanceArgs, PS_LIST_TAIL, "-limit", 0, "limit result set to N items", 0); 124 124 psMetadataAddBool(toadvanceArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false); 125 125 … … 127 127 psMetadata *pendingfilesetArgs = psMetadataAlloc(); 128 128 psMetadataAddS64(pendingfilesetArgs, PS_LIST_TAIL, "-dist_id", 0, "define dist_id", 0); 129 psMetadataAddStr(pendingfilesetArgs, PS_LIST_TAIL, "-label", 0, "limit results to label", NULL);130 psMetadataAddStr(pendingfilesetArgs, PS_LIST_TAIL, "-stage", 0, "limit results to runs for stage", NULL);131 psMetadataAddU64(pendingfilesetArgs, PS_LIST_TAIL, "-limit", 0, "limit result set to N items", 0);129 psMetadataAddStr(pendingfilesetArgs, PS_LIST_TAIL, "-label", 0, "limit results to label", NULL); 130 psMetadataAddStr(pendingfilesetArgs, PS_LIST_TAIL, "-stage", 0, "limit results to runs for stage", NULL); 131 psMetadataAddU64(pendingfilesetArgs, PS_LIST_TAIL, "-limit", 0, "limit result set to N items", 0); 132 132 psMetadataAddBool(pendingfilesetArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false); 133 133 … … 136 136 psMetadataAddS64(addfilesetArgs, PS_LIST_TAIL, "-dist_id", 0, "define dist_id", 0); 137 137 psMetadataAddS64(addfilesetArgs, PS_LIST_TAIL, "-prod_id", 0, "define prod_id", 0); 138 psMetadataAddStr(addfilesetArgs, PS_LIST_TAIL, "-name", 0, "define file name", NULL); 139 psMetadataAddS32(addfilesetArgs, PS_LIST_TAIL, "-fault", 0, "define fault code", 0); 140 // 141 // -pendingfileset 142 psMetadata *pendingdatastoresArgs = psMetadataAlloc(); 143 psMetadataAddS64(pendingdatastoresArgs, PS_LIST_TAIL, "-dist_id", 0, "define dist_id", 0); 144 psMetadataAddStr(pendingdatastoresArgs, PS_LIST_TAIL, "-label", 0, "limit results to label", NULL); 145 psMetadataAddStr(pendingdatastoresArgs, PS_LIST_TAIL, "-stage", 0, "limit results to runs for stage", NULL); 146 psMetadataAddU64(pendingdatastoresArgs, PS_LIST_TAIL, "-limit", 0, "limit result set to N items", 0); 147 psMetadataAddBool(pendingdatastoresArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false); 138 psMetadataAddStr(addfilesetArgs, PS_LIST_TAIL, "-name", 0, "define file name", NULL); 139 psMetadataAddS32(addfilesetArgs, PS_LIST_TAIL, "-fault", 0, "define fault code", 0); 140 141 // -pendingdest 142 psMetadata *pendingdestArgs = psMetadataAlloc(); 143 psMetadataAddS64(pendingdestArgs, PS_LIST_TAIL, "-dest_id", 0, "define dest_id", 0); 144 psMetadataAddU64(pendingdestArgs, PS_LIST_TAIL, "-limit", 0, "limit result set to N items", 0); 145 psMetadataAddBool(pendingdestArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false); 146 psMetadataAddStr(pendingdestArgs, PS_LIST_TAIL, "-label", 0, "limit results to label", NULL); 148 147 149 148 // -revertfileset 150 149 psMetadata *revertfilesetArgs = psMetadataAlloc(); 151 psMetadataAddS64(revertfilesetArgs, PS_LIST_TAIL, "-fs_id", 0, "define fs_id", 0);150 psMetadataAddS64(revertfilesetArgs, PS_LIST_TAIL, "-fs_id", 0, "define fs_id", 0); 152 151 psMetadataAddS64(revertfilesetArgs, PS_LIST_TAIL, "-dist_id", 0, "define dist_id", 0); 153 152 psMetadataAddS64(revertfilesetArgs, PS_LIST_TAIL, "-prod_id", 0, "define dist_id", 0); 154 psMetadataAddStr(revertfilesetArgs, PS_LIST_TAIL, "-stage", 0, "define stage", NULL);155 psMetadataAddS64(revertfilesetArgs, PS_LIST_TAIL, "-stage_id", 0, "define stage_id", 0);156 psMetadataAddStr(revertfilesetArgs, PS_LIST_TAIL, "-state", 0, "define state", NULL);157 psMetadataAddStr(revertfilesetArgs, PS_LIST_TAIL, "-label", 0, "define label", NULL);158 psMetadataAddS16(revertfilesetArgs, PS_LIST_TAIL, "-fault", 0, "define fault code", 0);153 psMetadataAddStr(revertfilesetArgs, PS_LIST_TAIL, "-stage", 0, "define stage", NULL); 154 psMetadataAddS64(revertfilesetArgs, PS_LIST_TAIL, "-stage_id",0, "define stage_id", 0); 155 psMetadataAddStr(revertfilesetArgs, PS_LIST_TAIL, "-state", 0, "define state", NULL); 156 psMetadataAddStr(revertfilesetArgs, PS_LIST_TAIL, "-label", 0, "define label", NULL); 157 psMetadataAddS16(revertfilesetArgs, PS_LIST_TAIL, "-fault", 0, "define fault code", 0); 159 158 psMetadataAddBool(revertfilesetArgs, PS_LIST_TAIL, "-all", 0, "revert all faulted runs", NULL); 159 160 // -queuercrun 161 psMetadata *queuercrunArgs = psMetadataAlloc(); 162 psMetadataAddS64(queuercrunArgs, PS_LIST_TAIL, "-dist_id", 0, "define dist_id", 0); 163 psMetadataAddS64(queuercrunArgs, PS_LIST_TAIL, "-dest_id", 0, "define dest_id", 0); 164 psMetadataAddS64(queuercrunArgs, PS_LIST_TAIL, "-prod_id", 0, "define prod_id", 0); 165 psMetadataAddS64(queuercrunArgs, PS_LIST_TAIL, "-target_id", 0, "define target_id", 0); 166 psMetadataAddS64(queuercrunArgs, PS_LIST_TAIL, "-fs_id", 0, "define fs_id", 0); 167 psMetadataAddStr(queuercrunArgs, PS_LIST_TAIL, "-stage", 0, "define stage", NULL); 168 psMetadataAddS64(queuercrunArgs, PS_LIST_TAIL, "-stage_id", 0, "define stage_id", 0); 169 psMetadataAddStr(queuercrunArgs, PS_LIST_TAIL, "-state", 0, "define state", NULL); 170 psMetadataAddStr(queuercrunArgs, PS_LIST_TAIL, "-label", 0, "define label", NULL); 171 psMetadataAddU64(queuercrunArgs, PS_LIST_TAIL, "-limit", 0, "limit number of runs queued to N", 0); 172 173 // -updatercrun 174 psMetadata *updatercrunArgs = psMetadataAlloc(); 175 psMetadataAddS64(updatercrunArgs, PS_LIST_TAIL, "-rc_id", 0, "define rc_id", 0); 176 psMetadataAddS64(updatercrunArgs, PS_LIST_TAIL, "-dest_id", 0, "define dest_id", 0); 177 psMetadataAddStr(updatercrunArgs, PS_LIST_TAIL, "-fs_name", 0, "define fileset name", NULL); 178 psMetadataAddStr(updatercrunArgs, PS_LIST_TAIL, "-status_fs_name", 0, "define status fileset name", NULL); 179 psMetadataAddStr(updatercrunArgs, PS_LIST_TAIL, "-set_state",0, "new value for state", NULL); 180 psMetadataAddStr(updatercrunArgs, PS_LIST_TAIL, "-last_fileset",0, "new value for last_fileset", NULL); 181 psMetadataAddS16(updatercrunArgs, PS_LIST_TAIL, "-fault", 0, "define fault code", -1); 182 183 // -revertrcrun 184 psMetadata *revertrcrunArgs = psMetadataAlloc(); 185 psMetadataAddS64(revertrcrunArgs, PS_LIST_TAIL, "-rc_id", 0, "define rc_id", 0); 186 psMetadataAddS64(revertrcrunArgs, PS_LIST_TAIL, "-fs_id", 0, "define fs_id", 0); 187 psMetadataAddS64(revertrcrunArgs, PS_LIST_TAIL, "-dest_id", 0, "define dest_id", 0); 188 psMetadataAddS16(revertrcrunArgs, PS_LIST_TAIL, "-fault", 0, "define fault code", 0); 189 psMetadataAddBool(revertrcrunArgs, PS_LIST_TAIL, "-all", 0, "revert all faulted runs", NULL); 160 190 161 191 psMetadata *argSets = psMetadataAlloc(); … … 168 198 PXOPT_ADD_MODE("-pendingcomponent", "", DISTTOOL_MODE_PENDINGCOMPONENT, pendingcomponentArgs); 169 199 PXOPT_ADD_MODE("-addprocessedcomponent", "", DISTTOOL_MODE_ADDPROCESSEDCOMPONENT, addprocessedcomponentArgs); 170 PXOPT_ADD_MODE("-processedcomponent", "", DISTTOOL_MODE_PROCESSEDCOMPONENT, processedcomponentArgs);171 PXOPT_ADD_MODE("-toadvance", "", DISTTOOL_MODE_TOADVANCE, toadvanceArgs);172 PXOPT_ADD_MODE("-pendingfileset", "", DISTTOOL_MODE_PENDINGFILESET, pendingfilesetArgs);173 PXOPT_ADD_MODE("-addfileset", "", DISTTOOL_MODE_ADDFILESET, addfilesetArgs);200 PXOPT_ADD_MODE("-processedcomponent", "", DISTTOOL_MODE_PROCESSEDCOMPONENT, processedcomponentArgs); 201 PXOPT_ADD_MODE("-toadvance", "", DISTTOOL_MODE_TOADVANCE, toadvanceArgs); 202 PXOPT_ADD_MODE("-pendingfileset", "", DISTTOOL_MODE_PENDINGFILESET, pendingfilesetArgs); 203 PXOPT_ADD_MODE("-addfileset", "", DISTTOOL_MODE_ADDFILESET, addfilesetArgs); 174 204 PXOPT_ADD_MODE("-revertfileset", "", DISTTOOL_MODE_REVERTFILESET, revertfilesetArgs); 175 PXOPT_ADD_MODE("-pendingdatastores", "", DISTTOOL_MODE_PENDINGDATASTORES, pendingdatastoresArgs); 205 PXOPT_ADD_MODE("-queuercrun", "", DISTTOOL_MODE_QUEUERCRUN, queuercrunArgs); 206 PXOPT_ADD_MODE("-updatercrun", "", DISTTOOL_MODE_UPDATERCRUN, updatercrunArgs); 207 PXOPT_ADD_MODE("-revertrcrun", "", DISTTOOL_MODE_REVERTRCRUN, revertrcrunArgs); 208 PXOPT_ADD_MODE("-pendingdest", "", DISTTOOL_MODE_PENDINGDEST, pendingdestArgs); 176 209 177 210 if (!pxGetOptions(stderr, argc, argv, config, modes, argSets)) {
Note:
See TracChangeset
for help on using the changeset viewer.
