http://git-wip-us.apache.org/repos/asf/airavata/blob/914799c1/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/computeresource/ttypes.py ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/computeresource/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/computeresource/ttypes.py index b86ac9a..174d3b8 100644 --- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/computeresource/ttypes.py +++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/computeresource/ttypes.py @@ -45,7 +45,6 @@ class ResourceJobManagerType: SLURM = 2 LSF = 3 UGE = 4 - CLOUD = 5 _VALUES_TO_NAMES = { 0: "FORK", @@ -53,7 +52,6 @@ class ResourceJobManagerType: 2: "SLURM", 3: "LSF", 4: "UGE", - 5: "CLOUD", } _NAMES_TO_VALUES = { @@ -62,7 +60,6 @@ class ResourceJobManagerType: "SLURM": 2, "LSF": 3, "UGE": 4, - "CLOUD": 5, } class JobManagerCommand: @@ -1140,7 +1137,6 @@ class CloudJobSubmission: Attributes: - jobSubmissionInterfaceId - securityProtocol - - jobManagerType - nodeId - executableType - providerName @@ -1151,17 +1147,15 @@ class CloudJobSubmission: None, # 0 (1, TType.STRING, 'jobSubmissionInterfaceId', None, "DO_NOT_SET_AT_CLIENTS", ), # 1 (2, TType.I32, 'securityProtocol', None, None, ), # 2 - (3, TType.I32, 'jobManagerType', None, None, ), # 3 - (4, TType.STRING, 'nodeId', None, None, ), # 4 - (5, TType.STRING, 'executableType', None, None, ), # 5 - (6, TType.I32, 'providerName', None, None, ), # 6 - (7, TType.STRING, 'userAccountName', None, None, ), # 7 + (3, TType.STRING, 'nodeId', None, None, ), # 3 + (4, TType.STRING, 'executableType', None, None, ), # 4 + (5, TType.I32, 'providerName', None, None, ), # 5 + (6, TType.STRING, 'userAccountName', None, None, ), # 6 ) - def __init__(self, jobSubmissionInterfaceId=thrift_spec[1][4], securityProtocol=None, jobManagerType=None, nodeId=None, executableType=None, providerName=None, userAccountName=None,): + def __init__(self, jobSubmissionInterfaceId=thrift_spec[1][4], securityProtocol=None, nodeId=None, executableType=None, providerName=None, userAccountName=None,): self.jobSubmissionInterfaceId = jobSubmissionInterfaceId self.securityProtocol = securityProtocol - self.jobManagerType = jobManagerType self.nodeId = nodeId self.executableType = executableType self.providerName = providerName @@ -1187,26 +1181,21 @@ class CloudJobSubmission: else: iprot.skip(ftype) elif fid == 3: - if ftype == TType.I32: - self.jobManagerType = iprot.readI32() - else: - iprot.skip(ftype) - elif fid == 4: if ftype == TType.STRING: self.nodeId = iprot.readString() else: iprot.skip(ftype) - elif fid == 5: + elif fid == 4: if ftype == TType.STRING: self.executableType = iprot.readString() else: iprot.skip(ftype) - elif fid == 6: + elif fid == 5: if ftype == TType.I32: self.providerName = iprot.readI32() else: iprot.skip(ftype) - elif fid == 7: + elif fid == 6: if ftype == TType.STRING: self.userAccountName = iprot.readString() else: @@ -1229,24 +1218,20 @@ class CloudJobSubmission: oprot.writeFieldBegin('securityProtocol', TType.I32, 2) oprot.writeI32(self.securityProtocol) oprot.writeFieldEnd() - if self.jobManagerType is not None: - oprot.writeFieldBegin('jobManagerType', TType.I32, 3) - oprot.writeI32(self.jobManagerType) - oprot.writeFieldEnd() if self.nodeId is not None: - oprot.writeFieldBegin('nodeId', TType.STRING, 4) + oprot.writeFieldBegin('nodeId', TType.STRING, 3) oprot.writeString(self.nodeId) oprot.writeFieldEnd() if self.executableType is not None: - oprot.writeFieldBegin('executableType', TType.STRING, 5) + oprot.writeFieldBegin('executableType', TType.STRING, 4) oprot.writeString(self.executableType) oprot.writeFieldEnd() if self.providerName is not None: - oprot.writeFieldBegin('providerName', TType.I32, 6) + oprot.writeFieldBegin('providerName', TType.I32, 5) oprot.writeI32(self.providerName) oprot.writeFieldEnd() if self.userAccountName is not None: - oprot.writeFieldBegin('userAccountName', TType.STRING, 7) + oprot.writeFieldBegin('userAccountName', TType.STRING, 6) oprot.writeString(self.userAccountName) oprot.writeFieldEnd() oprot.writeFieldStop() @@ -1257,8 +1242,6 @@ class CloudJobSubmission: raise TProtocol.TProtocolException(message='Required field jobSubmissionInterfaceId is unset!') if self.securityProtocol is None: raise TProtocol.TProtocolException(message='Required field securityProtocol is unset!') - if self.jobManagerType is None: - raise TProtocol.TProtocolException(message='Required field jobManagerType is unset!') if self.nodeId is None: raise TProtocol.TProtocolException(message='Required field nodeId is unset!') if self.executableType is None: @@ -1274,7 +1257,6 @@ class CloudJobSubmission: value = 17 value = (value * 31) ^ hash(self.jobSubmissionInterfaceId) value = (value * 31) ^ hash(self.securityProtocol) - value = (value * 31) ^ hash(self.jobManagerType) value = (value * 31) ^ hash(self.nodeId) value = (value * 31) ^ hash(self.executableType) value = (value * 31) ^ hash(self.providerName)
http://git-wip-us.apache.org/repos/asf/airavata/blob/914799c1/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/status/ttypes.py ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/status/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/status/ttypes.py index f5280cd..f3bae9c 100644 --- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/status/ttypes.py +++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/status/ttypes.py @@ -540,3 +540,145 @@ class JobStatus: def __ne__(self, other): return not (self == other) + +class QueueStatusModel: + """ + Attributes: + - hostName + - queueName + - queueUp + - runningJobs + - queuedJobs + - time + """ + + thrift_spec = ( + None, # 0 + (1, TType.STRING, 'hostName', None, None, ), # 1 + (2, TType.STRING, 'queueName', None, None, ), # 2 + (3, TType.BOOL, 'queueUp', None, None, ), # 3 + (4, TType.I32, 'runningJobs', None, None, ), # 4 + (5, TType.I32, 'queuedJobs', None, None, ), # 5 + (6, TType.I64, 'time', None, None, ), # 6 + ) + + def __init__(self, hostName=None, queueName=None, queueUp=None, runningJobs=None, queuedJobs=None, time=None,): + self.hostName = hostName + self.queueName = queueName + self.queueUp = queueUp + self.runningJobs = runningJobs + self.queuedJobs = queuedJobs + self.time = time + + def read(self, iprot): + if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None: + fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec)) + return + iprot.readStructBegin() + while True: + (fname, ftype, fid) = iprot.readFieldBegin() + if ftype == TType.STOP: + break + if fid == 1: + if ftype == TType.STRING: + self.hostName = iprot.readString() + else: + iprot.skip(ftype) + elif fid == 2: + if ftype == TType.STRING: + self.queueName = iprot.readString() + else: + iprot.skip(ftype) + elif fid == 3: + if ftype == TType.BOOL: + self.queueUp = iprot.readBool() + else: + iprot.skip(ftype) + elif fid == 4: + if ftype == TType.I32: + self.runningJobs = iprot.readI32() + else: + iprot.skip(ftype) + elif fid == 5: + if ftype == TType.I32: + self.queuedJobs = iprot.readI32() + else: + iprot.skip(ftype) + elif fid == 6: + if ftype == TType.I64: + self.time = iprot.readI64() + else: + iprot.skip(ftype) + else: + iprot.skip(ftype) + iprot.readFieldEnd() + iprot.readStructEnd() + + def write(self, oprot): + if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None: + oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec))) + return + oprot.writeStructBegin('QueueStatusModel') + if self.hostName is not None: + oprot.writeFieldBegin('hostName', TType.STRING, 1) + oprot.writeString(self.hostName) + oprot.writeFieldEnd() + if self.queueName is not None: + oprot.writeFieldBegin('queueName', TType.STRING, 2) + oprot.writeString(self.queueName) + oprot.writeFieldEnd() + if self.queueUp is not None: + oprot.writeFieldBegin('queueUp', TType.BOOL, 3) + oprot.writeBool(self.queueUp) + oprot.writeFieldEnd() + if self.runningJobs is not None: + oprot.writeFieldBegin('runningJobs', TType.I32, 4) + oprot.writeI32(self.runningJobs) + oprot.writeFieldEnd() + if self.queuedJobs is not None: + oprot.writeFieldBegin('queuedJobs', TType.I32, 5) + oprot.writeI32(self.queuedJobs) + oprot.writeFieldEnd() + if self.time is not None: + oprot.writeFieldBegin('time', TType.I64, 6) + oprot.writeI64(self.time) + oprot.writeFieldEnd() + oprot.writeFieldStop() + oprot.writeStructEnd() + + def validate(self): + if self.hostName is None: + raise TProtocol.TProtocolException(message='Required field hostName is unset!') + if self.queueName is None: + raise TProtocol.TProtocolException(message='Required field queueName is unset!') + if self.queueUp is None: + raise TProtocol.TProtocolException(message='Required field queueUp is unset!') + if self.runningJobs is None: + raise TProtocol.TProtocolException(message='Required field runningJobs is unset!') + if self.queuedJobs is None: + raise TProtocol.TProtocolException(message='Required field queuedJobs is unset!') + if self.time is None: + raise TProtocol.TProtocolException(message='Required field time is unset!') + return + + + def __hash__(self): + value = 17 + value = (value * 31) ^ hash(self.hostName) + value = (value * 31) ^ hash(self.queueName) + value = (value * 31) ^ hash(self.queueUp) + value = (value * 31) ^ hash(self.runningJobs) + value = (value * 31) ^ hash(self.queuedJobs) + value = (value * 31) ^ hash(self.time) + return value + + def __repr__(self): + L = ['%s=%r' % (key, value) + for key, value in self.__dict__.iteritems()] + return '%s(%s)' % (self.__class__.__name__, ', '.join(L)) + + def __eq__(self, other): + return isinstance(other, self.__class__) and self.__dict__ == other.__dict__ + + def __ne__(self, other): + return not (self == other) http://git-wip-us.apache.org/repos/asf/airavata/blob/914799c1/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/CloudJobSubmission.java ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/CloudJobSubmission.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/CloudJobSubmission.java index 23469ac..7d540de 100644 --- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/CloudJobSubmission.java +++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/CloudJobSubmission.java @@ -62,11 +62,10 @@ public class CloudJobSubmission implements org.apache.thrift.TBase<CloudJobSubmi private static final org.apache.thrift.protocol.TField JOB_SUBMISSION_INTERFACE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("jobSubmissionInterfaceId", org.apache.thrift.protocol.TType.STRING, (short)1); private static final org.apache.thrift.protocol.TField SECURITY_PROTOCOL_FIELD_DESC = new org.apache.thrift.protocol.TField("securityProtocol", org.apache.thrift.protocol.TType.I32, (short)2); - private static final org.apache.thrift.protocol.TField JOB_MANAGER_TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("jobManagerType", org.apache.thrift.protocol.TType.I32, (short)3); - private static final org.apache.thrift.protocol.TField NODE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("nodeId", org.apache.thrift.protocol.TType.STRING, (short)4); - private static final org.apache.thrift.protocol.TField EXECUTABLE_TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("executableType", org.apache.thrift.protocol.TType.STRING, (short)5); - private static final org.apache.thrift.protocol.TField PROVIDER_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("providerName", org.apache.thrift.protocol.TType.I32, (short)6); - private static final org.apache.thrift.protocol.TField USER_ACCOUNT_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("userAccountName", org.apache.thrift.protocol.TType.STRING, (short)7); + private static final org.apache.thrift.protocol.TField NODE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("nodeId", org.apache.thrift.protocol.TType.STRING, (short)3); + private static final org.apache.thrift.protocol.TField EXECUTABLE_TYPE_FIELD_DESC = new org.apache.thrift.protocol.TField("executableType", org.apache.thrift.protocol.TType.STRING, (short)4); + private static final org.apache.thrift.protocol.TField PROVIDER_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("providerName", org.apache.thrift.protocol.TType.I32, (short)5); + private static final org.apache.thrift.protocol.TField USER_ACCOUNT_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("userAccountName", org.apache.thrift.protocol.TType.STRING, (short)6); private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>(); static { @@ -76,7 +75,6 @@ public class CloudJobSubmission implements org.apache.thrift.TBase<CloudJobSubmi private String jobSubmissionInterfaceId; // required private org.apache.airavata.model.data.movement.SecurityProtocol securityProtocol; // required - private ResourceJobManagerType jobManagerType; // required private String nodeId; // required private String executableType; // required private ProviderName providerName; // required @@ -90,19 +88,14 @@ public class CloudJobSubmission implements org.apache.thrift.TBase<CloudJobSubmi * @see org.apache.airavata.model.data.movement.SecurityProtocol */ SECURITY_PROTOCOL((short)2, "securityProtocol"), - /** - * - * @see ResourceJobManagerType - */ - JOB_MANAGER_TYPE((short)3, "jobManagerType"), - NODE_ID((short)4, "nodeId"), - EXECUTABLE_TYPE((short)5, "executableType"), + NODE_ID((short)3, "nodeId"), + EXECUTABLE_TYPE((short)4, "executableType"), /** * * @see ProviderName */ - PROVIDER_NAME((short)6, "providerName"), - USER_ACCOUNT_NAME((short)7, "userAccountName"); + PROVIDER_NAME((short)5, "providerName"), + USER_ACCOUNT_NAME((short)6, "userAccountName"); private static final Map<String, _Fields> byName = new HashMap<String, _Fields>(); @@ -121,15 +114,13 @@ public class CloudJobSubmission implements org.apache.thrift.TBase<CloudJobSubmi return JOB_SUBMISSION_INTERFACE_ID; case 2: // SECURITY_PROTOCOL return SECURITY_PROTOCOL; - case 3: // JOB_MANAGER_TYPE - return JOB_MANAGER_TYPE; - case 4: // NODE_ID + case 3: // NODE_ID return NODE_ID; - case 5: // EXECUTABLE_TYPE + case 4: // EXECUTABLE_TYPE return EXECUTABLE_TYPE; - case 6: // PROVIDER_NAME + case 5: // PROVIDER_NAME return PROVIDER_NAME; - case 7: // USER_ACCOUNT_NAME + case 6: // USER_ACCOUNT_NAME return USER_ACCOUNT_NAME; default: return null; @@ -178,8 +169,6 @@ public class CloudJobSubmission implements org.apache.thrift.TBase<CloudJobSubmi new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); tmpMap.put(_Fields.SECURITY_PROTOCOL, new org.apache.thrift.meta_data.FieldMetaData("securityProtocol", org.apache.thrift.TFieldRequirementType.REQUIRED, new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, org.apache.airavata.model.data.movement.SecurityProtocol.class))); - tmpMap.put(_Fields.JOB_MANAGER_TYPE, new org.apache.thrift.meta_data.FieldMetaData("jobManagerType", org.apache.thrift.TFieldRequirementType.REQUIRED, - new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, ResourceJobManagerType.class))); tmpMap.put(_Fields.NODE_ID, new org.apache.thrift.meta_data.FieldMetaData("nodeId", org.apache.thrift.TFieldRequirementType.REQUIRED, new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); tmpMap.put(_Fields.EXECUTABLE_TYPE, new org.apache.thrift.meta_data.FieldMetaData("executableType", org.apache.thrift.TFieldRequirementType.REQUIRED, @@ -200,7 +189,6 @@ public class CloudJobSubmission implements org.apache.thrift.TBase<CloudJobSubmi public CloudJobSubmission( String jobSubmissionInterfaceId, org.apache.airavata.model.data.movement.SecurityProtocol securityProtocol, - ResourceJobManagerType jobManagerType, String nodeId, String executableType, ProviderName providerName, @@ -209,7 +197,6 @@ public class CloudJobSubmission implements org.apache.thrift.TBase<CloudJobSubmi this(); this.jobSubmissionInterfaceId = jobSubmissionInterfaceId; this.securityProtocol = securityProtocol; - this.jobManagerType = jobManagerType; this.nodeId = nodeId; this.executableType = executableType; this.providerName = providerName; @@ -226,9 +213,6 @@ public class CloudJobSubmission implements org.apache.thrift.TBase<CloudJobSubmi if (other.isSetSecurityProtocol()) { this.securityProtocol = other.securityProtocol; } - if (other.isSetJobManagerType()) { - this.jobManagerType = other.jobManagerType; - } if (other.isSetNodeId()) { this.nodeId = other.nodeId; } @@ -252,7 +236,6 @@ public class CloudJobSubmission implements org.apache.thrift.TBase<CloudJobSubmi this.jobSubmissionInterfaceId = "DO_NOT_SET_AT_CLIENTS"; this.securityProtocol = null; - this.jobManagerType = null; this.nodeId = null; this.executableType = null; this.providerName = null; @@ -313,37 +296,6 @@ public class CloudJobSubmission implements org.apache.thrift.TBase<CloudJobSubmi } } - /** - * - * @see ResourceJobManagerType - */ - public ResourceJobManagerType getJobManagerType() { - return this.jobManagerType; - } - - /** - * - * @see ResourceJobManagerType - */ - public void setJobManagerType(ResourceJobManagerType jobManagerType) { - this.jobManagerType = jobManagerType; - } - - public void unsetJobManagerType() { - this.jobManagerType = null; - } - - /** Returns true if field jobManagerType is set (has been assigned a value) and false otherwise */ - public boolean isSetJobManagerType() { - return this.jobManagerType != null; - } - - public void setJobManagerTypeIsSet(boolean value) { - if (!value) { - this.jobManagerType = null; - } - } - public String getNodeId() { return this.nodeId; } @@ -462,14 +414,6 @@ public class CloudJobSubmission implements org.apache.thrift.TBase<CloudJobSubmi } break; - case JOB_MANAGER_TYPE: - if (value == null) { - unsetJobManagerType(); - } else { - setJobManagerType((ResourceJobManagerType)value); - } - break; - case NODE_ID: if (value == null) { unsetNodeId(); @@ -513,9 +457,6 @@ public class CloudJobSubmission implements org.apache.thrift.TBase<CloudJobSubmi case SECURITY_PROTOCOL: return getSecurityProtocol(); - case JOB_MANAGER_TYPE: - return getJobManagerType(); - case NODE_ID: return getNodeId(); @@ -543,8 +484,6 @@ public class CloudJobSubmission implements org.apache.thrift.TBase<CloudJobSubmi return isSetJobSubmissionInterfaceId(); case SECURITY_PROTOCOL: return isSetSecurityProtocol(); - case JOB_MANAGER_TYPE: - return isSetJobManagerType(); case NODE_ID: return isSetNodeId(); case EXECUTABLE_TYPE: @@ -588,15 +527,6 @@ public class CloudJobSubmission implements org.apache.thrift.TBase<CloudJobSubmi return false; } - boolean this_present_jobManagerType = true && this.isSetJobManagerType(); - boolean that_present_jobManagerType = true && that.isSetJobManagerType(); - if (this_present_jobManagerType || that_present_jobManagerType) { - if (!(this_present_jobManagerType && that_present_jobManagerType)) - return false; - if (!this.jobManagerType.equals(that.jobManagerType)) - return false; - } - boolean this_present_nodeId = true && this.isSetNodeId(); boolean that_present_nodeId = true && that.isSetNodeId(); if (this_present_nodeId || that_present_nodeId) { @@ -650,11 +580,6 @@ public class CloudJobSubmission implements org.apache.thrift.TBase<CloudJobSubmi if (present_securityProtocol) list.add(securityProtocol.getValue()); - boolean present_jobManagerType = true && (isSetJobManagerType()); - list.add(present_jobManagerType); - if (present_jobManagerType) - list.add(jobManagerType.getValue()); - boolean present_nodeId = true && (isSetNodeId()); list.add(present_nodeId); if (present_nodeId) @@ -706,16 +631,6 @@ public class CloudJobSubmission implements org.apache.thrift.TBase<CloudJobSubmi return lastComparison; } } - lastComparison = Boolean.valueOf(isSetJobManagerType()).compareTo(other.isSetJobManagerType()); - if (lastComparison != 0) { - return lastComparison; - } - if (isSetJobManagerType()) { - lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.jobManagerType, other.jobManagerType); - if (lastComparison != 0) { - return lastComparison; - } - } lastComparison = Boolean.valueOf(isSetNodeId()).compareTo(other.isSetNodeId()); if (lastComparison != 0) { return lastComparison; @@ -792,14 +707,6 @@ public class CloudJobSubmission implements org.apache.thrift.TBase<CloudJobSubmi } first = false; if (!first) sb.append(", "); - sb.append("jobManagerType:"); - if (this.jobManagerType == null) { - sb.append("null"); - } else { - sb.append(this.jobManagerType); - } - first = false; - if (!first) sb.append(", "); sb.append("nodeId:"); if (this.nodeId == null) { sb.append("null"); @@ -845,10 +752,6 @@ public class CloudJobSubmission implements org.apache.thrift.TBase<CloudJobSubmi throw new org.apache.thrift.protocol.TProtocolException("Required field 'securityProtocol' is unset! Struct:" + toString()); } - if (!isSetJobManagerType()) { - throw new org.apache.thrift.protocol.TProtocolException("Required field 'jobManagerType' is unset! Struct:" + toString()); - } - if (!isSetNodeId()) { throw new org.apache.thrift.protocol.TProtocolException("Required field 'nodeId' is unset! Struct:" + toString()); } @@ -918,15 +821,7 @@ public class CloudJobSubmission implements org.apache.thrift.TBase<CloudJobSubmi org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); } break; - case 3: // JOB_MANAGER_TYPE - if (schemeField.type == org.apache.thrift.protocol.TType.I32) { - struct.jobManagerType = org.apache.airavata.model.appcatalog.computeresource.ResourceJobManagerType.findByValue(iprot.readI32()); - struct.setJobManagerTypeIsSet(true); - } else { - org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); - } - break; - case 4: // NODE_ID + case 3: // NODE_ID if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { struct.nodeId = iprot.readString(); struct.setNodeIdIsSet(true); @@ -934,7 +829,7 @@ public class CloudJobSubmission implements org.apache.thrift.TBase<CloudJobSubmi org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); } break; - case 5: // EXECUTABLE_TYPE + case 4: // EXECUTABLE_TYPE if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { struct.executableType = iprot.readString(); struct.setExecutableTypeIsSet(true); @@ -942,7 +837,7 @@ public class CloudJobSubmission implements org.apache.thrift.TBase<CloudJobSubmi org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); } break; - case 6: // PROVIDER_NAME + case 5: // PROVIDER_NAME if (schemeField.type == org.apache.thrift.protocol.TType.I32) { struct.providerName = org.apache.airavata.model.appcatalog.computeresource.ProviderName.findByValue(iprot.readI32()); struct.setProviderNameIsSet(true); @@ -950,7 +845,7 @@ public class CloudJobSubmission implements org.apache.thrift.TBase<CloudJobSubmi org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); } break; - case 7: // USER_ACCOUNT_NAME + case 6: // USER_ACCOUNT_NAME if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { struct.userAccountName = iprot.readString(); struct.setUserAccountNameIsSet(true); @@ -981,11 +876,6 @@ public class CloudJobSubmission implements org.apache.thrift.TBase<CloudJobSubmi oprot.writeI32(struct.securityProtocol.getValue()); oprot.writeFieldEnd(); } - if (struct.jobManagerType != null) { - oprot.writeFieldBegin(JOB_MANAGER_TYPE_FIELD_DESC); - oprot.writeI32(struct.jobManagerType.getValue()); - oprot.writeFieldEnd(); - } if (struct.nodeId != null) { oprot.writeFieldBegin(NODE_ID_FIELD_DESC); oprot.writeString(struct.nodeId); @@ -1025,7 +915,6 @@ public class CloudJobSubmission implements org.apache.thrift.TBase<CloudJobSubmi TTupleProtocol oprot = (TTupleProtocol) prot; oprot.writeString(struct.jobSubmissionInterfaceId); oprot.writeI32(struct.securityProtocol.getValue()); - oprot.writeI32(struct.jobManagerType.getValue()); oprot.writeString(struct.nodeId); oprot.writeString(struct.executableType); oprot.writeI32(struct.providerName.getValue()); @@ -1039,8 +928,6 @@ public class CloudJobSubmission implements org.apache.thrift.TBase<CloudJobSubmi struct.setJobSubmissionInterfaceIdIsSet(true); struct.securityProtocol = org.apache.airavata.model.data.movement.SecurityProtocol.findByValue(iprot.readI32()); struct.setSecurityProtocolIsSet(true); - struct.jobManagerType = org.apache.airavata.model.appcatalog.computeresource.ResourceJobManagerType.findByValue(iprot.readI32()); - struct.setJobManagerTypeIsSet(true); struct.nodeId = iprot.readString(); struct.setNodeIdIsSet(true); struct.executableType = iprot.readString(); http://git-wip-us.apache.org/repos/asf/airavata/blob/914799c1/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManagerType.java ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManagerType.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManagerType.java index 2bc79c5..2fc5c0b 100644 --- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManagerType.java +++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManagerType.java @@ -52,8 +52,7 @@ public enum ResourceJobManagerType implements org.apache.thrift.TEnum { PBS(1), SLURM(2), LSF(3), - UGE(4), - CLOUD(5); + UGE(4); private final int value; @@ -84,8 +83,6 @@ public enum ResourceJobManagerType implements org.apache.thrift.TEnum { return LSF; case 4: return UGE; - case 5: - return CLOUD; default: return null; } http://git-wip-us.apache.org/repos/asf/airavata/blob/914799c1/modules/cluster-monitoring/pom.xml ---------------------------------------------------------------------- diff --git a/modules/cluster-monitoring/pom.xml b/modules/cluster-monitoring/pom.xml index 0fb9e40..3da16b3 100644 --- a/modules/cluster-monitoring/pom.xml +++ b/modules/cluster-monitoring/pom.xml @@ -14,9 +14,34 @@ <dependencies> <dependency> - <groupId>org.apache.commons</groupId> - <artifactId>commons-io</artifactId> - <version>1.3.2</version> + <artifactId>airavata-data-models</artifactId> + <groupId>org.apache.airavata</groupId> + <version>${project.version}</version> + </dependency> + <dependency> + <artifactId>airavata-server-configuration</artifactId> + <groupId>org.apache.airavata</groupId> + <version>${project.version}</version> + </dependency> + <dependency> + <artifactId>airavata-credential-store</artifactId> + <groupId>org.apache.airavata</groupId> + <version>${project.version}</version> + </dependency> + <dependency> + <artifactId>registry-api-stubs</artifactId> + <groupId>org.apache.airavata</groupId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.quartz-scheduler</groupId> + <artifactId>quartz</artifactId> + <version>2.2.1</version> + </dependency> + <dependency> + <groupId>org.quartz-scheduler</groupId> + <artifactId>quartz-jobs</artifactId> + <version>2.2.1</version> </dependency> <dependency> <groupId>com.jcraft</groupId> http://git-wip-us.apache.org/repos/asf/airavata/blob/914799c1/modules/cluster-monitoring/src/main/java/org/apache/airavata/cluster/monitoring/ClusterHealthMonitor.java ---------------------------------------------------------------------- diff --git a/modules/cluster-monitoring/src/main/java/org/apache/airavata/cluster/monitoring/ClusterHealthMonitor.java b/modules/cluster-monitoring/src/main/java/org/apache/airavata/cluster/monitoring/ClusterHealthMonitor.java deleted file mode 100644 index 2f1dc1d..0000000 --- a/modules/cluster-monitoring/src/main/java/org/apache/airavata/cluster/monitoring/ClusterHealthMonitor.java +++ /dev/null @@ -1,265 +0,0 @@ -/* - * - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - * -*/ -package org.apache.airavata.cluster.monitoring; - - -import com.google.gson.Gson; -import com.google.gson.reflect.TypeToken; -import com.jcraft.jsch.*; -import org.apache.commons.io.IOUtils; -import org.apache.log4j.Logger; - -import java.io.FileReader; -import java.io.IOException; -import java.io.InputStream; -import java.util.ArrayList; -import java.util.List; - -public class ClusterHealthMonitor { - private static final Logger logger = Logger.getLogger(ClusterHealthMonitor.class); - - public static void main(String[] args) throws IOException { - - byte[] publicKeyBytes = IOUtils.toByteArray(ClusterHealthMonitor.class.getResourceAsStream("/id_rsa.pub")); - byte[] privateKeyBytes = IOUtils.toByteArray(ClusterHealthMonitor.class.getResourceAsStream("/id_rsa")); - String passPhrase = "ultrascan"; - - Gson gson = new Gson(); - List<ComputeResourceProfile> computeResourceProfiles = gson.fromJson(new FileReader(ClusterHealthMonitor.class - .getResource("/cluster-properties.json").getFile()), new TypeToken<List<ComputeResourceProfile>>(){}.getType()); - - ArrayList<QueueStatus> queueStatuses = new ArrayList<>(); - - for(ComputeResourceProfile computeResourceProfile : computeResourceProfiles){ - - String userName = computeResourceProfile.getUserName(); - String hostName = computeResourceProfile.getHostName(); - int port = computeResourceProfile.getPort(); - - try{ - JSch jsch = new JSch(); - jsch.addIdentity(hostName, privateKeyBytes, publicKeyBytes, passPhrase.getBytes()); - - Session session=jsch.getSession(userName, hostName, port); - java.util.Properties config = new java.util.Properties(); - config.put("StrictHostKeyChecking", "no"); - session.setConfig(config); - - - logger.debug("Connected to " + hostName); - - session.connect(); - for(String queue : computeResourceProfile.getQueueNames()) { - String command = ""; - if (computeResourceProfile.getResourceManagerType().equals("SLURM")) - command = "sinfo -s -p " + queue + " -o \"%a %F\" | tail -1"; - else if (computeResourceProfile.getResourceManagerType().equals("PBS")) - command = "qstat -Q " + queue + "| tail -1"; - - if (command.equals("")) { - logger.warn("No matching resource manager type found for " + computeResourceProfile.getResourceManagerType()); - continue; - } - - Channel channel = session.openChannel("exec"); - ((ChannelExec) channel).setCommand(command); - channel.setInputStream(null); - ((ChannelExec) channel).setErrStream(System.err); - InputStream in = channel.getInputStream(); - channel.connect(); - byte[] tmp = new byte[1024]; - String result = ""; - while (true) { - while (in.available() > 0) { - int i = in.read(tmp, 0, 1024); - if (i < 0) break; - result += new String(tmp, 0, i); - } - if (channel.isClosed()) { - if (in.available() > 0) continue; - logger.debug(hostName + " " + queue + " " + "exit-status: " + channel.getExitStatus()); - break; - } - try { - Thread.sleep(1000); - } catch (Exception ee) { - } - } - channel.disconnect(); - - if (result != null && result.length() > 0) { - QueueStatus queueStatus = null; - if (computeResourceProfile.getResourceManagerType().equals("SLURM")) { - String[] sparts = result.split(" "); - boolean isUp = sparts[0].equalsIgnoreCase("up"); - String knts = sparts[1]; - sparts = knts.split("/"); - int running = Integer.parseInt(sparts[0].trim()); - int queued = Integer.parseInt(sparts[1].trim()); - queueStatus = new QueueStatus(hostName, queue, isUp, running, queued, System.currentTimeMillis()); - - } else if (computeResourceProfile.getResourceManagerType().equals("PBS")) { - result = result.replaceAll("\\s+", " "); - String[] sparts = result.split(" "); - boolean isUp = sparts[3].equalsIgnoreCase("yes"); - int running = Integer.parseInt(sparts[6].trim()); - int queued = Integer.parseInt(sparts[5].trim()); - queueStatus = new QueueStatus(hostName, queue, isUp, running, queued, System.currentTimeMillis()); - } - - if (queueStatus != null) - queueStatuses.add(queueStatus); - } - } - session.disconnect(); - }catch (JSchException ex){ - logger.error(ex.getMessage(), ex); - } - } - - System.out.println(queueStatuses.size()); - - } - - private static class ComputeResourceProfile{ - - private String hostName; - private String userName; - private int port; - private List<String> queueNames; - private String resourceManagerType; - - public ComputeResourceProfile(String hostName, String userName, int port, List<String> queueNames, String resourceManagerType) { - this.hostName = hostName; - this.userName = userName; - this.port = port; - this.queueNames = queueNames; - this.resourceManagerType = resourceManagerType; - } - - public String getHostName() { - return hostName; - } - - public void setHostName(String hostName) { - this.hostName = hostName; - } - - public String getUserName() { - return userName; - } - - public void setUserName(String userName) { - this.userName = userName; - } - - public int getPort() { - return port; - } - - public void setPort(int port) { - this.port = port; - } - - public List<String> getQueueNames() { - return queueNames; - } - - public void setQueueNames(List<String> queueNames) { - this.queueNames = queueNames; - } - - public String getResourceManagerType() { - return resourceManagerType; - } - - public void setResourceManagerType(String resourceManagerType) { - this.resourceManagerType = resourceManagerType; - } - } - - private static class QueueStatus{ - - private String hostName; - private String queueName; - private boolean queueUp; - private int runningJobs; - private int queuedJobs; - private long time; - - public QueueStatus(String hostName, String queueName, boolean queueUp, int runningJobs, int queuedJobs, long time) { - this.hostName = hostName; - this.queueName = queueName; - this.queueUp = queueUp; - this.runningJobs = runningJobs; - this.queuedJobs = queuedJobs; - this.time = time; - } - - public String getHostName() { - return hostName; - } - - public void setHostName(String hostName) { - this.hostName = hostName; - } - - public String getQueueName() { - return queueName; - } - - public void setQueueName(String queueName) { - this.queueName = queueName; - } - - public boolean isQueueUp() { - return queueUp; - } - - public void setQueueUp(boolean queueUp) { - this.queueUp = queueUp; - } - - public int getRunningJobs() { - return runningJobs; - } - - public void setRunningJobs(int runningJobs) { - this.runningJobs = runningJobs; - } - - public int getQueuedJobs() { - return queuedJobs; - } - - public void setQueuedJobs(int queuedJobs) { - this.queuedJobs = queuedJobs; - } - - public long getTime() { - return time; - } - - public void setTime(long time) { - this.time = time; - } - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/airavata/blob/914799c1/modules/cluster-monitoring/src/main/java/org/apache/airavata/cluster/monitoring/ClusterStatusMonitorJob.java ---------------------------------------------------------------------- diff --git a/modules/cluster-monitoring/src/main/java/org/apache/airavata/cluster/monitoring/ClusterStatusMonitorJob.java b/modules/cluster-monitoring/src/main/java/org/apache/airavata/cluster/monitoring/ClusterStatusMonitorJob.java new file mode 100644 index 0000000..f6f0a4e --- /dev/null +++ b/modules/cluster-monitoring/src/main/java/org/apache/airavata/cluster/monitoring/ClusterStatusMonitorJob.java @@ -0,0 +1,279 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ +package org.apache.airavata.cluster.monitoring; + +import com.jcraft.jsch.Channel; +import com.jcraft.jsch.ChannelExec; +import com.jcraft.jsch.JSch; +import com.jcraft.jsch.Session; +import org.apache.airavata.common.exception.ApplicationSettingsException; +import org.apache.airavata.common.utils.ServerSettings; +import org.apache.airavata.credential.store.cpi.CredentialStoreService; +import org.apache.airavata.credential.store.datamodel.SSHCredential; +import org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription; +import org.apache.airavata.model.appcatalog.computeresource.JobSubmissionInterface; +import org.apache.airavata.model.appcatalog.computeresource.JobSubmissionProtocol; +import org.apache.airavata.model.appcatalog.gatewayprofile.ComputeResourcePreference; +import org.apache.airavata.model.status.QueueStatusModel; +import org.apache.airavata.registry.api.RegistryService; +import org.apache.thrift.TException; +import org.apache.thrift.protocol.TBinaryProtocol; +import org.apache.thrift.protocol.TProtocol; +import org.apache.thrift.transport.TSocket; +import org.apache.thrift.transport.TTransport; +import org.apache.thrift.transport.TTransportException; +import org.quartz.Job; +import org.quartz.JobExecutionContext; +import org.quartz.JobExecutionException; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.InputStream; +import java.util.ArrayList; +import java.util.List; + +public class ClusterStatusMonitorJob implements Job { + private final static Logger logger = LoggerFactory.getLogger(ClusterStatusMonitorJob.class); + + + @Override + public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { + try{ + String superTenantGatewayId = ServerSettings.getSuperTenantGatewayId(); + RegistryService.Client registryClient = getRegistryClient(); + List<ComputeResourceProfile> computeResourceProfiles = new ArrayList<>(); + List<ComputeResourcePreference> computeResourcePreferences = registryClient.getAllGatewayComputeResourcePreferences(superTenantGatewayId); + if (computeResourcePreferences != null && computeResourcePreferences.size() > 0) { + computeResourcePreferences.stream().forEach(p -> { + try { + String computeResourceId = p.getComputeResourceId(); + String credentialStoreToken = p.getResourceSpecificCredentialStoreToken(); + String loginUserName = p.getLoginUserName(); + String hostName = null; + if (credentialStoreToken == null || credentialStoreToken.equals("")) { + credentialStoreToken = registryClient.getGatewayResourceProfile(superTenantGatewayId).getCredentialStoreToken(); + } + int port = -1; + ArrayList queueNames = new ArrayList<>(); + + ComputeResourceDescription computeResourceDescription = registryClient.getComputeResource(computeResourceId); + hostName = computeResourceDescription.getHostName(); + //FIXME This should come from compute resource description + port = 22; + computeResourceDescription.getBatchQueues().stream().forEach(q -> { + queueNames.add(q.getQueueName()); + }); + + List<JobSubmissionInterface> jobSubmissionInterfaces = computeResourceDescription.getJobSubmissionInterfaces(); + if (jobSubmissionInterfaces != null && jobSubmissionInterfaces.size() > 0) { + if (jobSubmissionInterfaces.get(0).getJobSubmissionProtocol().equals(JobSubmissionProtocol.SSH)) { + String resourceManagerType = registryClient.getSSHJobSubmission(jobSubmissionInterfaces.get(0) + .getJobSubmissionInterfaceId()).getResourceJobManager().getResourceJobManagerType().name(); + ComputeResourceProfile computeResourceProfile = new ComputeResourceProfile(hostName, + loginUserName, port, credentialStoreToken, queueNames, resourceManagerType); + computeResourceProfiles.add(computeResourceProfile); + } + } + } catch (TException e) { + logger.error(e.getMessage()); + } + }); + } + + ArrayList<QueueStatusModel> queueStatuses = new ArrayList<>(); + + for (ComputeResourceProfile computeResourceProfile : computeResourceProfiles) { + + String userName = computeResourceProfile.getUserName(); + String hostName = computeResourceProfile.getHostName(); + int port = computeResourceProfile.getPort(); + + try { + JSch jsch = new JSch(); + CredentialStoreService.Client credentialClient = getCredentialStoreClient(); + SSHCredential sshCredential = credentialClient.getSSHCredential(computeResourceProfile.getCredentialStoreToken(), superTenantGatewayId); + jsch.addIdentity(hostName, sshCredential.getPrivateKey().getBytes(), sshCredential.getPublicKey().getBytes(), sshCredential.getPassphrase().getBytes()); + + Session session = jsch.getSession(userName, hostName, port); + java.util.Properties config = new java.util.Properties(); + config.put("StrictHostKeyChecking", "no"); + session.setConfig(config); + + logger.debug("Connected to " + hostName); + + session.connect(); + for (String queue : computeResourceProfile.getQueueNames()) { + String command = ""; + if (computeResourceProfile.getResourceManagerType().equals("SLURM")) + command = "sinfo -s -p " + queue + " -o \"%a %F\" | tail -1"; + else if (computeResourceProfile.getResourceManagerType().equals("PBS")) + command = "qstat -Q " + queue + "| tail -1"; + + if (command.equals("")) { + logger.warn("No matching resource manager type found for " + computeResourceProfile.getResourceManagerType()); + continue; + } + + Channel channel = session.openChannel("exec"); + ((ChannelExec) channel).setCommand(command); + channel.setInputStream(null); + ((ChannelExec) channel).setErrStream(System.err); + InputStream in = channel.getInputStream(); + channel.connect(); + byte[] tmp = new byte[1024]; + String result = ""; + while (true) { + while (in.available() > 0) { + int i = in.read(tmp, 0, 1024); + if (i < 0) break; + result += new String(tmp, 0, i); + } + if (channel.isClosed()) { + if (in.available() > 0) continue; + logger.debug(hostName + " " + queue + " " + "exit-status: " + channel.getExitStatus()); + break; + } + try { + Thread.sleep(1000); + } catch (Exception ee) { + } + } + channel.disconnect(); + + if (result != null && result.length() > 0) { + QueueStatusModel queueStatus = null; + if (computeResourceProfile.getResourceManagerType().equals("SLURM")) { + String[] sparts = result.split(" "); + boolean isUp = sparts[0].equalsIgnoreCase("up"); + String knts = sparts[1]; + sparts = knts.split("/"); + int running = Integer.parseInt(sparts[0].trim()); + int queued = Integer.parseInt(sparts[1].trim()); + queueStatus = new QueueStatusModel(hostName, queue, isUp, running, queued, System.currentTimeMillis()); + + } else if (computeResourceProfile.getResourceManagerType().equals("PBS")) { + result = result.replaceAll("\\s+", " "); + String[] sparts = result.split(" "); + boolean isUp = sparts[3].equalsIgnoreCase("yes"); + int running = Integer.parseInt(sparts[6].trim()); + int queued = Integer.parseInt(sparts[5].trim()); + queueStatus = new QueueStatusModel(hostName, queue, isUp, running, queued, System.currentTimeMillis()); + } + + if (queueStatus != null) + queueStatuses.add(queueStatus); + } + } + session.disconnect(); + } catch (Exception ex) { + logger.error(ex.getMessage(), ex); + } + } + + registryClient.registerQueueStatuses(queueStatuses); + }catch (Exception e){ + throw new JobExecutionException(e); + } + + } + private static RegistryService.Client getRegistryClient() throws TTransportException, ApplicationSettingsException { + TTransport transport = new TSocket(ServerSettings.getRegistryServerHost(), Integer.parseInt(ServerSettings.getRegistryServerPort())); + transport.open(); + TProtocol protocol = new TBinaryProtocol(transport); + RegistryService.Client registryClient = new RegistryService.Client(protocol); + return registryClient; + } + + private static CredentialStoreService.Client getCredentialStoreClient() throws TTransportException, ApplicationSettingsException { + TTransport transport = new TSocket(ServerSettings.getCredentialStoreServerHost(), Integer.parseInt(ServerSettings.getCredentialStoreServerPort())); + transport.open(); + TProtocol protocol = new TBinaryProtocol(transport); + CredentialStoreService.Client credentialServiceClient = new CredentialStoreService.Client(protocol); + return credentialServiceClient; + } + + private static class ComputeResourceProfile { + + private String hostName; + private String userName; + private int port; + private String credentialStoreToken; + private List<String> queueNames; + private String resourceManagerType; + + public ComputeResourceProfile(String hostName, String userName, int port, String credentialStoreToken, List<String> queueNames, String resourceManagerType) { + this.hostName = hostName; + this.userName = userName; + this.port = port; + this.credentialStoreToken = credentialStoreToken; + this.queueNames = queueNames; + this.resourceManagerType = resourceManagerType; + } + + public String getHostName() { + return hostName; + } + + public void setHostName(String hostName) { + this.hostName = hostName; + } + + public String getUserName() { + return userName; + } + + public void setUserName(String userName) { + this.userName = userName; + } + + public int getPort() { + return port; + } + + public void setPort(int port) { + this.port = port; + } + + public String getCredentialStoreToken() { + return credentialStoreToken; + } + + public void setCredentialStoreToken(String credentialStoreToken) { + this.credentialStoreToken = credentialStoreToken; + } + + public List<String> getQueueNames() { + return queueNames; + } + + public void setQueueNames(List<String> queueNames) { + this.queueNames = queueNames; + } + + public String getResourceManagerType() { + return resourceManagerType; + } + + public void setResourceManagerType(String resourceManagerType) { + this.resourceManagerType = resourceManagerType; + } + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/airavata/blob/914799c1/modules/cluster-monitoring/src/main/java/org/apache/airavata/cluster/monitoring/ClusterStatusMonitorJobScheduler.java ---------------------------------------------------------------------- diff --git a/modules/cluster-monitoring/src/main/java/org/apache/airavata/cluster/monitoring/ClusterStatusMonitorJobScheduler.java b/modules/cluster-monitoring/src/main/java/org/apache/airavata/cluster/monitoring/ClusterStatusMonitorJobScheduler.java new file mode 100644 index 0000000..88e76c4 --- /dev/null +++ b/modules/cluster-monitoring/src/main/java/org/apache/airavata/cluster/monitoring/ClusterStatusMonitorJobScheduler.java @@ -0,0 +1,70 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ +package org.apache.airavata.cluster.monitoring; + +import org.apache.airavata.common.exception.ApplicationSettingsException; +import org.apache.airavata.common.utils.ServerSettings; +import org.quartz.*; +import org.quartz.impl.StdSchedulerFactory; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import org.quartz.Scheduler; +import org.quartz.SchedulerException; + +import static org.quartz.JobBuilder.newJob; +import static org.quartz.TriggerBuilder.*; +import static org.quartz.SimpleScheduleBuilder.*; + +public class ClusterStatusMonitorJobScheduler { + private final static Logger logger = LoggerFactory.getLogger(ClusterStatusMonitorJobScheduler.class); + + Scheduler scheduler; + + public ClusterStatusMonitorJobScheduler() throws SchedulerException { + scheduler = StdSchedulerFactory.getDefaultScheduler(); + scheduler.start(); + } + + public void scheduleClusterStatusMonitoring() throws SchedulerException, ApplicationSettingsException { + // define the job and tie it to our MyJob class + JobDetail job = newJob(ClusterStatusMonitorJob.class) + .withIdentity("cluster-status-monitoring", "airavata") + .build(); + + // Trigger the job to run now, and then repeat every 40 seconds + Trigger trigger = newTrigger() + .withIdentity("cluster-status-monitoring-trigger", "airavata") + .startNow() + .withSchedule(simpleSchedule() + .withIntervalInSeconds(Integer.parseInt(ServerSettings.getClusterStatusMonitoringRepatTime())) + .repeatForever()) + .build(); + + // Tell quartz to schedule the job using our trigger + scheduler.scheduleJob(job, trigger); + } + + public static void main(String[] args) throws SchedulerException, ApplicationSettingsException { + ClusterStatusMonitorJobScheduler jobScheduler = new ClusterStatusMonitorJobScheduler(); + jobScheduler.scheduleClusterStatusMonitoring(); + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/airavata/blob/914799c1/modules/cluster-monitoring/src/main/resources/cluster-properties.json ---------------------------------------------------------------------- diff --git a/modules/cluster-monitoring/src/main/resources/cluster-properties.json b/modules/cluster-monitoring/src/main/resources/cluster-properties.json deleted file mode 100644 index f016565..0000000 --- a/modules/cluster-monitoring/src/main/resources/cluster-properties.json +++ /dev/null @@ -1,53 +0,0 @@ -[ - { - "hostName": "stampede.tacc.xsede.org", - "userName": "scigap", - "port": 22, - "queueNames": [ - "normal", - "development", - "gpu" - ], - "resourceManagerType": "SLURM" - }, - { - "hostName": "comet.sdsc.edu", - "userName": "scigap", - "port": 22, - "queueNames": [ - "compute", - "shared", - "gpu" - ], - "resourceManagerType": "SLURM" - }, - { - "hostName": "bigred2.uits.iu.edu", - "userName": "cgateway", - "port": 22, - "queueNames": [ - "gpu", - "cpu", - "serial" - ], - "resourceManagerType": "PBS" - }, - { - "hostName": "gordon.sdsc.edu", - "userName": "ogce", - "port": 22, - "queueNames": [ - "normal" - ], - "resourceManagerType": "PBS" - }, - { - "hostName": "karst.uits.iu.edu", - "userName": "seagrid", - "port": 22, - "queueNames": [ - "batch" - ], - "resourceManagerType": "PBS" - } -] \ No newline at end of file http://git-wip-us.apache.org/repos/asf/airavata/blob/914799c1/modules/cluster-monitoring/src/main/resources/id_rsa ---------------------------------------------------------------------- diff --git a/modules/cluster-monitoring/src/main/resources/id_rsa b/modules/cluster-monitoring/src/main/resources/id_rsa deleted file mode 100644 index b5d1099..0000000 --- a/modules/cluster-monitoring/src/main/resources/id_rsa +++ /dev/null @@ -1,30 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -Proc-Type: 4,ENCRYPTED -DEK-Info: DES-EDE3-CBC,AF720E62F3BF175C - -81OQtQCUQNZ9SmbdeU6zh0mDpjfmaBcDu0lPs9P/GrjE/DkepgIdYyc6f/zKzDOe -V4SGtgO4Lazv1l/LSwjRLJ0FSheTFDAgCj5TN10Kza44dQ03rX8XIylqjpDoVbKb -S+CvDN+1HCfcmFfMrw/x3MvWt7BcBeOYcKtemRClfkSFSLqvZrEkRtO6TqHwIumd -mvSQTdez2MXECmlxMeLGAN88OBA3qXdG3q1k5eojm5/MM60rWNg5kW+aUIpjwCer -l7Z01e2WkMMkw7E6roO+pRV5UO53cgqQcoYjlwGngLXPQi5QBdD9JLbaxWSAS5OZ -H04BlEVFvbbSJIP2gKlKfFsclCtg5ldi5Sefhrqi2ewWAlL0ibVf0Ed83ygmm7DS -0ljFv+U3q1O62ODiQyLpxqUZkROTYy6u18B11ck6n1F625jEK3Sh8Jhu4svxIu4x -FTNJqZvG1vwPunePp6dzaBoSa6739mC1mSaDgaCvU2BxWfxN0ePKEumZg9NpskpK -Pu9lHAWkuWs+nBuPzcloiizzd9eC9am0fKRMdGAKM0bE0eHFmsSESkmPjxVyHsK8 -dOA22IX2Ars6utlF4JqSK/vD3frYOSVJ55hIhQrKj0Kq6TyTWv4RVKRolOiOioOY -7JSKCoYwR5eDA/UyLswBghydteyq1ljmOIE276xO4VnZAbK0gyhlKEReB8Gxbi80 -rtNe11wFKUu8OVUzm2bsDGYY6ZyvKnOXcL7/gwR7oObC0Y67tUkEXS15uiTH+mec -/YVji54TT5GX7BH23sT3DxoPzTKngjAzBiRKlKlJEh2H3fLYNB5xhyrxO9rSIsBD -y3nE1cSMUUVR/IPkJKKOmrZ8JfhwQpAiDLux1NBtveo342VY2twJs/U4Y6zYspcU -d0UPFGWWC/SuxVhR191LnuT5f90V8HMW2S7vohSXx60qoB0OvYOrclYFX9eqcw2v -e7ka/Rk922HcP1Yt5ak2pIIZMaTRWNBBE17EExmKkErzbJWosNDC/3HnmxkUb/v6 -3Y1wYxIjtcAjWjDQjstKGNty82zy8yeG9NSWTrMzljkosBLXrlVhn6VBqmqhUxUS -N6ma5ORuziL5FMdSrBsqqIs8Sam7JjVGUZmeGrTiOgQSUM5GV9EyML+jBBqj9/RD -CbFQCNBCVRNX2LLXHZGnODZ0i1TZ+P7Nap7TIaD1PJwoiFwl9gysf4WYJrWBqWU3 -ORPPWSGkWFdmXGOPyXQFSEMppdHagiFDgCC+5F9VfnrKkKrB+BMmLB8fh2BSmoQH -LkrXksTTVRDP/8SaIZs+KdBIEnL6UGLiej4p27bj0B9lG0nacyj8E8u0UfxTy2YS -dhdLeG55ZU+ori0HNBT4/bGY+0gMMMrmXhLYQSR/IoWU0hgzidM67ExYQ0tFpYx9 -g2AWMghQKWnSy9Cyi9sE2umXCISOV3jkPDClBKVxwrt/DTxZcUVzz5YqlZKMXIE3 -tTq4xHsRP/3KJOTun/2elmTFQ7Ml158df2dzTtKCRQ1la0YAMx4gdNWU8a/napN3 -g7l0KSygOWVPKuVFVbR6ZlLTzeJYpeR5ZOi5o4dRAfUB0qgblwn0Hg== ------END RSA PRIVATE KEY----- \ No newline at end of file http://git-wip-us.apache.org/repos/asf/airavata/blob/914799c1/modules/cluster-monitoring/src/main/resources/id_rsa.pub ---------------------------------------------------------------------- diff --git a/modules/cluster-monitoring/src/main/resources/id_rsa.pub b/modules/cluster-monitoring/src/main/resources/id_rsa.pub deleted file mode 100644 index b8308db..0000000 --- a/modules/cluster-monitoring/src/main/resources/id_rsa.pub +++ /dev/null @@ -1 +0,0 @@ -ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAzESt/JtW7JxJ0JNSW6570OQMYtmZjWw5zMLOVffsOoTbSZ6ZM/udT7mwHrlprIi40rvBKIeUFiyB5CeTwOz5Fok/j4D0uXVLIBqRoJdYlKRquyH5EDaZmY/+5BAjJmuwsOqO6rwAFy6KXnIWXafzixUXKKUxKbx5aRLnzDw+JXb8N/6wJcZQ9UhRbnMQkyb9wZxfv1lruVCmK+OrVShIMaRb1df36khY1uj53ISVjSkY1FD3mECUP1u0nHQiE6aqccAa+9+rPD+6lgXD7eljLUiIc9lb+JqYmzDYM/BC8NZegw1hw1hU22Y3Uq3nFec798CyD1PtNkIFKjxg1VFVNw== [email protected] \ No newline at end of file http://git-wip-us.apache.org/repos/asf/airavata/blob/914799c1/modules/commons/src/main/java/org/apache/airavata/common/utils/ApplicationSettings.java ---------------------------------------------------------------------- diff --git a/modules/commons/src/main/java/org/apache/airavata/common/utils/ApplicationSettings.java b/modules/commons/src/main/java/org/apache/airavata/common/utils/ApplicationSettings.java index dc7944f..3c3eed7 100644 --- a/modules/commons/src/main/java/org/apache/airavata/common/utils/ApplicationSettings.java +++ b/modules/commons/src/main/java/org/apache/airavata/common/utils/ApplicationSettings.java @@ -405,6 +405,14 @@ public class ApplicationSettings { return getSetting("regserver.server.host"); } + public static String getSuperTenantGatewayId() throws ApplicationSettingsException { + return getSetting("super.tenant.gatewayId"); + } + + public static String getClusterStatusMonitoringRepatTime() throws ApplicationSettingsException { + return getSetting("cluster.status.monitoring.repeat.time"); + } + /** * @deprecated use {{@link #getSetting(String)}} * @return http://git-wip-us.apache.org/repos/asf/airavata/blob/914799c1/modules/configuration/server/src/main/resources/CLOUD_Groovy.template ---------------------------------------------------------------------- diff --git a/modules/configuration/server/src/main/resources/CLOUD_Groovy.template b/modules/configuration/server/src/main/resources/CLOUD_Groovy.template deleted file mode 100644 index b16beb7..0000000 --- a/modules/configuration/server/src/main/resources/CLOUD_Groovy.template +++ /dev/null @@ -1,7 +0,0 @@ -<% - if (workingDirectory != null) out.print 'cd ' + workingDirectory +' && ' - if (jobSubmitterCommand != null) out.print jobSubmitterCommand + ' ' - if (executablePath != null) out.print executablePath + ' ' - if (inputs != null) for(input in inputs) out.print input + ' ' - out.print '\n' -%> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/airavata/blob/914799c1/modules/configuration/server/src/main/resources/airavata-server.properties ---------------------------------------------------------------------- diff --git a/modules/configuration/server/src/main/resources/airavata-server.properties b/modules/configuration/server/src/main/resources/airavata-server.properties index e5b6b33..ab19a12 100644 --- a/modules/configuration/server/src/main/resources/airavata-server.properties +++ b/modules/configuration/server/src/main/resources/airavata-server.properties @@ -50,6 +50,11 @@ default.registry.user=admin default.registry.password=admin default.registry.password.hash.method=SHA default.registry.gateway=php_reference_gateway +super.tenant.gatewayId=php_reference_gateway + +# Properties for cluster status monitoring +# cluster status monitoring job repeat time in seconds +cluster.status.monitoring.repeat.time=18000 ########################################################################### # Application Catalog DB Configuration http://git-wip-us.apache.org/repos/asf/airavata/blob/914799c1/modules/configuration/server/src/main/resources/gfac-config.yaml ---------------------------------------------------------------------- diff --git a/modules/configuration/server/src/main/resources/gfac-config.yaml b/modules/configuration/server/src/main/resources/gfac-config.yaml index 7d580ab..802d1e5 100644 --- a/modules/configuration/server/src/main/resources/gfac-config.yaml +++ b/modules/configuration/server/src/main/resources/gfac-config.yaml @@ -34,8 +34,6 @@ jobSubmitters: - submissionProtocol: LOCAL taskClass: org.apache.airavata.gfac.impl.task.LocalJobSubmissionTask - - submissionProtocol: CLOUD - taskClass: org.apache.airavata.gfac.impl.task.AuroraJobSubmissionTask # Following job subbmitters are not yet implemented. http://git-wip-us.apache.org/repos/asf/airavata/blob/914799c1/modules/credential-store/credential-store-stubs/src/main/java/org/apache/airavata/credential/store/cpi/CredentialStoreService.java ---------------------------------------------------------------------- diff --git a/modules/credential-store/credential-store-stubs/src/main/java/org/apache/airavata/credential/store/cpi/CredentialStoreService.java b/modules/credential-store/credential-store-stubs/src/main/java/org/apache/airavata/credential/store/cpi/CredentialStoreService.java index 1686c76..4d2a456 100644 --- a/modules/credential-store/credential-store-stubs/src/main/java/org/apache/airavata/credential/store/cpi/CredentialStoreService.java +++ b/modules/credential-store/credential-store-stubs/src/main/java/org/apache/airavata/credential/store/cpi/CredentialStoreService.java @@ -50,7 +50,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"}) -@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)") +@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-11-08") public class CredentialStoreService { public interface Iface { http://git-wip-us.apache.org/repos/asf/airavata/blob/914799c1/modules/credential-store/credential-store-stubs/src/main/java/org/apache/airavata/credential/store/datamodel/CertificateCredential.java ---------------------------------------------------------------------- diff --git a/modules/credential-store/credential-store-stubs/src/main/java/org/apache/airavata/credential/store/datamodel/CertificateCredential.java b/modules/credential-store/credential-store-stubs/src/main/java/org/apache/airavata/credential/store/datamodel/CertificateCredential.java index 76232b0..d2e5d85 100644 --- a/modules/credential-store/credential-store-stubs/src/main/java/org/apache/airavata/credential/store/datamodel/CertificateCredential.java +++ b/modules/credential-store/credential-store-stubs/src/main/java/org/apache/airavata/credential/store/datamodel/CertificateCredential.java @@ -22,18 +22,35 @@ */ package org.apache.airavata.credential.store.datamodel; -import org.apache.thrift.EncodingUtils; -import org.apache.thrift.protocol.TTupleProtocol; import org.apache.thrift.scheme.IScheme; import org.apache.thrift.scheme.SchemeFactory; import org.apache.thrift.scheme.StandardScheme; -import org.apache.thrift.scheme.TupleScheme; +import org.apache.thrift.scheme.TupleScheme; +import org.apache.thrift.protocol.TTupleProtocol; +import org.apache.thrift.protocol.TProtocolException; +import org.apache.thrift.EncodingUtils; +import org.apache.thrift.TException; +import org.apache.thrift.async.AsyncMethodCallback; +import org.apache.thrift.server.AbstractNonblockingServer.*; +import java.util.List; +import java.util.ArrayList; +import java.util.Map; +import java.util.HashMap; +import java.util.EnumMap; +import java.util.Set; +import java.util.HashSet; +import java.util.EnumSet; +import java.util.Collections; +import java.util.BitSet; +import java.nio.ByteBuffer; +import java.util.Arrays; import javax.annotation.Generated; -import java.util.*; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"}) -@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)") +@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-11-08") public class CertificateCredential implements org.apache.thrift.TBase<CertificateCredential, CertificateCredential._Fields>, java.io.Serializable, Cloneable, Comparable<CertificateCredential> { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("CertificateCredential"); http://git-wip-us.apache.org/repos/asf/airavata/blob/914799c1/modules/credential-store/credential-store-stubs/src/main/java/org/apache/airavata/credential/store/datamodel/CommunityUser.java ---------------------------------------------------------------------- diff --git a/modules/credential-store/credential-store-stubs/src/main/java/org/apache/airavata/credential/store/datamodel/CommunityUser.java b/modules/credential-store/credential-store-stubs/src/main/java/org/apache/airavata/credential/store/datamodel/CommunityUser.java index 8b1b3fa..9947b64 100644 --- a/modules/credential-store/credential-store-stubs/src/main/java/org/apache/airavata/credential/store/datamodel/CommunityUser.java +++ b/modules/credential-store/credential-store-stubs/src/main/java/org/apache/airavata/credential/store/datamodel/CommunityUser.java @@ -22,17 +22,35 @@ */ package org.apache.airavata.credential.store.datamodel; -import org.apache.thrift.protocol.TTupleProtocol; import org.apache.thrift.scheme.IScheme; import org.apache.thrift.scheme.SchemeFactory; import org.apache.thrift.scheme.StandardScheme; -import org.apache.thrift.scheme.TupleScheme; +import org.apache.thrift.scheme.TupleScheme; +import org.apache.thrift.protocol.TTupleProtocol; +import org.apache.thrift.protocol.TProtocolException; +import org.apache.thrift.EncodingUtils; +import org.apache.thrift.TException; +import org.apache.thrift.async.AsyncMethodCallback; +import org.apache.thrift.server.AbstractNonblockingServer.*; +import java.util.List; +import java.util.ArrayList; +import java.util.Map; +import java.util.HashMap; +import java.util.EnumMap; +import java.util.Set; +import java.util.HashSet; +import java.util.EnumSet; +import java.util.Collections; +import java.util.BitSet; +import java.nio.ByteBuffer; +import java.util.Arrays; import javax.annotation.Generated; -import java.util.*; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"}) -@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)") +@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-11-08") public class CommunityUser implements org.apache.thrift.TBase<CommunityUser, CommunityUser._Fields>, java.io.Serializable, Cloneable, Comparable<CommunityUser> { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("CommunityUser"); http://git-wip-us.apache.org/repos/asf/airavata/blob/914799c1/modules/credential-store/credential-store-stubs/src/main/java/org/apache/airavata/credential/store/datamodel/PasswordCredential.java ---------------------------------------------------------------------- diff --git a/modules/credential-store/credential-store-stubs/src/main/java/org/apache/airavata/credential/store/datamodel/PasswordCredential.java b/modules/credential-store/credential-store-stubs/src/main/java/org/apache/airavata/credential/store/datamodel/PasswordCredential.java index 4eab7f4..0e57752 100644 --- a/modules/credential-store/credential-store-stubs/src/main/java/org/apache/airavata/credential/store/datamodel/PasswordCredential.java +++ b/modules/credential-store/credential-store-stubs/src/main/java/org/apache/airavata/credential/store/datamodel/PasswordCredential.java @@ -22,18 +22,35 @@ */ package org.apache.airavata.credential.store.datamodel; -import org.apache.thrift.EncodingUtils; -import org.apache.thrift.protocol.TTupleProtocol; import org.apache.thrift.scheme.IScheme; import org.apache.thrift.scheme.SchemeFactory; import org.apache.thrift.scheme.StandardScheme; -import org.apache.thrift.scheme.TupleScheme; +import org.apache.thrift.scheme.TupleScheme; +import org.apache.thrift.protocol.TTupleProtocol; +import org.apache.thrift.protocol.TProtocolException; +import org.apache.thrift.EncodingUtils; +import org.apache.thrift.TException; +import org.apache.thrift.async.AsyncMethodCallback; +import org.apache.thrift.server.AbstractNonblockingServer.*; +import java.util.List; +import java.util.ArrayList; +import java.util.Map; +import java.util.HashMap; +import java.util.EnumMap; +import java.util.Set; +import java.util.HashSet; +import java.util.EnumSet; +import java.util.Collections; +import java.util.BitSet; +import java.nio.ByteBuffer; +import java.util.Arrays; import javax.annotation.Generated; -import java.util.*; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"}) -@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)") +@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-11-08") public class PasswordCredential implements org.apache.thrift.TBase<PasswordCredential, PasswordCredential._Fields>, java.io.Serializable, Cloneable, Comparable<PasswordCredential> { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("PasswordCredential"); http://git-wip-us.apache.org/repos/asf/airavata/blob/914799c1/modules/credential-store/credential-store-stubs/src/main/java/org/apache/airavata/credential/store/datamodel/SSHCredential.java ---------------------------------------------------------------------- diff --git a/modules/credential-store/credential-store-stubs/src/main/java/org/apache/airavata/credential/store/datamodel/SSHCredential.java b/modules/credential-store/credential-store-stubs/src/main/java/org/apache/airavata/credential/store/datamodel/SSHCredential.java index 0c3fee1..47b585b 100644 --- a/modules/credential-store/credential-store-stubs/src/main/java/org/apache/airavata/credential/store/datamodel/SSHCredential.java +++ b/modules/credential-store/credential-store-stubs/src/main/java/org/apache/airavata/credential/store/datamodel/SSHCredential.java @@ -22,18 +22,35 @@ */ package org.apache.airavata.credential.store.datamodel; -import org.apache.thrift.EncodingUtils; -import org.apache.thrift.protocol.TTupleProtocol; import org.apache.thrift.scheme.IScheme; import org.apache.thrift.scheme.SchemeFactory; import org.apache.thrift.scheme.StandardScheme; -import org.apache.thrift.scheme.TupleScheme; +import org.apache.thrift.scheme.TupleScheme; +import org.apache.thrift.protocol.TTupleProtocol; +import org.apache.thrift.protocol.TProtocolException; +import org.apache.thrift.EncodingUtils; +import org.apache.thrift.TException; +import org.apache.thrift.async.AsyncMethodCallback; +import org.apache.thrift.server.AbstractNonblockingServer.*; +import java.util.List; +import java.util.ArrayList; +import java.util.Map; +import java.util.HashMap; +import java.util.EnumMap; +import java.util.Set; +import java.util.HashSet; +import java.util.EnumSet; +import java.util.Collections; +import java.util.BitSet; +import java.nio.ByteBuffer; +import java.util.Arrays; import javax.annotation.Generated; -import java.util.*; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"}) -@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)") +@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-11-08") public class SSHCredential implements org.apache.thrift.TBase<SSHCredential, SSHCredential._Fields>, java.io.Serializable, Cloneable, Comparable<SSHCredential> { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("SSHCredential"); http://git-wip-us.apache.org/repos/asf/airavata/blob/914799c1/modules/credential-store/credential-store-stubs/src/main/java/org/apache/airavata/credential/store/datamodel/SSHCredentialSummary.java ---------------------------------------------------------------------- diff --git a/modules/credential-store/credential-store-stubs/src/main/java/org/apache/airavata/credential/store/datamodel/SSHCredentialSummary.java b/modules/credential-store/credential-store-stubs/src/main/java/org/apache/airavata/credential/store/datamodel/SSHCredentialSummary.java index 85b1a6a..a646a94 100644 --- a/modules/credential-store/credential-store-stubs/src/main/java/org/apache/airavata/credential/store/datamodel/SSHCredentialSummary.java +++ b/modules/credential-store/credential-store-stubs/src/main/java/org/apache/airavata/credential/store/datamodel/SSHCredentialSummary.java @@ -22,18 +22,35 @@ */ package org.apache.airavata.credential.store.datamodel; -import org.apache.thrift.EncodingUtils; -import org.apache.thrift.protocol.TTupleProtocol; import org.apache.thrift.scheme.IScheme; import org.apache.thrift.scheme.SchemeFactory; import org.apache.thrift.scheme.StandardScheme; -import org.apache.thrift.scheme.TupleScheme; +import org.apache.thrift.scheme.TupleScheme; +import org.apache.thrift.protocol.TTupleProtocol; +import org.apache.thrift.protocol.TProtocolException; +import org.apache.thrift.EncodingUtils; +import org.apache.thrift.TException; +import org.apache.thrift.async.AsyncMethodCallback; +import org.apache.thrift.server.AbstractNonblockingServer.*; +import java.util.List; +import java.util.ArrayList; +import java.util.Map; +import java.util.HashMap; +import java.util.EnumMap; +import java.util.Set; +import java.util.HashSet; +import java.util.EnumSet; +import java.util.Collections; +import java.util.BitSet; +import java.nio.ByteBuffer; +import java.util.Arrays; import javax.annotation.Generated; -import java.util.*; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"}) -@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)") +@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-11-08") public class SSHCredentialSummary implements org.apache.thrift.TBase<SSHCredentialSummary, SSHCredentialSummary._Fields>, java.io.Serializable, Cloneable, Comparable<SSHCredentialSummary> { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("SSHCredentialSummary"); http://git-wip-us.apache.org/repos/asf/airavata/blob/914799c1/modules/credential-store/credential-store-stubs/src/main/java/org/apache/airavata/credential/store/exception/CredentialStoreException.java ---------------------------------------------------------------------- diff --git a/modules/credential-store/credential-store-stubs/src/main/java/org/apache/airavata/credential/store/exception/CredentialStoreException.java b/modules/credential-store/credential-store-stubs/src/main/java/org/apache/airavata/credential/store/exception/CredentialStoreException.java index 9d9bb50..ce445ac 100644 --- a/modules/credential-store/credential-store-stubs/src/main/java/org/apache/airavata/credential/store/exception/CredentialStoreException.java +++ b/modules/credential-store/credential-store-stubs/src/main/java/org/apache/airavata/credential/store/exception/CredentialStoreException.java @@ -50,7 +50,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"}) -@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-10-12") +@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-11-08") public class CredentialStoreException extends TException implements org.apache.thrift.TBase<CredentialStoreException, CredentialStoreException._Fields>, java.io.Serializable, Cloneable, Comparable<CredentialStoreException> { private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("CredentialStoreException"); http://git-wip-us.apache.org/repos/asf/airavata/blob/914799c1/modules/distribution/src/main/assembly/bin-assembly.xml ---------------------------------------------------------------------- diff --git a/modules/distribution/src/main/assembly/bin-assembly.xml b/modules/distribution/src/main/assembly/bin-assembly.xml index b6e589b..971bba0 100644 --- a/modules/distribution/src/main/assembly/bin-assembly.xml +++ b/modules/distribution/src/main/assembly/bin-assembly.xml @@ -112,7 +112,6 @@ <include>LSF_Groovy.template</include> <include>UGE_Groovy.template</include> <include>FORK_Groovy.template</include> - <include>CLOUD_Groovy.template</include> <include>gsissh.properties</include> <include>airavata.jks</include> <include>client_truststore.jks</include> http://git-wip-us.apache.org/repos/asf/airavata/blob/914799c1/modules/gfac/gfac-client/src/main/java/org/apache/airavata/gfac/cpi/GfacService.java ---------------------------------------------------------------------- diff --git a/modules/gfac/gfac-client/src/main/java/org/apache/airavata/gfac/cpi/GfacService.java b/modules/gfac/gfac-client/src/main/java/org/apache/airavata/gfac/cpi/GfacService.java index 9483a20..26f98a8 100644 --- a/modules/gfac/gfac-client/src/main/java/org/apache/airavata/gfac/cpi/GfacService.java +++ b/modules/gfac/gfac-client/src/main/java/org/apache/airavata/gfac/cpi/GfacService.java @@ -50,7 +50,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"}) -@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-08-09") +@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-11-08") public class GfacService { public interface Iface {
