diff options
author | 2018-02-02 13:37:06 -0800 | |
---|---|---|
committer | 2018-02-02 13:37:06 -0800 | |
commit | 98b6190054aec72de88c700ac496a7f4f2df1f4b (patch) | |
tree | 7605327c18812c0a0ac1f10e383f6440806083be /docs | |
parent | c134f84b32e9db07dcf2f596ebbb4a08ea5ce41c (diff) |
Add diagram source for Models demo flow.
JIRA: MODELS-2
Change-Id: I75b02ef3e6ec0aab268c59b39bff41f7ef0b09ca
Signed-off-by: Bryan Sullivan <bryan.sullivan@att.com>
Diffstat (limited to 'docs')
-rw-r--r-- | docs/images/models_demo_flow.svg | 112 | ||||
-rw-r--r-- | docs/source/models_demo_flow.txt | 112 |
2 files changed, 224 insertions, 0 deletions
diff --git a/docs/images/models_demo_flow.svg b/docs/images/models_demo_flow.svg new file mode 100644 index 0000000..3a61dc3 --- /dev/null +++ b/docs/images/models_demo_flow.svg @@ -0,0 +1,112 @@ +<?xml version="1.0" encoding="utf-8" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"><svg xmlns="http://www.w3.org/2000/svg" width="2024" height="3877" xmlns:xlink="http://www.w3.org/1999/xlink"><source><![CDATA[Title: High-level flow for the OPNFV Models+VES demo deployment. +# (c) 2018 AT&T Intellectual Property, Inc +# +# 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. +# +# To generate the flow, paste the content of this file into the editor at +# https://bramp.github.io/js-sequence-diagrams/, and select Theme "Simple" + +participant Admin Server as admin +participant k8s master as k8s_master +participant k8s worker as k8s_worker +participant Cloudify Manager as cloudify +participant k8s pods as k8s_pod +participant Barometer as barometer +participant Kafka\nZookeeper as kafka +participant VES Agent as agent +participant VES Collector as collector +participant InfluxDB as influxdb +participant Grafana as grafana +Note over admin, grafana: For brevity, action/api responses are not shown (flow continuation indicates success). +admin->k8s_master: deploy host OS +admin->k8s_worker: deploy host OS +admin->k8s_master: (SSH) install k8s master +note over k8s_master: install k8s and\nkube-system pods +admin->k8s_master: (SSH) install k8s workers +k8s_master->k8s_worker: (SSH) install k8s worker +k8s_worker->k8s_master: (api) register as worker +admin->k8s_master: (SSH) install helm +admin->k8s_master: (SSH) test helm chart (nginx) +k8s_master->k8s_worker: (k8s) start nginx pod +note over k8s_pod: (nginx pod) +k8s_worker->k8s_pod: create pod +k8s_master->k8s_pod: GET http://(nginx-service) +k8s_master->k8s_worker: (k8s) stop nginx pod +k8s_worker->k8s_pod: delete pod +admin->k8s_master: (SSH) deploy ceph-docker\nhelm chart +k8s_master->k8s_worker: (k8s) install ceph-docker +admin->k8s_master: (SSH) test helm chart with\n ceph PVC (dokuwiki) +k8s_master->k8s_worker: (k8s) start dokuwiki pod +note over k8s_pod: (dokuwiki pod) +k8s_worker->k8s_pod: create pod +k8s_master->k8s_pod: GET http://(dokuwiki-service) +note over k8s_worker: (k8s worker) +admin->k8s_master: (SSH) install cloudify manager +note over k8s_master: install cloudify CLI +note over cloudify: (on k8s master) +k8s_master->cloudify: create cloudify manager VM +k8s_master->cloudify: (cfy cli) install cloudify k8s plugin +admin->cloudify: (api) upload/deploy cloudify-k8s chart (nginx) +cloudify->k8s_master: (api) deploy nginx chart +k8s_master->k8s_worker: (k8s) start nginx pod +note over k8s_pod: (nginx pod) +k8s_worker->k8s_pod: create pod +admin->k8s_pod: GET http://(nginx-service) +admin->cloudify: (api) upload/deploy ves-influxdb chart +cloudify->k8s_master: (api) deploy ves-influxdb chart +k8s_master->k8s_worker: (k8s) start ves-influxdb pod +k8s_worker->influxdb: create pod (type=ClusterIP,port=8086) +admin->influxdb: (api) create veseventsdb +admin->cloudify: (api) upload/deploy grafana chart +cloudify->k8s_master: (api) deploy grafana chart +k8s_master->k8s_worker: (k8s) start grafana pod +k8s_worker->grafana: create pod (type=NodePort,port=30300) +admin->grafana: create VESEvents datasource +note over grafana: (repeat on\nupdate schedule) +grafana->influxdb: (api)\nquery veseventsdb +admin->grafana: create VES dashboard +note over grafana: display stats\non dashboard +admin->cloudify: (api) upload/deploy ves-collector chart +cloudify->k8s_master: (api) deploy ves-collector chart +k8s_master->k8s_worker: (k8s) start ves-collector pod +k8s_worker->collector: create pod (type=ClusterIP,port=3001) +admin->cloudify: (api) upload/deploy ves-zookeeper chart +cloudify->k8s_master: (api) deploy ves-zookeeper chart +k8s_master->k8s_worker: (k8s) start ves-zookeeper pod +note over kafka: (zookeeper pod) +k8s_worker->kafka: create pod (type=ClusterIP,port=2181) +admin->cloudify: (api) upload/deploy ves-kafka chart +cloudify->k8s_master: (api) deploy ves-kafka chart +k8s_master->k8s_worker: (k8s) start ves-kafka pod +note over kafka: (kafka pod) +k8s_worker->kafka: create pod (type=NodePort,port=30992) +note over kafka: NodePort required\nfor barometer +admin->cloudify: (api) upload/deploy ves-agent chart +cloudify->k8s_master: (api) deploy ves-agent chart +k8s_master->k8s_worker: (k8s) start ves-agent pod +k8s_worker->agent: create pod +admin->k8s_master: (SSH) install barometer container +note over barometer: (on k8s master) +k8s_master->barometer: create barometer container +barometer->kafka: (api) register\n"collectd" topic +note over kafka: configure topic\nvia zookeeper +admin->k8s_worker: (SSH) install barometer container +note over barometer: (on k8s worker) +k8s_worker->barometer: create barometer container +barometer->kafka: (api) register\n"collectd" topic +note over kafka: (api) configure topic\nvia zookeeper +note over barometer: (on k8s master\nand workers,\nper schedule) +barometer->kafka: (api) publish\ncollectd stats +kafka->agent: (api)\ncollectd stats +agent->collector: (api) VES event +collector->influxdb: (api)\nveseventsdb entry]]></source><desc>High-level flow for the OPNFV Models+VES demo deployment.</desc><defs><marker viewBox="0 0 5 5" markerWidth="5" markerHeight="5" orient="auto" refX="5" refY="2.5" id="markerArrowBlock"><path d="M 0 0 L 5 2.5 L 0 5 z"></path></marker><marker viewBox="0 0 9.6 16" markerWidth="4" markerHeight="16" orient="auto" refX="9.6" refY="8" id="markerArrowOpen"><path d="M 9.6,8 1.92,16 0,13.7 5.76,8 0,2.286 1.92,0 9.6,8 z"></path></marker></defs><g class="title"><rect x="10" y="10" width="511.421875" height="28.390625" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="15" y="29.390625" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="15">High-level flow for the OPNFV Models+VES demo deployment.</tspan></text></g><g class="actor"><rect x="10" y="48.390625" width="126.359375" height="57.59375" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="20.796875" y="82.3828125" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="20">Admin Server</tspan></text></g><g class="actor"><rect x="10" y="3799.65625" width="126.359375" height="57.59375" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="20.796875" y="3833.6484375" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="20">Admin Server</tspan></text></g><line x1="73.1796875" x2="73.1796875" y1="105.984375" y2="3799.65625" stroke="#000000" fill="none" style="stroke-width: 2;"></line><g class="actor"><rect x="329.4921875" y="48.390625" width="107.96875" height="57.59375" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="339.4921875" y="82.3828125" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="339.4921875">k8s master</tspan></text></g><g class="actor"><rect x="329.4921875" y="3799.65625" width="107.96875" height="57.59375" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="339.4921875" y="3833.6484375" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="339.4921875">k8s master</tspan></text></g><line x1="383.4765625" x2="383.4765625" y1="105.984375" y2="3799.65625" stroke="#000000" fill="none" style="stroke-width: 2;"></line><g class="actor"><rect x="604.6015625" y="48.390625" width="107.96875" height="57.59375" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="614.6015625" y="82.3828125" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="614.6015625">k8s worker</tspan></text></g><g class="actor"><rect x="604.6015625" y="3799.65625" width="107.96875" height="57.59375" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="614.6015625" y="3833.6484375" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="614.6015625">k8s worker</tspan></text></g><line x1="658.5859375" x2="658.5859375" y1="105.984375" y2="3799.65625" stroke="#000000" fill="none" style="stroke-width: 2;"></line><g class="actor"><rect x="732.5703125" y="48.390625" width="160.75" height="57.59375" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="742.5703125" y="82.3828125" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="742.5703125">Cloudify Manager</tspan></text></g><g class="actor"><rect x="732.5703125" y="3799.65625" width="160.75" height="57.59375" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="742.5703125" y="3833.6484375" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="742.5703125">Cloudify Manager</tspan></text></g><line x1="812.9453125" x2="812.9453125" y1="105.984375" y2="3799.65625" stroke="#000000" fill="none" style="stroke-width: 2;"></line><g class="actor"><rect x="913.3203125" y="48.390625" width="90.375" height="57.59375" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="923.3203125" y="82.3828125" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="923.3203125">k8s pods</tspan></text></g><g class="actor"><rect x="913.3203125" y="3799.65625" width="90.375" height="57.59375" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="923.3203125" y="3833.6484375" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="923.3203125">k8s pods</tspan></text></g><line x1="958.5078125" x2="958.5078125" y1="105.984375" y2="3799.65625" stroke="#000000" fill="none" style="stroke-width: 2;"></line><g class="actor"><rect x="1023.6953125" y="48.390625" width="99.171875" height="57.59375" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="1033.6953125" y="82.3828125" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="1033.6953125">Barometer</tspan></text></g><g class="actor"><rect x="1023.6953125" y="3799.65625" width="99.171875" height="57.59375" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="1033.6953125" y="3833.6484375" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="1033.6953125">Barometer</tspan></text></g><line x1="1073.28125" x2="1073.28125" y1="105.984375" y2="3799.65625" stroke="#000000" fill="none" style="stroke-width: 2;"></line><g class="actor"><rect x="1184.4453125" y="48.390625" width="99.171875" height="57.59375" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="1194.4453125" y="72.78125" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="1194.4453125">Kafka</tspan><tspan dy="1.2em" x="1194.4453125">Zookeeper</tspan></text></g><g class="actor"><rect x="1184.4453125" y="3799.65625" width="99.171875" height="57.59375" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="1194.4453125" y="3824.046875" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="1194.4453125">Kafka</tspan><tspan dy="1.2em" x="1194.4453125">Zookeeper</tspan></text></g><line x1="1234.03125" x2="1234.03125" y1="105.984375" y2="3799.65625" stroke="#000000" fill="none" style="stroke-width: 2;"></line><g class="actor"><rect x="1327.203125" y="48.390625" width="99.96875" height="57.59375" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="1338" y="82.3828125" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="1337.203125">VES Agent</tspan></text></g><g class="actor"><rect x="1327.203125" y="3799.65625" width="99.96875" height="57.59375" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="1338" y="3833.6484375" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="1337.203125">VES Agent</tspan></text></g><line x1="1377.1875" x2="1377.1875" y1="105.984375" y2="3799.65625" stroke="#000000" fill="none" style="stroke-width: 2;"></line><g class="actor"><rect x="1461.5625" y="48.390625" width="135.15625" height="57.59375" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="1472.359375" y="82.3828125" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="1471.5625">VES Collector</tspan></text></g><g class="actor"><rect x="1461.5625" y="3799.65625" width="135.15625" height="57.59375" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="1472.359375" y="3833.6484375" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="1471.5625">VES Collector</tspan></text></g><line x1="1529.140625" x2="1529.140625" y1="105.984375" y2="3799.65625" stroke="#000000" fill="none" style="stroke-width: 2;"></line><g class="actor"><rect x="1653.5" y="48.390625" width="90.375" height="57.59375" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="1663.5" y="82.3828125" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="1663.5">InfluxDB</tspan></text></g><g class="actor"><rect x="1653.5" y="3799.65625" width="90.375" height="57.59375" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="1663.5" y="3833.6484375" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="1663.5">InfluxDB</tspan></text></g><line x1="1698.6875" x2="1698.6875" y1="105.984375" y2="3799.65625" stroke="#000000" fill="none" style="stroke-width: 2;"></line><g class="actor"><rect x="1827.4453125" y="48.390625" width="81.578125" height="57.59375" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="1837.4453125" y="82.3828125" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="1837.4453125">Grafana</tspan></text></g><g class="actor"><rect x="1827.4453125" y="3799.65625" width="81.578125" height="57.59375" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="1837.4453125" y="3833.6484375" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="1837.4453125">Grafana</tspan></text></g><line x1="1868.234375" x2="1868.234375" y1="105.984375" y2="3799.65625" stroke="#000000" fill="none" style="stroke-width: 2;"></line><g class="note"><rect x="63.1796875" y="125.984375" width="1815.0546875" height="28.390625" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="68.1796875" y="145.375" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="68.1796875">For brevity, action/api responses are not shown (flow continuation indicates success).</tspan></text></g><g class="signal"><text x="166.75" y="184.5703125" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="166.75">deploy host OS</tspan></text><line x1="73.1796875" x2="383.4765625" y1="192.765625" y2="192.765625" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"></line></g><g class="signal"><text x="304.3046875" y="222.9609375" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="304.3046875">deploy host OS</tspan></text><line x1="73.1796875" x2="658.5859375" y1="231.15625" y2="231.15625" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"></line></g><g class="signal"><text x="122.765625" y="261.3515625" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="122.765625">(SSH) install k8s master</tspan></text><line x1="73.1796875" x2="383.4765625" y1="269.546875" y2="269.546875" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"></line></g><g class="note"><rect x="308.1015625" y="289.546875" width="150.75" height="47.59375" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="313.1015625" y="308.9375" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="313.1015625">install k8s and</tspan><tspan dy="1.2em" x="313.1015625">kube-system pods</tspan></text></g><g class="signal"><text x="118.3671875" y="367.3359375" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="118.3671875">(SSH) install k8s workers</tspan></text><line x1="73.1796875" x2="383.4765625" y1="375.53125" y2="375.53125" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"></line></g><g class="signal"><text x="415.46875" y="405.7265625" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="415.46875">(SSH) install k8s worker</tspan></text><line x1="383.4765625" x2="658.5859375" y1="413.921875" y2="413.921875" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"></line></g><g class="signal"><text x="415.46875" y="444.1171875" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="415.46875">(api) register as worker</tspan></text><line x1="658.5859375" x2="383.4765625" y1="452.3125" y2="452.3125" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"></line></g><g class="signal"><text x="149.15625" y="482.5078125" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="149.15625">(SSH) install helm</tspan></text><line x1="73.1796875" x2="383.4765625" y1="490.703125" y2="490.703125" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"></line></g><g class="signal"><text x="100.7734375" y="520.8984375" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="100.7734375">(SSH) test helm chart (nginx)</tspan></text><line x1="73.1796875" x2="383.4765625" y1="529.09375" y2="529.09375" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"></line></g><g class="signal"><text x="428.6640625" y="559.2890625" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="428.6640625">(k8s) start nginx pod</tspan></text><line x1="383.4765625" x2="658.5859375" y1="567.484375" y2="567.484375" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"></line></g><g class="note"><rect x="905.125" y="587.484375" width="106.765625" height="28.390625" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="910.125" y="606.875" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="910.125">(nginx pod)</tspan></text></g><g class="signal"><text x="764.5625" y="646.0703125" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="764.5625">create pod</tspan></text><line x1="658.5859375" x2="958.5078125" y1="654.265625" y2="654.265625" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"></line></g><g class="signal"><text x="556.6328125" y="684.4609375" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="556.6328125">GET http://(nginx-service)</tspan></text><line x1="383.4765625" x2="958.5078125" y1="692.65625" y2="692.65625" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"></line></g><g class="signal"><text x="433.0625" y="722.8515625" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="433.0625">(k8s) stop nginx pod</tspan></text><line x1="383.4765625" x2="658.5859375" y1="731.046875" y2="731.046875" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"></line></g><g class="signal"><text x="764.5625" y="761.2421875" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="764.5625">delete pod</tspan></text><line x1="658.5859375" x2="958.5078125" y1="769.4375" y2="769.4375" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"></line></g><g class="signal"><text x="122.765625" y="790.03125" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="122.765625">(SSH) deploy ceph-docker</tspan><tspan dy="1.2em" x="122.765625">helm chart</tspan></text><line x1="73.1796875" x2="383.4765625" y1="827.03125" y2="827.03125" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"></line></g><g class="signal"><text x="411.0703125" y="857.2265625" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="411.0703125">(k8s) install ceph-docker</tspan></text><line x1="383.4765625" x2="658.5859375" y1="865.421875" y2="865.421875" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"></line></g><g class="signal"><text x="113.96875" y="886.015625" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="113.96875">(SSH) test helm chart with</tspan><tspan dy="1.2em" x="113.96875">ceph PVC (dokuwiki)</tspan></text><line x1="73.1796875" x2="383.4765625" y1="923.015625" y2="923.015625" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"></line></g><g class="signal"><text x="415.46875" y="953.2109375" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="415.46875">(k8s) start dokuwiki pod</tspan></text><line x1="383.4765625" x2="658.5859375" y1="961.40625" y2="961.40625" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"></line></g><g class="note"><rect x="891.9296875" y="981.40625" width="133.15625" height="28.390625" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="896.9296875" y="1000.796875" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="896.9296875">(dokuwiki pod)</tspan></text></g><g class="signal"><text x="764.5625" y="1039.9921875" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="764.5625">create pod</tspan></text><line x1="658.5859375" x2="958.5078125" y1="1048.1875" y2="1048.1875" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"></line></g><g class="signal"><text x="543.4375" y="1078.3828125" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="543.4375">GET http://(dokuwiki-service)</tspan></text><line x1="383.4765625" x2="958.5078125" y1="1086.578125" y2="1086.578125" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"></line></g><g class="note"><rect x="600.8046875" y="1106.578125" width="115.5625" height="28.390625" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="605.8046875" y="1125.96875" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="605.8046875">(k8s worker)</tspan></text></g><g class="signal"><text x="96.375" y="1165.1640625" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="96.375">(SSH) install cloudify manager</tspan></text><line x1="73.1796875" x2="383.4765625" y1="1173.359375" y2="1173.359375" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"></line></g><g class="note"><rect x="290.5078125" y="1193.359375" width="185.9375" height="28.390625" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="295.5078125" y="1212.75" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="295.5078125">install cloudify CLI</tspan></text></g><g class="note"><rect x="741.96875" y="1241.75" width="141.953125" height="28.390625" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="746.96875" y="1261.140625" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="746.96875">(on k8s master)</tspan></text></g><g class="signal"><text x="483.8515625" y="1300.3359375" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="483.8515625">create cloudify manager VM</tspan></text><line x1="383.4765625" x2="812.9453125" y1="1308.53125" y2="1308.53125" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"></line></g><g class="signal"><text x="435.46875" y="1338.7265625" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="435.46875">(cfy cli) install cloudify k8s plugin</tspan></text><line x1="383.4765625" x2="812.9453125" y1="1346.921875" y2="1346.921875" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"></line></g><g class="signal"><text x="240.734375" y="1377.1171875" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="240.734375">(api) upload/deploy cloudify-k8s chart (nginx)</tspan></text><line x1="73.1796875" x2="812.9453125" y1="1385.3125" y2="1385.3125" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"></line></g><g class="signal"><text x="492.6484375" y="1415.5078125" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="492.6484375">(api) deploy nginx chart</tspan></text><line x1="812.9453125" x2="383.4765625" y1="1423.703125" y2="1423.703125" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"></line></g><g class="signal"><text x="428.6640625" y="1453.8984375" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="428.6640625">(k8s) start nginx pod</tspan></text><line x1="383.4765625" x2="658.5859375" y1="1462.09375" y2="1462.09375" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"></line></g><g class="note"><rect x="905.125" y="1482.09375" width="106.765625" height="28.390625" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="910.125" y="1501.484375" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="910.125">(nginx pod)</tspan></text></g><g class="signal"><text x="764.5625" y="1540.6796875" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="764.5625">create pod</tspan></text><line x1="658.5859375" x2="958.5078125" y1="1548.875" y2="1548.875" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"></line></g><g class="signal"><text x="401.484375" y="1579.0703125" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="401.484375">GET http://(nginx-service)</tspan></text><line x1="73.1796875" x2="958.5078125" y1="1587.265625" y2="1587.265625" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"></line></g><g class="signal"><text x="275.921875" y="1617.4609375" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="275.921875">(api) upload/deploy ves-influxdb chart</tspan></text><line x1="73.1796875" x2="812.9453125" y1="1625.65625" y2="1625.65625" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"></line></g><g class="signal"><text x="461.859375" y="1655.8515625" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="461.859375">(api) deploy ves-influxdb chart</tspan></text><line x1="812.9453125" x2="383.4765625" y1="1664.046875" y2="1664.046875" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"></line></g><g class="signal"><text x="397.875" y="1694.2421875" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="397.875">(k8s) start ves-influxdb pod</tspan></text><line x1="383.4765625" x2="658.5859375" y1="1702.4375" y2="1702.4375" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"></line></g><g class="signal"><text x="1015.89453125" y="1732.6328125" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="1015.89453125">create pod (type=ClusterIP,port=8086)</tspan></text><line x1="658.5859375" x2="1698.6875" y1="1740.828125" y2="1740.828125" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"></line></g><g class="signal"><text x="780.37109375" y="1771.0234375" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="780.37109375">(api) create veseventsdb</tspan></text><line x1="73.1796875" x2="1698.6875" y1="1779.21875" y2="1779.21875" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"></line></g><g class="signal"><text x="297.9140625" y="1809.4140625" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="297.9140625">(api) upload/deploy grafana chart</tspan></text><line x1="73.1796875" x2="812.9453125" y1="1817.609375" y2="1817.609375" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"></line></g><g class="signal"><text x="483.8515625" y="1847.8046875" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="483.8515625">(api) deploy grafana chart</tspan></text><line x1="812.9453125" x2="383.4765625" y1="1856" y2="1856" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"></line></g><g class="signal"><text x="419.8671875" y="1886.1953125" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="419.8671875">(k8s) start grafana pod</tspan></text><line x1="383.4765625" x2="658.5859375" y1="1894.390625" y2="1894.390625" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"></line></g><g class="signal"><text x="1100.66796875" y="1924.5859375" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="1100.66796875">create pod (type=NodePort,port=30300)</tspan></text><line x1="658.5859375" x2="1868.234375" y1="1932.78125" y2="1932.78125" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"></line></g><g class="signal"><text x="851.94921875" y="1962.9765625" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="851.94921875">create VESEvents datasource</tspan></text><line x1="73.1796875" x2="1868.234375" y1="1971.171875" y2="1971.171875" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"></line></g><g class="note"><rect x="1792.859375" y="1991.171875" width="150.75" height="47.59375" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="1797.859375" y="2010.5625" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="1797.859375">(repeat on</tspan><tspan dy="1.2em" x="1797.859375">update schedule)</tspan></text></g><g class="signal"><text x="1708.6875" y="2059.359375" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="1708.6875">(api)</tspan><tspan dy="1.2em" x="1708.6875">query veseventsdb</tspan></text><line x1="1868.234375" x2="1698.6875" y1="2096.359375" y2="2096.359375" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"></line></g><g class="signal"><text x="882.73828125" y="2126.5546875" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="882.73828125">create VES dashboard</tspan></text><line x1="73.1796875" x2="1868.234375" y1="2134.75" y2="2134.75" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"></line></g><g class="note"><rect x="1806.0546875" y="2154.75" width="124.359375" height="47.59375" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="1811.0546875" y="2174.140625" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="1811.0546875">display stats</tspan><tspan dy="1.2em" x="1811.0546875">on dashboard</tspan></text></g><g class="signal"><text x="271.5234375" y="2232.5390625" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="271.5234375">(api) upload/deploy ves-collector chart</tspan></text><line x1="73.1796875" x2="812.9453125" y1="2240.734375" y2="2240.734375" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"></line></g><g class="signal"><text x="457.4609375" y="2270.9296875" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="457.4609375">(api) deploy ves-collector chart</tspan></text><line x1="812.9453125" x2="383.4765625" y1="2279.125" y2="2279.125" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"></line></g><g class="signal"><text x="393.4765625" y="2309.3203125" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="393.4765625">(k8s) start ves-collector pod</tspan></text><line x1="383.4765625" x2="658.5859375" y1="2317.515625" y2="2317.515625" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"></line></g><g class="signal"><text x="931.12109375" y="2347.7109375" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="931.12109375">create pod (type=ClusterIP,port=3001)</tspan></text><line x1="658.5859375" x2="1529.140625" y1="2355.90625" y2="2355.90625" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"></line></g><g class="signal"><text x="271.5234375" y="2386.1015625" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="271.5234375">(api) upload/deploy ves-zookeeper chart</tspan></text><line x1="73.1796875" x2="812.9453125" y1="2394.296875" y2="2394.296875" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"></line></g><g class="signal"><text x="457.4609375" y="2424.4921875" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="457.4609375">(api) deploy ves-zookeeper chart</tspan></text><line x1="812.9453125" x2="383.4765625" y1="2432.6875" y2="2432.6875" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"></line></g><g class="signal"><text x="393.4765625" y="2462.8828125" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="393.4765625">(k8s) start ves-zookeeper pod</tspan></text><line x1="383.4765625" x2="658.5859375" y1="2471.078125" y2="2471.078125" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"></line></g><g class="note"><rect x="1163.0546875" y="2491.078125" width="141.953125" height="28.390625" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="1168.0546875" y="2510.46875" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="1168.0546875">(zookeeper pod)</tspan></text></g><g class="signal"><text x="783.56640625" y="2549.6640625" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="783.56640625">create pod (type=ClusterIP,port=2181)</tspan></text><line x1="658.5859375" x2="1234.03125" y1="2557.859375" y2="2557.859375" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"></line></g><g class="signal"><text x="289.1171875" y="2588.0546875" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="289.1171875">(api) upload/deploy ves-kafka chart</tspan></text><line x1="73.1796875" x2="812.9453125" y1="2596.25" y2="2596.25" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"></line></g><g class="signal"><text x="475.0546875" y="2626.4453125" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="475.0546875">(api) deploy ves-kafka chart</tspan></text><line x1="812.9453125" x2="383.4765625" y1="2634.640625" y2="2634.640625" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"></line></g><g class="signal"><text x="411.0703125" y="2664.8359375" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="411.0703125">(k8s) start ves-kafka pod</tspan></text><line x1="383.4765625" x2="658.5859375" y1="2673.03125" y2="2673.03125" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"></line></g><g class="note"><rect x="1180.6484375" y="2693.03125" width="106.765625" height="28.390625" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="1185.6484375" y="2712.421875" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="1185.6484375">(kafka pod)</tspan></text></g><g class="signal"><text x="783.56640625" y="2751.6171875" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="783.56640625">create pod (type=NodePort,port=30992)</tspan></text><line x1="658.5859375" x2="1234.03125" y1="2759.8125" y2="2759.8125" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"></line></g><g class="note"><rect x="1154.2578125" y="2779.8125" width="159.546875" height="47.59375" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="1159.2578125" y="2799.203125" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="1159.2578125">NodePort required</tspan><tspan dy="1.2em" x="1159.2578125">for barometer</tspan></text></g><g class="signal"><text x="289.1171875" y="2857.6015625" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="289.1171875">(api) upload/deploy ves-agent chart</tspan></text><line x1="73.1796875" x2="812.9453125" y1="2865.796875" y2="2865.796875" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"></line></g><g class="signal"><text x="475.0546875" y="2895.9921875" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="475.0546875">(api) deploy ves-agent chart</tspan></text><line x1="812.9453125" x2="383.4765625" y1="2904.1875" y2="2904.1875" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"></line></g><g class="signal"><text x="411.0703125" y="2934.3828125" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="411.0703125">(k8s) start ves-agent pod</tspan></text><line x1="383.4765625" x2="658.5859375" y1="2942.578125" y2="2942.578125" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"></line></g><g class="signal"><text x="973.90234375" y="2972.7734375" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="973.90234375">create pod</tspan></text><line x1="658.5859375" x2="1377.1875" y1="2980.96875" y2="2980.96875" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"></line></g><g class="signal"><text x="83.1796875" y="3011.1640625" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="83.1796875">(SSH) install barometer container</tspan></text><line x1="73.1796875" x2="383.4765625" y1="3019.359375" y2="3019.359375" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"></line></g><g class="note"><rect x="1002.3046875" y="3039.359375" width="141.953125" height="28.390625" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="1007.3046875" y="3058.75" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="1007.3046875">(on k8s master)</tspan></text></g><g class="signal"><text x="614.01953125" y="3097.9453125" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="614.01953125">create barometer container</tspan></text><line x1="383.4765625" x2="1073.28125" y1="3106.140625" y2="3106.140625" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"></line></g><g class="signal"><text x="1083.28125" y="3126.734375" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="1083.28125">(api) register</tspan><tspan dy="1.2em" x="1083.28125">"collectd" topic</tspan></text><line x1="1073.28125" x2="1234.03125" y1="3163.734375" y2="3163.734375" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"></line></g><g class="note"><rect x="1163.0546875" y="3183.734375" width="141.953125" height="47.59375" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="1168.0546875" y="3203.125" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="1168.0546875">configure topic</tspan><tspan dy="1.2em" x="1168.0546875">via zookeeper</tspan></text></g><g class="signal"><text x="220.734375" y="3261.5234375" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="220.734375">(SSH) install barometer container</tspan></text><line x1="73.1796875" x2="658.5859375" y1="3269.71875" y2="3269.71875" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"></line></g><g class="note"><rect x="1002.3046875" y="3289.71875" width="141.953125" height="28.390625" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="1007.3046875" y="3309.109375" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="1007.3046875">(on k8s worker)</tspan></text></g><g class="signal"><text x="751.57421875" y="3348.3046875" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="751.57421875">create barometer container</tspan></text><line x1="658.5859375" x2="1073.28125" y1="3356.5" y2="3356.5" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"></line></g><g class="signal"><text x="1083.28125" y="3377.09375" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="1083.28125">(api) register</tspan><tspan dy="1.2em" x="1083.28125">"collectd" topic</tspan></text><line x1="1073.28125" x2="1234.03125" y1="3414.09375" y2="3414.09375" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"></line></g><g class="note"><rect x="1136.6640625" y="3434.09375" width="194.734375" height="47.59375" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="1141.6640625" y="3453.484375" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="1141.6640625">(api) configure topic</tspan><tspan dy="1.2em" x="1141.6640625">via zookeeper</tspan></text></g><g class="note"><rect x="1006.703125" y="3501.6875" width="133.15625" height="66.796875" stroke="#000000" fill="#ffffff" style="stroke-width: 2;"></rect><text x="1011.703125" y="3521.078125" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="1011.703125">(on k8s master</tspan><tspan dy="1.2em" x="1011.703125">and workers,</tspan><tspan dy="1.2em" x="1011.703125">per schedule)</tspan></text></g><g class="signal"><text x="1092.078125" y="3589.078125" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="1092.078125">(api) publish</tspan><tspan dy="1.2em" x="1092.078125">collectd stats</tspan></text><line x1="1073.28125" x2="1234.03125" y1="3626.078125" y2="3626.078125" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"></line></g><g class="signal"><text x="1244.03125" y="3646.671875" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="1244.03125">(api)</tspan><tspan dy="1.2em" x="1244.03125">collectd stats</tspan></text><line x1="1234.03125" x2="1377.1875" y1="3683.671875" y2="3683.671875" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"></line></g><g class="signal"><text x="1387.1875" y="3713.8671875" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="1387.1875">(api) VES event</tspan></text><line x1="1377.1875" x2="1529.140625" y1="3722.0625" y2="3722.0625" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"></line></g><g class="signal"><text x="1539.140625" y="3742.65625" style="font-size: 16px; font-family: "Andale Mono", monospace;"><tspan x="1539.140625">(api)</tspan><tspan dy="1.2em" x="1539.140625">veseventsdb entry</tspan></text><line x1="1529.140625" x2="1698.6875" y1="3779.65625" y2="3779.65625" stroke="#000000" fill="none" style="stroke-width: 2; marker-end: url("#markerArrowBlock");"></line></g></svg>
\ No newline at end of file diff --git a/docs/source/models_demo_flow.txt b/docs/source/models_demo_flow.txt new file mode 100644 index 0000000..69f3600 --- /dev/null +++ b/docs/source/models_demo_flow.txt @@ -0,0 +1,112 @@ +Title: High-level flow for the OPNFV Models+VES demo deployment. +# (c) 2018 AT&T Intellectual Property, Inc +# +# 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. +# +# To generate the flow, browse to https://bramp.github.io/js-sequence-diagrams/, +# select Theme "Simple", and paste the content of this file into the editor. + +participant Admin Server as admin +participant k8s master as k8s_master +participant k8s worker as k8s_worker +participant Cloudify Manager as cloudify +participant k8s pods as k8s_pod +participant Barometer as barometer +participant Kafka\nZookeeper as kafka +participant VES Agent as agent +participant VES Collector as collector +participant InfluxDB as influxdb +participant Grafana as grafana +Note over admin, grafana: For brevity, action/api responses are not shown (flow continuation indicates success). +admin->k8s_master: deploy host OS +admin->k8s_worker: deploy host OS +admin->k8s_master: (SSH) install k8s master +note over k8s_master: install k8s and\nkube-system pods +admin->k8s_master: (SSH) install k8s workers +k8s_master->k8s_worker: (SSH) install k8s worker +k8s_worker->k8s_master: (api) register as worker +admin->k8s_master: (SSH) install helm +admin->k8s_master: (SSH) test helm chart (nginx) +k8s_master->k8s_worker: (k8s) start nginx pod +note over k8s_pod: (nginx pod) +k8s_worker->k8s_pod: create pod +k8s_master->k8s_pod: GET http://(nginx-service) +k8s_master->k8s_worker: (k8s) stop nginx pod +k8s_worker->k8s_pod: delete pod +admin->k8s_master: (SSH) deploy ceph-docker\nhelm chart +k8s_master->k8s_worker: (k8s) install ceph-docker +admin->k8s_master: (SSH) test helm chart with\n ceph PVC (dokuwiki) +k8s_master->k8s_worker: (k8s) start dokuwiki pod +note over k8s_pod: (dokuwiki pod) +k8s_worker->k8s_pod: create pod +k8s_master->k8s_pod: GET http://(dokuwiki-service) +note over k8s_worker: (k8s worker) +admin->k8s_master: (SSH) install cloudify manager +note over k8s_master: install cloudify CLI +note over cloudify: (on k8s master) +k8s_master->cloudify: create cloudify manager VM +k8s_master->cloudify: (cfy cli) install cloudify k8s plugin +admin->cloudify: (api) upload/deploy cloudify-k8s chart (nginx) +cloudify->k8s_master: (api) deploy nginx chart +k8s_master->k8s_worker: (k8s) start nginx pod +note over k8s_pod: (nginx pod) +k8s_worker->k8s_pod: create pod +admin->k8s_pod: GET http://(nginx-service) +admin->cloudify: (api) upload/deploy ves-influxdb chart +cloudify->k8s_master: (api) deploy ves-influxdb chart +k8s_master->k8s_worker: (k8s) start ves-influxdb pod +k8s_worker->influxdb: create pod (type=ClusterIP,port=8086) +admin->influxdb: (api) create veseventsdb +admin->cloudify: (api) upload/deploy grafana chart +cloudify->k8s_master: (api) deploy grafana chart +k8s_master->k8s_worker: (k8s) start grafana pod +k8s_worker->grafana: create pod (type=NodePort,port=30300) +admin->grafana: create VESEvents datasource +note over grafana: (repeat on\nupdate schedule) +grafana->influxdb: (api)\nquery veseventsdb +admin->grafana: create VES dashboard +note over grafana: display stats\non dashboard +admin->cloudify: (api) upload/deploy ves-collector chart +cloudify->k8s_master: (api) deploy ves-collector chart +k8s_master->k8s_worker: (k8s) start ves-collector pod +k8s_worker->collector: create pod (type=ClusterIP,port=3001) +admin->cloudify: (api) upload/deploy ves-zookeeper chart +cloudify->k8s_master: (api) deploy ves-zookeeper chart +k8s_master->k8s_worker: (k8s) start ves-zookeeper pod +note over kafka: (zookeeper pod) +k8s_worker->kafka: create pod (type=ClusterIP,port=2181) +admin->cloudify: (api) upload/deploy ves-kafka chart +cloudify->k8s_master: (api) deploy ves-kafka chart +k8s_master->k8s_worker: (k8s) start ves-kafka pod +note over kafka: (kafka pod) +k8s_worker->kafka: create pod (type=NodePort,port=30992) +note over kafka: NodePort required\nfor barometer +admin->cloudify: (api) upload/deploy ves-agent chart +cloudify->k8s_master: (api) deploy ves-agent chart +k8s_master->k8s_worker: (k8s) start ves-agent pod +k8s_worker->agent: create pod +admin->k8s_master: (SSH) install barometer container +note over barometer: (on k8s master) +k8s_master->barometer: create barometer container +barometer->kafka: (api) register\n"collectd" topic +note over kafka: configure topic\nvia zookeeper +admin->k8s_worker: (SSH) install barometer container +note over barometer: (on k8s worker) +k8s_worker->barometer: create barometer container +barometer->kafka: (api) register\n"collectd" topic +note over kafka: (api) configure topic\nvia zookeeper +note over barometer: (on k8s master\nand workers,\nper schedule) +barometer->kafka: (api) publish\ncollectd stats +kafka->agent: (api)\ncollectd stats +agent->collector: (api) VES event +collector->influxdb: (api)\nveseventsdb entry
\ No newline at end of file |