AETHER-2529 aether-roc-umbrella 3 prometheus and 2 prom-label-proxy

Change-Id: I01c4f60bfa265156cda88ffa1e8b73c5232c22d8
diff --git a/aether-roc-gui-v4/Chart.yaml b/aether-roc-gui-v4/Chart.yaml
index aa192c9..2e75cc7 100644
--- a/aether-roc-gui-v4/Chart.yaml
+++ b/aether-roc-gui-v4/Chart.yaml
@@ -7,7 +7,7 @@
 description: Aether ROC Graphical User Interface
 kubeVersion: ">=1.15.0"
 type: application
-version: 4.0.4
+version: 4.0.5
 appVersion: 4.0.0
 keywords:
   - aether
diff --git a/aether-roc-gui-v4/templates/configmap.yaml b/aether-roc-gui-v4/templates/configmap.yaml
index 4646f9c..0cf6ad2 100644
--- a/aether-roc-gui-v4/templates/configmap.yaml
+++ b/aether-roc-gui-v4/templates/configmap.yaml
@@ -38,9 +38,23 @@
             proxy_hide_header 'X-Frame-Options';
             add_header X-Frame-Options SAMEORIGIN;
         }{{end}}
-        {{- if .Values.prometheus.proxyEnabled }}
-        location /prometheus/ {
-            proxy_pass {{ .Values.prometheus.protocol }}://{{ .Values.prometheus.service }}:{{ .Values.prometheus.port }}/;
+        {{- if .Values.prometheus.acc.proxyEnabled }}
+        location /prometheus-acc/ {
+            proxy_pass {{ .Values.prometheus.acc.protocol }}://{{ .Values.prometheus.acc.service }}:{{ .Values.prometheus.acc.port }}/;
+            proxy_http_version 1.1;
+            proxy_set_header Upgrade $http_upgrade;
+            add_header X-Frame-Options SAMEORIGIN;
+        }{{end}}
+        {{- if .Values.prometheus.amp.proxyEnabled }}
+        location /prometheus-amp/ {
+            proxy_pass {{ .Values.prometheus.amp.protocol }}://{{ .Values.prometheus.amp.service }}:{{ .Values.prometheus.amp.port }}/;
+            proxy_http_version 1.1;
+            proxy_set_header Upgrade $http_upgrade;
+            add_header X-Frame-Options SAMEORIGIN;
+        }{{end}}
+        {{- range $siteid, $site := .Values.prometheus.site }}
+        location /prometheus-{{$site.name}}/ {
+            proxy_pass {{ $site.protocol }}://{{ $site.service }}:{{ $site.port }}/;
             proxy_http_version 1.1;
             proxy_set_header Upgrade $http_upgrade;
             add_header X-Frame-Options SAMEORIGIN;
diff --git a/aether-roc-gui-v4/values.yaml b/aether-roc-gui-v4/values.yaml
index eb96b13..a590476 100644
--- a/aether-roc-gui-v4/values.yaml
+++ b/aether-roc-gui-v4/values.yaml
@@ -77,10 +77,17 @@
   port: 80
 
 prometheus:
-  proxyEnabled: false
-  service: prometheus
-  protocol: http
-  port: 80
+  acc:
+    proxyEnabled: false
+    service: prometheus-acc
+    protocol: http
+    port: 80
+  amp:
+    proxyEnabled: false
+    service: prometheus-amp
+    protocol: http
+    port: 80
+  site: []
 
 Nginx:
   port: 80
diff --git a/aether-roc-gui/Chart.yaml b/aether-roc-gui/Chart.yaml
index 455d039..7c21d06 100644
--- a/aether-roc-gui/Chart.yaml
+++ b/aether-roc-gui/Chart.yaml
@@ -7,7 +7,7 @@
 description: Aether ROC Graphical User Interface
 kubeVersion: ">=1.15.0"
 type: application
-version: 3.0.27
+version: 3.0.28
 appVersion: 3.0.0
 keywords:
   - aether
diff --git a/aether-roc-gui/values.yaml b/aether-roc-gui/values.yaml
index 7337370..61b8e8c 100644
--- a/aether-roc-gui/values.yaml
+++ b/aether-roc-gui/values.yaml
@@ -10,7 +10,7 @@
 
 image:
   repository: onosproject/aether-roc-gui
-  tag: v0.7.26
+  tag: v0.7.28
   pullPolicy: IfNotPresent
   pullSecrets: []
 
diff --git a/aether-roc-umbrella/Chart.yaml b/aether-roc-umbrella/Chart.yaml
index c84cc05..1c1048e 100644
--- a/aether-roc-umbrella/Chart.yaml
+++ b/aether-roc-umbrella/Chart.yaml
@@ -7,7 +7,7 @@
 description: Aether ROC Umbrella chart to deploy all Aether ROC
 kubeVersion: ">=1.18.0"
 type: application
-version: 1.4.23
+version: 1.4.24
 appVersion: v0.0.0
 keywords:
   - aether
@@ -57,11 +57,11 @@
   - name: aether-roc-gui
     condition: import.aether-roc-gui.v3.enabled
     repository: "file://../aether-roc-gui"
-    version: 3.0.27
+    version: 3.0.28
   - name: aether-roc-gui-v4
     condition: import.aether-roc-gui.v4.enabled
     repository: "file://../aether-roc-gui-v4"
-    version: 4.0.4
+    version: 4.0.5
   - name: sdcore-adapter
     condition: import.sdcore-adapter.v3.enabled
     repository: "file://../sdcore-adapter"
@@ -84,11 +84,27 @@
     repository: https://grafana.github.io/helm-charts
     version: 6.16.6
   - name: prometheus
-    condition: import.prometheus.enabled
+    condition: import.prometheus.amp.enabled
     repository: https://prometheus-community.github.io/helm-charts
     version: 14.6.1
+    alias: prometheus-amp
+  - name: prometheus
+    condition: import.prometheus.acc.enabled
+    repository: https://prometheus-community.github.io/helm-charts
+    version: 14.6.1
+    alias: prometheus-acc
+  - name: prometheus
+    condition: import.prometheus.ace.enabled
+    repository: https://prometheus-community.github.io/helm-charts
+    version: 14.6.1
+    alias: prometheus-ace
   - name: prom-label-proxy
-    condition: import.plproxy.enabled
+    condition: import.prometheus.amp.enabled
     repository: "file://../prom-label-proxy"
     version: 0.0.1
-    alias: prom-label-proxy-v1
+    alias: prom-label-proxy-amp
+  - name: prom-label-proxy
+    condition: import.prometheus.acc.enabled
+    repository: "file://../prom-label-proxy"
+    version: 0.0.1
+    alias: prom-label-proxy-acc
diff --git a/aether-roc-umbrella/templates/alertmanager-configmap.yaml b/aether-roc-umbrella/templates/alertmanager-configmap.yaml
index cbbcfe3..703c11a 100644
--- a/aether-roc-umbrella/templates/alertmanager-configmap.yaml
+++ b/aether-roc-umbrella/templates/alertmanager-configmap.yaml
@@ -15,7 +15,7 @@
     receivers:
       - name: default-receiver
         webhook_configs:
-        - url: {{ .Values.prometheus.alertmanager.webhook_url }}
+        - url: {{ index .Values "prometheus-acc" "alertmanager" "webhook_url" }}
 
     route:
       group_wait: 10s
diff --git a/aether-roc-umbrella/templates/topo.yaml b/aether-roc-umbrella/templates/topo.yaml
index fa4e00c..fc4f5b0 100644
--- a/aether-roc-umbrella/templates/topo.yaml
+++ b/aether-roc-umbrella/templates/topo.yaml
@@ -11,26 +11,6 @@
   aspects: {}
 
 ---
-# The 4G v2.1.0 sdcore-adapter
-apiVersion: topo.onosproject.org/v1beta1
-kind: Entity
-metadata:
-  name: connectivity-service-v2
-spec:
-  uri: connectivity-service-v2
-  kind:
-    name: aether
-  aspects:
-    onos.topo.Configurable:
-      address: sdcore-adapter-v21:5150
-      version: 2.1.0
-      type: Aether
-    onos.topo.TLSOptions:
-      insecure: true
-    onos.topo.Asset:
-      name: SPGW-1
-    onos.topo.MastershipState: {}
----
 # The 4G/5G v3.0.0 sdcore-adapter
 apiVersion: topo.onosproject.org/v1beta1
 kind: Entity
@@ -90,14 +70,14 @@
 apiVersion: topo.onosproject.org/v1beta1
 kind: Entity
 metadata:
-  name: plproxy-service-v1
+  name: plproxy-amp
 spec:
-  uri: plproxy-service-v1
+  uri: plproxy-amp
   kind:
     name: plproxy
   aspects:
     onos.topo.Configurable:
-      address: prom-label-proxy-v1:5150
+      address: prom-label-proxy-amp:5150
       version: 1.0.0
       type: PLProxy
     onos.topo.TLSOptions:
@@ -105,5 +85,23 @@
     onos.topo.Asset:
       name: Prom Label Proxy
     onos.topo.MastershipState: {}
-
-
+---
+# Prom-label-proxy
+apiVersion: topo.onosproject.org/v1beta1
+kind: Entity
+metadata:
+  name: plproxy-acc
+spec:
+  uri: plproxy-acc
+  kind:
+    name: plproxy
+  aspects:
+    onos.topo.Configurable:
+      address: prom-label-proxy-acc:5150
+      version: 1.0.0
+      type: PLProxy
+    onos.topo.TLSOptions:
+      insecure: true
+    onos.topo.Asset:
+      name: Prom Label Proxy
+    onos.topo.MastershipState: {}
diff --git a/aether-roc-umbrella/tests/aether-roc-umbrella.go b/aether-roc-umbrella/tests/aether-roc-umbrella.go
index b64786a..e1cf337 100644
--- a/aether-roc-umbrella/tests/aether-roc-umbrella.go
+++ b/aether-roc-umbrella/tests/aether-roc-umbrella.go
@@ -61,15 +61,15 @@
 		Set("import.aether-roc-gui.v3.enabled", false).
 		Set("import.aether-roc-gui.v4.enabled", true).
 		Set("import.onos-cli.enabled", false).
-		Set("onos-topo.image.tag", "latest").
-		Set("onos-config.image.tag", "latest").
-		Set("aether-roc-api.image.tag", "latest").
-		Set("aether-roc-websocket.image.tag", "latest").
-		Set("subscriber-proxy.image.tag", "latest").
-		Set("prom-label-proxy.image.tag", "latest").
-		//Set("sdcore-adapter-v4.image.tag", "latest").
-		Set("aether-roc-gui-v4.image.tag", "latest").
-		Set("aether-roc-gui-v4.ingress.enabled", false).
+		Set("import.prometheus.acc.enabled", false).
+		Set("aether-roc-gui-v4.prometheus.acc.proxyEnabled", false).
+		Set("import.prometheus.amp.enabled", false).
+		Set("aether-roc-gui-v4.prometheus.amp.proxyEnabled", false).
+		Set("import.prometheus.ace.enabled", false).
+		Set("aether-roc-gui-v4.prometheus.site", nil).
+		Set("import.grafana.enabled", false).
+		Set("aether-roc-gui-v4.grafana.enabled", false).
+		Set("aether-roc-gui-v4.grafana.proxyEnabled", false).
 		Set("aether-roc-gui-v4.service.type", "NodePort").
 		Set("onos-config.plugin.compiler.target", "github.com/onosproject/onos-config@master").
 		Set("global.image.registry", registry)
diff --git a/aether-roc-umbrella/values.yaml b/aether-roc-umbrella/values.yaml
index 96a6d3e..3f9bdc0 100644
--- a/aether-roc-umbrella/values.yaml
+++ b/aether-roc-umbrella/values.yaml
@@ -57,12 +57,15 @@
     enabled: true
   sdcore-test-dummy:
     enabled: true
-  plproxy:
-    enabled: true
   grafana:
     enabled: true #also enable the proxy below
   prometheus:
-    enabled: true #also enable the proxy below
+    acc:
+      enabled: true # controls its plproxy too
+    amp:
+      enabled: true # controls its plproxy too
+    ace:
+      enabled: true
 
 # ONOS-TOPO
 onos-topo:
@@ -91,14 +94,29 @@
     service: aether-roc-umbrella-prometheus-server
 
 aether-roc-gui-v4:
+  nameOverride: aether-roc-gui-v4
+  fullnameOverride: aether-roc-gui-v4
   websocket:
     proxyEnabled: true
   grafana:
     proxyEnabled: true
     service: aether-roc-umbrella-grafana # the grafana hostname - use FQDN for other namespaces
   prometheus:
-    proxyEnabled: true
-    service: aether-roc-umbrella-prometheus-server
+    acc:
+      proxyEnabled: true
+      service: prom-label-proxy-acc
+      protocol: http
+      port: 8080
+    amp:
+      proxyEnabled: true
+      service: prom-label-proxy-amp
+      protocol: http
+      port: 8080
+    site:
+      - name: ace1
+        service: aether-roc-umbrella-prometheus-ace-server
+        protocol: http
+        port: 80
 
 # SD-Core Adapter
 sdcore-adapter:
@@ -116,10 +134,19 @@
   prometheusEnabled: false
 
 # Prom label Proxy
-prom-label-proxy:
-  nameOverride: prom-label-proxy-v1
-  fullnameOverride: prom-label-proxy-v1
+prom-label-proxy-amp:
+  nameOverride: prom-label-proxy-amp
+  fullnameOverride: prom-label-proxy-amp
   prometheusEnabled: false
+  config:
+    upstream: http://aether-roc-umbrella-prometheus-amp-server
+
+prom-label-proxy-acc:
+  nameOverride: prom-label-proxy-acc
+  fullnameOverride: prom-label-proxy-acc
+  prometheusEnabled: false
+  config:
+    upstream: http://aether-roc-umbrella-prometheus-acc-server
 
 grafana: 
   grafana.ini:
@@ -152,7 +179,7 @@
 #      allowed_domains: opennetworking.org
 #      allow_sign_up: true
 
-prometheus:
+prometheus-acc:
   pushgateway:
     enabled: false
   nodeExporter:
@@ -216,6 +243,43 @@
           static_configs:
             - targets:
                 - sdcore-adapter-v3-exporter:2112
+
+prometheus-amp:
+  pushgateway:
+    enabled: false
+  nodeExporter:
+    enabled: false
+  kubeStateMetrics:
+    enabled: false
+  alertmanager:
+    enabled: false
+  serverFiles:
+    prometheus.yml:
+      scrape_configs:
+        - job_name: sdcore-exporter
+          scrape_interval: 2s
+          static_configs:
+            - targets:
+                - sdcore-adapter-v3-exporter:2112
+
+prometheus-ace:
+  pushgateway:
+    enabled: false
+  nodeExporter:
+    enabled: false
+  kubeStateMetrics:
+    enabled: false
+  alertmanager:
+    enabled: false
+  serverFiles:
+    prometheus.yml:
+      scrape_configs:
+        - job_name: sdcore-exporter
+          scrape_interval: 2s
+          static_configs:
+            - targets:
+                - sdcore-adapter-v3-exporter:2112
+
 # SD-Core Test Dummy
 # proxy_pass has to be added or nginx will not log the $request_body
 sdcore-test-dummy: