maui/include/moab-wiki.h
dev 9a0042c61e Initial revision
git-svn-id: svn://opensvn.adaptivecomputing.com/maui/trunk@2 3f5042e3-fb1d-0410-be18-d6ca2573e517
2005-07-12 21:12:53 +00:00

347 lines
5.5 KiB
C

/*
*/
#ifndef __MWIKI_H__
#define __MWIKI_H__
#include "msched-common.h"
#define WIKI_MAX_JOB 512
#define WIKI_MAX_NODE 128
#define WIKI_MAX_FRAG_PER_JOB 8
#define WIKI_MAX_NODE_PER_JOB 256
#define DEFAULT_CONFIGFILE "/etc/rm.cfg"
#define DEFAULT_WMTCPPORT 30002
#define DEFAULT_WMUDPPORT 30003
#define DEFAULT_JMTCPPORT 30004
#define DEFAULT_JMUDPPORT 30005
#define DEFAULT_NMTCPPORT 30006
#define DEFAULT_TMTCPPORT 30007
#define DEFAULT_WMTIMEOUT 10000000
#define DEFAULT_JMTIMEOUT 10000000
#define DEFAULT_NMTIMEOUT 10000000
#define DEFAULT_TMTIMEOUT 10000000
#define DEFAULT_JOBMANCOMMAND "/usr/local/bin/jobman"
#define DEFAULT_NODEMANCOMMAND "/usr/local/bin/nodeman"
#define DEFAULT_TASKMANCOMMAND "/usr/local/bin/taskman"
#define DEFAULT_RSHCOMMAND "rsh"
#define DEFAULT_LOCALFILESYSTEM "/tmp"
#define MAX_HIER_CHILD 32
#define MAX_CHILD_PER_LEVEL 128
#define MAX_WIKINODEATTR 22
#define MAX_WIKIJOBATTR 38
enum {
sigAlive = 0
};
enum {
cmdWMNone = 0,
cmdWMSubmitJob,
cmdWMGetJobs,
cmdWMGetNodes,
cmdWMUpdateJob,
cmdWMStartJob,
cmdWMCancelJob,
cmdWMSuspendJob,
cmdWMResumeJob,
cmdWMCheckPointJob,
cmdWMMigrateJob,
cmdWMPurgeJob,
cmdWMStartTask,
cmdWMKillTask,
cmdWMSuspendTask,
cmdWMResumeTask,
cmdWMGetTaskStatus,
cmdWMGetNodeStatus,
cmdWMGetJobStatus,
cmdWMUpdateTaskStatus,
cmdWMUpdateNodeStatus,
cmdWMUpdateJobStatus,
cmdWMAllocateNode,
cmdWMStartNodeman,
cmdWMSpawnTaskman,
cmdWMSpawnJobman,
cmdWMReconfig,
cmdWMShutdown,
cmdWMDiagnose,
cmdWMReparent
};
enum {
woNone = 0,
woNodeStatus,
woJobStatus
};
enum {
wnaNone = 0,
wnaUpdateTime,
wnaState,
wnaOS,
wnaArch,
wnaCacheSize,
wnaL2CacheSize,
wnaConfMemory,
wnaAvailMemory,
wnaConfSwap,
wnaAvailSwap,
wnaConfLocalDisk,
wnaAvailLocalDisk,
wnaConfProcCount,
wnaAvailProcCount,
wnaConfNetworkList,
wnaAvailNetworkList,
wnaCPULoad,
wnaMaxTasks
};
enum {
weNone = 0,
weNoReport,
weNoParent
};
enum {
wsNone = 0,
wsJob,
wsNode
};
typedef struct {
char Name[MAX_MNAME];
long MTime;
char State[MAX_MNAME];
char OS[MAX_MNAME];
char Arch[MAX_MNAME];
int CacheSize;
int L2CacheSize;
int ConfMemory;
int AvailMemory;
int ConfSwap;
int AvailSwap;
int ConfLocalDisk;
int AvailLocalDisk;
int ConfProcCount;
int AvailProcCount;
char ConfNetworkList[MAX_MLINE];
char AvailNetworkList[MAX_MLINE];
double CPULoad;
int MaxTasks;
} wiki_node_t;
typedef struct {
char Arch[MAX_MNAME];
char OS[MAX_MNAME];
char Network[MAX_MNAME];
char Features[MAX_MNAME];
int ProcCount;
int ProcCountCmp;
int Memory;
int MemCmp;
int Disk;
int DiskCmp;
int Swap;
int SwapCmp;
char IWD[MAX_PATH_LEN];
char Args[MAX_MNAME];
char Env[MAX_MNAME];
char Input[MAX_PATH_LEN];
char Output[MAX_PATH_LEN];
char Error[MAX_PATH_LEN];
char Exec[MAX_PATH_LEN];
char Shell[MAX_PATH_LEN];
time_t QueueTime;
time_t StartTime;
time_t CompletionTime;
int Status;
char JobMonServer[MAX_MNAME];
int JobMonPort;
char HostName[MAX_MNODE_PER_FRAG + 1][MAX_MNAME];
char HostStatus[MAX_MNODE_PER_FRAG + 1];
short TaskList[MAX_MTASK_PER_FRAG + 1];
int TaskCount;
char Buf[5 * MAX_MNAME];
} wiki_frag_t;
typedef struct {
char Name[MAX_MNAME];
long MTime;
int Status;
long StateMTime;
int Version;
int WCLimit;
int UID;
int GID;
char Account[MAX_MNAME];
char PartitionList[MAX_MNAME];
wiki_frag_t Frag[WIKI_MAX_FRAG_PER_JOB];
int FragCount;
char NodeList[MAX_MNODE_PER_JOB + 1][MAX_MNAME];
short TaskMap[MAX_MTASK_PER_JOB + 1];
char JobmanHost[MAX_MNAME];
int JobmanPort;
} wiki_job_t;
typedef struct {
char Name[MAX_MNAME];
char Exec[MAX_PATH_LEN];
char Shell[MAX_PATH_LEN];
char Args[MAX_MNAME];
char Input[MAX_PATH_LEN];
char Output[MAX_PATH_LEN];
char Error[MAX_PATH_LEN];
char IWD[MAX_PATH_LEN];
char Env[MAX_MLINE];
int UID;
int GID;
int TID;
int PID;
int SID;
} wiki_task_t;
typedef struct {
char HostName[MAX_MNAME];
int MsgType;
int Port;
} wiki_jobstatus_t;
typedef struct {
char Buf[MAX_MLINE];
} wiki_stat_t;
enum MWNodeAttrEnum {
mwnaNONE = 0,
mwnaUpdateTime,
mwnaState,
mwnaOS,
mwnaArch,
mwnaCMemory,
mwnaAMemory,
mwnaCSwap,
mwnaASwap,
mwnaCDisk,
mwnaADisk,
mwnaCProc,
mwnaAProc,
mwnaCNet,
mwnaANet,
mwnaCRes,
mwnaARes,
mwnaCPULoad,
mwnaCClass,
mwnaAClass,
mwnaFeature,
mwnaPartition,
mwnaEvent,
mwnaCurrentTask,
mwnaMaxTask,
mwnaSpeed,
mwnaName
};
enum MWJobAttrEnum {
mwjaNONE = 0,
mwjaUpdateTime,
mwjaState,
mwjaWCLimit,
mwjaTasks,
mwjaNodes,
mwjaGeometry,
mwjaQueueTime,
mwjaStartDate,
mwjaStartTime,
mwjaCompletionTime,
mwjaUName,
mwjaGName,
mwjaAccount,
mwjaRFeatures,
mwjaRNetwork,
mwjaDNetwork,
mwjaRClass,
mwjaROpsys,
mwjaRArch,
mwjaRMem,
mwjaRMemCmp,
mwjaDMem,
mwjaRDisk,
mwjaRDiskCmp,
mwjaDDisk,
mwjaRSwap,
mwjaRSwapCmp,
mwjaDSwap,
mwjaPartitionList,
mwjaExec,
mwjaArgs,
mwjaIWD,
mwjaComment,
mwjaRejectionCount,
mwjaRejectionMessage,
mwjaRejectionCode,
mwjaEvent,
mwjaTaskList,
mwjaTaskPerNode,
mwjaQOS,
mwjaEndDate,
mwjaDProcs,
mwjaHostList,
mwjaSuspendTime,
mwjaResAccess,
mwjaName,
mwjaEnv,
mwjaInput,
mwjaOutput,
mwjaError,
mwjaFlags,
mwjaSubmitString,
mwjaSubmitType
};
#endif /* __MWIKI_H__ */