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=<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.AccessNode
addMapEntry
(Long nodeNumber, String container, String nodeDescription, Properties cloudProp) protected void
addMapEntry
(String line) static void
getAccessKey
(String storageURLS) getAccessNode
(long nodeNumber) static NodeIO.AccessNode
getAccessNode
(Integer awsVersion, Long nodeNumber, String container, String nodeDescription, Properties cloudProp, org.cdlib.mrt.utility.LoggerInf logger) static NodeIO.AccessNode
getAccessNode
(String awsVersionS, Long nodeNumber, String container, String nodeDescription, Properties cloudProp, org.cdlib.mrt.utility.LoggerInf logger) static NodeIO.AccessNode
getAccessNodexxx
(Long nodeNumber, String container, String nodeDescription, Properties cloudProp, org.cdlib.mrt.utility.LoggerInf logger) static Integer
getAwsVersion
(String awsVersionS) static NodeIO.AccessNode
getCloudNode
(String nodeName, long node, org.cdlib.mrt.utility.LoggerInf logger) void
protected void
getFileException
(CloudStoreInf service, String container, String key, File outfile) getInputStream
(String storageURLS) getMap()
getNode
(long node) protected long
static NodeIO
static NodeIO.AccessNode
getNodeIOAccess
(String nodeName, long nodeNumber, org.cdlib.mrt.utility.LoggerInf logger) static NodeIO
getNodeIOConfig
(String config, org.cdlib.mrt.utility.LoggerInf logger) static void
static void
main_backup
(String[] args) static void
main_default
(String[] args) static void
static void
main_jarnew
(String[] args) static void
main_jarv1
(String[] args) static void
main_jarv2
(String[] args) static void
static void
main_yaml1
(String[] args) static void
main_yaml2
(String[] args) void
printNodes
(String header) void
printNodes
(String header, long nodeNumber) void
setAwsVersion
(Integer awsVersion) void
setNodeName
(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:
ssmBase
- SSM pathnodeNumber
- list of nodeNumbers to resolvelogger
-- 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
-