Package org.cdlib.mrt.s3.service
Class NodeIO
java.lang.Object
org.cdlib.mrt.s3.service.NodeIO
- Author:
- DLoy
The NodeIO class handles a paramertized definition for all cloud IO members. A NodeIO name is used to specifically identify which node list to use. Each node.
line in the list defines a node and cloud definitions for that node This process is now used on all backend Merritt services. Example set: ./nodes-prod.properties node.1=9001|sdsc|distrib.prod.9001.__ node.2=9103|sdsc|prod-9103 node.3=8001|ucla-prod node.4=5001|aws-std|uc3-s3mrt5001-prd node.5=6001|aws-near|uc3-s3mrt6001-prd node.6=7001|aws-std|uc3-s3mrt1001-prd node.7=7021|ch-riverside-prd|8100 ch-riverside-prd serviceType=cloudhost base=https://uc3-mrtdat1-dev.cdlib.org:30443/cloudhost ./sdsc.properties serviceType=swift access_key=our_service:our_group secret_key=pwd host=cloud.sdsc.edu ./ucla-prod serviceType=pairtree base=/mrt-ucla-prod/dpr2/repository/node8001/store/fileCloud ./aws-std serviceType=aws accessMode=on-line storageClass=Standard ./aws-near serviceType=aws accessMode=near-line Process module: Repository: https://github.com/CDLUC3/mrt-cloud Project: s3-src Class: org.cdlib.mrt.s3.service.NodeIO SERVICE TYPES: Swift node: node. = | | Properties: serviceType=swift access_key=invalid input: '<'Organization key:group key> secret_key= host= Example node.2=9103|sdsc|prod-9103 ... ./sdsc.properties serviceType=swift access_key=our_service:our_group secret_key=pwd host=cloud.sdsc.edu ------------------------------------------------------------------- Pairtree node: node. = | Properties: serviceType=pairtree base= Example: node.2=8100|csh-pair ... ./csh-pair.properties serviceType=pairtree base=./fileCloud ------------------------------------------------------------------- AWS node: node. = | | Properties: serviceType=aws accessMode= "on-line" = directly accessible content "near-line" = Glacier storageClass= optional AWS storage class "Standard" "ReducedRedundancy" Example: node.4=5001|aws-std|uc3-s3mrt5001-prd ... ./aws-std.properties serviceType=aws accessMode=on-line storageClass=Standard ------------------------------------------------------------------- Cloudhost node: node. = | | Properties: serviceType=cloudhost base= Example: node.1=7301|ch-unm-test|8101 ... ./ch-unm-test.properties serviceType=cloudhost base=http://oneshare-test.unm.edu:8080/cloudhost Example set: ./nodes-prod.properties node.1=9001|sdsc|distrib.prod.9001.__ node.2=9103|sdsc|prod-9103 node.3=8001|ucla-prod node.4=5001|aws-std|uc3-s3mrt5001-prd node.5=6001|aws-near|uc3-s3mrt6001-prd node.6=7001|aws-std|uc3-s3mrt1001-prd node.7=7021|ch-riverside-prd|8100 ch-riverside-prd serviceType=cloudhost base=https://uc3-mrtdat1-dev.cdlib.org:30443/cloudhost ./sdsc.properties serviceType=swift access_key=our_service:our_group secret_key=pwd host=cloud.sdsc.edu ./ucla-prod serviceType=pairtree base=/mrt-ucla-prod/dpr2/repository/node8001/store/fileCloud ./aws-std serviceType=aws accessMode=on-line storageClass=Standard ./aws-near serviceType=aws accessMode=near-line Example loading: nodeIO = NodeIO.getNodeIO(nodeName, logger); NodeIO.AccessNode accessNode = nodeIO.getAccessNode(nodeNumber); if (accessNode == null) { throw new TException.REQUESTED_ITEM_NOT_FOUND("test fails:" + " - nodeName:" + nodeName + " - nodeNumber:" + nodeNumber ); } CloudStoreInf service = accessNode.service; String container = accessNode.container; StateHandler stateHandler = StateHandler.getStateHandler(service, container, KEY, logger);
-
Nested Class Summary
Nested Classes -
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionDefNode extract of multiple nodes from listNodeIO(Properties cloudProp, org.cdlib.mrt.utility.LoggerInf logger) -
Method Summary
Modifier and TypeMethodDescriptionprotected NodeIO.AccessNodeaddMapEntry(Long nodeNumber, String container, String nodeDescription, Properties cloudProp) protected voidaddMapEntry(String line) static voidgetAccessKey(String storageURLS) getAccessNode(long nodeNumber) static NodeIO.AccessNodegetAccessNode(Integer awsVersion, Long nodeNumber, String container, String nodeDescription, Properties cloudProp, org.cdlib.mrt.utility.LoggerInf logger) static NodeIO.AccessNodegetAccessNode(String awsVersionS, Long nodeNumber, String container, String nodeDescription, Properties cloudProp, org.cdlib.mrt.utility.LoggerInf logger) static NodeIO.AccessNodegetAccessNodexxx(Long nodeNumber, String container, String nodeDescription, Properties cloudProp, org.cdlib.mrt.utility.LoggerInf logger) static IntegergetAwsVersion(String awsVersionS) static NodeIO.AccessNodegetCloudNode(String nodeName, long node, org.cdlib.mrt.utility.LoggerInf logger) voidprotected voidgetFileException(CloudStoreInf service, String container, String key, File outfile) getInputStream(String storageURLS) getMap()getNode(long node) protected longstatic NodeIOstatic NodeIO.AccessNodegetNodeIOAccess(String nodeName, long nodeNumber, org.cdlib.mrt.utility.LoggerInf logger) static NodeIOgetNodeIOConfig(String config, org.cdlib.mrt.utility.LoggerInf logger) static voidstatic voidmain_backup(String[] args) static voidmain_default(String[] args) static voidstatic voidmain_jarnew(String[] args) static voidmain_jarv1(String[] args) static voidmain_jarv2(String[] args) static voidstatic voidmain_yaml1(String[] args) static voidmain_yaml2(String[] args) voidprintNodes(String header) voidprintNodes(String header, long nodeNumber) voidsetAwsVersion(Integer awsVersion) voidsetNodeName(String nodeName) static void
-
Field Details
-
NAME
- See Also:
-
MESSAGE
- See Also:
-
accessNodes
-
nodeName
-
logger
protected org.cdlib.mrt.utility.LoggerInf logger
-
-
Constructor Details
-
NodeIO
public NodeIO(Integer awsVersion, List<DefNode> defNodes, org.cdlib.mrt.utility.LoggerInf logger) throws org.cdlib.mrt.utility.TException DefNode extract of multiple nodes from list- Parameters:
logger-ssmBase- SSM pathnodeNumber- list of nodeNumbers to resolve- Throws:
org.cdlib.mrt.utility.TException
-
NodeIO
public NodeIO(String nodeName, org.cdlib.mrt.utility.LoggerInf logger) throws org.cdlib.mrt.utility.TException - Throws:
org.cdlib.mrt.utility.TException
-
NodeIO
public NodeIO(String nodeName, long node, org.cdlib.mrt.utility.LoggerInf logger) throws org.cdlib.mrt.utility.TException - Throws:
org.cdlib.mrt.utility.TException
-
NodeIO
public NodeIO(Properties cloudProp, org.cdlib.mrt.utility.LoggerInf logger) throws org.cdlib.mrt.utility.TException - Throws:
org.cdlib.mrt.utility.TException
-
-
Method Details
-
main
- Throws:
Exception
-
main_jar
- Throws:
Exception
-
main_yaml
- Throws:
Exception
-
main_yaml1
- Throws:
Exception
-
main_yaml2
- Throws:
Exception
-
main_jarnew
- Throws:
Exception
-
main_jarv1
- Throws:
Exception
-
main_jarv2
- Throws:
Exception
-
main_default
- Throws:
Exception
-
main_backup
- Throws:
Exception
-
testmain
- Throws:
Exception
-
getNodeIOAccess
public static NodeIO.AccessNode getNodeIOAccess(String nodeName, long nodeNumber, org.cdlib.mrt.utility.LoggerInf logger) throws org.cdlib.mrt.utility.TException - Throws:
org.cdlib.mrt.utility.TException
-
getNodeIOConfig
public static NodeIO getNodeIOConfig(String config, org.cdlib.mrt.utility.LoggerInf logger) throws org.cdlib.mrt.utility.TException - Throws:
org.cdlib.mrt.utility.TException
-
configCall
public static void configCall() -
getCloudNode
public static NodeIO.AccessNode getCloudNode(String nodeName, long node, org.cdlib.mrt.utility.LoggerInf logger) throws org.cdlib.mrt.utility.TException - Throws:
org.cdlib.mrt.utility.TException
-
getNodeIO
public static NodeIO getNodeIO(String nodeName, org.cdlib.mrt.utility.LoggerInf logger) throws org.cdlib.mrt.utility.TException - Throws:
org.cdlib.mrt.utility.TException
-
getNode
- Throws:
org.cdlib.mrt.utility.TException
-
getNode
- Throws:
org.cdlib.mrt.utility.TException
-
addMapEntry
- Throws:
org.cdlib.mrt.utility.TException
-
addMapEntry
protected NodeIO.AccessNode addMapEntry(Long nodeNumber, String container, String nodeDescription, Properties cloudProp) throws org.cdlib.mrt.utility.TException - Throws:
org.cdlib.mrt.utility.TException
-
getAccessNodexxx
public static NodeIO.AccessNode getAccessNodexxx(Long nodeNumber, String container, String nodeDescription, Properties cloudProp, org.cdlib.mrt.utility.LoggerInf logger) throws org.cdlib.mrt.utility.TException - Throws:
org.cdlib.mrt.utility.TException
-
getAccessNode
public static NodeIO.AccessNode getAccessNode(String awsVersionS, Long nodeNumber, String container, String nodeDescription, Properties cloudProp, org.cdlib.mrt.utility.LoggerInf logger) throws org.cdlib.mrt.utility.TException - Throws:
org.cdlib.mrt.utility.TException
-
getAccessNode
public static NodeIO.AccessNode getAccessNode(Integer awsVersion, Long nodeNumber, String container, String nodeDescription, Properties cloudProp, org.cdlib.mrt.utility.LoggerInf logger) throws org.cdlib.mrt.utility.TException - Throws:
org.cdlib.mrt.utility.TException
-
getAccessNode
-
getAccessKey
- Throws:
org.cdlib.mrt.utility.TException
-
getFile
- Throws:
org.cdlib.mrt.utility.TException
-
getFileException
protected void getFileException(CloudStoreInf service, String container, String key, File outfile) throws org.cdlib.mrt.utility.TException - Throws:
org.cdlib.mrt.utility.TException
-
getInputStream
- Throws:
org.cdlib.mrt.utility.TException
-
getAwsVersion
-
setAwsVersion
-
getAwsVersion
-
getCollection
-
getMap
-
printNodes
-
printNodes
-
setNodeName
-
getNodeName
-
getAccessNodesMap
-
getAccessNodesList
-