aboutsummaryrefslogtreecommitdiffstats
path: root/ui-react/src/components
diff options
context:
space:
mode:
authorsebdet <sebastien.determe@intl.att.com>2019-07-12 12:25:56 +0200
committersebdet <sebastien.determe@intl.att.com>2019-07-12 12:25:56 +0200
commite44fdb1905fae612b12b56886af8f387e516e485 (patch)
treea59eb65fe06c08f92dfdda3961784580228b7c29 /ui-react/src/components
parent4946e5b7d80fa1a7baa1c6042100fa1dee24ee31 (diff)
Rework the structure
Rework of the project structure and static loop cache added for the entire site Issue-ID: CLAMP-418 Change-Id: Ia2cf62431cd9139c91bf74bb639b502a368ce761 Signed-off-by: sebdet <sebastien.determe@intl.att.com>
Diffstat (limited to 'ui-react/src/components')
-rw-r--r--ui-react/src/components/app/LoopUI.js163
-rw-r--r--ui-react/src/components/app/NotFound.js36
-rw-r--r--ui-react/src/components/app/logo.pngbin21360 -> 0 bytes
-rw-r--r--ui-react/src/components/backend_communication/LoopActionService.js54
-rw-r--r--ui-react/src/components/backend_communication/LoopCache.js116
-rw-r--r--ui-react/src/components/backend_communication/UserService.js50
-rw-r--r--ui-react/src/components/backend_communication/example.json417
-rw-r--r--ui-react/src/components/dialogs/OperationalPolicy/OperationalPolicyModal.js8
8 files changed, 3 insertions, 841 deletions
diff --git a/ui-react/src/components/app/LoopUI.js b/ui-react/src/components/app/LoopUI.js
deleted file mode 100644
index d058543a2..000000000
--- a/ui-react/src/components/app/LoopUI.js
+++ /dev/null
@@ -1,163 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP CLAMP
- * ================================================================================
- * Copyright (C) 2019 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed 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.
- * ============LICENSE_END============================================
- * ===================================================================
- *
- */
-
-import React from 'react';
-import styled from 'styled-components';
-import MenuBar from '../menu/MenuBar';
-import Navbar from 'react-bootstrap/Navbar';
-import logo from './logo.png';
-import { GlobalClampStyle } from '../../theme/globalStyle.js';
-
-import ClosedLoopSvg from '../loop_viewer/svg/ClosedLoopSvg';
-import ClosedLoopLogs from '../loop_viewer/logs/ClosedLoopLogs';
-import ClosedLoopStatus from '../loop_viewer/status/ClosedLoopStatus';
-import UserService from '../backend_communication/UserService';
-
-const ProjectNameStyled = styled.a`
- vertical-align: middle;
- padding-left: 30px;
- font-size: 30px;
-
-`
-const LoopViewDivStyled = styled.div`
- height: 90vh;
- overflow: hidden;
- margin-left: 10px;
- margin-right: 10px;
- margin-bottom: 10px;
- color: ${props => props.theme.loopViewerFontColor};
- background-color: ${props => props.theme.loopViewerBackgroundColor};
- border: 1px solid transparent;
- border-color: ${props => props.theme.loopViewerHeaderBackgroundColor};
-`
-
-const LoopViewHeaderDivStyled = styled.div`
- background-color: ${props => props.theme.loopViewerHeaderBackgroundColor};
- padding: 10px 10px;
- color: ${props => props.theme.loopViewerHeaderFontColor};
-`
-
-const LoopViewBodyDivStyled = styled.div`
- background-color: ${props => (props.theme.loopViewerBackgroundColor)};
- padding: 10px 10px;
- color: ${props => (props.theme.loopViewerHeaderFontColor)};
- height: 95%;
-`
-
-const LoopViewLoopNameSpanStyled = styled.span`
- font-weight: bold;
- color: ${props => (props.theme.loopViewerHeaderFontColor)};
- background-color: ${props => (props.theme.loopViewerHeaderBackgroundColor)};
-`
-
-export default class LoopUI extends React.Component {
- state = {
- userName: null,
- loopName: "Empty (NO loop loaded yet)",
- };
-
- constructor() {
- super();
- this.getUser = this.getUser.bind(this);
- }
-
- componentDidMount() {
- this.getUser();
- }
-
- getUser() {
- UserService.LOGIN().then(user => {
- this.setState({userName:user})
- });
- }
-
- renderMenuNavBar() {
- return (
- <MenuBar />
- );
- }
-
- renderUserLoggedNavBar() {
- return (
- <Navbar.Text>
- Signed in as: <a href="/login">{this.state.userName}</a>
- </Navbar.Text>
- );
- }
-
- renderLogoNavBar() {
- return (
- <Navbar.Brand>
- <img height="50px" width="234px" src={logo} alt=""/>
- <ProjectNameStyled>CLAMP</ProjectNameStyled>
- </Navbar.Brand>
- );
- }
-
- renderNavBar() {
- return (
- <Navbar expand="lg">
- {this.renderLogoNavBar()}
- {this.renderMenuNavBar()}
- {this.renderUserLoggedNavBar()}
- </Navbar>
- );
- }
-
- renderLoopViewHeader() {
- return (
- <LoopViewHeaderDivStyled>
- Loop Viewer - <LoopViewLoopNameSpanStyled id="loop_name">{this.state.loopName}</LoopViewLoopNameSpanStyled>
- </LoopViewHeaderDivStyled>
- );
- }
-
- renderLoopViewBody() {
- return (
- <LoopViewBodyDivStyled>
- <ClosedLoopSvg />
- <ClosedLoopLogs />
- <ClosedLoopStatus />
- </LoopViewBodyDivStyled>
- );
- }
-
- renderLoopViewer() {
- return (
- <LoopViewDivStyled>
- {this.renderLoopViewHeader()}
- {this.renderLoopViewBody()}
- </LoopViewDivStyled>
- );
- }
-
- render() {
- return (
- <div id="main_div">
- <GlobalClampStyle />
- {this.renderNavBar()}
- {this.renderLoopViewer()}
- </div>
- );
- }
-}
diff --git a/ui-react/src/components/app/NotFound.js b/ui-react/src/components/app/NotFound.js
deleted file mode 100644
index d4b53fd71..000000000
--- a/ui-react/src/components/app/NotFound.js
+++ /dev/null
@@ -1,36 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP CLAMP
- * ================================================================================
- * Copyright (C) 2019 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed 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.
- * ============LICENSE_END============================================
- * ===================================================================
- *
- */
-import React from 'react'
-
-
-export default class NotFound extends React.Component {
- render () {
- return (
- <div id='main'>
- <div class="divRow"><b>Page Not Found!</b></div>
- <div class="divRow">Please cick <a href="/">here</a> to go back to the main page.</div>
- </div>
-
- );
- }
-}
diff --git a/ui-react/src/components/app/logo.png b/ui-react/src/components/app/logo.png
deleted file mode 100644
index c6f6857a5..000000000
--- a/ui-react/src/components/app/logo.png
+++ /dev/null
Binary files differ
diff --git a/ui-react/src/components/backend_communication/LoopActionService.js b/ui-react/src/components/backend_communication/LoopActionService.js
deleted file mode 100644
index 9ce8ff0a9..000000000
--- a/ui-react/src/components/backend_communication/LoopActionService.js
+++ /dev/null
@@ -1,54 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP CLAMP
- * ================================================================================
- * Copyright (C) 2019 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed 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.
- * ============LICENSE_END============================================
- * ===================================================================
- *
- */
-const loopActionService = {
- submit
-};
-
-
-function submit(uiAction) {
- const cl_name = "";
- console.log("clActionServices perform action: " + uiAction + " closedloopName="
- + cl_name);
- const svcAction = uiAction.toLowerCase();
- const svcUrl = "/restservices/clds/v2/loop/" + svcAction + "/" + cl_name;
-
- let options = {
- method: 'GET'
- };
- return sendRequest(svcUrl, svcAction, options);
-}
-
-function sendRequest(svcUrl, svcAction) {
- fetch(svcUrl, options)
- .then(
- response => {
- alertService.alertMessage("Action Successful: " + svcAction, 1)
- }).error(error => {
- alertService.alertMessage("Action Failure: " + svcAction, 2);
- return Promise.reject(error);
- });
-
- return response.json();
-};
-
-export default loopActionService; \ No newline at end of file
diff --git a/ui-react/src/components/backend_communication/LoopCache.js b/ui-react/src/components/backend_communication/LoopCache.js
deleted file mode 100644
index 2ef839629..000000000
--- a/ui-react/src/components/backend_communication/LoopCache.js
+++ /dev/null
@@ -1,116 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP CLAMP
- * ================================================================================
- * Copyright (C) 2019 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed 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.
- * ============LICENSE_END============================================
- * ===================================================================
- *
- */
-class LoopCache {
- constructor() {
- //this.loopJsonCache=loopJson;
- this.loopJsonCache = require('./example.json'); //(with path)
- }
-
- updateMsProperties(type, newMsProperties) {
- if (newMsProperties["name"] == type) {
- for (var policy in this.loopJsonCache["microServicePolicies"]) {
- if (this.loopJsonCache["microServicePolicies"][policy]["name"] == type) {
- this.loopJsonCache["microServicePolicies"][policy] = newMsProperties;
- }
- }
- }
- }
-
- updateGlobalProperties(newGlobalProperties) {
- this.loopJsonCache["globalPropertiesJson"] = newGlobalProperties;
- }
-
- updateOpPolicyProperties(newOpProperties) {
- this.loopJsonCache["operationalPolicies"] = newOpProperties;
- }
-
- getLoopName() {
- return this.loopJsonCache["name"];
- }
-
- getOperationalPolicyProperty() {
- return JSON.parse(JSON.stringify(this.loopJsonCache["operationalPolicies"]["0"]["configurationsJson"]));
- }
-
- getOperationalPolicies() {
- return JSON.parse(JSON.stringify(this.loopJsonCache["operationalPolicies"]));
- }
-
- getGlobalProperty() {
- return JSON.parse(JSON.stringify(this.loopJsonCache["globalPropertiesJson"]));
- }
-
- getDeploymentProperties() {
- return JSON.parse(JSON.stringify(this.loopJsonCache["globalPropertiesJson"]["dcaeDeployParameters"]));
- }
-
- getMsJson(type) {
- var msProperties = this.loopJsonCache["microServicePolicies"];
- for (var policy in msProperties) {
- if (msProperties[policy]["name"] == type) {
- return JSON.parse(JSON.stringify(msProperties[policy]));
- }
- }
- return null;
- }
-
- getMsProperty(type) {
- var msProperties = this.loopJsonCache["microServicePolicies"];
- for (var policy in msProperties) {
- if (msProperties[policy]["name"] == type) {
- if (msProperties[policy]["properties"] !== null && msProperties[policy]["properties"] !== undefined) {
- return JSON.parse(JSON.stringify(msProperties[policy]["properties"]));
- }
- }
- }
- return null;
- }
-
- getMsUI(type) {
- var msProperties = this.loopJsonCache["microServicePolicies"];
- for (var policy in msProperties) {
- if (msProperties[policy]["name"] == type) {
- return JSON.parse(JSON.stringify(msProperties[policy]["jsonRepresentation"]));
- }
- }
- return null;
- }
-
- getResourceDetailsVfProperty() {
- return this.loopJsonCache["modelPropertiesJson"]["resourceDetails"]["VF"];
- }
-
- getResourceDetailsVfModuleProperty() {
- return this.loopJsonCache["modelPropertiesJson"]["resourceDetails"]["VFModule"];
- }
-
- getLoopLogsArray() {
- return this.loopJsonCache.loopLogs;
- }
-
- getComponentStates() {
- return this.loopJsonCache.components;
- }
-
-}
-export default LoopCache;
diff --git a/ui-react/src/components/backend_communication/UserService.js b/ui-react/src/components/backend_communication/UserService.js
deleted file mode 100644
index 814539551..000000000
--- a/ui-react/src/components/backend_communication/UserService.js
+++ /dev/null
@@ -1,50 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP CLAMP
- * ================================================================================
- * Copyright (C) 2019 AT&T Intellectual Property. All rights
- * reserved.
- * ================================================================================
- * Licensed 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.
- * ============LICENSE_END============================================
- * ===================================================================
- *
- */
-
-export default class UserService {
-
- static LOGIN() {
- return fetch('/restservices/clds/v1/user/getUser', {
- method: 'GET',
- credentials: 'include',
- })
- .then(function (response) {
- if (response.ok) {
- console.log("getUser response received: ", response.status);
- return response.text();
- } else {
- console.error("getUser failed with status code: ",response.status);
- return "Anonymous";
- }
- })
- .then(function (data) {
- console.log ("User connected:",data)
- return data;
- })
- .catch(function(error) {
- console.error("getUser error received",error);
- return "Anonymous";
- });
- }
-}
-
diff --git a/ui-react/src/components/backend_communication/example.json b/ui-react/src/components/backend_communication/example.json
deleted file mode 100644
index f3cc9e189..000000000
--- a/ui-react/src/components/backend_communication/example.json
+++ /dev/null
@@ -1,417 +0,0 @@
-{
- "name": "LOOP_h2NMX_v1_0_ResourceInstanceName1_tca",
- "dcaeBlueprintId": "typeId-3a942643-a8f7-4e54-b2c1-eea8daba2b17",
- "globalPropertiesJson": {
- "dcaeDeployParameters": {
- "location_id": "",
- "service_id": "",
- "policy_id": "TCA_h2NMX_v1_0_ResourceInstanceName1_tca"
- }
- },
- "modelPropertiesJson": {
- "serviceDetails": {
- "serviceType": "",
- "namingPolicy": "",
- "environmentContext": "General_Revenue-Bearing",
- "serviceEcompNaming": "true",
- "serviceRole": "",
- "name": "vLoadBalancerMS",
- "description": "vLBMS",
- "invariantUUID": "30ec5b59-4799-48d8-ac5f-1058a6b0e48f",
- "ecompGeneratedNaming": "true",
- "category": "Network L4+",
- "type": "Service",
- "UUID": "63cac700-ab9a-4115-a74f-7eac85e3fce0",
- "instantiationType": "A-la-carte"
- },
- "resourceDetails": {
- "CP": {},
- "VL": {},
- "VF": {
- "vLoadBalancerMS 0": {
- "resourceVendor": "Test",
- "resourceVendorModelNumber": "",
- "name": "vLoadBalancerMS",
- "description": "vLBMS",
- "invariantUUID": "1a31b9f2-e50d-43b7-89b3-a040250cf506",
- "subcategory": "Load Balancer",
- "category": "Application L4+",
- "type": "VF",
- "UUID": "b4c4f3d7-929e-4b6d-a1cd-57e952ddc3e6",
- "version": "1.0",
- "resourceVendorRelease": "1.0",
- "customizationUUID": "465246dc-7748-45f4-a013-308d92922552"
- }
- },
- "CR": {},
- "VFC": {},
- "PNF": {},
- "Service": {},
- "CVFC": {},
- "Service Proxy": {},
- "Configuration": {},
- "AllottedResource": {},
- "VFModule": {
- "Vloadbalancerms..vpkg..module-1": {
- "vfModuleModelInvariantUUID": "ca052563-eb92-4b5b-ad41-9111768ce043",
- "vfModuleModelVersion": "1",
- "vfModuleModelName": "Vloadbalancerms..vpkg..module-1",
- "vfModuleModelUUID": "1e725ccc-b823-4f67-82b9-4f4367070dbc",
- "vfModuleModelCustomizationUUID": "1bffdc31-a37d-4dee-b65c-dde623a76e52",
- "min_vf_module_instances": 0,
- "vf_module_label": "vpkg",
- "max_vf_module_instances": 1,
- "vf_module_type": "Expansion",
- "isBase": false,
- "initial_count": 0,
- "volume_group": false
- },
- "Vloadbalancerms..vdns..module-3": {
- "vfModuleModelInvariantUUID": "4c10ba9b-f88f-415e-9de3-5d33336047fa",
- "vfModuleModelVersion": "1",
- "vfModuleModelName": "Vloadbalancerms..vdns..module-3",
- "vfModuleModelUUID": "4fa73b49-8a6c-493e-816b-eb401567b720",
- "vfModuleModelCustomizationUUID": "bafcdab0-801d-4d81-9ead-f464640a38b1",
- "min_vf_module_instances": 0,
- "vf_module_label": "vdns",
- "max_vf_module_instances": 50,
- "vf_module_type": "Expansion",
- "isBase": false,
- "initial_count": 0,
- "volume_group": false
- },
- "Vloadbalancerms..base_template..module-0": {
- "vfModuleModelInvariantUUID": "921f7c96-ebdd-42e6-81b9-1cfc0c9796f3",
- "vfModuleModelVersion": "1",
- "vfModuleModelName": "Vloadbalancerms..base_template..module-0",
- "vfModuleModelUUID": "63734409-f745-4e4d-a38b-131638a0edce",
- "vfModuleModelCustomizationUUID": "86baddea-c730-4fb8-9410-cd2e17fd7f27",
- "min_vf_module_instances": 1,
- "vf_module_label": "base_template",
- "max_vf_module_instances": 1,
- "vf_module_type": "Base",
- "isBase": true,
- "initial_count": 1,
- "volume_group": false
- },
- "Vloadbalancerms..vlb..module-2": {
- "vfModuleModelInvariantUUID": "a772a1f4-0064-412c-833d-4749b15828dd",
- "vfModuleModelVersion": "1",
- "vfModuleModelName": "Vloadbalancerms..vlb..module-2",
- "vfModuleModelUUID": "0f5c3f6a-650a-4303-abb6-fff3e573a07a",
- "vfModuleModelCustomizationUUID": "96a78aad-4ffb-4ef0-9c4f-deb03bf1d806",
- "min_vf_module_instances": 0,
- "vf_module_label": "vlb",
- "max_vf_module_instances": 1,
- "vf_module_type": "Expansion",
- "isBase": false,
- "initial_count": 0,
- "volume_group": false
- }
- }
- }
- },
- "lastComputedState": "DESIGN",
- "components": {
- "POLICY": {
- "componentState": {
- "stateName": "NOT_SENT",
- "description": "The policies defined have NOT yet been created on the policy engine"
- }
- },
- "DCAE": {
- "componentState": {
- "stateName": "BLUEPRINT_DEPLOYED",
- "description": "The DCAE blueprint has been found in the DCAE inventory but not yet instancianted for this loop"
- }
- }
- },
- "operationalPolicies": [
- {
- "name": "OPERATIONAL_h2NMX_v1_0_ResourceInstanceName1_tca",
- "configurationsJson": {
- "guard_policies": {
- "guard.minmax.new": {
- "recipe": "",
- "clname": "LOOP_h2NMX_v1_0_ResourceInstanceName1_tca",
- "actor": "",
- "targets": "",
- "min": "gg",
- "max": "gg",
- "limit": "",
- "timeUnits": "",
- "timeWindow": "",
- "guardActiveStart": "00:00:00Z",
- "guardActiveEnd": "00:00:01Z"
- }
- },
- "operational_policy": {
- "controlLoop": {
- "trigger_policy": "new",
- "timeout": "0",
- "abatement": "false",
- "controlLoopName": "LOOP_h2NMX_v1_0_ResourceInstanceName1_tca"
- },
- "policies": [
- {
- "id": "new",
- "recipe": "",
- "retry": "0",
- "timeout": "0",
- "actor": "",
- "payload": "",
- "success": "",
- "failure": "",
- "failure_timeout": "",
- "failure_retries": "",
- "failure_exception": "",
- "failure_guard": "",
- "target": {
- "type": "VM",
- "resourceID": ""
- }
- }
- ]
- }
- }
- }
- ],
- "microServicePolicies": [
- {
- "name": "TCA_h2NMX_v1_0_ResourceInstanceName1_tca",
- "modelType": "onap.policies.monitoring.cdap.tca.hi.lo.app",
- "properties": {
- "domain": "measurementsForVfScaling",
- "metricsPerEventName": [
- {
- "policyVersion": "ff",
- "thresholds": [
- {
- "severity": "CRITICAL",
- "fieldPath": "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta",
- "thresholdValue": 0,
- "closedLoopEventStatus": "ONSET",
- "closedLoopControlName": "ff",
- "version": "ff",
- "direction": "LESS"
- }
- ],
- "policyName": "ff",
- "controlLoopSchemaType": "VM",
- "policyScope": "ff",
- "eventName": "ff"
- }
- ]
- },
- "shared": false,
- "jsonRepresentation": {
- "schema": {
- "uniqueItems": "true",
- "format": "tabs-top",
- "type": "array",
- "title": "TCA Policy JSON",
- "items": {
- "type": "object",
- "title": "TCA Policy JSON",
- "required": [
- "domain",
- "metricsPerEventName"
- ],
- "properties": {
- "domain": {
- "propertyOrder": 1001,
- "default": "measurementsForVfScaling",
- "title": "Domain name to which TCA needs to be applied",
- "type": "string"
- },
- "metricsPerEventName": {
- "propertyOrder": 1002,
- "uniqueItems": "true",
- "format": "tabs-top",
- "title": "Contains eventName and threshold details that need to be applied to given eventName",
- "type": "array",
- "items": {
- "type": "object",
- "required": [
- "controlLoopSchemaType",
- "eventName",
- "policyName",
- "policyScope",
- "policyVersion",
- "thresholds"
- ],
- "properties": {
- "policyVersion": {
- "propertyOrder": 1007,
- "title": "TCA Policy Scope Version",
- "type": "string"
- },
- "thresholds": {
- "propertyOrder": 1008,
- "uniqueItems": "true",
- "format": "tabs-top",
- "title": "Thresholds associated with eventName",
- "type": "array",
- "items": {
- "type": "object",
- "required": [
- "closedLoopControlName",
- "closedLoopEventStatus",
- "direction",
- "fieldPath",
- "severity",
- "thresholdValue",
- "version"
- ],
- "properties": {
- "severity": {
- "propertyOrder": 1013,
- "title": "Threshold Event Severity",
- "type": "string",
- "enum": [
- "CRITICAL",
- "MAJOR",
- "MINOR",
- "WARNING",
- "NORMAL"
- ]
- },
- "fieldPath": {
- "propertyOrder": 1012,
- "title": "Json field Path as per CEF message which needs to be analyzed for TCA",
- "type": "string",
- "enum": [
- "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta",
- "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsDelta",
- "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsDelta",
- "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsDelta",
- "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsDelta",
- "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsDelta",
- "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsDelta",
- "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsAccumulated",
- "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedOctetsAccumulated",
- "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedUnicastPacketsAccumulated",
- "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedMulticastPacketsAccumulated",
- "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedBroadcastPacketsAccumulated",
- "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedDiscardedPacketsAccumulated",
- "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedErrorPacketsAccumulated",
- "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsDelta",
- "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsDelta",
- "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsDelta",
- "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsDelta",
- "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsDelta",
- "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsDelta",
- "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsDelta",
- "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedTotalPacketsAccumulated",
- "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedOctetsAccumulated",
- "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedUnicastPacketsAccumulated",
- "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedMulticastPacketsAccumulated",
- "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedBroadcastPacketsAccumulated",
- "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedDiscardedPacketsAccumulated",
- "$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].transmittedErrorPacketsAccumulated",
- "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuIdle",
- "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageInterrupt",
- "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageNice",
- "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSoftIrq",
- "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSteal",
- "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuUsageSystem",
- "$.event.measurementsForVfScalingFields.cpuUsageArray[*].cpuWait",
- "$.event.measurementsForVfScalingFields.cpuUsageArray[*].percentUsage",
- "$.event.measurementsForVfScalingFields.meanRequestLatency",
- "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryBuffered",
- "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryCached",
- "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryConfigured",
- "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryFree",
- "$.event.measurementsForVfScalingFields.memoryUsageArray[*].memoryUsed",
- "$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value"
- ]
- },
- "thresholdValue": {
- "propertyOrder": 1014,
- "title": "Threshold value for the field Path inside CEF message",
- "type": "integer"
- },
- "closedLoopEventStatus": {
- "propertyOrder": 1010,
- "title": "Closed Loop Event Status of the threshold",
- "type": "string",
- "enum": [
- "ONSET",
- "ABATED"
- ]
- },
- "closedLoopControlName": {
- "propertyOrder": 1009,
- "title": "Closed Loop Control Name associated with the threshold",
- "type": "string"
- },
- "version": {
- "propertyOrder": 1015,
- "title": "Version number associated with the threshold",
- "type": "string"
- },
- "direction": {
- "propertyOrder": 1011,
- "title": "Direction of the threshold",
- "type": "string",
- "enum": [
- "LESS",
- "LESS_OR_EQUAL",
- "GREATER",
- "GREATER_OR_EQUAL",
- "EQUAL"
- ]
- }
- }
- }
- },
- "policyName": {
- "propertyOrder": 1005,
- "title": "TCA Policy Scope Name",
- "type": "string"
- },
- "controlLoopSchemaType": {
- "propertyOrder": 1003,
- "title": "Specifies Control Loop Schema Type for the event Name e.g. VNF, VM",
- "type": "string",
- "enum": [
- "VM",
- "VNF"
- ]
- },
- "policyScope": {
- "propertyOrder": 1006,
- "title": "TCA Policy Scope",
- "type": "string"
- },
- "eventName": {
- "propertyOrder": 1004,
- "title": "Event name to which thresholds need to be applied",
- "type": "string"
- }
- }
- }
- }
- }
- }
- }
- }
- }
- ],
- "loopLogs": [
- {
- "id": 2,
- "logType": "INFO",
- "logComponent": "CLAMP",
- "message": "Micro Service policies UPDATED",
- "logInstant": "2019-07-08T09:44:53Z"
- },
- {
- "id": 1,
- "logType": "INFO",
- "logComponent": "CLAMP",
- "message": "Operational and Guard policies UPDATED",
- "logInstant": "2019-07-08T09:44:37Z"
- }
- ]
-}
diff --git a/ui-react/src/components/dialogs/OperationalPolicy/OperationalPolicyModal.js b/ui-react/src/components/dialogs/OperationalPolicy/OperationalPolicyModal.js
index e52d930a2..7d339313e 100644
--- a/ui-react/src/components/dialogs/OperationalPolicy/OperationalPolicyModal.js
+++ b/ui-react/src/components/dialogs/OperationalPolicy/OperationalPolicyModal.js
@@ -24,7 +24,7 @@
import React from 'react'
import Button from 'react-bootstrap/Button';
import Modal from 'react-bootstrap/Modal';
-import LoopCache from '../../backend_communication/LoopCache'
+import { LOOP_CACHE } from '../../../api/LoopCache'
import './OperationalPolicy.css'
import styled from 'styled-components';
@@ -37,8 +37,6 @@ export default class OperationalPolicyModal extends React.Component {
constructor(props, context) {
super(props, context);
- this.loopCache = new LoopCache();
-
this.handleClose = this.handleClose.bind(this);
this.initPolicySelect = this.initPolicySelect.bind(this);
@@ -59,7 +57,7 @@ export default class OperationalPolicyModal extends React.Component {
initPolicySelect() {
if (this.allPolicies['operational_policy'] === undefined || this.allPolicies['operational_policy'] === null) {
- this.allPolicies = this.loopCache.getOperationalPolicyProperty();
+ this.allPolicies = LOOP_CACHE.getOperationalPolicyProperty();
}
// Provision all policies ID first
if (this.policyIds.length == 0 && this.allPolicies['operational_policy'] != undefined) {
@@ -197,7 +195,7 @@ export default class OperationalPolicyModal extends React.Component {
<label className="col-sm-4 control-label" htmlFor="clname">ControlLoopName</label>
<div className="col-sm-8">
<input type="text" className="form-control" name="controlLoopName"
- readOnly="readonly" id="clname" value={this.loopCache.getLoopName()} />
+ readOnly="readonly" id="clname" value={LOOP_CACHE.getLoopName()} />
</div>
</div>
</form>