diff options
-rw-r--r-- | aai-core/src/main/java/org/onap/aai/dbgen/DataGrooming.java | 130 | ||||
-rw-r--r-- | docs/AAI REST API Documentation/AAIRESTAPI_AMSTERDAM.rst | 135 | ||||
-rw-r--r-- | docs/platform/Getting Started/How_to_Docker_setup_on_Single_VM.rst | 12 | ||||
-rw-r--r-- | docs/release-notes.rst | 2 |
4 files changed, 130 insertions, 149 deletions
diff --git a/aai-core/src/main/java/org/onap/aai/dbgen/DataGrooming.java b/aai-core/src/main/java/org/onap/aai/dbgen/DataGrooming.java index c5de1d61..61ef8544 100644 --- a/aai-core/src/main/java/org/onap/aai/dbgen/DataGrooming.java +++ b/aai-core/src/main/java/org/onap/aai/dbgen/DataGrooming.java @@ -76,6 +76,8 @@ public class DataGrooming { private static final String FROMAPPID = "AAI-DB"; private static final String TRANSID = UUID.randomUUID().toString(); private static int dupeGrpsDeleted = 0; + private static final String AAI_NODE_TYPE = "aai-node-type"; + private static final String KEEP_VID_UNDETERMINED ="KeepVid=UNDETERMINED"; /** * The main method. @@ -121,11 +123,11 @@ public class DataGrooming { int sleepMinutes = AAIConstants.AAI_GROOMING_DEFAULT_SLEEP_MINUTES; try { String maxFixStr = AAIConfig.get("aai.grooming.default.max.fix"); - if( maxFixStr != null && !maxFixStr.equals("") ){ + if( maxFixStr != null && !maxFixStr.isEmpty() ){ maxRecordsToFix = Integer.parseInt(maxFixStr); } String sleepStr = AAIConfig.get("aai.grooming.default.sleep.minutes"); - if( sleepStr != null && !sleepStr.equals("") ){ + if( sleepStr != null && !sleepStr.isEmpty() ){ sleepMinutes = Integer.parseInt(sleepStr); } } @@ -143,29 +145,29 @@ public class DataGrooming { // They passed some arguments in that will affect processing for (int i = 0; i < args.length; i++) { String thisArg = args[i]; - if (thisArg.equals("-edgesOnly")) { + if ("-edgesOnly".equals(thisArg)) { edgesOnlyFlag = true; } else if (thisArg.equals("-autoFix")) { doAutoFix = true; - } else if (thisArg.equals("-skipHostCheck")) { + } else if ("-skipHostCheck".equals(thisArg)) { skipHostCheck = true; - } else if (thisArg.equals("-dontFixOrphans")) { + } else if ("-dontFixOrphans".equals(thisArg)) { dontFixOrphansFlag = true; - } else if (thisArg.equals("-singleCommits")) { + } else if ("-singleCommits".equals(thisArg)) { singleCommits = true; - } else if (thisArg.equals("-dupeCheckOff")) { + } else if ("-dupeCheckOff".equals(thisArg)) { dupeCheckOff = true; - } else if (thisArg.equals("-dupeFixOn")) { + } else if ("-dupeFixOn".equals(thisArg)) { dupeFixOn = true; - } else if (thisArg.equals("-ghost2CheckOff")) { + } else if ("-ghost2CheckOff".equals(thisArg)) { ghost2CheckOff = true; - } else if (thisArg.equals("-neverUseCache")) { + } else if ("-neverUseCache".equals(thisArg)) { neverUseCache = true; - } else if (thisArg.equals("-ghost2FixOn")) { + } else if ("-ghost2FixOn".equals(thisArg)) { ghost2FixOn = true; - } else if (thisArg.equals("-skipEdgeChecks")) { + } else if ("-skipEdgeChecks".equals(thisArg)) { skipEdgeCheckFlag = true; - } else if (thisArg.equals("-maxFix")) { + } else if ("-maxFix".equals(thisArg)) { i++; if (i >= args.length) { LoggingContext.statusCode(StatusCode.ERROR); @@ -201,7 +203,7 @@ public class DataGrooming { + nextArg + "]"); AAISystemExitUtil.systemExitCloseAAIGraph(0); } - } else if (thisArg.equals("-timeWindowMinutes")) { + } else if ("-timeWindowMinutes".equals(thisArg)) { i++; if (i >= args.length) { LoggingContext.statusCode(StatusCode.ERROR); @@ -220,7 +222,7 @@ public class DataGrooming { AAISystemExitUtil.systemExitCloseAAIGraph(0); } - } else if (thisArg.equals("-f")) { + } else if ("-f".equals(thisArg)) { i++; if (i >= args.length) { LoggingContext.statusCode(StatusCode.ERROR); @@ -501,7 +503,7 @@ public class DataGrooming { // Loop through all the nodes of this Node type int lastShownForNt = 0; ArrayList <Vertex> tmpList = new ArrayList <> (); - Iterator <Vertex> iterv = source1.V().has("aai-node-type",nType); + Iterator <Vertex> iterv = source1.V().has(AAI_NODE_TYPE,nType); while (iterv.hasNext()) { // We put the nodes into an ArrayList because the graph.query iterator can time out tmpList.add(iterv.next()); @@ -580,10 +582,6 @@ public class DataGrooming { pCount++; } if( pCount <= 0 ){ - - - //List<Vertex> vertI2 = g.traversal().V(thisVtx).union(__.outE().has("isParent-REV",true).outV(),__.inE().has("isParent",true).inV()).toList(); - //if( vertI2.isEmpty()){ // It's Missing it's dependent/parent node depNodeOk = false; @@ -654,7 +652,7 @@ public class DataGrooming { } }// end of -- else this is a dependent node -- piece - if( depNodeOk && (secondGetList == null || secondGetList.size() == 0) ){ + if( depNodeOk && (secondGetList == null || secondGetList.isEmpty()) ){ // We could not get the node back using it's own key info. // So, it's a PHANTOM if (deleteCandidateList.contains(thisVid)) { @@ -874,7 +872,7 @@ public class DataGrooming { Boolean cantGetUsingVid = false; if (vIn != null) { try { - Object ob = vIn.<Object>property("aai-node-type").orElse(null); + Object ob = vIn.<Object>property(AAI_NODE_TYPE).orElse(null); if (ob != null) { vNtI = ob.toString(); keysMissing = anyKeyFieldsMissing(vNtI, vIn, loader); @@ -998,7 +996,7 @@ public class DataGrooming { cantGetUsingVid = false; if (vOut != null) { try { - Object ob = vOut.<Object>property("aai-node-type").orElse(null); + Object ob = vOut.<Object>property(AAI_NODE_TYPE).orElse(null); if (ob != null) { vNtO = ob.toString(); keysMissing = anyKeyFieldsMissing(vNtO, @@ -1036,14 +1034,14 @@ public class DataGrooming { logger.warn(">>> WARNING trying to get edge's Out-vertex props ", err); } } - if (keysMissing || vOut == null || vNtO.equals("") + if (keysMissing || vOut == null || vNtO.isEmpty() || cantGetUsingVid) { // this is a bad edge because it points to a vertex // that isn't there anymore String thisEid = e.id().toString(); if (deleteCandidateList.contains(thisEid) || deleteCandidateList.contains(vIdO)) { boolean okFlag = true; - if (!vIdO.equals("")) { + if (!vIdO.isEmpty()) { // try to get rid of the corrupted vertex try { if( (ghost2 != null) && ghost2FixOn ){ @@ -1331,7 +1329,7 @@ public class DataGrooming { // This is the last entry which should tell us if we // have a preferred keeper String prefString = dupeArr[i]; - if (prefString.equals("KeepVid=UNDETERMINED")) { + if (KEEP_VID_UNDETERMINED.equals(prefString)) { bw.write("\n For this group of duplicates, could not tell which one to keep.\n"); bw.write(" >>> This group needs to be taken care of with a manual/forced-delete.\n"); } else { @@ -1339,7 +1337,7 @@ public class DataGrooming { // should look like, "KeepVid=12345" String[] prefArr = prefString.split("="); if (prefArr.length != 2 - || (!prefArr[0].equals("KeepVid"))) { + || (!"KeepVid".equals(prefArr[0]))) { throw new Exception("Bad format. Expecting KeepVid=999999"); } else { String keepVidStr = prefArr[1]; @@ -1378,7 +1376,7 @@ public class DataGrooming { bw.write("\n ------------- Got these errors while processing: \n"); Iterator<String> errIter = errArr.iterator(); while (errIter.hasNext()) { - String line = (String) errIter.next(); + String line = errIter.next(); bw.write(line + "\n"); } @@ -1541,7 +1539,7 @@ public class DataGrooming { while (keyPropI.hasNext()) { String propName = keyPropI.next(); Object ob = v.<Object>property(propName).orElse(null); - if (ob == null || ob.toString().equals("")) { + if (ob == null || ob.toString().isEmpty()) { // It is missing a key property return true; } @@ -1679,16 +1677,16 @@ public class DataGrooming { String vtxANodeType = ""; String vtxBNodeType = ""; - Object objType = vtxA.<Object>property("aai-node-type").orElse(null); + Object objType = vtxA.<Object>property(AAI_NODE_TYPE).orElse(null); if (objType != null) { vtxANodeType = objType.toString(); } - objType = vtxB.<Object>property("aai-node-type").orElse(null); + objType = vtxB.<Object>property(AAI_NODE_TYPE).orElse(null); if (objType != null) { vtxBNodeType = objType.toString(); } - if (vtxANodeType.equals("") || (!vtxANodeType.equals(vtxBNodeType))) { + if (vtxANodeType.isEmpty() || (!vtxANodeType.equals(vtxBNodeType))) { // Either they're not really dupes or there's some bad data - so // don't pick one return nullVtx; @@ -1748,7 +1746,7 @@ public class DataGrooming { Vertex tvCon = iter.next(); String conVid = tvCon.id().toString(); String nt = ""; - objType = tvCon.<Object>property("aai-node-type").orElse(null); + objType = tvCon.<Object>property(AAI_NODE_TYPE).orElse(null); if (objType != null) { nt = objType.toString(); } @@ -1764,7 +1762,7 @@ public class DataGrooming { Vertex tvCon = iter.next(); String conVid = tvCon.id().toString(); String nt = ""; - objType = tvCon.<Object>property("aai-node-type").orElse(null); + objType = tvCon.<Object>property(AAI_NODE_TYPE).orElse(null); if (objType != null) { nt = objType.toString(); } @@ -1803,7 +1801,7 @@ public class DataGrooming { depNodeVtxId4B = nodeTypesConn2B.get(depNodeType); } } - if (depNodeVtxId4A.equals("") + if (depNodeVtxId4A.isEmpty() || (!depNodeVtxId4A.equals(depNodeVtxId4B))) { // Either they're not really dupes or there's some bad data - so // don't pick either one @@ -1831,7 +1829,7 @@ public class DataGrooming { // If everything is the same, but one of the two has a good // pointer to it, then save that one. Otherwise, take the // older one. - if( !onlyNodeThatIndexPointsToVidStr.equals("") ){ + if( !onlyNodeThatIndexPointsToVidStr.isEmpty() ){ // only one is reachable via the index - choose that one. if( onlyNodeThatIndexPointsToVidStr.equals(vidA.toString()) ){ preferredVtx = vtxA; @@ -1860,7 +1858,7 @@ public class DataGrooming { } } if (!missingOne) { - if( onlyNodeThatIndexPointsToVidStr.equals("") + if( onlyNodeThatIndexPointsToVidStr.isEmpty() || onlyNodeThatIndexPointsToVidStr.equals(vidA.toString()) ){ preferredVtx = vtxA; } @@ -1879,7 +1877,7 @@ public class DataGrooming { } } if (!missingOne) { - if( onlyNodeThatIndexPointsToVidStr.equals("") + if( onlyNodeThatIndexPointsToVidStr.isEmpty() || onlyNodeThatIndexPointsToVidStr.equals(vidB.toString()) ){ preferredVtx = vtxB; } @@ -1978,15 +1976,14 @@ public class DataGrooming { String dupesStr = ""; for (int i = 0; i < checkVertList.size(); i++) { dupesStr = dupesStr - + ((checkVertList.get(i))).id() - .toString() + "|"; + + checkVertList.get(i).id().toString() + "|"; } if (dupesStr != "") { Vertex prefV = getPreferredDupe(transId, fromAppId, source, checkVertList, version, loader); if (prefV == null) { // We could not determine which duplicate to keep - dupesStr = dupesStr + "KeepVid=UNDETERMINED"; + dupesStr = dupesStr + KEEP_VID_UNDETERMINED; returnList.add(dupesStr); } else { dupesStr = dupesStr + "KeepVid=" + prefV.id(); @@ -2025,8 +2022,7 @@ public class DataGrooming { String dupesStr = ""; for (int i = 0; i < thisParentsVertList.size(); i++) { dupesStr = dupesStr - + ((thisParentsVertList - .get(i))).id() + "|"; + + thisParentsVertList.get(i).id() + "|"; } if (dupesStr != "") { Vertex prefV = getPreferredDupe(transId, @@ -2036,7 +2032,7 @@ public class DataGrooming { if (prefV == null) { // We could not determine which duplicate to // keep - dupesStr = dupesStr + "KeepVid=UNDETERMINED"; + dupesStr = dupesStr + KEEP_VID_UNDETERMINED; returnList.add(dupesStr); } else { Boolean didRemove = false; @@ -2118,7 +2114,7 @@ public class DataGrooming { Vertex tmpParentVtx = getConnectedParent( g, thisVert ); if( tmpParentVtx != null ) { String parentNt = null; - Object obj = tmpParentVtx.<Object>property("aai-node-type").orElse(null); + Object obj = tmpParentVtx.<Object>property(AAI_NODE_TYPE).orElse(null); if (obj != null) { parentNt = obj.toString(); } @@ -2161,7 +2157,7 @@ public class DataGrooming { // This assumes that the dupeInfoString is in the format of // pipe-delimited vid's followed by // ie. "3456|9880|keepVid=3456" - if (deleteCandidateList == null || deleteCandidateList.size() == 0) { + if (deleteCandidateList == null || deleteCandidateList.isEmpty()) { // No vid's on the candidate list -- so no deleting will happen on // this run return false; @@ -2179,7 +2175,7 @@ public class DataGrooming { // This is the last entry which should tell us if we have a // preferred keeper String prefString = dupeArr[i]; - if (prefString.equals("KeepVid=UNDETERMINED")) { + if (prefString.equals(KEEP_VID_UNDETERMINED)) { // They sent us a bad string -- nothing should be deleted if // no dupe could be tagged as preferred return false; @@ -2187,7 +2183,7 @@ public class DataGrooming { // If we know which to keep, then the prefString should look // like, "KeepVid=12345" String[] prefArr = prefString.split("="); - if (prefArr.length != 2 || (!prefArr[0].equals("KeepVid"))) { + if (prefArr.length != 2 || (!"KeepVid".equals(prefArr[0]))) { LoggingContext.statusCode(StatusCode.ERROR); LoggingContext.responseCode(LoggingContext.DATA_ERROR); logger.error("Bad format. Expecting KeepVid=999999"); @@ -2285,25 +2281,25 @@ public class DataGrooming { try { if( topPropIndex == 0 ){ propsAndValuesForMsg = " (" + kName.get(0) + " = " + kVal.get(0) + ") "; - verts= graph.V().has(kName.get(0),kVal.get(0)).has("aai-node-type",nodeType); + verts= graph.V().has(kName.get(0),kVal.get(0)).has(AAI_NODE_TYPE,nodeType); } else if( topPropIndex == 1 ){ propsAndValuesForMsg = " (" + kName.get(0) + " = " + kVal.get(0) + ", " + kName.get(1) + " = " + kVal.get(1) + ") "; - verts = graph.V().has(kName.get(0),kVal.get(0)).has(kName.get(1),kVal.get(1)).has("aai-node-type",nodeType); + verts = graph.V().has(kName.get(0),kVal.get(0)).has(kName.get(1),kVal.get(1)).has(AAI_NODE_TYPE,nodeType); } else if( topPropIndex == 2 ){ propsAndValuesForMsg = " (" + kName.get(0) + " = " + kVal.get(0) + ", " + kName.get(1) + " = " + kVal.get(1) + ", " + kName.get(2) + " = " + kVal.get(2) + ") "; - verts= graph.V().has(kName.get(0),kVal.get(0)).has(kName.get(1),kVal.get(1)).has(kName.get(2),kVal.get(2)).has("aai-node-type",nodeType); - } + verts= graph.V().has(kName.get(0),kVal.get(0)).has(kName.get(1),kVal.get(1)).has(kName.get(2),kVal.get(2)).has(AAI_NODE_TYPE,nodeType); + } else if( topPropIndex == 3 ){ propsAndValuesForMsg = " (" + kName.get(0) + " = " + kVal.get(0) + ", " + kName.get(1) + " = " + kVal.get(1) + ", " + kName.get(2) + " = " + kVal.get(2) + ", " + kName.get(3) + " = " + kVal.get(3) + ") "; - verts= graph.V().has(kName.get(0),kVal.get(0)).has(kName.get(1),kVal.get(1)).has(kName.get(2),kVal.get(2)).has(kName.get(3),kVal.get(3)).has("aai-node-type",nodeType); + verts= graph.V().has(kName.get(0),kVal.get(0)).has(kName.get(1),kVal.get(1)).has(kName.get(2),kVal.get(2)).has(kName.get(3),kVal.get(3)).has(AAI_NODE_TYPE,nodeType); } else { throw new AAIException("AAI_6114", " We only support 4 keys per nodeType for now \n"); @@ -2322,7 +2318,7 @@ public class DataGrooming { } } - if( retVertList.size() == 0 ){ + if( retVertList.isEmpty() ){ logger.debug("DEBUG No node found for nodeType = [" + nodeType + "], propsAndVal = " + propsAndValuesForMsg ); } @@ -2359,7 +2355,7 @@ public class DataGrooming { retArr.add(" >>> COULD NOT FIND VERTEX on the other side of this edge edgeId = " + ed.id() + " <<< "); } else { - String nType = vtx.<String>property("aai-node-type").orElse(null); + String nType = vtx.<String>property(AAI_NODE_TYPE).orElse(null); String vid = vtx.id().toString(); retArr.add("Found an IN edge (" + lab + ") to this vertex from a [" + nType + "] node with VtxId = " + vid ); @@ -2383,7 +2379,7 @@ public class DataGrooming { retArr.add(" >>> COULD NOT FIND VERTEX on the other side of this edge edgeId = " + ed.id() + " <<< "); } else { - String nType = vtx.<String>property("aai-node-type").orElse(null); + String nType = vtx.<String>property(AAI_NODE_TYPE).orElse(null); String vid = vtx.id().toString(); retArr.add("Found an OUT edge (" + lab + ") from this vertex to a [" + nType + "] node with VtxId = " + vid ); } @@ -2408,7 +2404,7 @@ public class DataGrooming { } else { String nodeType = ""; - Object ob = tVert.<Object>property("aai-node-type").orElse(null); + Object ob = tVert.<Object>property(AAI_NODE_TYPE).orElse(null); if( ob == null ){ nodeType = "null"; } @@ -2452,7 +2448,7 @@ public class DataGrooming { private static ArrayList <Vertex> getConnectedChildrenOfOneType( GraphTraversalSource g, - Vertex startVtx, String childNType ) throws AAIException{ + Vertex startVtx, String childNType ) { ArrayList <Vertex> childList = new ArrayList <> (); Iterator <Vertex> vertI = g.V(startVtx).union(__.outE().has(EdgeProperty.CONTAINS.toString(), AAIDirection.OUT.toString()).inV(), __.inE().has(EdgeProperty.CONTAINS.toString(), AAIDirection.IN.toString()).outV()); @@ -2460,7 +2456,7 @@ public class DataGrooming { Vertex tmpVtx = null; while( vertI != null && vertI.hasNext() ){ tmpVtx = vertI.next(); - Object ob = tmpVtx.<Object>property("aai-node-type").orElse(null); + Object ob = tmpVtx.<Object>property(AAI_NODE_TYPE).orElse(null); if (ob != null) { String tmpNt = ob.toString(); if( tmpNt.equals(childNType)){ @@ -2475,7 +2471,7 @@ public class DataGrooming { private static Vertex getConnectedParent( GraphTraversalSource g, - Vertex startVtx ) throws AAIException{ + Vertex startVtx ) { Vertex parentVtx = null; Iterator <Vertex> vertI = g.V(startVtx).union(__.inE().has(EdgeProperty.CONTAINS.toString(), AAIDirection.OUT.toString()).outV(), __.outE().has(EdgeProperty.CONTAINS.toString(), AAIDirection.IN.toString()).inV()); @@ -2500,9 +2496,7 @@ public class DataGrooming { long unixTimeNow = System.currentTimeMillis(); long windowInMillis = timeWindowMinutes * 60L * 1000; - long startTimeStamp = unixTimeNow - windowInMillis; - - return startTimeStamp; + return unixTimeNow - windowInMillis; } // End of figureWindowStartTime() @@ -2611,9 +2605,9 @@ public class DataGrooming { return retString; }// End of getNodeKeyValString() - - - static private String findJustOneUsingIndex( String transId, String fromAppId, + + + private static String findJustOneUsingIndex( String transId, String fromAppId, GraphTraversalSource gts, HashMap <String,Object> keyPropValsHash, String nType, Long vidAL, Long vidBL, String apiVer){ @@ -2632,7 +2626,7 @@ public class DataGrooming { String thisVid = tmpV.id().toString(); if( thisVid.equals(vidAL.toString()) || thisVid.equals(vidBL.toString()) ){ String msg = " vid = " + thisVid + " is one of two that the DB can retrieve directly ------"; - //System.out.println(msg); + logger.info(msg); returnVid = thisVid; } @@ -2640,7 +2634,7 @@ public class DataGrooming { } catch ( AAIException ae ){ String emsg = "Error trying to get node just by key " + ae.getMessage(); - //System.out.println(emsg); + logger.error(emsg); } diff --git a/docs/AAI REST API Documentation/AAIRESTAPI_AMSTERDAM.rst b/docs/AAI REST API Documentation/AAIRESTAPI_AMSTERDAM.rst index 16e4a94f..9dc91f70 100644 --- a/docs/AAI REST API Documentation/AAIRESTAPI_AMSTERDAM.rst +++ b/docs/AAI REST API Documentation/AAIRESTAPI_AMSTERDAM.rst @@ -431,48 +431,41 @@ missing (e.g., generic-vnf) and the key data for that node type Single relationships can be PUT to the graph in the following way: -https://{serverRoot}/{namespace}/{resource} -/relationship-list/relationship - -or - -https://{hostname}:8443/aai/v11/cloud-infrastructure/pservers/pserver/pserver-123456789-01/p-interfaces/p-interface/p-interface-name-123456789-01/l-interfaces/l-interface/l-interface-name-123456789-01/relationship-list/relationship - -with a payload containing the relationship information. - -XML: - -<relationship xmlns="http://org.openecomp.aai.inventory/v11"> - -<related-to>logical-link</related-to> - -<relationship-data> - - <relationship-key>logical-link.link-name</relationship-key> +.. code-block:: none - <relationship-value>logical-link-123456789-01</relationship-value> + https://{serverRoot}/{namespace}/{resource}/relationship-list/relationship -</relationship-data> - -</relationship> +or -JSON: +.. code-block:: none -"related-to": "logical-link", + https://{hostname}:8443/aai/v11/cloud-infrastructure/pservers/pserver/pserver-123456789-01/p-interfaces/p-interface/p-interface-name-123456789-01/l-interfaces/l-interface/l-interface-name-123456789-01/relationship-list/relationship -"relationship-data": [ +with a payload containing the relationship information in XML -{ +.. code-block:: xml - "relationship-key": "logical-link.link-name", + <relationship xmlns="http://org.openecomp.aai.inventory/v11"> + <related-to>logical-link</related-to> + <relationship-data> + <relationship-key>logical-link.link-name</relationship-key> + <relationship-value>logical-link-123456789-01</relationship-value> + </relationship-data> + </relationship> - "relationship-value": " logical-link-123456789-01" +or JSON. -} +.. code-block:: json -] - -} + { + "related-to": "logical-link", + "relationship-data": [ + { + "relationship-key": "logical-link.link-name", + "relationship-value": " logical-link-123456789-01" + } + ] + } Edges ===== @@ -528,7 +521,9 @@ connectivity with AAI. The URL for the echo utility is: -https://load-balanced-address:8443/aai/util/echo +.. code-block:: none + + https://load-balanced-address:8443/aai/util/echo If the response is unsuccessful, an error will be returned following the standard format. @@ -539,56 +534,38 @@ by the client. Successful XML Response Payload ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -<Info> - -<responseMessages> - -<responseMessage> - -<messageId>INF0001</messageId> - -<text>Success X-FromAppId=%1 X-TransactionId=%2 (msg=%3) (rc=%4)</text> - -<variables> - -<variable>XYZ</variable> - -<variable>XYZ123</variable> - -<variable>Successful health check:OK</variable> - -<variable>0.0.0002</variable> - -</variables> - -</responseMessage> - -</responseMessages> - -</Info> +.. code-block:: xml + + <Info> + <responseMessages> + <responseMessage> + <messageId>INF0001</messageId> + <text>Success X-FromAppId=%1 X-TransactionId=%2 (msg=%3) (rc=%4)</text> + <variables> + <variable>XYZ</variable> + <variable>XYZ123</variable> + <variable>Successful health check:OK</variable> + <variable>0.0.0002</variable> + </variables> + </responseMessage> + </responseMessages> + </Info> Successful JSON Response Payload ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -{"responseMessages": {"responseMessage": [{ - -"messageId": "INF0001", - -"text": "Success X-FromAppId=%1 X-TransactionId=%2 (msg=%3) (rc=%4)", - -"variables": {"variable": [ - -"XYZ", - -"XYZ123", - -"Successful health check:OK", - -"0.0.0002" - -]} - -}]}} +.. code-block:: json + + {"responseMessages": {"responseMessage": [{ + "messageId": "INF0001", + "text": "Success X-FromAppId=%1 X-TransactionId=%2 (msg=%3) (rc=%4)", + "variables": {"variable": [ + "XYZ", + "XYZ123", + "Successful health check:OK", + "0.0.0002" + ]} + }]}} Cloud Infrastructure Domain --------------------------- diff --git a/docs/platform/Getting Started/How_to_Docker_setup_on_Single_VM.rst b/docs/platform/Getting Started/How_to_Docker_setup_on_Single_VM.rst index d869c9ac..82ebf3fb 100644 --- a/docs/platform/Getting Started/How_to_Docker_setup_on_Single_VM.rst +++ b/docs/platform/Getting Started/How_to_Docker_setup_on_Single_VM.rst @@ -1,7 +1,6 @@ .. contents:: :depth: 3 -.. _dev-setup: How to Docker setup on Single VM ================================ @@ -16,56 +15,67 @@ Step-by-step guide ------------------ 1. You would need to have a root access to the vm + .. code-block:: bash sudo su - root 2. Navigate to /opt directory + .. code-block:: bash cd /opt 3. Clone the test-config git project + .. code-block:: bash git clone http://gerrit.onap.org/r/aai/test-config 4. Navigate to /opt/test-config directory + .. code-block:: bash cd test-config 5. Create a directory called /opt/config + .. code-block:: bash mkdir /opt/config/ 6. Create a file called /opt/config/nexus\_username.txt containing the text: docker + .. code-block:: bash echo "docker" > /opt/config/nexus_username.txt 7. Create a file called /opt/config/nexus\_password.txt containing the text: docker + .. code-block:: bash echo "docker" > /opt/config/nexus_password.txt 8. Create a file called /opt/config/dmaap\_topic.txt containing the text: AAI-EVENT + .. code-block:: bash echo "AAI-EVENT" > /opt/config/dmaap_topic.txt 9. Create a file called /opt/config/nexus\_docker\_repo.txt containing text: nexus3.onap.org:10001 + .. code-block:: bash echo "nexus3.onap.org:10001" > /opt/config/nexus_docker_repo.txt 10. Create a file called /opt/config/docker\_version.txt containing text: 1.1-STAGING-latest + .. code-block:: bash echo "1.1-STAGING-latest" > /opt/config/docker_version.txt 11. Please note that in the previous step, docker version is currently 1.1-STAGING-latest and this will be changed later. Finally, run the installation scripts + .. code-block:: bash ./deploy_vm2.sh && ./deploy_vm1.sh diff --git a/docs/release-notes.rst b/docs/release-notes.rst index c7c6513e..b69ca07c 100644 --- a/docs/release-notes.rst +++ b/docs/release-notes.rst @@ -355,7 +355,7 @@ There is an error to startup esr-gui docker Replace the type specification in this constructor call with the diamond operator ("<>") `AAI-417 <https://jira.onap.org/browse/AAI-417>`_ -Rackspace 20170928 fails to authenticate nexus3 on 10003 during *_init.sh (sdnc for example) +Rackspace 20170928 fails to authenticate nexus3 on 10003 during *_init.sh* (sdnc for example) `AAI-420 <https://jira.onap.org/browse/AAI-420>`_ Can not get the MSB address in esr-server |