Merge "Fix pdp group info not there for legacy policy"
authorGervais-Martial Ngueko <gervais-martial.ngueko@intl.att.com>
Fri, 3 Apr 2020 16:25:19 +0000 (16:25 +0000)
committerGerrit Code Review <gerrit@onap.org>
Fri, 3 Apr 2020 16:25:19 +0000 (16:25 +0000)
docs/index.rst
docs/release-notes.rst
src/main/java/org/onap/clamp/clds/tosca/update/execution/cds/ToscaMetadataCdsProcess.java
src/main/java/org/onap/clamp/clds/tosca/update/parser/ToscaConverterToJsonSchema.java
src/test/resources/tosca/new-converter/tca-with-metadata.json
src/test/resources/tosca/new-converter/tosca_apex_with_metadata.json
ui-react/src/components/dialogs/ManageDictionaries/ManageDictionaries.test.js
ui-react/src/components/dialogs/Tosca/ViewLoopTemplatesModal.test.js
ui-react/src/components/dialogs/Tosca/ViewToscaPolicyModal.test.js

index 548e277..1436c29 100644 (file)
@@ -37,7 +37,7 @@ CLAMP uses the API's exposed by the following ONAP components:
 - SDC : REST based interface exposed by the SDC, Distribution of service to DCAE
 - DCAE: REST based interface exposed by DCAE, Common Controller Framework, DCAE microservices onboarded (TCA, Stringmatch, Holmes (optional))
 - Policy: REST based interface, Policy engine target both XACML and Drools PDP, Policy Engine trigger operations to App-C/VF-C/SDN-C
-
+- CDS: REST based interface, to retrieve list of actors/actions at runtime.
 
 Delivery
 --------
index 525001d..f522338 100644 (file)
@@ -1,10 +1,65 @@
 .. This work is licensed under a Creative Commons Attribution 4.0 International License.
 .. http://creativecommons.org/licenses/by/4.0
-.. Copyright (c) 2017-2019 AT&T Intellectual Property.  All rights reserved.
+.. Copyright (c) 2017-2020 AT&T Intellectual Property.  All rights reserved.
 
 Release Notes
 =============
 
+Version: 5.0.1
+--------------
+
+:Release Date: 2020-04-02
+
+**New Features**
+
+The Frankfurt release is the seventh release of the Control Loop Automation Management Platform (CLAMP).
+
+The main goal of the Frankfurt release was to:
+
+    - implementing a new Control Loop creation flow: Self Serve Control Loop(partially done will be continued in next release).
+    - Add Tosca policy-model support for Operational Policies definitions.
+    - Add integration to CDS for Actor/Action selection.
+    - Move from SearchGuard to OpenDistro.
+    - Document(high level) current upgrade component strategy (TSC must have).
+    - SECCOM Perform Software Composition Analysis - Vulnerability tables (TSC must have).
+    - SECCOM Password removal from OOM HELM charts (TSC must have).
+    - SECCOM Password removal from OOM HELM charts (TSC must have).
+    - SECCOM HTTPS communication vs. HTTP (TSC must have)
+
+**Bug Fixes**
+
+       - The full list of implemented user stories and epics is available on `Frankfurt CLAMP M1 release planning <https://wiki.onap.org/display/DW/CLAMP+R6+-+M1+Release+Planning>`_
+         
+
+**Known Issues**
+
+
+**Security Notes**
+
+*Fixed Security Issues*
+
+*Known Security Issues*
+
+*Known Vulnerabilities in Used Modules*
+
+CLAMP code has been formally scanned during build time using NexusIQ and all Critical vulnerabilities have been addressed, items that remain open have been assessed for risk and actions to be taken in future release.
+
+Quick Links:
+       - `CLAMP project page <https://wiki.onap.org/display/DW/CLAMP+Project>`_
+
+       - `Passing Badge information for CLAMP <https://bestpractices.coreinfrastructure.org/en/projects/1197>`_
+
+**Upgrade Notes**
+
+    New Docker Containers are available. the list of containers composing this release are below:
+    - clamp-backend-filebeat-onap: docker.elastic.co/beats/filebeat 5.5.0
+    - clamp-backend: nexus3.onap.org:10001/onap/clamp-backend 5.0.2
+    - clamp-frontend: nexus3.onap.org:10001/onap/clamp-frontend 5.0.2
+    - clamp-dash-es: nexus3.onap.org:10001/onap/clamp-dashboard-elasticsearch 5.0.3
+    - clamp-dash-kibana: nexus3.onap.org:10001/onap/clamp-dashboard-kibana 5.0.3
+    - clamp-dash-logstash: nexus3.onap.org:10001/onap/clamp-dashboard-logstash 5.0.3
+
+
 Version: 4.1.3
 --------------
 
index b81e46b..81e30cf 100644 (file)
@@ -60,6 +60,7 @@ public class ToscaMetadataCdsProcess extends ToscaMetadataProcess {
     private static void generatePayload(JsonObject childObject, Service serviceModel) {
         generatePayloadPerResource(childObject, "VF", serviceModel);
         generatePayloadPerResource(childObject, "PNF", serviceModel);
+        addToJsonArray(childObject, "anyOf", createBlankEntry());
     }
 
     private static void generateOperation(JsonObject childObject, Service serviceModel) {
@@ -113,6 +114,15 @@ public class ToscaMetadataCdsProcess extends ToscaMetadataProcess {
         addToJsonArray(childObject, "anyOf", schemaAnyOf);
     }
 
+    private static JsonArray createBlankEntry() {
+        JsonArray result = new JsonArray();
+        JsonObject blankObject = new JsonObject();
+        blankObject.addProperty("title", "User defined");
+        blankObject.add("properties", new JsonObject());
+        result.add(blankObject);
+        return result;
+    }
+
     private static JsonObject createPayloadProperty(JsonObject workFlow, JsonObject controllerProperties) {
         JsonObject payloadResult = new JsonObject();
 
index e1d493a..9721e33 100644 (file)
@@ -259,6 +259,7 @@ public class ToscaConverterToJsonSchema {
                                 JsonObject componentAsItem = child.getJsonSchemaOfToscaElement(nameComponent);
                                 if (currentPropertyJsonTemplate.hasFields("properties")) {
                                     propertiesInJson.add("items", componentAsItem);
+                                    propertiesInJson.addProperty("format", "tabs-top");
                                 }
                                 break;
                         }
@@ -271,6 +272,7 @@ public class ToscaConverterToJsonSchema {
                                 this.extractSpecificFieldFromMap(toscaElementProperty, "entry_schema");
                         itemContainer.addProperty("type", valueInEntrySchema);
                         propertiesInJson.add("items", itemContainer);
+                        propertiesInJson.addProperty("format", "tabs-top");
                     }
                     // MAP Case, for now nothing
 
index 1b95f8c..3a700c8 100644 (file)
                           "description": "Version number associated with the threshold"
                         }
                       }
-                    }
+                    },
+                    "format": "tabs-top"
                   },
                   "context": {
                     "type": "string",
                     }
                   }
                 }
-              }
+              },
+              "format": "tabs-top"
             }
           }
         }
index 4cb5bd8..58dff23 100644 (file)
                         }
                       }
                     }
+                  },
+                  {
+                    "title": "User defined",
+                    "properties": {}
                   }
                 ]
               },
             "default": "final_success"
           }
         }
-      }
+      },
+      "format": "tabs-top"
     },
     "trigger": {
       "type": "string",
index 4363da9..13a6035 100644 (file)
@@ -74,11 +74,10 @@ describe('Verify ManageDictionaries', () => {
        it('Test API Rejection', () => {
                const myMockFunc  = fetch.mockImplementationOnce(() => Promise.reject('error'));
                setTimeout( () => myMockFunc().catch(e => {
-                       console.log(e);
+                       console.info(e);
                }),
                100
                );
-               new Promise(resolve => setTimeout(resolve, 200));
                const component = shallow(<ManageDictionaries />);
                expect(myMockFunc.mock.calls.length).toBe(1);
        });
index ddfb2a7..1a6cc19 100644 (file)
@@ -73,11 +73,10 @@ describe('Verify ViewLoopTemplatesModal', () => {
        it('Test API Rejection', () => {
                const myMockFunc  = fetch.mockImplementationOnce(() => Promise.reject('error'));
                setTimeout( () => myMockFunc().catch(e => {
-                       console.log(e);
+                       console.info(e);
                }),
                100
                );
-               new Promise(resolve => setTimeout(resolve, 200));
                const component = shallow(<ViewLoopTemplatesModal/>);
                expect(myMockFunc.mock.calls.length).toBe(1);
        });
@@ -159,4 +158,4 @@ describe('Verify ViewLoopTemplatesModal', () => {
                        expect(historyMock.push.mock.calls[0]).toEqual([ '/']);
                        handleClose.mockClear();
                });
-       });
\ No newline at end of file
+       });
index 952e888..a599cec 100644 (file)
@@ -78,11 +78,10 @@ describe('Verify ViewToscaPolicyModal', () => {
                setTimeout(
     () =>
       myMockFunc().catch(e => {
-        console.log(e);
+        console.info(e);
       }),
     100
   );
-       new Promise(resolve => setTimeout(resolve, 200));
        const component = shallow(<ViewToscaPolicyModal/>);
        expect(myMockFunc.mock.calls.length).toBe(1);
        });
@@ -193,4 +192,4 @@ describe('Verify ViewToscaPolicyModal', () => {
                expect(historyMock.push.mock.calls[0]).toEqual([ '/']);
                handleClose.mockClear();
        });
-});
\ No newline at end of file
+});