From f3ccc21ea281d85c982f6ee411dd5b53f74aa4fb Mon Sep 17 00:00:00 2001 From: xinhuili Date: Thu, 27 Jun 2019 21:39:38 -0700 Subject: [PATCH] This patch is used to commit helm for VMware These files has been tested on vmware stack Signed-off-by: XINHUI LI wq Change-Id: I9065e9e1b134fa48ea07ac7910ed48ef29bf8000 --- helm-charts/att-workflow-1.2.2.tgz | Bin 0 -> 4265 bytes helm-charts/base-kubernetes-1.0.4.tgz | Bin 0 -> 3865 bytes helm-charts/configs/mininet-values.yaml | 3 + helm-charts/configs/seba-ponsim-latest.yaml | 26 +- helm-charts/configs/seba-ponsim-voltha-1.7.yaml | 107 ++++ helm-charts/etcd-operator-0.8.3.tgz | Bin 0 -> 7438 bytes helm-charts/examples/bbsim-16-latest.yaml | 571 +++++++++++++++++++++ helm-charts/kafka-0.13.3.tgz | Bin 0 -> 27049 bytes .../cdn-services/cdn-local/Chart.yaml | 20 + .../cdn-services/cdn-local/templates/cm.yaml | 77 +++ .../cdn-services/cdn-local/templates/nginx.yaml | 107 ++++ .../cdn-services/cdn-local/values.yaml | 32 ++ .../cdn-services/cdn-remote/Chart.yaml | 20 + .../cdn-remote/templates/ant-media.yaml | 73 +++ .../cdn-services/cdn-remote/templates/cm.yaml | 24 + .../cdn-remote/templates/remote-streamer.yaml | 80 +++ .../cdn-services/cdn-remote/values.yaml | 47 ++ helm-charts/mcord-release/mcord-setup/Chart.yaml | 2 +- .../mcord-setup/templates/multus-sriov-ds.yaml | 2 +- .../mcord-setup/templates/sriov-conf.yaml | 2 +- .../04-sriov-device-plugin-configmap.yaml | 2 +- helm-charts/mcord/mcord-cdn-monitoring/.helmignore | 22 + helm-charts/mcord/mcord-cdn-monitoring/Chart.yaml | 20 + .../mcord-cdn-monitoring/configs/cdn-metrics.json | 269 ++++++++++ .../mcord/mcord-cdn-monitoring/configs/grafana.ini | 461 +++++++++++++++++ .../mcord/mcord-cdn-monitoring/configs/ldap.toml | 86 ++++ .../mcord/mcord-cdn-monitoring/templates/NOTES.txt | 47 ++ .../templates/cadvisor-ds.yaml | 74 +++ .../templates/grafana-cfg.yaml | 78 +++ .../mcord-cdn-monitoring/templates/grafana-rc.yaml | 67 +++ .../templates/grafana-svc.yaml | 33 ++ .../templates/prometheus-cfg.yaml | 40 ++ .../templates/prometheus-rc.yaml | 49 ++ .../templates/prometheus-svc.yaml | 33 ++ helm-charts/mcord/mcord-cdn-monitoring/values.yaml | 38 ++ helm-charts/mininet-0.5.1.tgz | Bin 0 -> 3457 bytes helm-charts/mininet/Chart.yaml | 2 +- helm-charts/mininet/templates/_helpers.tpl | 22 + helm-charts/mininet/templates/deployment.yaml | 4 +- helm-charts/mininet/toposcripts/topo.py | 86 +++- helm-charts/mininet/values.yaml | 8 +- helm-charts/nem-monitoring/Chart.yaml | 2 +- .../grafana-dashboards/aaa-stats.json | 323 ++++++++++++ .../templates/grafana-dashboard-aaa-configmap.yaml | 24 + helm-charts/nem-monitoring/values.yaml | 2 +- helm-charts/onos-1.1.0.tgz | Bin 0 -> 4299 bytes helm-charts/ponnet-1.2.1.tgz | Bin 0 -> 3053 bytes helm-charts/ponnet/Chart.yaml | 2 +- helm-charts/ponnet/templates/genie-cni-1.8.yaml | 2 +- helm-charts/ponnet/templates/ponnet-cni.yaml | 188 +++++++ helm-charts/ponnet/values.yaml | 13 +- helm-charts/ponsim-pod-1.3.3.tgz | Bin 0 -> 4427 bytes helm-charts/ponsimv2-1.1.1.tgz | Bin 0 -> 2140 bytes helm-charts/ponsimv2/Chart.yaml | 2 +- helm-charts/ponsimv2/templates/olt.yaml | 29 +- helm-charts/ponsimv2/templates/onu.yaml | 40 +- helm-charts/ponsimv2/templates/rg.yaml | 26 +- helm-charts/ponsimv2/values.yaml | 8 + helm-charts/seba-services-1.2.5.tgz | Bin 0 -> 8133 bytes helm-charts/voltha-1.0.4.tgz | Bin 0 -> 7078 bytes helm-charts/voltha/charts/etcd-cluster-0.1.2.tgz | Bin 0 -> 1511 bytes helm-charts/voltha/requirements.lock | 6 + helm-charts/voltha/templates/alarm-generator.yaml | 2 +- helm-charts/voltha/templates/freeradius.yaml | 2 +- helm-charts/voltha/templates/netconf.yaml | 2 +- helm-charts/voltha/templates/ofagent.yaml | 2 +- helm-charts/voltha/templates/vcli.yaml | 2 +- helm-charts/voltha/templates/vcore_for_etcd.yaml | 2 +- helm-charts/workflows/att-workflow/Chart.yaml | 4 +- .../charts/att-workflow-driver-1.1.0.tgz | Bin 0 -> 2676 bytes .../workflows/att-workflow/requirements.lock | 6 + helm-charts/workflows/tt-workflow/Chart.yaml | 4 +- helm-charts/xos-core-3.0.7.tgz | Bin 0 -> 12247 bytes helm-charts/xos-core/Chart.yaml | 4 +- helm-charts/xos-core/charts/xos-db-1.0.1.tgz | Bin 0 -> 2008 bytes helm-charts/xos-core/charts/xos-gui-1.2.4.tgz | Bin 0 -> 2513 bytes helm-charts/xos-core/requirements.lock | 9 + helm-charts/xos-core/values.yaml | 11 - .../xos-profiles/base-kubernetes/Chart.yaml | 4 +- .../base-kubernetes/charts/kubernetes-1.0.3.tgz | Bin 0 -> 2289 bytes .../xos-profiles/base-kubernetes/requirements.lock | 6 + .../xos-profiles/base-kubernetes/requirements.yaml | 2 +- helm-charts/xos-profiles/ponsim-pod/Chart.yaml | 4 +- .../ponsim-pod/templates/tosca-job.yaml | 4 +- .../xos-profiles/ponsim-pod/tosca/020-pod-olt.yaml | 91 +++- .../xos-profiles/ponsim-pod/tosca/030-fabric.yaml | 9 +- .../ponsim-pod/tosca/040-subscriber.yaml | 26 +- .../tosca/att-workflow/010-att-workflow.yaml | 13 +- helm-charts/xos-profiles/ponsim-pod/values.yaml | 28 +- helm-charts/xos-profiles/rcord-lite/Chart.yaml | 2 +- .../xos-profiles/rcord-lite/requirements.yaml | 2 +- helm-charts/xos-profiles/seba-services/Chart.yaml | 4 +- .../seba-services/charts/fabric-2.2.0.tgz | Bin 0 -> 2643 bytes .../charts/fabric-crossconnect-1.2.0.tgz | Bin 0 -> 2454 bytes .../seba-services/charts/onos-service-2.1.0.tgz | Bin 0 -> 3020 bytes .../seba-services/charts/rcord-1.0.14.tgz | Bin 0 -> 2399 bytes .../seba-services/charts/sadis-server-1.0.2.tgz | Bin 0 -> 1190 bytes .../seba-services/charts/volt-2.2.3.tgz | Bin 0 -> 2692 bytes .../xos-profiles/seba-services/requirements.lock | 21 + .../xos-profiles/seba-services/requirements.yaml | 2 +- .../seba-services/templates/_tosca.tpl | 4 +- helm-charts/xos-services/kubernetes/Chart.yaml | 4 +- .../xos-services/kubernetes/templates/_helpers.tpl | 1 + helm-charts/xos-services/volt/Chart.yaml | 4 +- helm-charts/xos-services/volt/templates/_tosca.tpl | 4 - helm-charts/xos-services/volt/values.yaml | 1 - 106 files changed, 3433 insertions(+), 154 deletions(-) create mode 100644 helm-charts/att-workflow-1.2.2.tgz create mode 100644 helm-charts/base-kubernetes-1.0.4.tgz create mode 100644 helm-charts/configs/mininet-values.yaml create mode 100644 helm-charts/configs/seba-ponsim-voltha-1.7.yaml create mode 100644 helm-charts/etcd-operator-0.8.3.tgz create mode 100644 helm-charts/examples/bbsim-16-latest.yaml create mode 100644 helm-charts/kafka-0.13.3.tgz create mode 100644 helm-charts/mcord-release/cdn-services/cdn-local/Chart.yaml create mode 100644 helm-charts/mcord-release/cdn-services/cdn-local/templates/cm.yaml create mode 100644 helm-charts/mcord-release/cdn-services/cdn-local/templates/nginx.yaml create mode 100644 helm-charts/mcord-release/cdn-services/cdn-local/values.yaml create mode 100644 helm-charts/mcord-release/cdn-services/cdn-remote/Chart.yaml create mode 100644 helm-charts/mcord-release/cdn-services/cdn-remote/templates/ant-media.yaml create mode 100644 helm-charts/mcord-release/cdn-services/cdn-remote/templates/cm.yaml create mode 100644 helm-charts/mcord-release/cdn-services/cdn-remote/templates/remote-streamer.yaml create mode 100644 helm-charts/mcord-release/cdn-services/cdn-remote/values.yaml create mode 100644 helm-charts/mcord/mcord-cdn-monitoring/.helmignore create mode 100644 helm-charts/mcord/mcord-cdn-monitoring/Chart.yaml create mode 100755 helm-charts/mcord/mcord-cdn-monitoring/configs/cdn-metrics.json create mode 100755 helm-charts/mcord/mcord-cdn-monitoring/configs/grafana.ini create mode 100755 helm-charts/mcord/mcord-cdn-monitoring/configs/ldap.toml create mode 100644 helm-charts/mcord/mcord-cdn-monitoring/templates/NOTES.txt create mode 100644 helm-charts/mcord/mcord-cdn-monitoring/templates/cadvisor-ds.yaml create mode 100644 helm-charts/mcord/mcord-cdn-monitoring/templates/grafana-cfg.yaml create mode 100644 helm-charts/mcord/mcord-cdn-monitoring/templates/grafana-rc.yaml create mode 100644 helm-charts/mcord/mcord-cdn-monitoring/templates/grafana-svc.yaml create mode 100644 helm-charts/mcord/mcord-cdn-monitoring/templates/prometheus-cfg.yaml create mode 100644 helm-charts/mcord/mcord-cdn-monitoring/templates/prometheus-rc.yaml create mode 100644 helm-charts/mcord/mcord-cdn-monitoring/templates/prometheus-svc.yaml create mode 100644 helm-charts/mcord/mcord-cdn-monitoring/values.yaml create mode 100644 helm-charts/mininet-0.5.1.tgz create mode 100644 helm-charts/nem-monitoring/grafana-dashboards/aaa-stats.json create mode 100644 helm-charts/nem-monitoring/templates/grafana-dashboard-aaa-configmap.yaml create mode 100644 helm-charts/onos-1.1.0.tgz create mode 100644 helm-charts/ponnet-1.2.1.tgz create mode 100644 helm-charts/ponnet/templates/ponnet-cni.yaml create mode 100644 helm-charts/ponsim-pod-1.3.3.tgz create mode 100644 helm-charts/ponsimv2-1.1.1.tgz create mode 100644 helm-charts/seba-services-1.2.5.tgz create mode 100644 helm-charts/voltha-1.0.4.tgz create mode 100644 helm-charts/voltha/charts/etcd-cluster-0.1.2.tgz create mode 100644 helm-charts/voltha/requirements.lock create mode 100644 helm-charts/workflows/att-workflow/charts/att-workflow-driver-1.1.0.tgz create mode 100644 helm-charts/workflows/att-workflow/requirements.lock create mode 100644 helm-charts/xos-core-3.0.7.tgz create mode 100644 helm-charts/xos-core/charts/xos-db-1.0.1.tgz create mode 100644 helm-charts/xos-core/charts/xos-gui-1.2.4.tgz create mode 100644 helm-charts/xos-core/requirements.lock create mode 100644 helm-charts/xos-profiles/base-kubernetes/charts/kubernetes-1.0.3.tgz create mode 100644 helm-charts/xos-profiles/base-kubernetes/requirements.lock create mode 100644 helm-charts/xos-profiles/seba-services/charts/fabric-2.2.0.tgz create mode 100644 helm-charts/xos-profiles/seba-services/charts/fabric-crossconnect-1.2.0.tgz create mode 100644 helm-charts/xos-profiles/seba-services/charts/onos-service-2.1.0.tgz create mode 100644 helm-charts/xos-profiles/seba-services/charts/rcord-1.0.14.tgz create mode 100644 helm-charts/xos-profiles/seba-services/charts/sadis-server-1.0.2.tgz create mode 100644 helm-charts/xos-profiles/seba-services/charts/volt-2.2.3.tgz create mode 100644 helm-charts/xos-profiles/seba-services/requirements.lock diff --git a/helm-charts/att-workflow-1.2.2.tgz b/helm-charts/att-workflow-1.2.2.tgz new file mode 100644 index 0000000000000000000000000000000000000000..fb175f33bda4dc86c7e0fdd7d0bf6986cb080241 GIT binary patch literal 4265 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 bty|sdR=2u6zx{sz00960d#~=s0B!&Pg}biU literal 0 HcmV?d00001 diff --git a/helm-charts/configs/mininet-values.yaml b/helm-charts/configs/mininet-values.yaml new file mode 100644 index 0000000..e8618f7 --- /dev/null +++ b/helm-charts/configs/mininet-values.yaml @@ -0,0 +1,3 @@ +--- +nodeSelector: + kubernetes.io/hostname: eepks-n1 diff --git a/helm-charts/configs/seba-ponsim-latest.yaml b/helm-charts/configs/seba-ponsim-latest.yaml index bd4ad22..636b7cb 100644 --- a/helm-charts/configs/seba-ponsim-latest.yaml +++ b/helm-charts/configs/seba-ponsim-latest.yaml @@ -35,7 +35,6 @@ images: tag: 'master' # ONOS onos: - repository: 'matteoscandolo/onos' tag: '1.13.9-rc4' # VOLTHA vcore: @@ -52,14 +51,21 @@ images: tag: 'latest' freeradius: tag: 'latest' +# BBSim + bbsim: + tag: 'latest' # Ponsimv2 olt: - repository: "voltha/voltha-ponsim" tag: "latest" onu: - repository: "voltha/voltha-ponsim" - tag: "latest" + tag: "latest" + rg: + tag: "latest" + +# NEM Monitoring + voltha_kpi_exporter: + tag: 'latest' # in xos-gui sub-chart required by xos-core chart xos-gui: @@ -110,14 +116,22 @@ tt-workflow-driver: # this is mandatory, it's needed to correctly configure the kafka endpoint kafkaService: cord-kafka +# in mininet chart +vlanMatchDepth: 2 +enableMulticast: True + +# in ponsim-pod chart +bandwidthProfiles: True +legacyPonsim: False + # ONOS applications -aaaAppUrl: "https://oss.sonatype.org/service/local/artifact/maven/redirect?r=snapshots&g=org.opencord&a=aaa&v=1.9.0-SNAPSHOT&e=oar" +aaaAppUrl: "https://oss.sonatype.org/content/groups/public/org/opencord/aaa-app/1.9.0-SNAPSHOT/aaa-app-1.9.0-20190521.071409-20.oar" aaaAppVersion: "1.9.0.SNAPSHOT" sadisAppUrl: "https://oss.sonatype.org/service/local/artifact/maven/redirect?r=snapshots&g=org.opencord&a=sadis-app&v=3.1.0-SNAPSHOT&e=oar" sadisAppVersion: "3.1.0.SNAPSHOT" -dhcpl2relayAppUrl: "https://oss.sonatype.org/service/local/artifact/maven/redirect?r=snapshots&g=org.opencord&a=dhcpl2relay&v=1.6.0-SNAPSHOT&e=oar" +dhcpl2relayAppUrl: "https://oss.sonatype.org/service/local/artifact/maven/redirect?r=snapshots&g=org.opencord&a=dhcpl2relay-app&v=1.6.0-SNAPSHOT&e=oar" dhcpl2relayAppVersion: "1.6.0.SNAPSHOT" oltAppUrl: "https://oss.sonatype.org/service/local/artifact/maven/redirect?r=snapshots&g=org.opencord&a=olt-app&v=3.0.1-SNAPSHOT&e=oar" diff --git a/helm-charts/configs/seba-ponsim-voltha-1.7.yaml b/helm-charts/configs/seba-ponsim-voltha-1.7.yaml new file mode 100644 index 0000000..337c3a9 --- /dev/null +++ b/helm-charts/configs/seba-ponsim-voltha-1.7.yaml @@ -0,0 +1,107 @@ +--- +# Copyright 2018-present Open Networking Foundation +# +# 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. + +# Values file for deploying SEBA with Ponsim +# Use this file to deploy the 'master' (dev) versions of all services. +# This is mainly useful for testing. + +# voltha +etcd-cluster: + clusterSize: 1 + +# in xos-core chart and other charts with multiple images +images: + xos_tosca: + tag: '1.3.1' + +# ONOS + onos: + tag: '1.13.9-rc4' + +# VOLTHA + vcore: + tag: 'voltha-1.7' + vcli: + tag: 'voltha-1.7' + ofagent: + tag: 'voltha-1.7' + netconf: + tag: 'voltha-1.7' + envoy_for_etcd: + tag: 'voltha-1.7' + alarm_generator: + tag: 'voltha-1.7' + freeradius: + tag: 'latest' + +# Ponsimv2 + olt: + tag: "voltha-1.7" + onu: + tag: "voltha-1.7" + rg: + tag: "voltha-1.7" + +# in seba service chart +sadis-server: + image: + tag: 'latest' +rcord: + image: + tag: 'master' +volt: + image: + tag: 'master' + + +# in workflow/att-workflow service chart +att-workflow-driver: + image: + tag: '1.2.2' + + # this is mandatory, it's needed to correctly configure the kafka endpoint + kafkaService: cord-kafka + +# in workflow/tt-workflow service chart +tt-workflow-driver: + image: + tag: 'master' + + # this is mandatory, it's needed to correctly configure the kafka endpoint + kafkaService: cord-kafka + +# in mininet chart +vlanMatchDepth: 2 +enableMulticast: True + +# in ponsim-pod chart +bandwidthProfiles: True +legacyPonsim: False + +# ONOS applications +aaaAppUrl: "https://oss.sonatype.org/content/groups/public/org/opencord/aaa-app/1.9.0-SNAPSHOT/aaa-app-1.9.0-20190521.071409-20.oar" +aaaAppVersion: "1.9.0.SNAPSHOT" + +sadisAppUrl: "https://oss.sonatype.org/service/local/artifact/maven/redirect?r=snapshots&g=org.opencord&a=sadis-app&v=3.1.0-SNAPSHOT&e=oar" +sadisAppVersion: "3.1.0.SNAPSHOT" + +dhcpl2relayAppUrl: "https://oss.sonatype.org/service/local/artifact/maven/redirect?r=snapshots&g=org.opencord&a=dhcpl2relay-app&v=1.6.0-SNAPSHOT&e=oar" +dhcpl2relayAppVersion: "1.6.0.SNAPSHOT" + +oltAppUrl: "https://oss.sonatype.org/service/local/artifact/maven/redirect?r=snapshots&g=org.opencord&a=olt-app&v=3.0.1-SNAPSHOT&e=oar" +oltAppVersion: "3.0.1.SNAPSHOT" + +kafkaAppUrl: "https://oss.sonatype.org/service/local/artifact/maven/redirect?r=snapshots&g=org.opencord&a=kafka&v=1.1.0-SNAPSHOT&e=oar" +kafkaAppVersion: "1.1.0.SNAPSHOT" diff --git a/helm-charts/etcd-operator-0.8.3.tgz b/helm-charts/etcd-operator-0.8.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..165fc0a56c2770b884ad00c7b8994eb67fa132a0 GIT binary patch literal 7438 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 literal 0 HcmV?d00001 diff --git a/helm-charts/examples/bbsim-16-latest.yaml b/helm-charts/examples/bbsim-16-latest.yaml new file mode 100644 index 0000000..ade67ed --- /dev/null +++ b/helm-charts/examples/bbsim-16-latest.yaml @@ -0,0 +1,571 @@ +# Copyright 2017-present Open Networking Foundation +# +# 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. + +# Example TOSCA to create a BBSim OLT and 16 ONUs with SiaB +# Load into xos-tosca with: +# curl -H "xos-username: admin@opencord.org" -H "xos-password: letmein" -X POST --data-binary @bbsim-16.yaml http://127.0.0.1:30007/run + +tosca_definitions_version: tosca_simple_yaml_1_0 +imports: + - custom_types/voltservice.yaml + - custom_types/oltdevice.yaml + - custom_types/onudevice.yaml + - custom_types/attworkflowdriverservice.yaml + - custom_types/attworkflowdriverwhitelistentry.yaml + - custom_types/rcordsubscriber.yaml + - custom_types/bandwidthprofile.yaml + +description: Create a simulated OLT Device in VOLTHA +topology_template: + node_templates: + + # Bronze bandwidthprofile for subscriber + bronze_bp: + type: tosca.nodes.BandwidthProfile + properties: + air: 99999 + cbs: 99999 + cir: 99999 + ebs: 99999 + eir: 99999 + name: Bronze + + service#volt: + type: tosca.nodes.VOLTService + properties: + name: volt + must-exist: true + + olt_device: + type: tosca.nodes.OLTDevice + properties: + name: BBSIM_OLT + device_type: openolt + host: bbsim.voltha.svc + port: 50060 + switch_datapath_id: of:0000000000000002 + switch_port: "3" + outer_tpid: "0x8100" + uplink: "65536" + nas_id: "NAS_ID" + serial_number: "bbsim.voltha.svc:50060" + technology: xgspon + requirements: + - volt_service: + node: service#volt + relationship: tosca.relationships.BelongsToOne + + # Whitelist + service#att: + type: tosca.nodes.AttWorkflowDriverService + properties: + name: att-workflow-driver + must-exist: true + + BBSM00000000: + type: tosca.nodes.AttWorkflowDriverWhiteListEntry + properties: + serial_number: BBSM00000000 + pon_port_id: 536870912 + device_id: of:0000626273696d76 + requirements: + - owner: + node: service#att + relationship: tosca.relationships.BelongsToOne + + BBSM00000001: + type: tosca.nodes.AttWorkflowDriverWhiteListEntry + properties: + serial_number: BBSM00000001 + pon_port_id: 536870912 + device_id: of:0000626273696d76 + requirements: + - owner: + node: service#att + relationship: tosca.relationships.BelongsToOne + + BBSM00000002: + type: tosca.nodes.AttWorkflowDriverWhiteListEntry + properties: + serial_number: BBSM00000002 + pon_port_id: 536870912 + device_id: of:0000626273696d76 + requirements: + - owner: + node: service#att + relationship: tosca.relationships.BelongsToOne + + BBSM00000003: + type: tosca.nodes.AttWorkflowDriverWhiteListEntry + properties: + serial_number: BBSM00000003 + pon_port_id: 536870912 + device_id: of:0000626273696d76 + requirements: + - owner: + node: service#att + relationship: tosca.relationships.BelongsToOne + + BBSM00000004: + type: tosca.nodes.AttWorkflowDriverWhiteListEntry + properties: + serial_number: BBSM00000004 + pon_port_id: 536870912 + device_id: of:0000626273696d76 + requirements: + - owner: + node: service#att + relationship: tosca.relationships.BelongsToOne + + BBSM00000005: + type: tosca.nodes.AttWorkflowDriverWhiteListEntry + properties: + serial_number: BBSM00000005 + pon_port_id: 536870912 + device_id: of:0000626273696d76 + requirements: + - owner: + node: service#att + relationship: tosca.relationships.BelongsToOne + + BBSM00000006: + type: tosca.nodes.AttWorkflowDriverWhiteListEntry + properties: + serial_number: BBSM00000006 + pon_port_id: 536870912 + device_id: of:0000626273696d76 + requirements: + - owner: + node: service#att + relationship: tosca.relationships.BelongsToOne + + BBSM00000007: + type: tosca.nodes.AttWorkflowDriverWhiteListEntry + properties: + serial_number: BBSM00000007 + pon_port_id: 536870912 + device_id: of:0000626273696d76 + requirements: + - owner: + node: service#att + relationship: tosca.relationships.BelongsToOne + + BBSM00000008: + type: tosca.nodes.AttWorkflowDriverWhiteListEntry + properties: + serial_number: BBSM00000008 + pon_port_id: 536870912 + device_id: of:0000626273696d76 + requirements: + - owner: + node: service#att + relationship: tosca.relationships.BelongsToOne + + BBSM00000009: + type: tosca.nodes.AttWorkflowDriverWhiteListEntry + properties: + serial_number: BBSM00000009 + pon_port_id: 536870912 + device_id: of:0000626273696d76 + requirements: + - owner: + node: service#att + relationship: tosca.relationships.BelongsToOne + + BBSM0000000a: + type: tosca.nodes.AttWorkflowDriverWhiteListEntry + properties: + serial_number: BBSM0000000a + pon_port_id: 536870912 + device_id: of:0000626273696d76 + requirements: + - owner: + node: service#att + relationship: tosca.relationships.BelongsToOne + + BBSM0000000b: + type: tosca.nodes.AttWorkflowDriverWhiteListEntry + properties: + serial_number: BBSM0000000b + pon_port_id: 536870912 + device_id: of:0000626273696d76 + requirements: + - owner: + node: service#att + relationship: tosca.relationships.BelongsToOne + + BBSM0000000c: + type: tosca.nodes.AttWorkflowDriverWhiteListEntry + properties: + serial_number: BBSM0000000c + pon_port_id: 536870912 + device_id: of:0000626273696d76 + requirements: + - owner: + node: service#att + relationship: tosca.relationships.BelongsToOne + + BBSM0000000d: + type: tosca.nodes.AttWorkflowDriverWhiteListEntry + properties: + serial_number: BBSM0000000d + pon_port_id: 536870912 + device_id: of:0000626273696d76 + requirements: + - owner: + node: service#att + relationship: tosca.relationships.BelongsToOne + + BBSM0000000e: + type: tosca.nodes.AttWorkflowDriverWhiteListEntry + properties: + serial_number: BBSM0000000e + pon_port_id: 536870912 + device_id: of:0000626273696d76 + requirements: + - owner: + node: service#att + relationship: tosca.relationships.BelongsToOne + + BBSM0000000f: + type: tosca.nodes.AttWorkflowDriverWhiteListEntry + properties: + serial_number: BBSM0000000f + pon_port_id: 536870912 + device_id: of:0000626273696d76 + requirements: + - owner: + node: service#att + relationship: tosca.relationships.BelongsToOne + + # Pre-provision the subscriber + bbsim_subscriber_0: + type: tosca.nodes.RCORDSubscriber + properties: + name: Sub_BBSM00000000 + status: pre-provisioned + c_tag: 900 + s_tag: 999 + onu_device: BBSM00000000 + circuit_id: circuit0 + remote_id: remote0 + nas_port_id: PON 2/1/01/1:1.1.0 + tech_profile_id: 64 + requirements: + - upstream_bps: + node: bronze_bp + relationship: tosca.relationships.BelongsToOne + - downstream_bps: + node: bronze_bp + relationship: tosca.relationships.BelongsToOne + + bbsim_subscriber_1: + type: tosca.nodes.RCORDSubscriber + properties: + name: Sub_BBSM00000001 + status: pre-provisioned + c_tag: 901 + s_tag: 999 + onu_device: BBSM00000001 + circuit_id: circuit1 + remote_id: remote1 + nas_port_id: PON 2/1/01/1:1.1.1 + tech_profile_id: 64 + requirements: + - upstream_bps: + node: bronze_bp + relationship: tosca.relationships.BelongsToOne + - downstream_bps: + node: bronze_bp + relationship: tosca.relationships.BelongsToOne + + bbsim_subscriber_2: + type: tosca.nodes.RCORDSubscriber + properties: + name: Sub_BBSM00000002 + status: pre-provisioned + c_tag: 902 + s_tag: 999 + onu_device: BBSM00000002 + circuit_id: circuit2 + remote_id: remote2 + nas_port_id: PON 2/1/01/1:1.1.2 + tech_profile_id: 64 + requirements: + - upstream_bps: + node: bronze_bp + relationship: tosca.relationships.BelongsToOne + - downstream_bps: + node: bronze_bp + relationship: tosca.relationships.BelongsToOne + + bbsim_subscriber_3: + type: tosca.nodes.RCORDSubscriber + properties: + name: Sub_BBSM00000003 + status: pre-provisioned + c_tag: 903 + s_tag: 999 + onu_device: BBSM00000003 + circuit_id: circuit3 + remote_id: remote3 + nas_port_id: PON 2/1/01/1:1.1.3 + tech_profile_id: 64 + requirements: + - upstream_bps: + node: bronze_bp + relationship: tosca.relationships.BelongsToOne + - downstream_bps: + node: bronze_bp + relationship: tosca.relationships.BelongsToOne + + bbsim_subscriber_4: + type: tosca.nodes.RCORDSubscriber + properties: + name: Sub_BBSM00000004 + status: pre-provisioned + c_tag: 904 + s_tag: 999 + onu_device: BBSM00000004 + circuit_id: circuit4 + remote_id: remote4 + nas_port_id: PON 2/1/01/1:1.1.4 + tech_profile_id: 64 + requirements: + - upstream_bps: + node: bronze_bp + relationship: tosca.relationships.BelongsToOne + - downstream_bps: + node: bronze_bp + relationship: tosca.relationships.BelongsToOne + + bbsim_subscriber_5: + type: tosca.nodes.RCORDSubscriber + properties: + name: Sub_BBSM00000005 + status: pre-provisioned + c_tag: 905 + s_tag: 999 + onu_device: BBSM00000005 + circuit_id: circuit5 + remote_id: remote5 + nas_port_id: PON 2/1/01/1:1.1.5 + tech_profile_id: 64 + requirements: + - upstream_bps: + node: bronze_bp + relationship: tosca.relationships.BelongsToOne + - downstream_bps: + node: bronze_bp + relationship: tosca.relationships.BelongsToOne + + bbsim_subscriber_6: + type: tosca.nodes.RCORDSubscriber + properties: + name: Sub_BBSM00000006 + status: pre-provisioned + c_tag: 906 + s_tag: 999 + onu_device: BBSM00000006 + circuit_id: circuit6 + remote_id: remote6 + nas_port_id: PON 2/1/01/1:1.1.6 + tech_profile_id: 64 + requirements: + - upstream_bps: + node: bronze_bp + relationship: tosca.relationships.BelongsToOne + - downstream_bps: + node: bronze_bp + relationship: tosca.relationships.BelongsToOne + + bbsim_subscriber_7: + type: tosca.nodes.RCORDSubscriber + properties: + name: Sub_BBSM00000007 + status: pre-provisioned + c_tag: 907 + s_tag: 999 + onu_device: BBSM00000007 + circuit_id: circuit7 + remote_id: remote7 + nas_port_id: PON 2/1/01/1:1.1.7 + tech_profile_id: 64 + requirements: + - upstream_bps: + node: bronze_bp + relationship: tosca.relationships.BelongsToOne + - downstream_bps: + node: bronze_bp + relationship: tosca.relationships.BelongsToOne + + bbsim_subscriber_8: + type: tosca.nodes.RCORDSubscriber + properties: + name: Sub_BBSM00000008 + status: pre-provisioned + c_tag: 908 + s_tag: 999 + onu_device: BBSM00000008 + circuit_id: circuit8 + remote_id: remote8 + nas_port_id: PON 2/1/01/1:1.1.8 + tech_profile_id: 64 + requirements: + - upstream_bps: + node: bronze_bp + relationship: tosca.relationships.BelongsToOne + - downstream_bps: + node: bronze_bp + relationship: tosca.relationships.BelongsToOne + + bbsim_subscriber_9: + type: tosca.nodes.RCORDSubscriber + properties: + name: Sub_BBSM00000009 + status: pre-provisioned + c_tag: 909 + s_tag: 999 + onu_device: BBSM00000009 + circuit_id: circuit9 + remote_id: remote9 + nas_port_id: PON 2/1/01/1:1.1.9 + tech_profile_id: 64 + requirements: + - upstream_bps: + node: bronze_bp + relationship: tosca.relationships.BelongsToOne + - downstream_bps: + node: bronze_bp + relationship: tosca.relationships.BelongsToOne + + bbsim_subscriber_a: + type: tosca.nodes.RCORDSubscriber + properties: + name: Sub_BBSM0000000a + status: pre-provisioned + c_tag: 910 + s_tag: 999 + onu_device: BBSM0000000a + circuit_id: circuit10a + remote_id: remote10a + nas_port_id: PON 2/1/01/1:1.1.10a + tech_profile_id: 64 + requirements: + - upstream_bps: + node: bronze_bp + relationship: tosca.relationships.BelongsToOne + - downstream_bps: + node: bronze_bp + relationship: tosca.relationships.BelongsToOne + + bbsim_subscriber_b: + type: tosca.nodes.RCORDSubscriber + properties: + name: Sub_BBSM0000000b + status: pre-provisioned + c_tag: 911 + s_tag: 999 + onu_device: BBSM0000000b + circuit_id: circuit10b + remote_id: remote10b + nas_port_id: PON 2/1/01/1:1.1.10b + tech_profile_id: 64 + requirements: + - upstream_bps: + node: bronze_bp + relationship: tosca.relationships.BelongsToOne + - downstream_bps: + node: bronze_bp + relationship: tosca.relationships.BelongsToOne + + bbsim_subscriber_c: + type: tosca.nodes.RCORDSubscriber + properties: + name: Sub_BBSM0000000c + status: pre-provisioned + c_tag: 912 + s_tag: 999 + onu_device: BBSM0000000c + circuit_id: circuit10c + remote_id: remote10c + nas_port_id: PON 2/1/01/1:1.1.10c + tech_profile_id: 64 + requirements: + - upstream_bps: + node: bronze_bp + relationship: tosca.relationships.BelongsToOne + - downstream_bps: + node: bronze_bp + relationship: tosca.relationships.BelongsToOne + + bbsim_subscriber_d: + type: tosca.nodes.RCORDSubscriber + properties: + name: Sub_BBSM0000000d + status: pre-provisioned + c_tag: 913 + s_tag: 999 + onu_device: BBSM0000000d + circuit_id: circuit10d + remote_id: remote10d + nas_port_id: PON 2/1/01/1:1.1.10d + tech_profile_id: 64 + requirements: + - upstream_bps: + node: bronze_bp + relationship: tosca.relationships.BelongsToOne + - downstream_bps: + node: bronze_bp + relationship: tosca.relationships.BelongsToOne + + bbsim_subscriber_e: + type: tosca.nodes.RCORDSubscriber + properties: + name: Sub_BBSM0000000e + status: pre-provisioned + c_tag: 914 + s_tag: 999 + onu_device: BBSM0000000e + circuit_id: circuit10e + remote_id: remote10e + nas_port_id: PON 2/1/01/1:1.1.10e + tech_profile_id: 64 + requirements: + - upstream_bps: + node: bronze_bp + relationship: tosca.relationships.BelongsToOne + - downstream_bps: + node: bronze_bp + relationship: tosca.relationships.BelongsToOne + + bbsim_subscriber_f: + type: tosca.nodes.RCORDSubscriber + properties: + name: Sub_BBSM0000000f + status: pre-provisioned + c_tag: 915 + s_tag: 999 + onu_device: BBSM0000000f + circuit_id: circuit10f + remote_id: remote10f + nas_port_id: PON 2/1/01/1:1.1.10f + tech_profile_id: 64 + requirements: + - upstream_bps: + node: bronze_bp + relationship: tosca.relationships.BelongsToOne + - downstream_bps: + node: bronze_bp + relationship: tosca.relationships.BelongsToOne diff --git a/helm-charts/kafka-0.13.3.tgz b/helm-charts/kafka-0.13.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..26ea8d9870867b8b40e7c73f6be0e1c5d38222b4 GIT binary patch literal 27049 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 Yo~P&O`EsBC4*&rF|L}oC>HrP`03BzSegFUf literal 0 HcmV?d00001 diff --git a/helm-charts/mcord-release/cdn-services/cdn-local/Chart.yaml b/helm-charts/mcord-release/cdn-services/cdn-local/Chart.yaml new file mode 100644 index 0000000..d162d11 --- /dev/null +++ b/helm-charts/mcord-release/cdn-services/cdn-local/Chart.yaml @@ -0,0 +1,20 @@ +--- +# Copyright 2019-present Open Networking Foundation +# +# 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. + +apiVersion: v1 +appVersion: "1.0" +description: A Helm chart for M-CORD CDN Services in Local Edge +name: cdn-local +version: 0.0.1 diff --git a/helm-charts/mcord-release/cdn-services/cdn-local/templates/cm.yaml b/helm-charts/mcord-release/cdn-services/cdn-local/templates/cm.yaml new file mode 100644 index 0000000..d6d7849 --- /dev/null +++ b/helm-charts/mcord-release/cdn-services/cdn-local/templates/cm.yaml @@ -0,0 +1,77 @@ +--- +# Copyright 2019-present Open Networking Foundation +# +# 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. + +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: nginx-rtmp-config +data: + nginx_rtmp_config.sh: |+ + #!/bin/bash + ip route add {{ .Values.ue_ip_subnet1 }} via {{ .Values.spgwu_sgiip }} dev sgi-net; + ip route add {{ .Values.ue_ip_subnet2 }} via {{ .Values.spgwu_sgiip }} dev sgi-net; + ip link set sgi-net mtu 1200; + cp /conf/nginx.conf /etc/nginx/ + nginx -g "daemon off;" +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: nginx-rtmp-conf +data: + nginx.conf: |+ + worker_processes 1; + + events { + worker_connections 1024; + } + + + http { + include mime.types; + default_type application/octet-stream; + + sendfile on; + keepalive_timeout 65; + + server { + listen 8085; + server_name localhost; + + location / { + root html; + index index.html index.htm; + } + + error_page 500 502 503 504 /50x.html; + location = /50x.html { + root html; + } + } + } + rtmp { + server { + listen 1935; + chunk_size 4000; + application r { + live on; + pull rtmp://{{ .Values.remote_ip }}:30935/LiveApp/{{ .Values.stream_name }}; + } + application l { + play /opt/cdn/movies; + } + } + } diff --git a/helm-charts/mcord-release/cdn-services/cdn-local/templates/nginx.yaml b/helm-charts/mcord-release/cdn-services/cdn-local/templates/nginx.yaml new file mode 100644 index 0000000..7c9548f --- /dev/null +++ b/helm-charts/mcord-release/cdn-services/cdn-local/templates/nginx.yaml @@ -0,0 +1,107 @@ +--- +# Copyright 2019-present Open Networking Foundation +# +# 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. + +--- +apiVersion: v1 +kind: Service +metadata: + name: nginx-rtmp +spec: + selector: + app: nginx-rtmp + type: NodePort + ports: + - name: vlc + port: {{ .Values.nginx.ports.rtmp_orig }} + nodePort: {{ .Values.nginx.ports.rtmp_np }} + protocol: TCP + +--- +apiVersion: apps/v1beta1 +kind: StatefulSet +metadata: + name: nginx-rtmp +spec: + serviceName: nginx-rtmp + replicas: 1 + template: + metadata: + labels: + name: nginx-rtmp + app: nginx-rtmp + annotations: + k8s.v1.cni.cncf.io/networks: '[ + { "name": "sgi-net", "interface": "sgi-net", "namespace": "default" } + ]' + spec: + #hostNetwork: true + nodeSelector: + kubernetes.io/hostname: {{ .Values.cdn_node_selector }} + terminationGracePeriodSeconds: 0 + imagePullSecrets: + - name: nexus-docker-secret + initContainers: + - name: "nginx-rtmp-init" + image: {{ .Values.nginx.images.nginx_image }} + imagePullPolicy: "IfNotPresent" + args: + - cp /config/*.sh /shared-vol;cp /conf/* /shared-vol + command: + - "/bin/bash" + - "-c" + volumeMounts: + - name: "shared-volume" + mountPath: "/shared-vol" + - name: "nginx-rtmp-config" + mountPath: "/config" + - name: "nginx-rtmp-conf" + mountPath: "/conf" + containers: + - name: nginx-rtmp + image: {{ .Values.nginx.images.nginx_image }} + imagePullPolicy: IfNotPresent + args: + - chmod a+x /config/*.sh;/config/nginx_rtmp_config.sh + command: + - "/bin/bash" + - "-c" + tty: true + securityContext: + privileged: true + ports: + - containerPort: {{ .Values.nginx.ports.rtmp_orig }} + volumeMounts: + - name: shared-volume + mountPath: /config + - name: shared-volume + mountPath: /conf + resources: + limits: + intel.com/sriov: '2' + volumes: + - name: nginx-rtmp-config + configMap: + name: nginx-rtmp-config + items: + - key: nginx_rtmp_config.sh + path: nginx_rtmp_config.sh + - name: nginx-rtmp-conf + configMap: + name: nginx-rtmp-conf + items: + - key: nginx.conf + path: nginx.conf + - name: shared-volume + emptyDir: {} \ No newline at end of file diff --git a/helm-charts/mcord-release/cdn-services/cdn-local/values.yaml b/helm-charts/mcord-release/cdn-services/cdn-local/values.yaml new file mode 100644 index 0000000..965456c --- /dev/null +++ b/helm-charts/mcord-release/cdn-services/cdn-local/values.yaml @@ -0,0 +1,32 @@ +--- +# Copyright 2019-present Open Networking Foundation +# +# 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. + +cdn_node_selector: node3 +nginx_hostname: "nginx" +local_vlc_hostname: "local_vlc" + +remote_ip: 10.90.0.132 +stream_name: 1.stream +spgwu_sgiip: 13.0.0.83 +ue_ip_subnet1: 16.0.0.0/8 +ue_ip_subnet2: 17.0.0.0/8 + +nginx: + images: + nginx_image: "woojoong/nginx:onf-video-v3" + ports: + rtmp_orig: 1935 + rtmp_np: 31935 + replicas: 1 diff --git a/helm-charts/mcord-release/cdn-services/cdn-remote/Chart.yaml b/helm-charts/mcord-release/cdn-services/cdn-remote/Chart.yaml new file mode 100644 index 0000000..719ccf3 --- /dev/null +++ b/helm-charts/mcord-release/cdn-services/cdn-remote/Chart.yaml @@ -0,0 +1,20 @@ +--- +# Copyright 2019-present Open Networking Foundation +# +# 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. + +apiVersion: v1 +appVersion: "1.0" +description: A Helm chart for M-CORD CDN Services in Remote Edge +name: cdn-remote +version: 0.0.1 diff --git a/helm-charts/mcord-release/cdn-services/cdn-remote/templates/ant-media.yaml b/helm-charts/mcord-release/cdn-services/cdn-remote/templates/ant-media.yaml new file mode 100644 index 0000000..0dc8efc --- /dev/null +++ b/helm-charts/mcord-release/cdn-services/cdn-remote/templates/ant-media.yaml @@ -0,0 +1,73 @@ +--- +# Copyright 2019-present Open Networking Foundation +# +# 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. + +--- +apiVersion: v1 +kind: Service +metadata: + name: antmedia +spec: + selector: + app: antmedia + type: NodePort + ports: + - name: httpui + port: {{ .Values.antmedia.ports.httpui }} + nodePort: {{ .Values.antmedia.ports.httpui_np }} + protocol: TCP + - name: rtmp + port: {{ .Values.antmedia.ports.rtmp }} + nodePort: {{ .Values.antmedia.ports.rtmp_np }} + protocol: TCP + +--- +apiVersion: apps/v1 +kind: StatefulSet +metadata: + name: antmedia + labels: + name: antmedia + app: antmedia +spec: + replicas: {{ .Values.antmedia.replicas }} + selector: + matchLabels: + app: antmedia + serviceName: "antmedia" + template: + metadata: + labels: + app: antmedia + name: antmedia + spec: + terminationGracePeriodSeconds: 1 + nodeSelector: + kubernetes.io/hostname: {{ .Values.cdn_node_selector }} + containers: + - name: antmedia + image: {{ .Values.antmedia.images.antmedia_image }} + imagePullPolicy: IfNotPresent + ports: + - containerPort: {{ .Values.antmedia.ports.httpui }} + - containerPort: {{ .Values.antmedia.ports.rtmp }} + stdin: true + tty: true + command: [ "bash", "-xc"] + args: + - cd /usr/local/antmedia && ./start.sh | tee /opt/start.log + resources: + limits: + cpu: {{ .Values.antmedia.resources.cpu }} + memory: {{ .Values.antmedia.resources.mem }} \ No newline at end of file diff --git a/helm-charts/mcord-release/cdn-services/cdn-remote/templates/cm.yaml b/helm-charts/mcord-release/cdn-services/cdn-remote/templates/cm.yaml new file mode 100644 index 0000000..6b419c5 --- /dev/null +++ b/helm-charts/mcord-release/cdn-services/cdn-remote/templates/cm.yaml @@ -0,0 +1,24 @@ +--- +# Copyright 2019-present Open Networking Foundation +# +# 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. + +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: start-remote-stream +data: + start-remote-stream.sh: |+ + #!/bin/bash + while true; do ffmpeg -re -i /opt/cdn/movies/{{ .Values.remote_streaming.video_quality }}.mp4 -c copy -f flv rtmp://{{ .Values.remote_streaming.antmedia_ip }}:30935/LiveApp/{{ .Values.stream_name }}; done \ No newline at end of file diff --git a/helm-charts/mcord-release/cdn-services/cdn-remote/templates/remote-streamer.yaml b/helm-charts/mcord-release/cdn-services/cdn-remote/templates/remote-streamer.yaml new file mode 100644 index 0000000..b974c44 --- /dev/null +++ b/helm-charts/mcord-release/cdn-services/cdn-remote/templates/remote-streamer.yaml @@ -0,0 +1,80 @@ +--- +# Copyright 2019-present Open Networking Foundation +# +# 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. + +--- +apiVersion: v1 +kind: Service +metadata: + name: remote-streaming +spec: + selector: + app: remote-streaming + type: NodePort + ports: + - name: vlc + port: {{ .Values.remote_streaming.ports.vlc }} + nodePort: {{ .Values.remote_streaming.ports.vlc_np }} + protocol: TCP + - name: http + port: {{ .Values.remote_streaming.ports.http }} + nodePort: {{ .Values.remote_streaming.ports.http_np }} + protocol: TCP + +--- +apiVersion: apps/v1beta1 +kind: StatefulSet +metadata: + name: remote-streaming +spec: + replicas: {{ .Values.remote_streaming.replicas }} + selector: + matchLabels: + app: remote-streaming + serviceName: "remote-streaming" + template: + metadata: + labels: + app: remote-streaming + name: remote-streaming + spec: + terminationGracePeriodSeconds: 1 + nodeSelector: + kubernetes.io/hostname: {{ .Values.cdn_node_selector }} + containers: + - name: streaming + image: {{ .Values.remote_streaming.images.remote_streaming_image }} + imagePullPolicy: IfNotPresent + ports: + - containerPort: {{ .Values.remote_streaming.ports.vlc }} + - containerPort: {{ .Values.remote_streaming.ports.http }} + stdin: true + tty: true + command: [ "bash", "-xc"] + args: + - sed -i 's/geteuid/getppid/' /usr/bin/vlc; + /opt/start-remote-stream.sh + resources: + limits: + cpu: {{ .Values.remote_streaming.resources.cpu }} + memory: {{ .Values.remote_streaming.resources.mem }} + volumeMounts: + - name: start-script + mountPath: /opt/start-remote-stream.sh + subPath: start-remote-stream.sh + volumes: + - name: start-script + configMap: + name: start-remote-stream + defaultMode: 493 \ No newline at end of file diff --git a/helm-charts/mcord-release/cdn-services/cdn-remote/values.yaml b/helm-charts/mcord-release/cdn-services/cdn-remote/values.yaml new file mode 100644 index 0000000..e1e8ad8 --- /dev/null +++ b/helm-charts/mcord-release/cdn-services/cdn-remote/values.yaml @@ -0,0 +1,47 @@ +--- +# Copyright 2019-present Open Networking Foundation +# +# 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. + +namespace: remotecdn +cdn_node_selector: node2 +remote_streaming_hostname: "remote-streaming" +stream_name: 1.stream + +remote_streaming: + video_quality: 360 + antmedia_ip: 10.90.0.132 + images: + remote_streaming_image: "woojoong/mwc-cdn:remote-v3" + ports: + vlc: 8089 + vlc_np: 31889 + http: 50001 + http_np: 31501 + replicas: 1 + resources: + cpu: 3 + mem: "1Gi" + +antmedia: + images: + antmedia_image: "woojoong/antmedia:1.7.0" + ports: + httpui: 5080 + httpui_np: 32080 + rtmp: 1935 + rtmp_np: 30935 + replicas: 1 + resources: + cpu: 3 + mem: "1Gi" diff --git a/helm-charts/mcord-release/mcord-setup/Chart.yaml b/helm-charts/mcord-release/mcord-setup/Chart.yaml index ddbb3f3..c3db31c 100644 --- a/helm-charts/mcord-release/mcord-setup/Chart.yaml +++ b/helm-charts/mcord-release/mcord-setup/Chart.yaml @@ -18,4 +18,4 @@ apiVersion: v1 appVersion: "1.0" description: The prerequisite setup of M-CORD name: mcord-setup -version: 0.1.0 +version: 0.1.1 diff --git a/helm-charts/mcord-release/mcord-setup/templates/multus-sriov-ds.yaml b/helm-charts/mcord-release/mcord-setup/templates/multus-sriov-ds.yaml index 135e769..b65fa64 100644 --- a/helm-charts/mcord-release/mcord-setup/templates/multus-sriov-ds.yaml +++ b/helm-charts/mcord-release/mcord-setup/templates/multus-sriov-ds.yaml @@ -81,7 +81,7 @@ metadata: data: install-certs.sh: | # Copied from Calico - # https://github.com/projectcalico/cni-plugin/blob/master/k8s-install/scripts/install-cni.sh + # https://github.com/projectnsx/cni-plugin/blob/master/k8s-install/scripts/install-cni.sh touch /host/etc/cni/net.d/multus-kubeconfig chmod 600 /host/etc/cni/net.d/multus-kubeconfig SERVICE_ACCOUNT_PATH=/var/run/secrets/multus/serviceaccount diff --git a/helm-charts/mcord-release/mcord-setup/templates/sriov-conf.yaml b/helm-charts/mcord-release/mcord-setup/templates/sriov-conf.yaml index 963beb6..03befce 100644 --- a/helm-charts/mcord-release/mcord-setup/templates/sriov-conf.yaml +++ b/helm-charts/mcord-release/mcord-setup/templates/sriov-conf.yaml @@ -28,7 +28,7 @@ data: "resourceName": {{ .Values.sriov.name | quote }}, "rootDevices": [{{ .Values.sriov.devicepci | quote }}], "sriovMode": true, - "deviceType": "vfio" + "deviceType": {{ .Values.sriov.devicetype | quote }} } ] } diff --git a/helm-charts/mcord/cni-config/04-sriov-device-plugin-configmap.yaml b/helm-charts/mcord/cni-config/04-sriov-device-plugin-configmap.yaml index a5f9d20..ddaf93b 100644 --- a/helm-charts/mcord/cni-config/04-sriov-device-plugin-configmap.yaml +++ b/helm-charts/mcord/cni-config/04-sriov-device-plugin-configmap.yaml @@ -22,7 +22,7 @@ metadata: data: install-certs.sh: | # Copied from Calico - # https://github.com/projectcalico/cni-plugin/blob/master/k8s-install/scripts/install-cni.sh + # https://github.com/projectnsx/cni-plugin/blob/master/k8s-install/scripts/install-cni.sh touch /host/etc/cni/net.d/multus-kubeconfig chmod 600 /host/etc/cni/net.d/multus-kubeconfig SERVICE_ACCOUNT_PATH=/var/run/secrets/kubernetes.io/serviceaccount diff --git a/helm-charts/mcord/mcord-cdn-monitoring/.helmignore b/helm-charts/mcord/mcord-cdn-monitoring/.helmignore new file mode 100644 index 0000000..50af031 --- /dev/null +++ b/helm-charts/mcord/mcord-cdn-monitoring/.helmignore @@ -0,0 +1,22 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +.vscode/ diff --git a/helm-charts/mcord/mcord-cdn-monitoring/Chart.yaml b/helm-charts/mcord/mcord-cdn-monitoring/Chart.yaml new file mode 100644 index 0000000..c8babb2 --- /dev/null +++ b/helm-charts/mcord/mcord-cdn-monitoring/Chart.yaml @@ -0,0 +1,20 @@ +--- +# Copyright 2018-present Open Networking Foundation +# +# 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. + +apiVersion: v1 +appVersion: "1.0" +description: A Helm chart for Time Series Storage and Dashboard for CDN monitoring +name: mcord-cdn-monitoring +version: 0.1.0 diff --git a/helm-charts/mcord/mcord-cdn-monitoring/configs/cdn-metrics.json b/helm-charts/mcord/mcord-cdn-monitoring/configs/cdn-metrics.json new file mode 100755 index 0000000..e24b6d6 --- /dev/null +++ b/helm-charts/mcord/mcord-cdn-monitoring/configs/cdn-metrics.json @@ -0,0 +1,269 @@ +{ + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": "-- Grafana --", + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "type": "dashboard" + } + ] + }, + "editable": true, + "gnetId": null, + "graphTooltip": 0, + "id": 3, + "links": [], + "panels": [ + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "prom", + "fill": 1, + "gridPos": { + "h": 9, + "w": 12, + "x": 0, + "y": 0 + }, + "id": 2, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "show": true, + "sort": "max", + "sortDesc": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(irate(container_network_transmit_bytes_total{container_label_io_kubernetes_pod_name=\"wowza-0\"}[5m])) by (interface)", + "format": "time_series", + "hide": false, + "intervalFactor": 1, + "legendFormat": "tx: {{interface}}", + "refId": "A" + }, + { + "expr": "-sum(irate(container_network_receive_bytes_total{container_label_io_kubernetes_pod_name=\"wowza-0\"}[5m])) by (interface)", + "format": "time_series", + "hide": false, + "intervalFactor": 1, + "legendFormat": "rx: {{interface}}", + "refId": "B" + }, + { + "expr": "", + "format": "time_series", + "intervalFactor": 1, + "refId": "C" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Remote", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "Bps", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "prom", + "fill": 1, + "gridPos": { + "h": 9, + "w": 12, + "x": 12, + "y": 0 + }, + "id": 3, + "legend": { + "alignAsTable": true, + "avg": true, + "current": true, + "max": true, + "min": true, + "show": true, + "sort": "max", + "sortDesc": true, + "total": false, + "values": true + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "sum(irate(container_network_transmit_bytes_total{container_label_io_kubernetes_pod_name=\"nginx-rtmp-0\"}[5m])) by (interface)", + "format": "time_series", + "hide": false, + "intervalFactor": 1, + "legendFormat": "tx: {{interface}}", + "refId": "A" + }, + { + "expr": "-sum(irate(container_network_receive_bytes_total{container_label_io_kubernetes_pod_name=\"nginx-rtmp-0\"}[5m])) by (interface)", + "format": "time_series", + "hide": false, + "intervalFactor": 1, + "legendFormat": "rx: {{interface}}", + "refId": "B" + }, + { + "expr": "", + "format": "time_series", + "intervalFactor": 1, + "refId": "C" + } + ], + "thresholds": [], + "timeFrom": null, + "timeRegions": [], + "timeShift": null, + "title": "Local", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "format": "Bps", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + } + ], + "refresh": "1m", + "schemaVersion": 16, + "style": "dark", + "tags": [], + "templating": { + "list": [] + }, + "time": { + "from": "now-15m", + "to": "now" + }, + "timepicker": { + "refresh_intervals": [ + "1s", + "5s", + "10s", + "30s", + "1m", + "5m", + "15m", + "30m", + "1h", + "2h", + "1d" + ], + "time_options": [ + "5m", + "15m", + "1h", + "6h", + "12h", + "24h", + "2d", + "7d", + "30d" + ] + }, + "timezone": "", + "title": "CDN Data", + "uid": "fMw-J9Xiz", + "version": 2 +} diff --git a/helm-charts/mcord/mcord-cdn-monitoring/configs/grafana.ini b/helm-charts/mcord/mcord-cdn-monitoring/configs/grafana.ini new file mode 100755 index 0000000..5e793f8 --- /dev/null +++ b/helm-charts/mcord/mcord-cdn-monitoring/configs/grafana.ini @@ -0,0 +1,461 @@ +##################### Grafana Configuration Example ##################### +# +# Everything has defaults so you only need to uncomment things you want to +# change + +# possible values : production, development +;app_mode = production + +# instance name, defaults to HOSTNAME environment variable value or hostname if HOSTNAME var is empty +;instance_name = ${HOSTNAME} + +#################################### Paths #################################### +[paths] +# Path to where grafana can store temp files, sessions, and the sqlite3 db (if that is used) +;data = /var/lib/grafana + +# Directory where grafana can store logs +;logs = /var/log/grafana + +# Directory where grafana will automatically scan and look for plugins +;plugins = /var/lib/grafana/plugins + +# folder that contains provisioning config files that grafana will apply on startup and while running. +;provisioning = conf/provisioning + +#################################### Server #################################### +[server] +# Protocol (http, https, socket) +;protocol = http + +# The ip address to bind to, empty will bind to all interfaces +;http_addr = + +# The http port to use +;http_port = 3000 + +# The public facing domain name used to access grafana from a browser +;domain = localhost + +# Redirect to correct domain if host header does not match domain +# Prevents DNS rebinding attacks +;enforce_domain = false + +# The full public facing url you use in browser, used for redirects and emails +# If you use reverse proxy and sub path specify full url (with sub path) +;root_url = http://localhost:3000 + +# Log web requests +;router_logging = false + +# the path relative working path +;static_root_path = public + +# enable gzip +;enable_gzip = false + +# https certs & key file +;cert_file = +;cert_key = + +# Unix socket path +;socket = + +#################################### Database #################################### +[database] +# You can configure the database connection by specifying type, host, name, user and password +# as separate properties or as on string using the url properties. + +# Either "mysql", "postgres" or "sqlite3", it's your choice +;type = sqlite3 +;host = 127.0.0.1:3306 +;name = grafana +;user = root +# If the password contains # or ; you have to wrap it with triple quotes. Ex """#password;""" +;password = + +# Use either URL or the previous fields to configure the database +# Example: mysql://user:secret@host:port/database +;url = + +# For "postgres" only, either "disable", "require" or "verify-full" +;ssl_mode = disable + +# For "sqlite3" only, path relative to data_path setting +;path = grafana.db + +# Max idle conn setting default is 2 +;max_idle_conn = 2 + +# Max conn setting default is 0 (mean not set) +;max_open_conn = + +# Connection Max Lifetime default is 14400 (means 14400 seconds or 4 hours) +;conn_max_lifetime = 14400 + +# Set to true to log the sql calls and execution times. +log_queries = + +#################################### Session #################################### +[session] +# Either "memory", "file", "redis", "mysql", "postgres", default is "file" +;provider = file + +# Provider config options +# memory: not have any config yet +# file: session dir path, is relative to grafana data_path +# redis: config like redis server e.g. `addr=127.0.0.1:6379,pool_size=100,db=grafana` +# mysql: go-sql-driver/mysql dsn config string, e.g. `user:password@tcp(127.0.0.1:3306)/database_name` +# postgres: user=a password=b host=localhost port=5432 dbname=c sslmode=disable +;provider_config = sessions + +# Session cookie name +;cookie_name = grafana_sess + +# If you use session in https only, default is false +;cookie_secure = false + +# Session life time, default is 86400 +;session_life_time = 86400 + +#################################### Data proxy ########################### +[dataproxy] + +# This enables data proxy logging, default is false +;logging = false + +#################################### Analytics #################################### +[analytics] +# Server reporting, sends usage counters to stats.grafana.org every 24 hours. +# No ip addresses are being tracked, only simple counters to track +# running instances, dashboard and error counts. It is very helpful to us. +# Change this option to false to disable reporting. +;reporting_enabled = true + +# Set to false to disable all checks to https://grafana.net +# for new vesions (grafana itself and plugins), check is used +# in some UI views to notify that grafana or plugin update exists +# This option does not cause any auto updates, nor send any information +# only a GET request to http://grafana.com to get latest versions +;check_for_updates = true + +# Google Analytics universal tracking code, only enabled if you specify an id here +;google_analytics_ua_id = + +#################################### Security #################################### +[security] +# default admin user, created on startup +;admin_user = admin + +# default admin password, can be changed before first start of grafana, or in profile settings +;admin_password = admin + +# used for signing +;secret_key = SW2YcwTIb9zpOOhoPsMm + +# Auto-login remember days +;login_remember_days = 7 +;cookie_username = grafana_user +;cookie_remember_name = grafana_remember + +# disable gravatar profile images +;disable_gravatar = false + +# data source proxy whitelist (ip_or_domain:port separated by spaces) +;data_source_proxy_whitelist = + +# disable protection against brute force login attempts +;disable_brute_force_login_protection = false + +#################################### Snapshots ########################### +[snapshots] +# snapshot sharing options +;external_enabled = true +;external_snapshot_url = https://snapshots-origin.raintank.io +;external_snapshot_name = Publish to snapshot.raintank.io + +# remove expired snapshot +;snapshot_remove_expired = true + +#################################### Dashboards History ################## +[dashboards] +# Number dashboard versions to keep (per dashboard). Default: 20, Minimum: 1 +;versions_to_keep = 20 + +;#################################### Dashboard JSON files ########################## +[dashboards.json] +enabled = true +path = /etc/grafana/provisioning/dashboards + +#################################### Users ############################### +[users] +# disable user signup / registration +;allow_sign_up = true + +# Allow non admin users to create organizations +;allow_org_create = true + +# Set to true to automatically assign new users to the default organization (id 1) +;auto_assign_org = true + +# Default role new users will be automatically assigned (if disabled above is set to true) +;auto_assign_org_role = Viewer + +# Background text for the user field on the login page +;login_hint = email or username + +# Default UI theme ("dark" or "light") +;default_theme = dark + +# External user management, these options affect the organization users view +;external_manage_link_url = +;external_manage_link_name = +;external_manage_info = + +# Viewers can edit/inspect dashboard settings in the browser. But not save the dashboard. +;viewers_can_edit = false + +[auth] +# Set to true to disable (hide) the login form, useful if you use OAuth, defaults to false +;disable_login_form = false + +# Set to true to disable the signout link in the side menu. useful if you use auth.proxy, defaults to false +;disable_signout_menu = false + +# URL to redirect the user to after sign out +;signout_redirect_url = + +#################################### Anonymous Auth ########################## +[auth.anonymous] +# enable anonymous access +;enabled = false + +# specify organization name that should be used for unauthenticated users +;org_name = Main Org. + +# specify role for unauthenticated users +;org_role = Viewer + +#################################### Github Auth ########################## +[auth.github] +;enabled = false +;allow_sign_up = true +;client_id = some_id +;client_secret = some_secret +;scopes = user:email,read:org +;auth_url = https://github.com/login/oauth/authorize +;token_url = https://github.com/login/oauth/access_token +;api_url = https://api.github.com/user +;team_ids = +;allowed_organizations = + +#################################### Google Auth ########################## +[auth.google] +;enabled = false +;allow_sign_up = true +;client_id = some_client_id +;client_secret = some_client_secret +;scopes = https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email +;auth_url = https://accounts.google.com/o/oauth2/auth +;token_url = https://accounts.google.com/o/oauth2/token +;api_url = https://www.googleapis.com/oauth2/v1/userinfo +;allowed_domains = + +#################################### Generic OAuth ########################## +[auth.generic_oauth] +;enabled = false +;name = OAuth +;allow_sign_up = true +;client_id = some_id +;client_secret = some_secret +;scopes = user:email,read:org +;auth_url = https://foo.bar/login/oauth/authorize +;token_url = https://foo.bar/login/oauth/access_token +;api_url = https://foo.bar/user +;team_ids = +;allowed_organizations = + +#################################### Grafana.com Auth #################### +[auth.grafana_com] +;enabled = false +;allow_sign_up = true +;client_id = some_id +;client_secret = some_secret +;scopes = user:email +;allowed_organizations = + +#################################### Auth Proxy ########################## +[auth.proxy] +;enabled = false +;header_name = X-WEBAUTH-USER +;header_property = username +;auto_sign_up = true +;ldap_sync_ttl = 60 +;whitelist = 192.168.1.1, 192.168.2.1 + +#################################### Basic Auth ########################## +[auth.basic] +;enabled = true + +#################################### Auth LDAP ########################## +[auth.ldap] +;enabled = false +;config_file = /etc/grafana/ldap.toml +;allow_sign_up = true + +#################################### SMTP / Emailing ########################## +[smtp] +;enabled = false +;host = localhost:25 +;user = +# If the password contains # or ; you have to wrap it with trippel quotes. Ex """#password;""" +;password = +;cert_file = +;key_file = +;skip_verify = false +;from_address = admin@grafana.localhost +;from_name = Grafana +# EHLO identity in SMTP dialog (defaults to instance_name) +;ehlo_identity = dashboard.example.com + +[emails] +;welcome_email_on_sign_up = false + +#################################### Logging ########################## +[log] +# Either "console", "file", "syslog". Default is console and file +# Use space to separate multiple modes, e.g. "console file" +;mode = console file + +# Either "debug", "info", "warn", "error", "critical", default is "info" +;level = info + +# optional settings to set different levels for specific loggers. Ex filters = sqlstore:debug +;filters = + +# For "console" mode only +[log.console] +;level = + +# log line format, valid options are text, console and json +;format = console + +# For "file" mode only +[log.file] +;level = + +# log line format, valid options are text, console and json +;format = text + +# This enables automated log rotate(switch of following options), default is true +;log_rotate = true + +# Max line number of single file, default is 1000000 +;max_lines = 1000000 + +# Max size shift of single file, default is 28 means 1 << 28, 256MB +;max_size_shift = 28 + +# Segment log daily, default is true +;daily_rotate = true + +# Expired days of log file(delete after max days), default is 7 +;max_days = 7 + +[log.syslog] +;level = + +# log line format, valid options are text, console and json +;format = text + +# Syslog network type and address. This can be udp, tcp, or unix. If left blank, the default unix endpoints will be used. +;network = +;address = + +# Syslog facility. user, daemon and local0 through local7 are valid. +;facility = + +# Syslog tag. By default, the process' argv[0] is used. +;tag = + +#################################### Alerting ############################ +[alerting] +# Disable alerting engine & UI features +;enabled = true +# Makes it possible to turn off alert rule execution but alerting UI is visible +;execute_alerts = true + +#################################### Explore ############################# +[explore] +# Enable the Explore section +;enabled = false + +#################################### Internal Grafana Metrics ########################## +# Metrics available at HTTP API Url /metrics +[metrics] +# Disable / Enable internal metrics +;enabled = true + +# Publish interval +;interval_seconds = 10 + +# Send internal metrics to Graphite +[metrics.graphite] +# Enable by setting the address setting (ex localhost:2003) +;address = +;prefix = prod.grafana.%(instance_name)s. + +#################################### Distributed tracing ############ +[tracing.jaeger] +# Enable by setting the address sending traces to jaeger (ex localhost:6831) +;address = localhost:6831 +# Tag that will always be included in when creating new spans. ex (tag1:value1,tag2:value2) +;always_included_tag = tag1:value1 +# Type specifies the type of the sampler: const, probabilistic, rateLimiting, or remote +;sampler_type = const +# jaeger samplerconfig param +# for "const" sampler, 0 or 1 for always false/true respectively +# for "probabilistic" sampler, a probability between 0 and 1 +# for "rateLimiting" sampler, the number of spans per second +# for "remote" sampler, param is the same as for "probabilistic" +# and indicates the initial sampling rate before the actual one +# is received from the mothership +;sampler_param = 1 + +#################################### Grafana.com integration ########################## +# Url used to to import dashboards directly from Grafana.com +[grafana_com] +;url = https://grafana.com + +#################################### External image storage ########################## +[external_image_storage] +# Used for uploading images to public servers so they can be included in slack/email messages. +# you can choose between (s3, webdav, gcs, azure_blob, local) +;provider = + +[external_image_storage.s3] +;bucket = +;region = +;path = +;access_key = +;secret_key = + +[external_image_storage.webdav] +;url = +;public_url = +;username = +;password = + +[external_image_storage.gcs] +;key_file = +;bucket = +;path = + +[external_image_storage.azure_blob] +;account_name = +;account_key = +;container_name = + +[external_image_storage.local] +# does not require any configuration + diff --git a/helm-charts/mcord/mcord-cdn-monitoring/configs/ldap.toml b/helm-charts/mcord/mcord-cdn-monitoring/configs/ldap.toml new file mode 100755 index 0000000..0dec502 --- /dev/null +++ b/helm-charts/mcord/mcord-cdn-monitoring/configs/ldap.toml @@ -0,0 +1,86 @@ +# To troubleshoot and get more log info enable ldap debug logging in grafana.ini +# [log] +# filters = ldap:debug + +[[servers]] +# Ldap server host (specify multiple hosts space separated) +host = "127.0.0.1" +# Default port is 389 or 636 if use_ssl = true +port = 389 +# Set to true if ldap server supports TLS +use_ssl = false +# Set to true if connect ldap server with STARTTLS pattern (create connection in insecure, then upgrade to secure connection with TLS) +start_tls = false +# set to true if you want to skip ssl cert validation +ssl_skip_verify = false +# set to the path to your root CA certificate or leave unset to use system defaults +# root_ca_cert = "/path/to/certificate.crt" + +# Search user bind dn +bind_dn = "cn=admin,dc=grafana,dc=org" +# Search user bind password +# If the password contains # or ; you have to wrap it with triple quotes. Ex """#password;""" +bind_password = 'grafana' + +# User search filter, for example "(cn=%s)" or "(sAMAccountName=%s)" or "(uid=%s)" +search_filter = "(cn=%s)" + +# An array of base dns to search through +search_base_dns = ["dc=grafana,dc=org"] + +# In POSIX LDAP schemas, without memberOf attribute a secondary query must be made for groups. +# This is done by enabling group_search_filter below. You must also set member_of= "cn" +# in [servers.attributes] below. + +# Users with nested/recursive group membership and an LDAP server that supports LDAP_MATCHING_RULE_IN_CHAIN +# can set group_search_filter, group_search_filter_user_attribute, group_search_base_dns and member_of +# below in such a way that the user's recursive group membership is considered. +# +# Nested Groups + Active Directory (AD) Example: +# +# AD groups store the Distinguished Names (DNs) of members, so your filter must +# recursively search your groups for the authenticating user's DN. For example: +# +# group_search_filter = "(member:1.2.840.113556.1.4.1941:=%s)" +# group_search_filter_user_attribute = "distinguishedName" +# group_search_base_dns = ["ou=groups,dc=grafana,dc=org"] +# +# [servers.attributes] +# ... +# member_of = "distinguishedName" + +## Group search filter, to retrieve the groups of which the user is a member (only set if memberOf attribute is not available) +# group_search_filter = "(&(objectClass=posixGroup)(memberUid=%s))" +## Group search filter user attribute defines what user attribute gets substituted for %s in group_search_filter. +## Defaults to the value of username in [server.attributes] +## Valid options are any of your values in [servers.attributes] +## If you are using nested groups you probably want to set this and member_of in +## [servers.attributes] to "distinguishedName" +# group_search_filter_user_attribute = "distinguishedName" +## An array of the base DNs to search through for groups. Typically uses ou=groups +# group_search_base_dns = ["ou=groups,dc=grafana,dc=org"] + +# Specify names of the ldap attributes your ldap uses +[servers.attributes] +name = "givenName" +surname = "sn" +username = "cn" +member_of = "memberOf" +email = "email" + +# Map ldap groups to grafana org roles +[[servers.group_mappings]] +group_dn = "cn=admins,dc=grafana,dc=org" +org_role = "Admin" +# The Grafana organization database id, optional, if left out the default org (id 1) will be used +# org_id = 1 + +[[servers.group_mappings]] +group_dn = "cn=users,dc=grafana,dc=org" +org_role = "Editor" + +[[servers.group_mappings]] +# If you want to match all (or no ldap groups) then you can use wildcard +group_dn = "*" +org_role = "Viewer" + diff --git a/helm-charts/mcord/mcord-cdn-monitoring/templates/NOTES.txt b/helm-charts/mcord/mcord-cdn-monitoring/templates/NOTES.txt new file mode 100644 index 0000000..ae4cf08 --- /dev/null +++ b/helm-charts/mcord/mcord-cdn-monitoring/templates/NOTES.txt @@ -0,0 +1,47 @@ +Thank you for installing {{ .Chart.Name }}. + +This chart is for CDN monitoring in M-CORD demo scenarios. +To show CDN traffic of CDN server, this chart deploys cAdvisor, Grafana, and Prometheus. + +You can determine which components will be installed by values.yaml. + +{{- if .Values.cadvisor.enabled }} + + +- cAdvisor + +You can now access cAdvisor at: :{{ .Values.cadvisor.nodePort }} +Prometheus will collect data through this cAdvisor at: :{{ .Values.cadvisor.nodePort }}/metrics + + +{{- end }} + + +{{- if .Values.grafana.enabled }} + + +- Grafana + +You can now access Grafana at: <{{ .Values.grafana.node_selector }}-ip>:{{ .Values.grafana.nodePort }} +using: + +username: {{ .Values.grafana.adminUser}} +password: {{ .Values.grafana.adminPassword}} + +We use configs/cdn_metrics.json in default to create dashboards. +If you want to monitor other CDN servers which have different container names, you should modify the json file or create your own json files. + + +{{- end}} + + +{{- if .Values.prometheus.enabled }} + + +- Prometheus + +You can now access Prometheus at: <{{ .Values.prometheus.node_selector }}-ip>:{{ .Values.prometheus.nodePort }} +If you want to show CDN traffics by Grafana, Grafana should select this Prometheus as data source. + + +{{- end }} diff --git a/helm-charts/mcord/mcord-cdn-monitoring/templates/cadvisor-ds.yaml b/helm-charts/mcord/mcord-cdn-monitoring/templates/cadvisor-ds.yaml new file mode 100644 index 0000000..5ebe2e8 --- /dev/null +++ b/helm-charts/mcord/mcord-cdn-monitoring/templates/cadvisor-ds.yaml @@ -0,0 +1,74 @@ +--- +# Copyright 2018-present Open Networking Foundation +# +# 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. + +{{- if .Values.cadvisor.enabled }} + +apiVersion: apps/v1 +kind: DaemonSet +metadata: + name: cadvisor-ds + annotations: + seccomp.security.alpha.kubernetes.io/pod: 'docker/default' +spec: + selector: + matchLabels: + name: cadvisor + template: + metadata: + labels: + name: cadvisor + spec: + hostNetwork: true + containers: + - name: cadvisor + image: {{ .Values.cadvisor.image }} + args: + - --port={{ .Values.cadvisor.nodePort }} + volumeMounts: + - name: rootfs + mountPath: /rootfs + readOnly: true + - name: var-run + mountPath: /var/run + readOnly: true + - name: sys + mountPath: /sys + readOnly: true + - name: docker + mountPath: /var/lib/docker + readOnly: true + - name: disk + mountPath: /dev/disk + readOnly: true + automountServiceAccountToken: false + terminationGracePeriodSeconds: 30 + volumes: + - name: rootfs + hostPath: + path: / + - name: var-run + hostPath: + path: /var/run + - name: sys + hostPath: + path: /sys + - name: docker + hostPath: + path: /var/lib/docker + - name: disk + hostPath: + path: /dev/disk + +{{- end }} diff --git a/helm-charts/mcord/mcord-cdn-monitoring/templates/grafana-cfg.yaml b/helm-charts/mcord/mcord-cdn-monitoring/templates/grafana-cfg.yaml new file mode 100644 index 0000000..dc76aef --- /dev/null +++ b/helm-charts/mcord/mcord-cdn-monitoring/templates/grafana-cfg.yaml @@ -0,0 +1,78 @@ +--- +# Copyright 2018-present Open Networking Foundation +# +# 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. + +{{- if .Values.grafana.enabled }} + +apiVersion: v1 +kind: ConfigMap +metadata: + name: grafana-config +data: + grafana.ini: | +{{ .Files.Get "configs/grafana.ini" | indent 4 }} + ldap.toml: | +{{ .Files.Get "configs/ldap.toml" | indent 4 }} + +--- + +apiVersion: v1 +kind: ConfigMap +metadata: + name: grafana-dashs + labels: + grafana_dashboard: "1" +data: + cdn_metrics.json: | +{{ .Files.Get "configs/cdn-metrics.json" | indent 4 }} + +--- + +apiVersion: v1 +kind: ConfigMap +metadata: + name: grafana-dash-provider + labels: + grafana_dashboard: "1" +data: + dashboard.yaml: | + apiVersion: 1 + + providers: + - name: 'default' + orgId: 1 + folder: '' + type: file + disableDeletion: false + updateIntervalSeconds: 3 + options: + path: /etc/grafana/dashboards +--- + +apiVersion: v1 +kind: ConfigMap +metadata: + name: grafana-datasources-provider +data: + prometheus-datasource.yaml: | + datasources: + - access: 'proxy' + editable: true + is_default: true + name: 'prom' + org_id: 1 + type: 'prometheus' + url: http://{{ .Values.prometheus_host }}:{{ .Values.prometheus.nodePort }} + +{{- end }} \ No newline at end of file diff --git a/helm-charts/mcord/mcord-cdn-monitoring/templates/grafana-rc.yaml b/helm-charts/mcord/mcord-cdn-monitoring/templates/grafana-rc.yaml new file mode 100644 index 0000000..ef9c5b7 --- /dev/null +++ b/helm-charts/mcord/mcord-cdn-monitoring/templates/grafana-rc.yaml @@ -0,0 +1,67 @@ +--- +# Copyright 2018-present Open Networking Foundation +# +# 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. + +{{- if .Values.grafana.enabled }} + +apiVersion: v1 +kind: ReplicationController +metadata: + name: grafana-cdn-rc +spec: + replicas: 1 + selector: + app: grafana-cdn + template: + metadata: + name: grafana-cdn + labels: + app: grafana-cdn + spec: + nodeSelector: + kubernetes.io/hostname: {{ .Values.grafana.node_selector }} + containers: + - name: grafana + image: {{ .Values.grafana.image }} + env: + - name: ADMIN_USER + value: {{ .Values.grafana.adminUser }} + - name: ADMIN_PASS + value: {{ .Values.grafana.adminPassword }} + ports: + - containerPort: 3000 + volumeMounts: + - mountPath: /etc/grafana/ + name: grafana-volume + - mountPath: /etc/grafana/dashboards + name: grafana-dashboards + - mountPath: /etc/grafana/provisioning/dashboards + name: dashboards-provider + - mountPath: /etc/grafana/provisioning/datasources + name: datasources-provider + volumes: + - name: grafana-volume + configMap: + name: grafana-config + - name: grafana-dashboards + configMap: + name: grafana-dashs + - name: dashboards-provider + configMap: + name: grafana-dash-provider + - name: datasources-provider + configMap: + name: grafana-datasources-provider + +{{- end }} diff --git a/helm-charts/mcord/mcord-cdn-monitoring/templates/grafana-svc.yaml b/helm-charts/mcord/mcord-cdn-monitoring/templates/grafana-svc.yaml new file mode 100644 index 0000000..3f09093 --- /dev/null +++ b/helm-charts/mcord/mcord-cdn-monitoring/templates/grafana-svc.yaml @@ -0,0 +1,33 @@ +--- +# Copyright 2018-present Open Networking Foundation +# +# 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. + +{{- if .Values.grafana.enabled }} + +apiVersion: v1 +kind: Service +metadata: + name: grafana-cdn-service +spec: + selector: + app: grafana-cdn + type: NodePort + ports: + - name: grafana + port: 3000 + protocol: TCP + targetPort: 3000 + nodePort: {{ .Values.grafana.nodePort }} + +{{- end }} \ No newline at end of file diff --git a/helm-charts/mcord/mcord-cdn-monitoring/templates/prometheus-cfg.yaml b/helm-charts/mcord/mcord-cdn-monitoring/templates/prometheus-cfg.yaml new file mode 100644 index 0000000..158fce1 --- /dev/null +++ b/helm-charts/mcord/mcord-cdn-monitoring/templates/prometheus-cfg.yaml @@ -0,0 +1,40 @@ +--- +# Copyright 2018-present Open Networking Foundation +# +# 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. + +{{- if .Values.prometheus.enabled }} + +apiVersion: v1 +kind: ConfigMap +metadata: + name: prometheus-config +data: + prometheus.yml: | + global: + scrape_interval: {{ .Values.prometheus.interval }} # By default, scrape targets every 15 seconds. + evaluation_interval: {{ .Values.prometheus.interval }} # By default, scrape targets every 15 seconds. + # scrape_timeout is set to the global default (10s). + + external_labels: + monitor: 'monitoring' + + scrape_configs: + - job_name: 'prometheus' + static_configs: + - targets: ['{{ .Values.prometheus_host }}:{{ .Values.prometheus.nodePort }}'] + - job_name: 'kube-metrics' + static_configs: + - targets: ['{{ .Values.cdn_remote_host }}:{{ .Values.cadvisor.nodePort }}', '{{ .Values.cdn_local_host }}:{{ .Values.cadvisor.nodePort }}'] + +{{- end }} \ No newline at end of file diff --git a/helm-charts/mcord/mcord-cdn-monitoring/templates/prometheus-rc.yaml b/helm-charts/mcord/mcord-cdn-monitoring/templates/prometheus-rc.yaml new file mode 100644 index 0000000..818c582 --- /dev/null +++ b/helm-charts/mcord/mcord-cdn-monitoring/templates/prometheus-rc.yaml @@ -0,0 +1,49 @@ +--- +# Copyright 2018-present Open Networking Foundation +# +# 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. + +{{- if .Values.prometheus.enabled }} + +apiVersion: v1 +kind: ReplicationController +metadata: + name: prometheus-cdn-rc +spec: + replicas: 1 + selector: + app: prometheus-cdn + template: + metadata: + name: prometheus-cdn + labels: + app: prometheus-cdn + spec: + nodeSelector: + kubernetes.io/hostname: {{ .Values.prometheus.node_selector }} + containers: + - args: + - --config.file=/etc/prometheus/config_out/prometheus.yml + name: prometheus + image: {{ .Values.prometheus.image }} + ports: + - containerPort: 9090 + volumeMounts: + - mountPath: /etc/prometheus/config_out + name: prometheus-volume + volumes: + - name: prometheus-volume + configMap: + name: prometheus-config + +{{- end }} \ No newline at end of file diff --git a/helm-charts/mcord/mcord-cdn-monitoring/templates/prometheus-svc.yaml b/helm-charts/mcord/mcord-cdn-monitoring/templates/prometheus-svc.yaml new file mode 100644 index 0000000..b9ebf6c --- /dev/null +++ b/helm-charts/mcord/mcord-cdn-monitoring/templates/prometheus-svc.yaml @@ -0,0 +1,33 @@ +--- +# Copyright 2018-present Open Networking Foundation +# +# 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. + +{{- if .Values.prometheus.enabled }} + +apiVersion: v1 +kind: Service +metadata: + name: prometheus-cdn-service +spec: + selector: + app: prometheus-cdn + type: NodePort + ports: + - name: prometheus + nodePort: {{ .Values.prometheus.nodePort }} + port: 9090 + protocol: TCP + targetPort: 9090 + +{{- end }} \ No newline at end of file diff --git a/helm-charts/mcord/mcord-cdn-monitoring/values.yaml b/helm-charts/mcord/mcord-cdn-monitoring/values.yaml new file mode 100644 index 0000000..3e95055 --- /dev/null +++ b/helm-charts/mcord/mcord-cdn-monitoring/values.yaml @@ -0,0 +1,38 @@ +--- +# Copyright 2018-present Open Networking Foundation +# +# 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. + +cdn_remote_host: 10.90.0.141 +cdn_local_host: 10.90.0.153 +prometheus_host: 10.90.0.152 + +cadvisor: + image: google/cadvisor:latest + nodePort: 8888 + enabled: true + +prometheus: + image: prom/prometheus:v2.3.1 + node_selector: node2 + nodePort: 31000 + interval: 10s + enabled: true + +grafana: + image: grafana/grafana:5.2.2 + node_selector: node2 + nodePort: 30000 + adminUser: admin + adminPassword: admin + enabled: true diff --git a/helm-charts/mininet-0.5.1.tgz b/helm-charts/mininet-0.5.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..ed40e93d9edf7fc420cfc2041fc53eb84eee04b9 GIT binary patch literal 3457 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 literal 0 HcmV?d00001 diff --git a/helm-charts/mininet/Chart.yaml b/helm-charts/mininet/Chart.yaml index 39568c7..9619440 100644 --- a/helm-charts/mininet/Chart.yaml +++ b/helm-charts/mininet/Chart.yaml @@ -17,4 +17,4 @@ apiVersion: v1 appVersion: "1.0" description: A Helm chart for Mininet name: mininet -version: 0.3.0 +version: 0.5.1 diff --git a/helm-charts/mininet/templates/_helpers.tpl b/helm-charts/mininet/templates/_helpers.tpl index 31212af..346059e 100644 --- a/helm-charts/mininet/templates/_helpers.tpl +++ b/helm-charts/mininet/templates/_helpers.tpl @@ -46,3 +46,25 @@ Create chart name and version as used by the chart label. {{- define "mininet.chart" -}} {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} {{- end -}} + +{{/* +Generate the CNI annotations depending on number of OLTs +*/}} +{{- define "mininet.cni" -}} +{{- printf "nsx" -}} +{{- range $i, $junk := until (.Values.numOlts|int) -}} +{{- printf ",nni%d" $i -}} +{{- end -}} +{{- end -}} + +{{/* +Generate the DHCP subnets depending on number of OLTs +*/}} +{{- define "mininet.dhcp_range" -}} +{{- $onucount := .Values.numOnus|int}} +{{- range $i, $junk := until (.Values.numOlts|int) -}} +{{- range $j, $junk1 := until ($onucount) -}} +{{- printf " --dhcp-range=172.%d.%d.50,172.%d.%d.150,12h" (add $i 19) $j (add $i 19) $j -}} +{{- end -}} +{{- end -}} +{{- end -}} diff --git a/helm-charts/mininet/templates/deployment.yaml b/helm-charts/mininet/templates/deployment.yaml index f75041e..571e024 100644 --- a/helm-charts/mininet/templates/deployment.yaml +++ b/helm-charts/mininet/templates/deployment.yaml @@ -33,10 +33,8 @@ spec: labels: app: {{ template "mininet.name" . }} release: {{ .Release.Name }} - {{- with .Values.annotations }} annotations: -{{ toYaml . | indent 8 }} - {{- end }} + cni: {{ template "mininet.cni" . }} spec: containers: - name: {{ .Chart.Name }} diff --git a/helm-charts/mininet/toposcripts/topo.py b/helm-charts/mininet/toposcripts/topo.py index 0c9c7cf..67b811e 100644 --- a/helm-charts/mininet/toposcripts/topo.py +++ b/helm-charts/mininet/toposcripts/topo.py @@ -22,42 +22,78 @@ from mininet.cli import CLI from mininet.log import setLogLevel, info, error from mininet.net import Mininet from mininet.link import Intf -from mininet.topo import SingleSwitchTopo -from mininet.node import OVSSwitch, RemoteController +from mininet.topo import Topo, SingleSwitchTopo +from mininet.node import OVSSwitch, Controller, RemoteController +from mininet.nodelib import LinuxBridge from functools import partial from mininet.util import quietRun if __name__ == '__main__': setLogLevel( 'info' ) - info( '*** Installing required software' ) + info( '*** Installing required software\n' ) print quietRun( 'apt-get update' ) - print quietRun( 'apt-get -y install dnsmasq ethtool' ) + print quietRun( 'apt-get -y install dnsmasq ethtool wget pimd bridge-utils' ) + print quietRun( 'wget https://github.com/troglobit/mcjoin/releases/download/v2.4/mcjoin_2.4_amd64.deb' ) + print quietRun( 'dpkg -i mcjoin_2.4_amd64.deb' ) - info( '*** Creating network\n' ) print quietRun( 'ovs-vsctl set Open_vSwitch . other_config:vlan-limit={{ .Values.vlanMatchDepth }}' ) OVSSwitch13 = partial( OVSSwitch, protocols='OpenFlow13' ) controllerIp = socket.gethostbyname( '{{ .Values.onosOpenflowSvc }}' ) - net = Mininet( topo=SingleSwitchTopo(1), - controller=lambda name: RemoteController( name, ip=controllerIp, port=6653 ), - switch=OVSSwitch13 - ) - - switch = net.switches[ 0 ] - info( '*** Adding hardware interface eth1 to switch', switch.name, '\n' ) - _intf = Intf( 'eth1', node=switch ) - - info( '*** Turning off checksum offloading for eth1\n' ) - print quietRun( 'ethtool -K eth1 tx off rx off' ) - - bgphost = net.hosts [ 0 ] - info( '*** Adding VLAN interface to host\n') - bgphost.cmd( 'ip link add link h1-eth0 name h1-eth0.222 type vlan proto 802.1Q id 222' ) - bgphost.cmd( 'ip link add link h1-eth0.222 name h1-eth0.222.111 type vlan proto 802.1Q id 111' ) - bgphost.cmd( 'ifconfig h1-eth0.222 up' ) - bgphost.cmd( 'ifconfig h1-eth0.222.111 up' ) - bgphost.cmd( 'ifconfig h1-eth0.222.111 172.18.0.10/24' ) - bgphost.cmd( 'dnsmasq --dhcp-range=172.18.0.50,172.18.0.150,12h' ) + + net = Mininet( topo=None ) + + info( '*** Adding controllers\n' ) + onos = net.addController( name='onos', controller=RemoteController, ip=controllerIp, port=6653 ) + + info( '*** Adding switches\n' ) + s1 = net.addSwitch( name='s1', cls=OVSSwitch13 ) + s2 = net.addSwitch( 's2', cls=LinuxBridge ) + + info( '*** Creating hosts\n' ) + h1 = net.addHost( 'h1', ip='10.0.0.1/24') + h2 = net.addHost( 'h2', ip='10.1.0.2/24') + + # Topology: pon1 - eth1 - s1 - h1 - s2 - h2 + net.addLink( h1, s1 ) + net.addLink( h1, s2 ) + net.addLink( h2, s2 ) + +{{- range $i, $junk := until (.Values.numOlts|int) -}} +{{- $intf := printf "eth%d" (add $i 1) }} + + info( '*** Adding hardware interface {{ $intf }} to switch s1\n') + _intf = Intf( '{{ $intf }}', node=s1 ) + + info( '*** Turning off checksum offloading for {{ $intf }}\n' ) + print quietRun( 'ethtool -K {{ $intf }} tx off rx off' ) +{{- end }} + + info( '*** Adding VLAN interface to host h1\n') + h1.cmd( 'ifconfig h1-eth1 10.1.0.1/24 up') + + {{- $onucount := .Values.numOnus|int}} +{{- range $i, $junk := until (.Values.numOlts|int) -}} +{{- $stag := add 222 $i }} +{{- range $j, $junk1 := until ($onucount) -}} +{{- $ctag := add 111 $j }} + h1.cmd( 'ip link add link h1-eth0 name h1-eth0.{{ $stag }} type vlan proto 802.1Q id {{ $stag }}' ) + h1.cmd( 'ip link add link h1-eth0.{{ $stag }} name h1-eth0.{{ $stag }}.{{ $ctag }} type vlan proto 802.1Q id {{ $ctag }}' ) + h1.cmd( 'ifconfig h1-eth0.{{ $stag }} up' ) + h1.cmd( 'ifconfig h1-eth0.{{ $stag }}.{{ $ctag }} up' ) + h1.cmd( 'ifconfig h1-eth0.{{ $stag }}.{{ $ctag }} 172.{{ add $i 19 }}.{{ $j }}.10/24' ) +{{- end }} +{{- end }} + h1.cmd( 'dnsmasq {{ template "mininet.dhcp_range" . }}' ) + +{{- if .Values.enableMulticast }} + info( '*** Start multicast routing on h1 and source on h2\n') + h1.cmd( 'service pimd start' ) + h2.cmd( 'mcjoin -s -i h2-eth0 -t 2 >& /tmp/mcjoin.log &') +{{- end }} + + onos.start() + s1.start( [onos] ) net.start() CLI( net ) diff --git a/helm-charts/mininet/values.yaml b/helm-charts/mininet/values.yaml index 3670bef..9bab69a 100644 --- a/helm-charts/mininet/values.yaml +++ b/helm-charts/mininet/values.yaml @@ -45,8 +45,8 @@ affinity: - olt topologyKey: kubernetes.io/hostname -annotations: - cni: "calico,pon1" - onosOpenflowSvc: "onos-openflow.default.svc.cluster.local" -vlanMatchDepth: 2 +vlanMatchDepth: 1 +enableMulticast: false +numOlts: 1 +numOnus: 1 diff --git a/helm-charts/nem-monitoring/Chart.yaml b/helm-charts/nem-monitoring/Chart.yaml index a47b15f..cebad75 100644 --- a/helm-charts/nem-monitoring/Chart.yaml +++ b/helm-charts/nem-monitoring/Chart.yaml @@ -15,4 +15,4 @@ name: nem-monitoring description: Time Series Storage and Dashboard for SEBA -version: 1.0.1 +version: 1.0.2 diff --git a/helm-charts/nem-monitoring/grafana-dashboards/aaa-stats.json b/helm-charts/nem-monitoring/grafana-dashboards/aaa-stats.json new file mode 100644 index 0000000..7c8be89 --- /dev/null +++ b/helm-charts/nem-monitoring/grafana-dashboards/aaa-stats.json @@ -0,0 +1,323 @@ +{ + "annotations": { + "list": [ + { + "builtIn": 1, + "datasource": "-- Grafana --", + "enable": true, + "hide": true, + "iconColor": "rgba(0, 211, 255, 1)", + "name": "Annotations & Alerts", + "type": "dashboard" + } + ] + }, + "editable": true, + "gnetId": null, + "graphTooltip": 0, + "id": 5, + "links": [], + "panels": [ + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#299c46", + "#629e51", + "#d44a3a" + ], + "datasource": "Prometheus", + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 9, + "w": 12, + "x": 0, + "y": 0 + }, + "id": 4, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "__name__", + "targets": [ + { + "expr": "onosaaa_rx_accept_responses{}", + "format": "time_series", + "hide": false, + "intervalFactor": 1, + "refId": "A" + } + ], + "thresholds": "", + "title": "Successful Authentication Requests", + "type": "singlestat", + "valueFontSize": "200%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "cacheTimeout": null, + "colorBackground": false, + "colorValue": true, + "colors": [ + "#299c46", + "#890f02", + "#890f02" + ], + "datasource": "Prometheus", + "format": "none", + "gauge": { + "maxValue": 100, + "minValue": 0, + "show": false, + "thresholdLabels": false, + "thresholdMarkers": true + }, + "gridPos": { + "h": 9, + "w": 12, + "x": 12, + "y": 0 + }, + "id": 5, + "interval": null, + "links": [], + "mappingType": 1, + "mappingTypes": [ + { + "name": "value to text", + "value": 1 + }, + { + "name": "range to text", + "value": 2 + } + ], + "maxDataPoints": 100, + "nullPointMode": "connected", + "nullText": null, + "postfix": "", + "postfixFontSize": "50%", + "prefix": "", + "prefixFontSize": "50%", + "rangeMaps": [ + { + "from": "null", + "text": "N/A", + "to": "null" + } + ], + "sparkline": { + "fillColor": "rgba(31, 118, 189, 0.18)", + "full": false, + "lineColor": "rgb(31, 120, 193)", + "show": false + }, + "tableColumn": "__name__", + "targets": [ + { + "expr": "onosaaa_rx_reject_responses{}", + "format": "time_series", + "hide": false, + "intervalFactor": 1, + "refId": "A" + } + ], + "thresholds": "0", + "title": "Failed Authentication Requests", + "type": "singlestat", + "valueFontSize": "200%", + "valueMaps": [ + { + "op": "=", + "text": "N/A", + "value": "null" + } + ], + "valueName": "current" + }, + { + "aliasColors": {}, + "bars": false, + "dashLength": 10, + "dashes": false, + "datasource": "Prometheus", + "fill": 1, + "gridPos": { + "h": 12, + "w": 24, + "x": 0, + "y": 9 + }, + "id": 2, + "legend": { + "avg": false, + "current": false, + "max": false, + "min": false, + "show": true, + "total": false, + "values": false + }, + "lines": true, + "linewidth": 1, + "links": [], + "nullPointMode": "null", + "percentage": false, + "pointradius": 5, + "points": false, + "renderer": "flot", + "seriesOverrides": [], + "spaceLength": 10, + "stack": false, + "steppedLine": false, + "targets": [ + { + "expr": "onosaaa_rx_accept_responses{}", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "Accepted Responses", + "refId": "A" + }, + { + "expr": "onosaaa_rx_reject_responses{}", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "Rejected Responses", + "refId": "B" + }, + { + "expr": "onosaaa_pending_responses{}", + "format": "time_series", + "intervalFactor": 1, + "legendFormat": "Pending Responses", + "refId": "C" + } + ], + "thresholds": [], + "timeFrom": null, + "timeShift": null, + "title": "Radius Server Status", + "tooltip": { + "shared": true, + "sort": 0, + "value_type": "individual" + }, + "transparent": false, + "type": "graph", + "xaxis": { + "buckets": null, + "mode": "time", + "name": null, + "show": true, + "values": [] + }, + "yaxes": [ + { + "decimals": 0, + "format": "short", + "label": "Requests Count", + "logBase": 1, + "max": null, + "min": "0", + "show": true + }, + { + "format": "short", + "label": null, + "logBase": 1, + "max": null, + "min": null, + "show": true + } + ], + "yaxis": { + "align": false, + "alignLevel": null + } + } + ], + "schemaVersion": 16, + "style": "dark", + "tags": [], + "templating": { + "list": [] + }, + "time": { + "from": "now-15m", + "to": "now" + }, + "timepicker": { + "refresh_intervals": [ + "5s", + "10s", + "30s", + "1m", + "5m", + "15m", + "30m", + "1h", + "2h", + "1d" + ], + "time_options": [ + "5m", + "15m", + "1h", + "6h", + "12h", + "24h", + "2d", + "7d", + "30d" + ] + }, + "timezone": "", + "title": "AAA Stats", + "uid": "3ne5yH4Wz", + "version": 1 +} diff --git a/helm-charts/nem-monitoring/templates/grafana-dashboard-aaa-configmap.yaml b/helm-charts/nem-monitoring/templates/grafana-dashboard-aaa-configmap.yaml new file mode 100644 index 0000000..8a0722a --- /dev/null +++ b/helm-charts/nem-monitoring/templates/grafana-dashboard-aaa-configmap.yaml @@ -0,0 +1,24 @@ +--- +# Copyright 2018-present Open Networking Foundation +# +# 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. + +apiVersion: v1 +kind: ConfigMap +metadata: + name: grafana-dashboard-aaa + labels: + grafana_dashboard: "1" +data: + kb8s.json: | +{{ .Files.Get "grafana-dashboards/aaa-stats.json" | indent 4 }} diff --git a/helm-charts/nem-monitoring/values.yaml b/helm-charts/nem-monitoring/values.yaml index a41343b..8d237f7 100644 --- a/helm-charts/nem-monitoring/values.yaml +++ b/helm-charts/nem-monitoring/values.yaml @@ -19,7 +19,7 @@ global: images: voltha_kpi_exporter: repository: 'opencord/kafka-topic-exporter' - tag: '1.1.2' + tag: '1.2.1' pullPolicy: 'Always' nem_voltha_kpi_exporter_nodePort: 31080 diff --git a/helm-charts/onos-1.1.0.tgz b/helm-charts/onos-1.1.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..f6bd9d98bc552334a112bc6092654ed586582844 GIT binary patch literal 4299 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 literal 0 HcmV?d00001 diff --git a/helm-charts/ponnet-1.2.1.tgz b/helm-charts/ponnet-1.2.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..aff005bf0276cc0b29f1e2735ace3e80bee83150 GIT binary patch literal 3053 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 literal 0 HcmV?d00001 diff --git a/helm-charts/ponnet/Chart.yaml b/helm-charts/ponnet/Chart.yaml index d9ee22f..54448af 100644 --- a/helm-charts/ponnet/Chart.yaml +++ b/helm-charts/ponnet/Chart.yaml @@ -14,4 +14,4 @@ # limitations under the License. name: ponnet -version: 1.0.0 +version: 1.2.1 diff --git a/helm-charts/ponnet/templates/genie-cni-1.8.yaml b/helm-charts/ponnet/templates/genie-cni-1.8.yaml index 0fbf50a..2db810c 100644 --- a/helm-charts/ponnet/templates/genie-cni-1.8.yaml +++ b/helm-charts/ponnet/templates/genie-cni-1.8.yaml @@ -140,7 +140,7 @@ data: "type": "genie", "log_level": "info", "datastore_type": "kubernetes", - "default_plugin": "calico", + "default_plugin": "nsx", "hostname": "__KUBERNETES_NODE_NAME__", "policy": { "type": "k8s", diff --git a/helm-charts/ponnet/templates/ponnet-cni.yaml b/helm-charts/ponnet/templates/ponnet-cni.yaml new file mode 100644 index 0000000..c72abab --- /dev/null +++ b/helm-charts/ponnet/templates/ponnet-cni.yaml @@ -0,0 +1,188 @@ +--- +# Copyright 2017-present Open Networking Foundation +# +# 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. + +kind: ClusterRole +apiVersion: rbac.authorization.k8s.io/v1beta1 +metadata: + name: ponnet-plugin +rules: + - apiGroups: + - "" + resources: + - pods + verbs: + - get + - update + - patch + - apiGroups: + - "alpha.network.k8s.io" + resources: + - logicalnetworks + verbs: + - get + - update + - patch + - apiGroups: + - "alpha.network.k8s.io" + resources: + - physicalnetworks + verbs: + - get + - update + - patch + - apiGroups: + - "" + resources: + - configmaps + verbs: + - get + - apiGroups: + - "admissionregistration.k8s.io" + resources: + - validatingwebhookconfigurations + verbs: + - get + - update + - create + - delete + +--- +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1beta1 +metadata: + name: ponnet-plugin +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: ponnet-plugin +subjects: +- kind: ServiceAccount + name: ponnnet-plugin + namespace: kube-system +- kind: Group + name: system:authenticated + apiGroup: rbac.authorization.k8s.io + +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: ponnet-plugin + namespace: kube-system + +--- +# This ConfigMap can be used to configure a self-hosted Ponnet installation. +kind: ConfigMap +apiVersion: v1 +metadata: + name: ponnet-config + namespace: kube-system +data: +{{- $onucount := (.Values.numOnus|int) -}} +{{- range $i, $junk := until (.Values.numOlts|int) }} + nni{{ $i }}.conf: | + { + "name": "nni{{ $i }}", + "type": "bridge", + "bridge": "nni{{ $i }}", + "isGateway": false, + "ipMask": false, + "ipam": { + "type": "host-local", + "subnet": "10.23.0.0/16" + } + } +{{- range $j, $junk1 := until ($onucount) }} + pon{{ $i }}.{{ $j }}.conf: | + { + "name": "pon{{ $i }}.{{ $j }}", + "type": "bridge", + "bridge": "pon{{ $i }}.{{ $j }}", + "isGateway": false, + "ipMask": false, + "ipam": { + "type": "host-local", + "subnet": "10.22.0.0/16" + } + } +{{- end }} +{{- end }} +--- +# Install Ponnnet CNI conf on each slave node. +kind: DaemonSet +apiVersion: extensions/v1beta1 +metadata: + name: ponnet-plugin + namespace: kube-system + labels: + k8s-app: ponnet +spec: + selector: + matchLabels: + k8s-app: ponnet + template: + metadata: + labels: + k8s-app: ponnet + annotations: + scheduler.alpha.kubernetes.io/critical-pod: '' + scheduler.alpha.kubernetes.io/tolerations: | + [ + { + "key": "dedicated", + "value": "master", + "effect": "NoSchedule" + }, + { + "key": "CriticalAddonsOnly", + "operator": "Exists" + } + ] + spec: + hostNetwork: true + hostPID: true + serviceAccountName: ponnet-plugin + initContainers: + # Installs CNI config files on each node + - name: install-cni + image: {{ .Values.pull_docker_registry }}{{ .Values.images.ponnet.repository }}:{{ .Values.images.ponnet.tag }} + imagePullPolicy: {{ .Values.images.ponnet.pullPolicy }} + command: ["/bin/sh", "-c", "cp /tmp/cni/* /host/etc/cni/net.d"] + env: + - name: KUBERNETES_NODE_NAME + valueFrom: + fieldRef: + fieldPath: spec.nodeName + volumeMounts: + - mountPath: /host/opt/cni/bin + name: cni-bin-dir + - mountPath: /host/etc/cni/net.d + name: cni-net-dir + - mountPath: /tmp/cni + name: ponnet-config + volumes: + - name: cni-bin-dir + hostPath: + path: /opt/cni/bin + - name: cni-net-dir + hostPath: + path: /etc/cni/net.d + - name: ponnet-config + configMap: + name: ponnet-config + containers: + - name: pause + image: gcr.io/google_containers/pause + diff --git a/helm-charts/ponnet/values.yaml b/helm-charts/ponnet/values.yaml index 402fb1f..641e7a1 100644 --- a/helm-charts/ponnet/values.yaml +++ b/helm-charts/ponnet/values.yaml @@ -16,10 +16,13 @@ pull_docker_registry: images: - pon0: - repository: gopinatht/pon0-network - tag: 'latest' - pullPolicy: 'Always' - + ponnet: + repository: 'alpine' + tag: '3.9.3' + pullPolicy: 'IfNotPresent' + global: namespace: voltha + +numOlts: 1 +numOnus: 1 diff --git a/helm-charts/ponsim-pod-1.3.3.tgz b/helm-charts/ponsim-pod-1.3.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..5115f906db724f99b9c5ae84a4b233dd7daf91e4 GIT binary patch literal 4427 zcmV-R5wz|fiwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0PI}-O}8vvw4eYb1JY2FCaPGn-SSS%Kc&n`d;&J-O6f~WP@10r>8OorKa z4_m@83=jAB?Z06d&i@-W_V>SwcK5^mC^`uD55Ehe-NwPecMv|X97{{CG?Cwh_wH+c zaNkHFLi~bKQO;tBYP+?_OHn0~3T+=9!8^=`kQmc|9+!}Dl2Xp7B0c^((Gw>ay=KGQ=3B zCh1*PMcehhwzB>omdg6SBw3E?3pjuc>whyAsGYX8ghl82UJ-f0(h06&_Ed^d?+$XSb{L3dSJULnAE%- z_^n{UyP8l21QIUBz!v4T1u5dO z8C5d`oB?6rAGP45<-@C^)=BGyw*wzf+V7el+VJt{;^OG6ee$LS%?o(lJUc#VpES=} z(0mI=XTQNePtJ~C08%|b33z4ZQ5hkrQ6Z*AUoFHL0gO{Oe=C6r?a>4>!umPsBlP(t zN@nI=pd3|bTjogAS5?aZG>u@d8Y~p z{C4#IH0W_TB--esBsj(-BNE|~NNTjNjKaGJf+%BvcEcI-T!O}-$cRQ&^E`=mvR?C? z=@=rj zW1{PpGH{enEu|*?7@l5VL(KuJqsdMSH#d$%eNZT4@QL~TkLqsfPe{&*QX?+Y82k+N5GnJ`oV0QwxHNh-E4r8Q zk&1z69h85em!qO2<_2Asitcu|+$rPHd zSw3uLTEX8T0?x9rl|Z=_eaSODAVE|+G#&RP5{=R;T9}D5KUr>n?m&ipl8g)N@#Bx6 zWsWdJ!W8HM(J(?VmXa%Dxf9k0UbS6pTN%0D8cc(IGQ+ZGq>inJQ`-0vo@q!0O^YrJ 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 RUjP6A|Np|0nDhW{007om!yW(t literal 0 HcmV?d00001 diff --git a/helm-charts/ponsimv2-1.1.1.tgz b/helm-charts/ponsimv2-1.1.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..c9d95beda987de409bec864747e6656fd06a85be GIT binary patch literal 2140 zcmV-i2&4BOiwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0PI@fZreB#&Tl=%!0BFh7qKiQae~ug5AdZ~oUyHK#OW@I!y%xh zvCNhtc_d}WaQ*HFO0q56YSSc6a$9(S){17x8IFcC^HGw5YnqIY8y6#@j5{R>JJ>aO zp68u6o7u1Dd7HnUe|~b{pESLu@1J=mCkLK?e13X<0N&0msi0IFq7J-A>)Kr0UxbL1 zf1uJ-@Bn=G%=MfIb*QK`*{xo;1AUsLj2NLD8rpj!W26omjX0$dx7(+&IkCt-Fb5aNX-Zp;H`a*+8Rl%3o)|(>LachFci5# zT4G3tGz3O?oRSzJ7GqT0K6i;Kq1rx34TML|AuyUylSP8wUX<%NG$AqSzyT1<*dG9e zQfO*~ng;NCESMRQM*dUJlhEr-%#b*M*RvV8c}LP(7ATm{a}k*`))S0|cBU4akg2u| z!P95bq~bdj8Po>VV--oky$V&akdzZMG7T$G=lKpTD`UhO@Rhk8E+XtB!_Wv7z-;a~ zF%tvAtU6n_wIm@1kT1us8Dkr#c8=GMa|k?5y3Aasg^+3+ip#0bobtFJ8?|pK z?oG@3Z!nQr)HH5J$RsN58o8TR;Eww5H_whY>VNa(w7IYU&q2;?R)@yV;M~6l0LOWB z3-I_3;F}u&=RW1%*-7!=LG9mN>EB7^zoYPj13x#QKA$^TTtzsf9HF*IGOj{~MB@!3 z17x}e^SMK$3}7|`sVFx?sQsYpKj<2`SGlO$Aqg%DXLkMBrg|R2*@+###FVS@x~i>C zp)cpI%{ZTD79x)pms`dTQ^sy=DXe8HvN8`bvR+bUuU~q{uTw?-7i`DpKzHQ-)8o_A zjr@Pw^!EAxS!j>{_W17!@Sjb1itrfW6+MDiA5;Dbf?px!hBElk{UbkYDiFbE%FRzU z4clNOk}eM<$G-E4@+g2lsxb}GNzjmp7?NS4{B%(;Gn>IHYRAJGbg{P=nsRL8F1dwt zUWamoRWYCSNsz%XWeTZ!Ar>nc=EE{>08P(3^NKr$s2ELe?Y>@MtxP7XdSz9cOD9t5 z#@HXAAqywGLCM54L2lOkQ00bucwwXg*V6}DJVDF0vW$zoKzyAI!wjJ zf=an^CBEEVy{%lipjBF}+bPQ3`Ahdm-!oP9|2%!x{=eBg-hBUa+VoHN{r_{&zW?9% z|4-EazY;tRMaqrs{MUMZp5{G&aWZm$pimn1u^8o-hAlNe998gi(el;p#mAk&i>it5 zi!=N$;0*r@IHOAEqX9>?hh7eOeBp_~H$V_6_+qTP7`u%{0LXAiIW^POBvM4Jt(yQ+ z;SiO==uN69kNe>Wqm)q|w_`4rw=ZuoOtbH7oN}`?L7RyK@V)gOsif-~)mAHtpKlNJ&c$zBzF-wm zr*wddqp?UvG)6)j8#Vt=aPTXU29LspJpD#o$kRvQLZ0q%;S1uz&ig7fMHF&#L!wA+ zb4%wB6+>->xUscio0rvu2VhHYN7!-=Bida?hgqw)49T@u|C?#S&Y)3I!ftq)46wp8 zz5csy`Q4Fs8rgp}>#QP+Z@lFxE+2we{qGU6R^UGs@AxagJKz7D_?!6e#6Q{NzvrMm z{@dffr^0_K{yO}FC&Pb*=1TZ?U!YUnzP=dF`ARqaHJG!9IPioJ=PpR_m%})BV73QC z92I{X!cpFt*c|w8s5J(ZHwHwHYDZA3hxUJ?h=c&HFR$J~yL0^u zXoe_(@_duR-(W(hslk8Bb7~AzMa}d=aD%sI!$7I%m@ 1 only works with voltha-1.7 or greater +numOlts: 1 +numOnus: 1 +# legacyPonsim == true means that we are using voltha-1.6 +legacyPonsim: true diff --git a/helm-charts/seba-services-1.2.5.tgz b/helm-charts/seba-services-1.2.5.tgz new file mode 100644 index 0000000000000000000000000000000000000000..fcd15e2706b6a3454117a839c414436b990011f5 GIT binary patch literal 8133 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 literal 0 HcmV?d00001 diff --git a/helm-charts/voltha-1.0.4.tgz b/helm-charts/voltha-1.0.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..e5396e8af3dbb1221593918b6500d754961ee0b6 GIT binary patch literal 7078 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

qQc|1!w|FJHWZ)Mdd0y{5*CR}+d{`r7Px;KeKP zh91XXuk`^1FJ7@RLD1tP{F?uqU@r+}sZkQS^LRul^wDeeAejdl8cjq?zrL8f@UCC{ z^y1@-tCyNKhLIO4+BgKlp|Y+#wek1uAvg zZ91a{Wgbp=qL}*w8?+&e= ze5;XvJxP3m6Y)SMM|a{IE|4T*LhLJ&jGy`M57^IBGsKutMqqp+Ztl+S=(qR+5oNAK z5_ou!IGEu$aGi9ia{7%d>ordkIW;~as=}8qWwqISfq$#%dRraVx03Mxh!W}*MqYpV zCS$rU8xtHuA2Q^CAH>5_xi9>wW#(TgRPbNvk-}XVfmY%_yI+3)qh~hwZ!e+o|7&bO zU%>{%xpgqgAlQP34j�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 Q00030|HaMg4FC)Q06gFNh5!Hn literal 0 HcmV?d00001 diff --git a/helm-charts/voltha/charts/etcd-cluster-0.1.2.tgz b/helm-charts/voltha/charts/etcd-cluster-0.1.2.tgz new file mode 100644 index 0000000000000000000000000000000000000000..461efb208ca938c108d596e86ce65a904913a982 GIT binary patch literal 1511 zcmVDc zVQyr3R8em|NM&qo0PI;`cjCGc&$B+o)V$oA6NGI-axZ|6oPeE@avyR4VJQmf-ONv3#CD@Gj3qYa|FCkP+8yt5?QF6Gm#)HxSe@3>q#i7 z!N>I!a$*@5z#x%o339rt2h4hhXV$8Aqp?^lDD#d|sk262DVfG)zuOy(di9uwUj4nu z(HPM9x#SvCm@I)QmGgv6a)g{MKx$x_Mohs<=j%dq%SCnqMo#U5X(TmBxv`p0O1rmF z8_&4eQ;@*;#GBd8GtQN4Xh1r|~-FWp+&5QXvSJ5E?>Wmgu8C2n=sXi-$S7esO37KZmqnraXC0Fb$b2$|xQ z)Yj?QBps|@+t7@g=f9Kvwjdyc7c4{5CgAnm6F{SqhFhtZZ3sS>Y)QFnBvPX^4W|`& zEz7bt1oI}1Y4n?Gnv`Zak@ru`vF_O&7t#1P8r8F$Pm+L;ESD3OyP+C0cORGDy&s*K z4)PYVhyUA9YV0=G4eB{h@ZYWrUcmpTb^fUSkHgk^bin_&kcWpl@F~!ns`T4UQcz#5 zNWESshZ^BfBfN5r@Q8NaagnxRROJ~`pk*nu%t2Dc93LLGH*^Q$VYRB`y+tipPMm*k zfL$tV!{!bX0423G6)@KQOB*~M15}8pGqhKao5dEWcTDdE$7;1!Ra#n^$h-~X?iB$r zm}6q4u1qqe)|E&=T&$r;eO&$MxZlV>k^jG&55C0z;@0US{&yZVn}_`W7IMh#hur=j z%OH`@+t+#rBkVNc9A2vfP+8+R{mJMYKC+wSn)Rj2Dt z>h`)f?hV{uYYUzpKe4oDXz0e^n$h(gd)#xbB64)Y;$XGf>8!{mT@R*TIU=l9?S}`j zDt}JbvJ7Ztef!n+=@I_4chq;8=)dTwpK8y`{~FBvUy?oir!&k8o(ZY(HEq1~|DRUW z`sVv@c)q=<c@8d`pGY=i`i_$pd_n215{-<9l3`M>KDf~$1lEWUzxj;(j#prfq zr3clnED9;$raOX^YeQ(pZNvXo?h`usq8t8q(=f{#?q~CA=A!X+q6tgxO65xrLyoCg zC~{0E?2a5$TPSk;cT$5JrnxK)^e=jbP^IN3Oe~>1Mb@bFwET2PPzO24L4GFrM*si- N|NkRRme&9x003^l@f!dD literal 0 HcmV?d00001 diff --git a/helm-charts/voltha/requirements.lock b/helm-charts/voltha/requirements.lock new file mode 100644 index 0000000..81ca79d --- /dev/null +++ b/helm-charts/voltha/requirements.lock @@ -0,0 +1,6 @@ +dependencies: +- name: etcd-cluster + repository: file://../etcd-cluster + version: 0.1.2 +digest: sha256:12a9327fed6331bf8815ea3ade724dd2c5ca6b404f0f0b6302decd56574748f9 +generated: "2019-06-19T06:01:03.774445535Z" diff --git a/helm-charts/voltha/templates/alarm-generator.yaml b/helm-charts/voltha/templates/alarm-generator.yaml index f5ef095..f32115d 100644 --- a/helm-charts/voltha/templates/alarm-generator.yaml +++ b/helm-charts/voltha/templates/alarm-generator.yaml @@ -27,7 +27,7 @@ spec: labels: app: alarm-generator annotations: - cni: "calico" + cni: "nsx" spec: serviceAccountName: {{ .Values.global.namespace }}-serviceaccount containers: diff --git a/helm-charts/voltha/templates/freeradius.yaml b/helm-charts/voltha/templates/freeradius.yaml index ef86b16..2e2d251 100644 --- a/helm-charts/voltha/templates/freeradius.yaml +++ b/helm-charts/voltha/templates/freeradius.yaml @@ -52,7 +52,7 @@ spec: labels: app: freeradius annotations: - cni: "calico" + cni: "nsx" spec: serviceAccountName: {{ .Values.global.namespace }}-serviceaccount containers: diff --git a/helm-charts/voltha/templates/netconf.yaml b/helm-charts/voltha/templates/netconf.yaml index 7aa571b..483b1a2 100644 --- a/helm-charts/voltha/templates/netconf.yaml +++ b/helm-charts/voltha/templates/netconf.yaml @@ -40,7 +40,7 @@ spec: labels: app: netconf annotations: - cni: "calico" + cni: "nsx" spec: serviceAccountName: {{ .Values.global.namespace }}-serviceaccount terminationGracePeriodSeconds: 10 diff --git a/helm-charts/voltha/templates/ofagent.yaml b/helm-charts/voltha/templates/ofagent.yaml index c70f408..7f53dc7 100644 --- a/helm-charts/voltha/templates/ofagent.yaml +++ b/helm-charts/voltha/templates/ofagent.yaml @@ -26,7 +26,7 @@ spec: labels: app: ofagent annotations: - cni: "calico" + cni: "nsx" spec: serviceAccountName: {{ .Values.global.namespace }}-serviceaccount terminationGracePeriodSeconds: 10 diff --git a/helm-charts/voltha/templates/vcli.yaml b/helm-charts/voltha/templates/vcli.yaml index 2077705..39c83b6 100644 --- a/helm-charts/voltha/templates/vcli.yaml +++ b/helm-charts/voltha/templates/vcli.yaml @@ -44,7 +44,7 @@ spec: labels: app: vcli annotations: - cni: "calico" + cni: "nsx" spec: serviceAccountName: {{ .Values.global.namespace }}-serviceaccount containers: diff --git a/helm-charts/voltha/templates/vcore_for_etcd.yaml b/helm-charts/voltha/templates/vcore_for_etcd.yaml index 5ea1d42..3440a90 100644 --- a/helm-charts/voltha/templates/vcore_for_etcd.yaml +++ b/helm-charts/voltha/templates/vcore_for_etcd.yaml @@ -55,7 +55,7 @@ spec: labels: app: vcore annotations: - cni: "calico" + cni: "nsx" spec: terminationGracePeriodSeconds: 0 serviceAccountName: {{ .Values.global.namespace }}-serviceaccount diff --git a/helm-charts/workflows/att-workflow/Chart.yaml b/helm-charts/workflows/att-workflow/Chart.yaml index 2cc4f97..037a1ca 100644 --- a/helm-charts/workflows/att-workflow/Chart.yaml +++ b/helm-charts/workflows/att-workflow/Chart.yaml @@ -17,7 +17,7 @@ apiVersion: v1 name: att-workflow description: A Helm chart for XOS's "att-workflow" icon: https://guide.opencord.org/logos/cord.svg -version: 1.2.1 +version: 1.2.2 # xosproject/tosca-loader version -appVersion: 1.3.0 +appVersion: 1.3.1 diff --git a/helm-charts/workflows/att-workflow/charts/att-workflow-driver-1.1.0.tgz b/helm-charts/workflows/att-workflow/charts/att-workflow-driver-1.1.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..b9d1046605de742c29773c18454b07036ca0eae1 GIT binary patch literal 2676 zcmV-)3XAn0iwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0PI_FbKAC(&)@hIdvZH&auF%Xmeca4Gw0ap)zj3@L{4&q$0<1?YPr7!XJ(Z>@F6&%f$~%gc{SHNp&&ia@I~1o1zMj zCRCYVPBZ@GL0YHN>AdLo-M^hqXZ7Dsuit;t-RpPu54xTHe*a0Q+wbo6oL--ka2CT|F&{`8V zEzqc@EJng&%Q`V8*HIXz1xqlHIf_`SB#T)SR;~5m#TGx4*9E% z^&i;Qz5i3n3)Byn0B(8zd);1l_5I&F*uMXd(%S7d*?}XO&lO8226~M_Ho=AtUPmW%l4qmlw7PRE=1V^nw;qL`gn80Wb zG|xGU>4+n6Is>VIrV23uBdxA8#S9babI@{ZW>g{BfrM$J*r+fKLsgnF-5`(xsDRet z08R!iczHND89XOD@ZseA=d*X`@Zs?7+r!iIlUD;cdkaTrr^hGfCugSvIQt0>Pd~yh zC#T2H0hyVg0=%?-)K*DmO^AuL*8s7hfKBT5S?3tDF^hpykrp&XNaYljuzt@`WlUQ~ zYM>$^JHT1SjEe;Q`Jw_scHkJtwBQDOGI7&P&t9LC9XPj6W*R7bJpA=_dn{E(ja|HT zeBfAPP8GtGDrQZst#wBTIn_4Wm@v{tjsk;O&Z$8i5Tej|=13O8M9?K}S2>%aQY^s; zS}igzIRC7Zu#Bb{5dej`)XYdVk6`yw>Rid+FgD?u4B6Im5l@s9>V&p!cWUeQ|HW$+ z4kyTSR5~#EJ)poX`~UvI{)?6U|3!cAV7vc6M!UKSpTU%65ok0n1Dkn{KW5e}@dP7y z7G7TyOGWMu63BfK!oBgqrs#m&0UD5pzy&lf2xDpkSIZ3HmturU zph4}|K4!=h4HoJ+`}uHjG5+0X?(A}WIw*!CWz6#?bm!x4+e`6={CnyTsg0zZ)?MGTFY8s7l#Zkrv()q7TrHw;j9N=& z0d=8Kc}k1Q%V??NYWM`d7t$bHUt4^>fYEEnD~#P_L6PK=*~3PYr3St03^+w$hND79 zH}Td%d2^}@CXxu;IN>r)nMkdaWp#`IOsGgWDkmOn{AY8^qz8w`v>n*HoK z9EsgiZy>G&2XCd#@FM+*ajf%tZg1>xN>#{Z8eU2raG90_8NGZtH}*);?d*Twe{s+$ z2Szl$DDv{q)_0w5nJc=uJ}%Qzm*5xs{92|>HAYezZ4}LiHf$EQu&oWPn=E~O9sSVx zq1P&Djm%jbL8*VRF3!N&W+8ufx0toO@`MXlbyz`9 zXs>^ui>#Wp@=;k?wRvWx%C{^v*GlEJg#q|`CUxif+aE!7^#iW2YlDtFSl&s2>+8r` zH0LWMhNev$mQ%f{-8lJ7?(#ZHlXH3Z!(uEWKhliXg0UQ2!l`br$v>66$naMit~K-2 zO|C+jLO6l z%0%0*?hASrT7_K3l!tmk6^1cwTW*_G9h`DwL))c;SectN^BRRQb)-W#d5~j9>PB7@ zejC{~u0VLxKeyKpTx1!{Rvha}*f@`xD1C(lAive-8`%4cx~~{}W4+y6H|YCCPh4HK zJs??pjI3RiTD}*J3sm*jYWW&{Ur|?;nc8DxhU%tOEge>OukI|zsDx|^(nd7$q|IzP$_WwWjw)ejtr|rNSY78pjF4=mg!)$^AMg`-E z1OGI>pegF0y1T23+?CBiPmpu4IL0GUck)rlsbN!eDYVw_&kX`omryJ$!!f(W#OI;^ zdK$o);B%0|aaxt^u>&|07?9w2FdP`^&QnJ+%cOw!M*~Qh(j-Wk3Ef|>J_$yDsL=hb zIwomo|5T59D#E28{|(xmIyHF~=vhvl1tWSvo&_e$$+Lfv9e7U_lZA$p<5!vl<<(#k iumox7>6H9!oB6hF+qUiR)czd+0RR81eh)GLIsgDH{x!b< literal 0 HcmV?d00001 diff --git a/helm-charts/workflows/att-workflow/requirements.lock b/helm-charts/workflows/att-workflow/requirements.lock new file mode 100644 index 0000000..80df717 --- /dev/null +++ b/helm-charts/workflows/att-workflow/requirements.lock @@ -0,0 +1,6 @@ +dependencies: +- name: att-workflow-driver + repository: file://../../xos-services/att-workflow-driver + version: 1.1.0 +digest: sha256:4a44950f31c28610e1face8e7bf585244aa40a15136c23ff3bd870d9348a4a16 +generated: "2019-06-19T06:57:58.047407165Z" diff --git a/helm-charts/workflows/tt-workflow/Chart.yaml b/helm-charts/workflows/tt-workflow/Chart.yaml index e95c96b..cdd1d7d 100644 --- a/helm-charts/workflows/tt-workflow/Chart.yaml +++ b/helm-charts/workflows/tt-workflow/Chart.yaml @@ -17,7 +17,7 @@ apiVersion: v1 name: tt-workflow description: A Helm chart for XOS's "tt-workflow" icon: https://guide.opencord.org/logos/cord.svg -version: 0.1.2-dev +version: 0.1.3-dev # xosproject/tosca-loader version -appVersion: 1.3.0 +appVersion: 1.3.1 diff --git a/helm-charts/xos-core-3.0.7.tgz b/helm-charts/xos-core-3.0.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..ecdbbf891a85ca643d5d6cb1079a465b780033e6 GIT binary patch literal 12247 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 literal 0 HcmV?d00001 diff --git a/helm-charts/xos-core/charts/xos-gui-1.2.4.tgz b/helm-charts/xos-core/charts/xos-gui-1.2.4.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d184e5905399fb2808b03ed9b453bfa299c611ee GIT binary patch literal 2513 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 literal 0 HcmV?d00001 diff --git a/helm-charts/xos-core/requirements.lock b/helm-charts/xos-core/requirements.lock new file mode 100644 index 0000000..560b633 --- /dev/null +++ b/helm-charts/xos-core/requirements.lock @@ -0,0 +1,9 @@ +dependencies: +- name: xos-db + repository: file://../xos-db + version: 1.0.1 +- name: xos-gui + repository: file://../xos-gui + version: 1.2.4 +digest: sha256:e86e82edcb31f76863315c82b076e4e560a0bbd8ae829f35af0ef71e9d68893d +generated: "2019-06-19T06:57:31.958304319Z" diff --git a/helm-charts/xos-core/values.yaml b/helm-charts/xos-core/values.yaml index 3bd9df5..b915104 100644 --- a/helm-charts/xos-core/values.yaml +++ b/helm-charts/xos-core/values.yaml @@ -69,14 +69,3 @@ xos-db: xosDBName: 'xos' xosDBUser: 'postgres' xosDBPassword: 'password' - -# Certificates can be regenerated with scripts/pki/Makefile -# Created on: Fri Dec 14 16:46:00 UTC 2018, good for 366 days -ca_cert_chain: | - LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUQxakNDQXI2Z0F3SUJBZ0lKQUpsNGd5bGtZUi9zTUEwR0NTcUdTSWIzRFFFQkN3VUFNSGd4Q3pBSkJnTlYKQkFZVEFsVlRNUk13RVFZRFZRUUlEQXBEWVd4cFptOXlibWxoTVJNd0VRWURWUVFIREFwTlpXNXNieUJRWVhKcgpNUXd3Q2dZRFZRUUtEQU5QVGtZeEZUQVRCZ05WQkFzTURGUmxjM1JwYm1jZ1QyNXNlVEVhTUJnR0ExVUVBd3dSClEwOVNSQ0JVWlhOMElGSnZiM1FnUTBFd0hoY05NVGd4TWpFME1UWTBOakF3V2hjTk1Ua3hNakUxTVRZME5qQXcKV2pCNE1Rc3dDUVlEVlFRR0V3SlZVekVUTUJFR0ExVUVDQXdLUTJGc2FXWnZjbTVwWVRFVE1CRUdBMVVFQnd3SwpUV1Z1Ykc4Z1VHRnlhekVNTUFvR0ExVUVDZ3dEVDA1R01SVXdFd1lEVlFRTERBeFVaWE4wYVc1bklFOXViSGt4CkdqQVlCZ05WQkFNTUVVTlBVa1FnVkdWemRDQlNiMjkwSUVOQk1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0MKQVE4QU1JSUJDZ0tDQVFFQXlmdXJic3lHNC9NL1o1Y0x1a1drNU84ZjVTemxQY21md20rek11NTFtRlloU05hTgpiRkFic0FReFZqallvbTB1TEUxdjZsTlZuWGkxVzQySG9tM0c3ZFgyb1NEZ0loUXloS29jRkh0WlNGS0o0RWF1CmJsUXhXUzFaQ1VZSFpINUdMVmMxWUNMUHhUbFdndnlGSnVZUk9LZElaWXloT1ZORHY2RHlIN1cwQmsva1M5MEEKamhkZ3h3U0dJcldsS2FveGhjSG01R0ErenZiRnBOYUx1T201aFNDWHlpRnVSdHd1bXV5YlJMalNyUC9jUjF3OAorZjMvejkvQlZXTEdZMVBTN1RvSENUTk5veHNXUVNHQ1piVUlzUVpiSXhDSXNPVUJkbGxDWkRmYnErSUROaXErCnI3dTByVC9Tamh5WVdCcmkrcFNzc0lGdWNwcmhvOHJnZVJyMVpRSURBUUFCbzJNd1lUQWRCZ05WSFE0RUZnUVUKRlNrQmxkdXF5R0hibGhJMUdHV0NEV1NPNXRvd0h3WURWUjBqQkJnd0ZvQVVGU2tCbGR1cXlHSGJsaEkxR0dXQwpEV1NPNXRvd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBT0JnTlZIUThCQWY4RUJBTUNBWVl3RFFZSktvWklodmNOCkFRRUxCUUFEZ2dFQkFEazNCbVNmbUFpQ3dCZENRRHNodTViZWpQWStnckxNanROdkcxSXNqMUtRZHlpMmF6SGQKYUN0TW5LODdDbmJubDNlNzErcEx4aFJablcwQkFFeUxMNG9NOFYvR1kvcG9SSG45cWV1bGJtRTNqWkF2bTE0VAp5YUJhQXpzYTNDOTBUZkZEZG1WU1lPTWFocEM3Q2IvN01TZldkWFBXL3lLdkpZYzZCdUVvcVNUNE5ZeVBSVmNuCmdwUXp3dU9CMEN6dGMySHU2MDRFNTRRT05GOVl2aW5WYU9zVmFvQTJRQzJTemZtSlUzTWtnWm5HMTAvd0hlZEYKWk4wbUthSk1mMHpwWHI2MU5pOTVZc2pONmJnaVY1aExwZDBYUXBVTXpXVzRFZ0xEbjZyeFNjejcwRWh6SW1aRwpVbG40T20ybnMxSXR4NDE3RGtXbUp1cGRIY1U1d0w4MkZ4Yz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo= -secrets: - core_api_cert: | - Q2VydGlmaWNhdGU6CiAgICBEYXRhOgogICAgICAgIFZlcnNpb246IDMgKDB4MikKICAgICAgICBTZXJpYWwgTnVtYmVyOiA0MDk2ICgweDEwMDApCiAgICBTaWduYXR1cmUgQWxnb3JpdGhtOiBzaGEyNTZXaXRoUlNBRW5jcnlwdGlvbgogICAgICAgIElzc3VlcjogQz1VUywgU1Q9Q2FsaWZvcm5pYSwgTD1NZW5sbyBQYXJrLCBPPU9ORiwgT1U9VGVzdGluZyBPbmx5LCBDTj1DT1JEIFRlc3QgUm9vdCBDQQogICAgICAgIFZhbGlkaXR5CiAgICAgICAgICAgIE5vdCBCZWZvcmU6IERlYyAxNCAxNjo0NjowMCAyMDE4IEdNVAogICAgICAgICAgICBOb3QgQWZ0ZXIgOiBEZWMgMTUgMTY6NDY6MDAgMjAxOSBHTVQKICAgICAgICBTdWJqZWN0OiBDPVVTLCBTVD1DYWxpZm9ybmlhLCBMPU1lbmxvIFBhcmssIE89T05GLCBPVT1UZXN0aW5nIE9ubHksIENOPXhvcy1jb3JlCiAgICAgICAgU3ViamVjdCBQdWJsaWMgS2V5IEluZm86CiAgICAgICAgICAgIFB1YmxpYyBLZXkgQWxnb3JpdGhtOiByc2FFbmNyeXB0aW9uCiAgICAgICAgICAgICAgICBQdWJsaWMtS2V5OiAoMjA0OCBiaXQpCiAgICAgICAgICAgICAgICBNb2R1bHVzOgogICAgICAgICAgICAgICAgICAgIDAwOmFmOjFiOmRlOjZmOmQ2OjE0OjMyOmQwOjI2OjEzOmM2OjhlOmQ0OjRhOgogICAgICAgICAgICAgICAgICAgIDMzOmNjOjdjOmJhOmVkOmE0Ojg0OjNhOjRiOmJjOmZkOmNiOjFkOjkxOjQzOgogICAgICAgICAgICAgICAgICAgIGUzOmFjOmZiOjBmOjVjOjM5OmI5OjhlOmEzOjU1OjgxOjhhOjUzOjJhOjUxOgogICAgICAgICAgICAgICAgICAgIDE2OjQ2OjIzOmMwOjFmOjIwOmE3OjkxOjY1OmY1OjZjOjM2OmM1OjY0OjhmOgogICAgICAgICAgICAgICAgICAgIGRlOjE0OjMwOjg1OjMzOmM3OjY1OjliOjZkOmE1Ojg2OjU2OjdjOjk0OmZhOgogICAgICAgICAgICAgICAgICAgIGNkOjNkOjIxOjBmOjYwOjBlOjRhOjhjOjdkOmNkOjhkOjQ4OmI0OmRmOjM2OgogICAgICAgICAgICAgICAgICAgIGIyOjgyOjE4Ojg0OjNmOjU3OjQxOmY3OjM0OjA2OjI1OmQwOmI2OjUzOjVhOgogICAgICAgICAgICAgICAgICAgIDgwOmMwOjJhOmZkOmVhOmYyOmM2OmJhOmRmOjc3OjdhOjlhOjIzOjEwOmU3OgogICAgICAgICAgICAgICAgICAgIDlkOjRjOmQ5OmM3OjIxOjBkOjhjOjk4OmJhOmI5OmIyOjQzOmI2OmEwOjRjOgogICAgICAgICAgICAgICAgICAgIDQyOjYyOmZiOjNlOmZkOmY4OjcxOmY4OmUxOjY5OjFhOjk1OjY2OmVkOjQxOgogICAgICAgICAgICAgICAgICAgIGIyOjYyOmVmOjJmOmFkOjA2OjJkOmIwOjQ4OmM2OmJkOmViOmQ2OjlmOmZlOgogICAgICAgICAgICAgICAgICAgIGFjOjEyOmUyOjU4OmQzOmFhOmQyOjdkOjU0OmRlOjc1OjkyOmVhOjllOjFhOgogICAgICAgICAgICAgICAgICAgIDk3OjdiOjAzOjY4OjJjOjEyOjA1OmI1OmQ5OmE1OjMwOmRkOjhhOjk5OmI0OgogICAgICAgICAgICAgICAgICAgIDhkOmE3OjcyOjEwOmYzOmQ5OjljOjg2OmRkOjA5OmI2OmQwOjgyOjQyOjMwOgogICAgICAgICAgICAgICAgICAgIDZkOmNiOmQzOjZhOmI5OjMzOmM2OjM5OmFiOmNhOjhmOmJhOjM0OjJiOmZiOgogICAgICAgICAgICAgICAgICAgIDM2OjQ2Ojc0OmVlOjMwOmVlOjhhOmE4OjJlOjJjOjVmOmM4OjhlOmM5OjkzOgogICAgICAgICAgICAgICAgICAgIGIyOjMwOjJlOmIwOjI2OjQ3Ojg4OjBjOmE5OjE0OjBjOjc4OjAyOjY3OjBjOgogICAgICAgICAgICAgICAgICAgIGFkOmFiCiAgICAgICAgICAgICAgICBFeHBvbmVudDogNjU1MzcgKDB4MTAwMDEpCiAgICAgICAgWDUwOXYzIGV4dGVuc2lvbnM6CiAgICAgICAgICAgIFg1MDl2MyBTdWJqZWN0IEtleSBJZGVudGlmaWVyOiAKICAgICAgICAgICAgICAgIDkyOjZEOkMwOkU5OjNFOjk5OkNEOkE1OkE0OkM5Ojk1OkIwOkE0OjE1OjE4OkI3OkNBOjFGOkIxOjg3CiAgICAgICAgICAgIFg1MDl2MyBBdXRob3JpdHkgS2V5IElkZW50aWZpZXI6IAogICAgICAgICAgICAgICAga2V5aWQ6MTU6Mjk6MDE6OTU6REI6QUE6Qzg6NjE6REI6OTY6MTI6MzU6MTg6NjU6ODI6MEQ6NjQ6OEU6RTY6REEKICAgICAgICAgICAgICAgIERpck5hbWU6L0M9VVMvU1Q9Q2FsaWZvcm5pYS9MPU1lbmxvIFBhcmsvTz1PTkYvT1U9VGVzdGluZyBPbmx5L0NOPUNPUkQgVGVzdCBSb290IENBCiAgICAgICAgICAgICAgICBzZXJpYWw6OTk6Nzg6ODM6Mjk6NjQ6NjE6MUY6RUMKCiAgICAgICAgICAgIFg1MDl2MyBCYXNpYyBDb25zdHJhaW50czogCiAgICAgICAgICAgICAgICBDQTpGQUxTRQogICAgICAgICAgICBYNTA5djMgS2V5IFVzYWdlOiBjcml0aWNhbAogICAgICAgICAgICAgICAgRGlnaXRhbCBTaWduYXR1cmUsIEtleSBFbmNpcGhlcm1lbnQKICAgICAgICAgICAgWDUwOXYzIEV4dGVuZGVkIEtleSBVc2FnZTogCiAgICAgICAgICAgICAgICBUTFMgV2ViIFNlcnZlciBBdXRoZW50aWNhdGlvbgogICAgICAgICAgICBYNTA5djMgU3ViamVjdCBBbHRlcm5hdGl2ZSBOYW1lOiAKICAgICAgICAgICAgICAgIEROUzp4b3MtY29yZSwgRE5TOnhvcy1jb3JlLmRlZmF1bHQsIEROUzp4b3MtY29yZS5kZWZhdWx0LnN2Yy5jbHVzdGVyLmxvY2FsCiAgICBTaWduYXR1cmUgQWxnb3JpdGhtOiBzaGEyNTZXaXRoUlNBRW5jcnlwdGlvbgogICAgICAgICBhNTo0MzpmNToyMzozNjpjNDo5MjozMDpiZjowMToxZTphYjo2MTphZDpmZTpiNDo2Yjo5ZjoKICAgICAgICAgODg6YmI6Y2Y6YWU6ZTE6OGE6NTI6MDQ6ODI6NzI6MWM6M2M6ZWI6Mjk6YTU6NTY6NzA6YzI6CiAgICAgICAgIDk3OjEzOjY5OjM1OjVlOmZiOjRlOmMyOmUzOmI2OjQ1OmJhOjEwOjdiOmUxOjRjOmU2OjkwOgogICAgICAgICA1ZTo0MjoyODo3YjpjNDowMzoxNTo3Mjo1MDowMTo3Yjo3NzpjYzo1NDo1Zjo0Yzo4NDpmZjoKICAgICAgICAgY2M6NjM6YzA6ODM6YTc6YTc6YmU6YmU6YTI6N2U6YjE6ZmU6ZmI6OWY6YWY6ZjU6NDQ6YmE6CiAgICAgICAgIDBjOjczOmJlOjYyOmFlOmFiOmZiOmFmOjJjOjAyOmRjOjFmOjc5OjMzOmFlOmMzOjUzOmE0OgogICAgICAgICBkNDo3YTplYzplMzozYjowMTo3Mjo5YTo1ZTo4NzowZjpiNDo2Yjo0Mjo0ODo4ZjpiYTozZjoKICAgICAgICAgZDc6Nzk6YzE6OTk6MTA6NTM6MmY6ODU6MzY6OTY6NmI6NWI6MWY6ZTg6OTE6NTQ6ZDA6ZWM6CiAgICAgICAgIDdmOjk0OmM3Ojg4OjVlOmZmOjBiOjYzOjIzOmJkOmY2OjA3OjhlOmY4OmQ5OjhkOmUxOmIyOgogICAgICAgICBiNzowYzoxNzpkNDo0ZTpmNDpmZjo3ZDpiZDpiMTowNToxODo0MDplZDo2NTpmMTpkZTpmYzoKICAgICAgICAgNzU6OWU6Mjk6YWQ6YTk6NzE6ZWY6NjQ6NTI6Yzg6NWM6ODE6MmQ6NDM6M2Q6Mzk6Yzg6OTI6CiAgICAgICAgIGZlOjMwOmJlOmM1OjIxOmY5OmJlOmNhOmQ0OmFhOjI2Ojk5OmEwOjdjOmNhOmVjOjQzOmI1OgogICAgICAgICAyYjo0YzphMTowMjpjMzo4NzpiYzozNTphYzpkODpiZjplMzo5MDo4Mjo0Mzo5NDphZTplZDoKICAgICAgICAgM2I6MDM6ZWI6NjY6ODk6ZGI6ZDM6MTk6ZTA6NmE6YjA6Njc6MTQ6Zjk6NDQ6NjQ6ODk6MTQ6CiAgICAgICAgIGI1OmZjOmVkOjY0Ci0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLQpNSUlFc0RDQ0E1aWdBd0lCQWdJQ0VBQXdEUVlKS29aSWh2Y05BUUVMQlFBd2VERUxNQWtHQTFVRUJoTUNWVk14CkV6QVJCZ05WQkFnTUNrTmhiR2xtYjNKdWFXRXhFekFSQmdOVkJBY01DazFsYm14dklGQmhjbXN4RERBS0JnTlYKQkFvTUEwOU9SakVWTUJNR0ExVUVDd3dNVkdWemRHbHVaeUJQYm14NU1Sb3dHQVlEVlFRRERCRkRUMUpFSUZSbApjM1FnVW05dmRDQkRRVEFlRncweE9ERXlNVFF4TmpRMk1EQmFGdzB4T1RFeU1UVXhOalEyTURCYU1HOHhDekFKCkJnTlZCQVlUQWxWVE1STXdFUVlEVlFRSURBcERZV3hwWm05eWJtbGhNUk13RVFZRFZRUUhEQXBOWlc1c2J5QlEKWVhKck1Rd3dDZ1lEVlFRS0RBTlBUa1l4RlRBVEJnTlZCQXNNREZSbGMzUnBibWNnVDI1c2VURVJNQThHQTFVRQpBd3dJZUc5ekxXTnZjbVV3Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRQ3ZHOTV2CjFoUXkwQ1lUeG83VVNqUE1mTHJ0cElRNlM3ejl5eDJSUStPcyt3OWNPYm1PbzFXQmlsTXFVUlpHSThBZklLZVIKWmZWc05zVmtqOTRVTUlVengyV2JiYVdHVm55VStzMDlJUTlnRGtxTWZjMk5TTFRmTnJLQ0dJUS9WMEgzTkFZbAowTFpUV29EQUt2M3E4c2E2MzNkNm1pTVE1NTFNMmNjaERZeVl1cm15UTdhZ1RFSmkrejc5K0hINDRXa2FsV2J0ClFiSmk3eSt0Qmkyd1NNYTk2OWFmL3F3UzRsalRxdEo5Vk41MWt1cWVHcGQ3QTJnc0VnVzEyYVV3M1lxWnRJMm4KY2hEejJaeUczUW0yMElKQ01HM0wwMnE1TThZNXE4cVB1alFyK3paR2RPNHc3b3FvTGl4ZnlJN0prN0l3THJBbQpSNGdNcVJRTWVBSm5ESzJyQWdNQkFBR2pnZ0ZMTUlJQlJ6QWRCZ05WSFE0RUZnUVVrbTNBNlQ2WnphV2t5Wld3CnBCVVl0OG9mc1ljd2dhb0dBMVVkSXdTQm9qQ0JuNEFVRlNrQmxkdXF5R0hibGhJMUdHV0NEV1NPNXRxaGZLUjYKTUhneEN6QUpCZ05WQkFZVEFsVlRNUk13RVFZRFZRUUlEQXBEWVd4cFptOXlibWxoTVJNd0VRWURWUVFIREFwTgpaVzVzYnlCUVlYSnJNUXd3Q2dZRFZRUUtEQU5QVGtZeEZUQVRCZ05WQkFzTURGUmxjM1JwYm1jZ1QyNXNlVEVhCk1CZ0dBMVVFQXd3UlEwOVNSQ0JVWlhOMElGSnZiM1FnUTBHQ0NRQ1plSU1wWkdFZjdEQUpCZ05WSFJNRUFqQUEKTUE0R0ExVWREd0VCL3dRRUF3SUZvREFUQmdOVkhTVUVEREFLQmdnckJnRUZCUWNEQVRCSkJnTlZIUkVFUWpCQQpnZ2g0YjNNdFkyOXlaWUlRZUc5ekxXTnZjbVV1WkdWbVlYVnNkSUlpZUc5ekxXTnZjbVV1WkdWbVlYVnNkQzV6CmRtTXVZMngxYzNSbGNpNXNiMk5oYkRBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQVFFQXBVUDFJemJFa2pDL0FSNnIKWWEzK3RHdWZpTHZQcnVHS1VnU0NjaHc4NnltbFZuRENseE5wTlY3N1RzTGp0a1c2RUh2aFRPYVFYa0lvZThRRApGWEpRQVh0M3pGUmZUSVQvekdQQWc2ZW52cjZpZnJIKys1K3Y5VVM2REhPK1lxNnIrNjhzQXR3ZmVUT3V3MU9rCjFIcnM0enNCY3BwZWh3KzBhMEpJajdvLzEzbkJtUkJUTDRVMmxtdGJIK2lSVk5Ec2Y1VEhpRjcvQzJNanZmWUgKanZqWmplR3l0d3dYMUU3MC8zMjlzUVVZUU8xbDhkNzhkWjRwcmFseDcyUlN5RnlCTFVNOU9jaVMvakMreFNINQp2c3JVcWlhWm9Ieks3RU8xSzB5aEFzT0h2RFdzMkwvamtJSkRsSzd0T3dQclpvbmIweG5nYXJCbkZQbEVaSWtVCnRmenRaQT09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K - core_api_key: | - LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcGdJQkFBS0NBUUVBcnh2ZWI5WVVNdEFtRThhTzFFb3p6SHk2N2FTRU9rdTgvY3Nka1VQanJQc1BYRG01CmpxTlZnWXBUS2xFV1JpUEFIeUNua1dYMWJEYkZaSS9lRkRDRk04ZGxtMjJsaGxaOGxQck5QU0VQWUE1S2pIM04KalVpMDN6YXlnaGlFUDFkQjl6UUdKZEMyVTFxQXdDcjk2dkxHdXQ5M2Vwb2pFT2VkVE5uSElRMk1tTHE1c2tPMgpvRXhDWXZzKy9maHgrT0ZwR3BWbTdVR3lZdTh2clFZdHNFakd2ZXZXbi82c0V1SlkwNnJTZlZUZWRaTHFuaHFYCmV3Tm9MQklGdGRtbE1OMkttYlNOcDNJUTg5bWNodDBKdHRDQ1FqQnR5OU5xdVRQR09hdktqN28wSy9zMlJuVHUKTU82S3FDNHNYOGlPeVpPeU1DNndKa2VJREtrVURIZ0Nad3l0cXdJREFRQUJBb0lCQVFDaHhmdHdFclZDWkc1cApJcTFkanRmZitQT3hES1prUFFoeTU2MS9RTnNjT2kxc3BKKzdHVWFya0tGWW5PVVpFM293eDdoSGFZeWMxdFR5CkhMK3NvMDdNRVZEYmtTYTB2ejRGWE5jenZGRTZDcm53cFdDN1FBcHBsVnpCTitrbG8zVjc3Z0luK1hRWCthcXMKM29zSy9oTi9IV2lDU2RoUGk4c1U3clU2NGd1Y0pJNkhnK2lnMlFYWTk0bWFjVHJhVkhOMWtSd0RjYnFLbDhsVwpoUTlSTjNROXpQdFF3OUxGd0xHNGN1VkNtZ09XOW9LeE9weTVjM2hoNGhPL0ZVMEQzOU00eVhmcFJBQ1hzYzhmCmNXMjRaSC9pQzZ2bXVjNEtGejlsaWVmT1hnMy9LVWtJTzgzNkJxNGk1K3Jjc0Y2QS9ucllPV2VKYmZnL2dpR1UKWGV6OXdOcEJBb0dCQU5rNDUxeTV2NVJsYmtmN2VJNzA4NXBtM3JJeTZodkFXUktBRTZ5UWJra0dqa2pkSWZndgp5QjhtdXd4NXpDeXo1Mzl2WjhYVUhIeC9KbkR3UkRlc0NRMlZKSG5Qd1NocFE3ZmNXVDJrWEFkQTdDUDlFcUpwCkpDekZiaFZPTHVlakRGMTdFVGJvU0JOdU9mc0dNWmV1WFhCMzZ6VFJURFh4bzdrR2lkekpFeFM3QW9HQkFNNWUKWCtUUGNydUhkYnVZWnZ4WUZORk9kb3B0UHhUMnJ3YlpkS3lVb2dFM1ZLY2w5MUVlVHMwRHdYTmZLWE1JQ3cybgo3SFUwNEJqVjFJd3FzVFRqMVh0SUhBVHA5elQwV1FkNXgwUUVwUkhXenlSdHduWkpTbGJ3K2NGZFNrU1NnamNpCnlvY1puUE9jNzRKSWphaC9uRUlkUDZicnkzNG9NK3VWTjU1aVRyUFJBb0dCQU5oakZDN05wcWZvUnV5VCtHdkkKWGFjdzFLVUZqU3FwK05FeUh1Y25WWVdQYjB2c1pUdDhOY202WmxpdU9CTkwvODkxcGhWdkVCV0JBRVUvUTJXRwpEZHFtK0pnVHVtSk1RalkwM2YxRzdwb1hOV1ZBWkVDL3BsYW5NZHN0Y0JJMTNVcCtIdzdvWTJ4ZndJaHNpaGlFCmpQWk5yMU9GTDNzSlJNUTdYRGhCWWEyakFvR0JBSTgveTJqVTUxdHRLRGhVRGdqVVMzOE83QklpeTBzT0FXakwKd2NXYVZ1cHBNZ1hrd013Nk1aRDJMbTZiZS9ZeGV4cTdtZE95Skd5WTRiVjZYUS9OcHY2d2kyS04xZCtZVGNSMgpyKzl6R2ZKTUhmVzNpdWo0N3ZWeXlLdUV5bXpYRmpTWG5lWXh6VlQ5ZHZRRTBQQkp4SG5RTzhMdW9vNnI4WDV5ClVlMUxhRDVCQW9HQkFLVjJkYWJvWTBpeUtyOXFDV0NXZ3pjOFpuc0FEdHoyYzZ2Z2lUTXpUeDNNamdPb1d5TXMKWnRUUy94OW1Sei9CZUJnNWhNRCszS0ZoUzNsd1RUZ2xWYUI2NjFQUWZ6Tm1sZXJoQUtXV3pFV3lkelVISzM3dQpUS0hjb01PMUdmWU9mUjVFMWZKNWNWNGlFSTVPVU9rTGtMR0RjZ2lFcUJjck9kRThkeGYxY3NlLwotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo= - diff --git a/helm-charts/xos-profiles/base-kubernetes/Chart.yaml b/helm-charts/xos-profiles/base-kubernetes/Chart.yaml index c973968..50c28eb 100644 --- a/helm-charts/xos-profiles/base-kubernetes/Chart.yaml +++ b/helm-charts/xos-profiles/base-kubernetes/Chart.yaml @@ -16,7 +16,7 @@ name: base-kubernetes description: A Helm chart for XOS's "base-kubernetes" profile icon: https://guide.opencord.org/logos/cord.svg -version: 1.1.0 +version: 1.0.4 # xosproject/tosca-loader version -appVersion: 1.3.0 +appVersion: 1.3.1 diff --git a/helm-charts/xos-profiles/base-kubernetes/charts/kubernetes-1.0.3.tgz b/helm-charts/xos-profiles/base-kubernetes/charts/kubernetes-1.0.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..9999756352221e2424419763ebe8c0480559c160 GIT binary patch literal 2289 zcmVDc zVQyr3R8em|NM&qo0PI<9Z{s!+-p~9M1EodU-dd8KIB9h#aNcBl4Z2Mh>uh_ALlMx@ zSmuQyRg!Yz%jUlyNJ*CD#CbuoyC}~5VoMwjhtG_L4>{+>1eHL8Iyjh7W&8!r_>1Rl zVHk${!=d{P!*KOC9PI48=f-() zjpq4ps5Fxzg1*1wha^EAE0!DgY6L$c&mgv;0aK~qUnk>j4PFyA9%xi^79(M?9WgT| z*HI9p1xwJEIf_`S#Fr`!xJ;!E+@qeSM9>T)Xf%;|V@T-lkS`6*|3zzk|8vR<)Sn;$ z-1Gep`a8R;-~V2?`Tjpk>-BnM3l3zyP%NDp7=-=rd$~f5!oW$60*=vKNOjIc3O~t0 zB-CaGvPHJw4U17|OrQ`6DljvIQBLC-);%ww$}KSPL-@uDcvYA8?cd23EMx&0U4W1V z3XNc9Ov99M1iXwfH^2nMGRrxmB1X7iX6B};l=x%|K2$2?#84)HLM-zI$Z1;+sBs3{ z+!O`D#l?kBouOq~Dus0L=IG${@%VLb;D=89z2K-dDEzZv3KN(tfaW=8F`aM(PA@=qu8V{9iVEhU zQClOKg%A^q*BG&5fKBT5S?3tDDT{$qkrp&XNaY-ruzt@`WlUQ~YM>$^TfkYyjEe+) zb5TAaTX2X|T5tnpR&mobxd!w?#4{xY`!6bM)v0wn(?H?F=+`&BsZ<#?77!Z@zEc-- zsu1Q>F$=%8h))o5s%-=^VWf>F1qQR6Q-j(kM4|K6fh>fHpikVEb23MzSb`CF9+?)L z-*`z_MpKLkfWlmAW~5p~uze|YuH=6(HbJwJUVA0m1i;WVg6*p-@Jl{5T5hm#eQgEu zg7deMv)Jk!@e8`p+k~WCPAD(uOl?5e-fcoIr5+_26Yn*u2s~>4|D(ODdP|YFRO<_= zk_bGGCPOA%-+@#(F1P3iyi2Kju~Zlh!*JO52sx+IbK3M*U*W?_kE7{PbJ^)<0lZcf>S22ea`f) zxCgyPz|o6pmp!(+{NKtGOnXCzk6=_GV%Xbpe_1vzrc-taUawJxB60t#I9Esw0$t8w zNx}mDEGTDFhKY5yGu|h^W2xQA8#{+xh=vKq)W)lp8Nx3O?Qu(*{Fk-Z29gjB`ti3j5Jf%crdIm9=-F zTN9xM6gFJ~y2_H4GHV4MggV!armx%zq8}gb*m`8Hm@rfDzSh03wFmyY5~gxwsrE53 zur?lAK-&neE-Ng^4(!Tvr4*+VyW;_j(!M#7-BnMa{;)y0DSHXK$^2z~4vNHS(?cuP$E7<6!4{p%R#(Vuq$G63r2YSZu3$l8qkSIa#)=RHa5; z7g3!-TkO5|*Gj6{TJCV?p3cONo%#Xb0Z<`i6-&)L@eJd0U1Zf^#Eq{v z|8LxF34GlGFx=BcR?k{{#QiTFHHu^Fg5woB(y8#( z2jBAcZRHT#+-S6JZ(2|Ql!e8%^UJ!QUl;x0`nuKW#QmlSX-~rz`kb$b7@Brbucmt2 zsx{uw+Y}0(kUyHB*XFGgkJ8D*kZuH_E%3atVzW6A?P zqY8tV_UvezNF9}OeP{NS_G4w%SyoyU#MFtNxyk(;Gt!3imSDRJ$+%|QT_@b2+wD$f zFk5k&y9mKW)TQGqA^`cl2tNSbJ564J_Q7_$xz^ZwC+=5Qy^?V(@1I)*@FwOvW%2eW z(|jV|*V6UHQR}fYLtQ^_CC9p={zT2KQhlSmUB7?0{x8j0H*M24ZPPaG>Fs|300960 L^(z|905AXm(>Qb5 literal 0 HcmV?d00001 diff --git a/helm-charts/xos-profiles/base-kubernetes/requirements.lock b/helm-charts/xos-profiles/base-kubernetes/requirements.lock new file mode 100644 index 0000000..dbd1ecf --- /dev/null +++ b/helm-charts/xos-profiles/base-kubernetes/requirements.lock @@ -0,0 +1,6 @@ +dependencies: +- name: kubernetes + repository: file://../../xos-services/kubernetes + version: 1.0.3 +digest: sha256:807f29b8cc3584e7fa2679b201a8152644239523d99c17ad038cedd7de4354fe +generated: "2019-06-26T02:34:06.586945525Z" diff --git a/helm-charts/xos-profiles/base-kubernetes/requirements.yaml b/helm-charts/xos-profiles/base-kubernetes/requirements.yaml index 70d31d9..5db83bd 100644 --- a/helm-charts/xos-profiles/base-kubernetes/requirements.yaml +++ b/helm-charts/xos-profiles/base-kubernetes/requirements.yaml @@ -15,5 +15,5 @@ dependencies: - name: kubernetes - version: 1.2.0 + version: 1.0.3 repository: file://../../xos-services/kubernetes diff --git a/helm-charts/xos-profiles/ponsim-pod/Chart.yaml b/helm-charts/xos-profiles/ponsim-pod/Chart.yaml index 23c06b5..97197d6 100644 --- a/helm-charts/xos-profiles/ponsim-pod/Chart.yaml +++ b/helm-charts/xos-profiles/ponsim-pod/Chart.yaml @@ -17,7 +17,7 @@ name: ponsim-pod description: A Helm chart for loading the Ponsim pod's TOSCA files into XOS icon: https://guide.opencord.org/logos/xos.svg -version: 1.2.0 +version: 1.3.3 # xosproject/tosca-loader version -appVersion: 1.1.5 +appVersion: 1.3.1 diff --git a/helm-charts/xos-profiles/ponsim-pod/templates/tosca-job.yaml b/helm-charts/xos-profiles/ponsim-pod/templates/tosca-job.yaml index 92d4cd1..d2c37c7 100644 --- a/helm-charts/xos-profiles/ponsim-pod/templates/tosca-job.yaml +++ b/helm-charts/xos-profiles/ponsim-pod/templates/tosca-job.yaml @@ -37,8 +37,8 @@ spec: restartPolicy: OnFailure containers: - name: {{ .Chart.Name }}-ponsim-pod - image: {{ .Values.global.registry }}{{ .Values.image.repository }}:{{ tpl .Values.image.tag . }} - imagePullPolicy: {{ .Values.image.pullPolicy }} + image: {{ .Values.global.registry }}{{ .Values.images.tosca_loader.repository }}:{{ tpl .Values.images.tosca_loader.tag . }} + imagePullPolicy: {{ .Values.images.tosca_loader.pullPolicy }} env: - name: XOS_USER value: {{ .Values.xosAdminUser }} diff --git a/helm-charts/xos-profiles/ponsim-pod/tosca/020-pod-olt.yaml b/helm-charts/xos-profiles/ponsim-pod/tosca/020-pod-olt.yaml index 724d56c..9398a65 100644 --- a/helm-charts/xos-profiles/ponsim-pod/tosca/020-pod-olt.yaml +++ b/helm-charts/xos-profiles/ponsim-pod/tosca/020-pod-olt.yaml @@ -19,6 +19,9 @@ imports: - custom_types/onudevice.yaml - custom_types/ponport.yaml - custom_types/voltservice.yaml + {{- if $.Values.bandwidthProfiles }} + - custom_types/technologyprofile.yaml + {{- end }} description: Create a simulated OLT Device in VOLTHA topology_template: node_templates: @@ -29,29 +32,103 @@ topology_template: name: volt must-exist: true - olt_device: +{{- range $i, $junk := until (.Values.numOlts|int) }} + + olt{{ $i }}_device: type: tosca.nodes.OLTDevice properties: - name: PONSIM OLT + name: PONSIM OLT {{ $i }} device_type: ponsim_olt - host: olt.voltha.svc + host: olt{{ $i }}.voltha.svc port: 50060 switch_datapath_id: of:0000000000000001 - switch_port: "2" + switch_port: "{{ add 2 $i }}" outer_tpid: "0x8100" +{{- if $.Values.bandwidthProfiles }} + technology: xgspon +{{- end }} +{{- if $.Values.legacyPonsim }} dp_id: of:0000aabbccddeeff +{{- else }} + dp_id: {{ index $.Values.oltDpids $i }} +{{- end }} uplink: "2" requirements: - volt_service: node: service#volt relationship: tosca.relationships.BelongsToOne - pon_port: + olt{{ $i }}_pon_port: type: tosca.nodes.PONPort properties: - name: pon0 + name: olt{{ $i }}pon0 port_no: 1 requirements: - olt_device: - node: olt_device + node: olt{{ $i }}_device relationship: tosca.relationships.BelongsToOne +{{- end }} + +{{- if $.Values.bandwidthProfiles }} + technologyProfile: + type: tosca.nodes.TechnologyProfile + properties: + profile_id: 64 + technology: xgspon + profile_value: > + { + "name": "4QueueHybridProfileMap1", + "profile_type": "XPON", + "version": 1.0, + "num_gem_ports": 1, + "instance_control": { + "onu": "multi-instance", + "uni": "single-instance", + "max_gem_payload_size": "auto" + }, + "us_scheduler": { + "additional_bw": "auto", + "direction": "UPSTREAM", + "priority": 0, + "weight": 0, + "q_sched_policy": "hybrid" + }, + "ds_scheduler": { + "additional_bw": "auto", + "direction": "DOWNSTREAM", + "priority": 0, + "weight": 0, + "q_sched_policy": "hybrid" + }, + "upstream_gem_port_attribute_list": [{ + "pbit_map": "0b11000000", + "aes_encryption": "TRUE", + "scheduling_policy": "Strict-Priority", + "priority_q": 1, + "weight": 0, + "discard_policy": "Tail-Drop", + "max_q_size": "auto", + "discard_config": { + "min_threshold": 0, + "max_threshold": 0, + "max_probability": 0 + } + } + ], + "downstream_gem_port_attribute_list": [{ + "pbit_map": "0b11000000", + "aes_encryption": "TRUE", + "scheduling_policy": "Strict-Priority", + "priority_q": 1, + "weight": 0, + "discard_policy": "Tail-Drop", + "max_q_size": "auto", + "discard_config": { + "min_threshold": 0, + "max_threshold": 0, + "max_probability": 0 + } + } + ] + } +{{- end }} diff --git a/helm-charts/xos-profiles/ponsim-pod/tosca/030-fabric.yaml b/helm-charts/xos-profiles/ponsim-pod/tosca/030-fabric.yaml index ce3dda8..950551e 100644 --- a/helm-charts/xos-profiles/ponsim-pod/tosca/030-fabric.yaml +++ b/helm-charts/xos-profiles/ponsim-pod/tosca/030-fabric.yaml @@ -38,16 +38,19 @@ topology_template: ofId: of:0000000000000001 routerMac: 00:00:02:01:06:01 - # Setup the OLT switch port - port#olt_port: + # Setup the OLT switch ports +{{- range $i, $junk := until (.Values.numOlts|int) }} + + port#olt{{ $i }}_port: type: tosca.nodes.SwitchPort properties: - portId: 2 + portId: {{ add 2 $i }} host_learning: false requirements: - switch: node: switch#leaf_1 relationship: tosca.relationships.BelongsToOne +{{- end }} # Port connected to the BNG port#bng_port: diff --git a/helm-charts/xos-profiles/ponsim-pod/tosca/040-subscriber.yaml b/helm-charts/xos-profiles/ponsim-pod/tosca/040-subscriber.yaml index c806d2c..a0952b1 100644 --- a/helm-charts/xos-profiles/ponsim-pod/tosca/040-subscriber.yaml +++ b/helm-charts/xos-profiles/ponsim-pod/tosca/040-subscriber.yaml @@ -20,6 +20,7 @@ imports: - custom_types/bandwidthprofile.yaml {{- end }} +{{- $onucount := (.Values.numOnus|int) }} description: Pre-provsion a subscriber topology_template: @@ -38,16 +39,25 @@ topology_template: name: Bronze {{- end }} - # Pre-provision the subscriber the subscriber - my_house: + # Pre-provision the subscribers +{{- range $i, $junk := until (.Values.numOlts|int) }} +{{- range $j, $junk1 := until ($onucount) }} + house_{{ $i }}-{{ $j }}: type: tosca.nodes.RCORDSubscriber properties: - name: QQClient + name: QQClient{{ $i }}-{{ $j }} status: pre-provisioned - c_tag: 111 - s_tag: 222 + c_tag: {{ add 111 $j }} + s_tag: {{ add 222 $i }} + {{- if $.Values.bandwidthProfiles }} + tech_profile_id: 64 + {{- end }} + {{- if $.Values.legacyPonsim }} onu_device: PSMO12345678 -{{- if .Values.bandwidthProfiles }} + {{- else }} + onu_device: PSMO{{ printf "%04d%04d" $i $j }} + {{- end }} + {{- if $.Values.bandwidthProfiles }} requirements: - upstream_bps: node: bronze_bp @@ -55,4 +65,6 @@ topology_template: - downstream_bps: node: bronze_bp relationship: tosca.relationships.BelongsToOne -{{- end }} \ No newline at end of file + {{- end }} +{{- end }} +{{- end }} diff --git a/helm-charts/xos-profiles/ponsim-pod/tosca/att-workflow/010-att-workflow.yaml b/helm-charts/xos-profiles/ponsim-pod/tosca/att-workflow/010-att-workflow.yaml index 1af0eb2..6dd34a2 100644 --- a/helm-charts/xos-profiles/ponsim-pod/tosca/att-workflow/010-att-workflow.yaml +++ b/helm-charts/xos-profiles/ponsim-pod/tosca/att-workflow/010-att-workflow.yaml @@ -22,6 +22,7 @@ imports: - custom_types/attworkflowdriverwhitelistentry.yaml - custom_types/attworkflowdriverservice.yaml description: Create an instance of the OSS Service and connect it to the vOLT Service + topology_template: node_templates: @@ -31,13 +32,23 @@ topology_template: name: att-workflow-driver must-exist: true - whitelist: +{{- $onucount := (.Values.numOnus|int) }} +{{- range $i, $junk := until (.Values.numOlts|int) }} +{{- range $j, $junk1 := until ($onucount) }} + whitelist{{ $i }}-{{ $j }}: type: tosca.nodes.AttWorkflowDriverWhiteListEntry properties: +{{- if $.Values.legacyPonsim }} serial_number: PSMO12345678 device_id: of:0000aabbccddeeff +{{- else }} + serial_number: PSMO{{ printf "%04d%04d" $i $j }} + device_id: {{ index $.Values.oltDpids $i }} +{{- end }} pon_port_id: 1 requirements: - owner: node: service#att relationship: tosca.relationships.BelongsToOne +{{- end }} +{{- end }} diff --git a/helm-charts/xos-profiles/ponsim-pod/values.yaml b/helm-charts/xos-profiles/ponsim-pod/values.yaml index 5cd5f22..2e0940e 100644 --- a/helm-charts/xos-profiles/ponsim-pod/values.yaml +++ b/helm-charts/xos-profiles/ponsim-pod/values.yaml @@ -22,10 +22,11 @@ replicaCount: 1 nameOverride: "" fullnameOverride: "" -image: - repository: 'xosproject/tosca-loader' - tag: '{{ .Chart.AppVersion }}' - pullPolicy: 'Always' +images: + tosca_loader: + repository: 'xosproject/tosca-loader' + tag: '{{ .Chart.AppVersion }}' + pullPolicy: 'Always' global: registry: '' @@ -36,4 +37,21 @@ xosAdminPassword: "letmein" # Supported workflows: att-workflow (AT&T) or tt-workflow (Turk Telekom) workflow: att-workflow -bandwidthProfiles: True +bandwidthProfiles: False + +# numOlts > 1 only works with voltha-1.7 or greater +numOlts: 1 +numOnus: 1 +# legacyPonsim == true means that we are using voltha-1.6 +legacyPonsim: true + +# For legaacyPonsim == false: +# List of olt dpids that are generated by Ponsim adapter +# Entry N is generated for oltN.voltha.svc +# Generate the last 12 characters as follows: +# $ echo -ne olt0.voltha.svc:50060 | md5sum | cut -c -12 +oltDpids: + - of:0000d0d3e158fede + - of:00000da7f2c143c7 + - of:000032be2d4c2abc + - of:0000ae9b8dcd58c7 diff --git a/helm-charts/xos-profiles/rcord-lite/Chart.yaml b/helm-charts/xos-profiles/rcord-lite/Chart.yaml index 5bb81ee..fb62672 100644 --- a/helm-charts/xos-profiles/rcord-lite/Chart.yaml +++ b/helm-charts/xos-profiles/rcord-lite/Chart.yaml @@ -16,7 +16,7 @@ name: rcord-lite description: A Helm chart for XOS's "rcord-lite" profile icon: https://guide.opencord.org/logos/cord.svg -version: 1.1.0 +version: 1.1.3 # xosproject/tosca-loader version appVersion: 1.3.0 diff --git a/helm-charts/xos-profiles/rcord-lite/requirements.yaml b/helm-charts/xos-profiles/rcord-lite/requirements.yaml index a63d5c3..05303e0 100644 --- a/helm-charts/xos-profiles/rcord-lite/requirements.yaml +++ b/helm-charts/xos-profiles/rcord-lite/requirements.yaml @@ -24,7 +24,7 @@ dependencies: version: 2.2.0 repository: file://../../xos-services/fabric - name: volt - version: 2.2.0 + version: 2.2.3 repository: file://../../xos-services/volt - name: vsg-hw version: 1.1.0 diff --git a/helm-charts/xos-profiles/seba-services/Chart.yaml b/helm-charts/xos-profiles/seba-services/Chart.yaml index eed0129..c450f1b 100644 --- a/helm-charts/xos-profiles/seba-services/Chart.yaml +++ b/helm-charts/xos-profiles/seba-services/Chart.yaml @@ -17,7 +17,7 @@ apiVersion: v1 name: seba-services description: A Helm chart for XOS's "SEBA" profile icon: https://guide.opencord.org/logos/cord.svg -version: 1.2.1 +version: 1.2.5 # xosproject/tosca-loader version -appVersion: 1.3.0 +appVersion: 1.3.1 diff --git a/helm-charts/xos-profiles/seba-services/charts/fabric-2.2.0.tgz b/helm-charts/xos-profiles/seba-services/charts/fabric-2.2.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..b292b669223b8556c0b27dc97dbb8352ab23b93a GIT binary patch literal 2643 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 B7PSBX literal 0 HcmV?d00001 diff --git a/helm-charts/xos-profiles/seba-services/charts/fabric-crossconnect-1.2.0.tgz b/helm-charts/xos-profiles/seba-services/charts/fabric-crossconnect-1.2.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..52bae6fa2486744494c31b49c0889dd856c18935 GIT binary patch literal 2454 zcmV;H32F8piwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0PI>}bK5r3&S(6J9l9O2eItreET`o=ojJ!zuAZiLCUV-#+}vm& za7Ez)0xST^);ap`HvmbARAfu36L)$ee33}(E*6XB?t=v;bgVh+Fs+PXN=jt5dpf1s zhI5*UN1vrdQ4~EL4E%2tMeDy&e=vB|doqZQj(gG3)BdBVH|X`BK7#1;41aekjHUWf zbnmg&C-)a=G|zuUZMc##^um7FBMBO&d2aoy6Zi>52F!T`Oq7OyTnrBl1RLBY0E2qQ z84}JM>(tuZ#NBRM@B~AZqhv}aq0(trs8pG*e>Ag{NSa{`8$^;>Q?-cv*~a=GY@5FS z85ISZ&ldo;eEEnoWFyg&(5De z2IO{%8t~e!qj5@dXF^Pzy@rS_1zb>f&n8F4C!B$xGA(F|kg6GK>DE0*opIw9(g2kS zIRL>kZoMa%k0%upasbb9LJMJ`3?_b28&rPs6`VJqR}tZsVbz6p+|g@xtO8WJi!=(fJ_P@ zK6*)bMpKLlfW}-IZk3+LaCoguuGPO?aNID7j+sj~)k^aJpgtr3mZmWr-rPV~LaCEw zl7+>>5#)ssua)4;2|p26bZ!m_Nrf6yQ4XFur*OT8gj_3gl4M-IHK=08FKrEyqh=NN)(Wjai0j0aIP=mmtlr<3<|)$hc1{JX#z(x^f+ zG%?&P2$3qmAqr$x>GF+L0(I#MG5qsigwV-^OK#`B`_GPV`*wHRl>e9CQFk;&k)t-D z&F=vPw&ee#@YyiI=RgEo@W9H6UR>u?Ccf7t-+C$h26IW*fdnU9 z;>LYu==cKYtSCLss8a2@6B_4awOAGzz4qG9XjZxwfhH=>8qIaK(jiAgOR) zA9d);DPL*3lbLILw6YGLEG@eZo|ZJX66|DtVOEm9@>7X_+R}N(tYTCM%hj zy0+eavVyth(oP`w+H}4)!J4#k+)wej+y1wFv9ZYRGpgz%Zh`$mS6)+62|7lx<6?V` z;MS=%Enohx!}bRUlm%r7!T$vijDk=7&hFN$Dk+^RIpJx^e|xovGKR(|?GSWfP?wYr zhF9Lw1k&&UelL_oSS%bMU*hHsnv!G0J#og|r&C0cF(U=+E!z%lr>hwHB>+&SI?><>Ho40%s^dzq+rPIymoI?-w%~uO z45Rl$|J&<-QS@XT|M!mf`2RuL9{=z0|AXQGopSx93pr(~_t9tMdAOH7TBf|R%eYD4 zXihUR>W!lI+0_s&6!|8kusW&Aa;2@0*BxMmu__xm|2I{cugO&L_+t@5tjd*8>3mcN zOD99B1eY(WEKso>Y*3?46K=$6Mxhg7!k3=-v_V^CtBNDnDo1TOHd4*)xTvNmVMIbL z{nA-w-~KA??)=X@?#^g_ufxDC`M>w%_^6%#9U|!M^Z!G%{rTVi{O=2#|IwT;ua(St zq|7|!F8&vqlMF3&dB`WtTk}>;(JBJO@PXXi0GCV@$!=AH5Iz8xiSy_q*eASJyF30T zm=UApy5pG^$DJ7cv>IEsws+LV(H75TDr@wU~%}p*qbIE+YvZcWv)?o*80#GSc z<#?+B*%aA(Q)JbC#q-wy;TwOJ0bhlel{VosYVb9+QwY}fH^H|aDwrwl4~|Wd)uYyH zR29};oLMU_uTB~oCnb%E0hITOnu}ZB_6h5&KCoCcIz4%~x`PCZMeHn^i!~BU)3yz( zpd}<%8@X2|WZK@QS*cN%QBOMZgNHe0q-o?0?zfX|S&hNl z>$AOh;mU;8>Fw10OVV3zJtB*)P2p^JL~Pox<%hRSK{WTQv#CZS#;xS z-0Hh%U6^ZrR;$nG`n+a literal 0 HcmV?d00001 diff --git a/helm-charts/xos-profiles/seba-services/charts/onos-service-2.1.0.tgz b/helm-charts/xos-profiles/seba-services/charts/onos-service-2.1.0.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d3fb38f1810896c6b5d9019783240fc0d958bc7d GIT binary patch literal 3020 zcmV;-3p4Z|iwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0PI`;bKAIb&(HWPw(@(EOB#`qVmo>4yqP+7uIIU&ow1x;Go6kG zB3BfiK>!DUlJy+-Z|?vgB~p&;r1m*?9pML?1Qv_s?qc_YFOouBtw&GrmU|zfS-^TkUGbJiPZ3)r^BZPI!(9fK=tqf z=2MnVA(djn@=~LL)05L7VX0#^wN{xVj`Nab7)ga9l{$;0&SNffX=49sW;qeGzyz8@ zkXcj49{Ju{`~Oo~^M6KpiRQrrz#a2{@TxypoBzALy}@?=KSt?xyJQCrrCMl~Pc003 z{nuTk(V(z!s!+fQ+PTyhOyuyREJa3LWFR|a2i~z1g~1F;k)Z}VML1A2onqbc0;<>o zgQy2TID$^q)Oq%AWCs?qgn}+WNDHMwuv2DW!Z-q6rl>410jVq$XH=vJb7rT0n2Je6 zcHmRRLXItE0w|{a*oB}Zj_31vM7^LP`UD~qzdJsBdoq069Yj4({y}gw z1~mRwGL0FG7eJNbETv4tY+iVwiH!M z#!QPq3ZMcy2SYd>cHqsy@Ob!w?7*+b=Rci(IEP;k&dv@_&X3;?;q(j+Pfw1H&yP<} zhH&~L9GrZDpN~(DUH~#XMGbiA>}Z^j%&8DFr>`MmO8^(t-MdkkvI$FpQ<0Z6N66(2 zwQzPK$k>`pig`{ zIh~=_EW-pk9Wp67zfnn8L32z9fJP+^vr;b-czP*~(()ge+Bk^65b0D)!TyQ*DFLuF zPvGg*6+{6%9W3)HTwgl^RdW7ba+W%72YgN!<|!dLmt)GqXt}fhA_#FQ%|TW$@xh=@ zphMmBzc+JbXG!v&8Z(zVOQ6Hi7RZEeJCquSLB|PnE~V+FQe(2$>+SVBgj~?c1zoi} zwq0M>A;i5L`rLh>)Q7Wo33TeDEscqc6x1$Mm^5|D;4-B=UaE|ti8XShZa$?_SQIvP z^z}FREZ+?XA?`=JQLkCk^)->Cx`GDI z_+HYIMOpCe$js6x<)yKxBQHT`vwk;sO8(aS+o0nd*T_<*XcD-(CPc^#hsZItQimEV zIqER!68NwGCWKBVOfb9f&HuOf-^%~XX%vs9$Q5c6S#^IXa7X^%-MfMR_XmUCHvd0H zxw?vg{y1DiD!l@;lVgk?O>uchu$hU(8a$kgSZ+!5z=zx3!G$0Rw3+|5! z9t;ya1R}Tt53HQ%?WLk3^Q|rg*QW3b%q3kHGMq4h?R944I&`4BBJlvDO1vkITl6uk zV4B$-K7-YzNMZk_e`Lk5oJ`mybh;~MC^G+CdAdew5$JLZhZq*{TS+;aFwC5}z4#IN z6$5uqZ`~N~Qw)qTrOsoGED(M!$EXEbG~uHs40&e2K^w2Q;3wX>e;6;kLXJ*`j@Ieg z+2L74jwev1w7|rrHOhpk7U#Z>S(r1<9Y!kMw4)AOIpHg5Z`W^)i&ko3lch@6LDQ0E zBf(ecotqV>zxZ!R{{Ho*ZOFM)N8l2j1zm;COIcgB-z=cgOxOu@{%X2^HJvqXVcc(V zwoT71Cu~^PO`K{Y#97u`xN?_3#pxLNT~_v_osHkrRC#!=BlKs7j5$paI{(^%&ZzTk zGi$R%)&BrJL(kO~5TR*`#z^hJa%oV9CWp8yk7#0M_zb_5(jr`6JM6uL$X_6@@pHQi zicCr7Ru1hh4OrdmfHM?!G%iiDsc#bywuic4B1^!x6E5?diQI8nZguquz?6!NqxS5< z`M8lB!wW#lsWAyueWRh(NQ<9B4^QGUM%;QUG zA};faprDs;7S`d_esA~n-mCpy)i9>%MX9P4*q*QSpSdQBuj4YWWQl%u@9$*Z7Go@> zHC9tKa(=SZg)3d?Y|`}gbp@*frIm`M2~_e&t-VF?N?9^~`m`RPt^6=xWr9YHQ&ZzL z*fYFwoFPx(=EB16k*8&z>1df1Lz8jR<7hz(KI)Hpgs?(MZ9}N;LRuOti;;6> z*_4p)a?P6Z#&Py8WReMUxzl}d7%FGh8= zbutT?;j+Rc#3zud%Z}?mIy^l)suPius?tQ{dYZ_Q443)L6{V#@Z5cMw7eL78ONNb> zfJQQEX`@o3v7@Opb_Ke=uszm>HLbqRC<(mozwU=ma=k}XsU4|MOt_ri{z(T)-SRmV zNYo*pSKG8v&3Q>il^U_^PQq$B7bt8iQR&vukEgFqH%!esc^@lah9Y%BZFI;Ne-@+6thm21W>(y8geJjK`ODLR4O-v7UF(|-{C)NN=!=96 z_&=zmpz0wm1KffC`!9EI?Emj=@Bchb*`EJz&;Ngi^M9(?@>Fr8-}6__a0^xkk1(CHQ zpVi)1<7~9G)fKJ|Lerk%f?rhM?t|;=Mx&>XR`(3y`Z{sCRD6xZ(!8z2YOME-ONBT1 zu5KLO*pRF4mpL3|C&O$Mcr3SN8^x64z~(N}TDBCmO{bKJZupK{1S^fME)<$6)flI= z>w3HB=)sY18@VbIrP^+ith(fwQcpVagGUMr(p2XcJneQZrZtFO+l#n~qMOakVzFj4 ze^`l&q>ZxINC4EGTK)YlQlyW+T?scQ^0Jxp66U#k_e_^y~S5Z!Eekk6&8rzi5iQV7ZVQA99Sl ze*d@E-@EbqpY8qM$0&ldnMeOLy`VXoX$xYcYB6D5;y9@!a-o}d#S&muS#d;wDUo=zmU?f}jNMkG2K zj)qqH1=XP}3Mt^@;Se&W4T*AQWB)gZPonWZb?pDv71KO+f9h8=6Y+{sxUJ-uorXM* z%v_P@(U@M4=aDTGdHz3S2R>5GWNF~|=&d19bu2?7mLZJ;otFRD2GDKUmTmbnmH!O@ O0RR8(JbrZmKmY*DWc}g* literal 0 HcmV?d00001 diff --git a/helm-charts/xos-profiles/seba-services/charts/rcord-1.0.14.tgz b/helm-charts/xos-profiles/seba-services/charts/rcord-1.0.14.tgz new file mode 100644 index 0000000000000000000000000000000000000000..a8b6fd5930b25928d6f0d4188d480c0ecc50f770 GIT binary patch literal 2399 zcmV-l383~LiwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0PI>}Z`(N1?q~gqfwGJ2?psT;6Q{d+vB0@WdkxwqMVxN0I2;UG z8q2&;q)Jjwe5wEYfuv+hPST{;B*kLQFSf|x%y2lGc{rj>giOQzDUmvulbk(yfEGnj z^sL{vzflye|37>iK8e0r*81Z9B#jis zA1D+ckh!$Z|-Gf51dY_{Z^ZTY+!g#s`IRMicaCVu+_&7b*_J ztfVOhqCjq_0wJ@IiA<=_KB`&fagt*UmWel8iI0NruJ^qy^4Dta{htw5qI#$RaLfDO z>qfil?|*-{w|V~`qjfqRZwvNCF_$!(YUoAXUps|Fg;gxLKRz}7ew%rA@Hjq|L6brwqPzw$jKbI&`>G_ zJ*5gJlp)|nf`takArX1ODB%ghIn`4ureYF!Tkx@BA;y|e4g?ZW%t1_=bU?IK*aWCJ z4A0Nc17a0*vB?ps@Xg`=i=*L-PA`Zo`FqY#DUkT7q!LpY&w&&LqX`)^1V+w5NFbR+ zOhF5y>$#+w^6V)nG12ElqPGPpRa(+@`GeDPV%Sc~%7`bV3tggl8qm5Hc}C$<4kOD08aJMk*jY^|pY~oNDU{>gu8b z&)b3noRE@faG}MDaq)f&PR%Y;1q410-oEKfgv^OHt2a9z*trQK5@ALpHMUm9ykmrd zDC2IFYhheRg2udHM578kPomwLeNl29L)WuO=6Hru(iCIxeQ#1ScBRv!Ims~g03;Sd zQ7z;=hV2WX3Mu}Li4LvW9X034R0>Z2gL2yg&?Jjt`|=V32c8DYL<)E=rA$!8aJle2E>avK!$b?| zdbD6D-FCQ1^0#t?gJ6rf(KSk^x~o*Jhh`H71vu~513234x~7t9IJC?U?_d)ti~*| zs1omyVH5n}PB6{%4xd5Gk|(gYWB<~8SWYJN0{qU38S>QruUuRr(FkNI!$5{Pd@2c} z6N;(XXRCMMeL%uZaZ6DQeP8l;GsWk5!G3d%DUuk=TVQWOR zvIm_kZMhDYmNYjK+{xfftvLN)m5+bF`<~V_3rV@2fd8ZF{HS~gPMn3@OvmNn8-59Go#z8aO43@2~QbHWd^{!B1$lH4*&@xO2tsk4Tf4G$zQn{mc*o# z8;EPh!HF;dj%P0^!{%H!+ZidG5g9U(g%?5vOk@>7PA;C$wSm{&X!qCtv%RPq7?b3z zEUF_*-*#F|zNU-qVdIV6ljQi+=0* z6|EKpO=76@51dDUwZ@X;_IAy=ZFMK9vVEh+*r)Mm#aGV^XUJkWc=7!G-&=0`y>ZcB zrCq`QTBwBFC;Gn?|9AKHuHgTj{_Y0Fgh$9MoU1;PiO7 zKk&3D1QXeOR0l-Emx~ma9aXBUrfpdvb@nrID?I}SX$+vA{bo@mAHF=Nf>f>1{QxCG#t!-oa!5 zgmY23%t}Nu#pFztd3Erx^Xp9ildX}%55Z|AKX^_Qz9V`H{@Ovs|Jfn{H6^|No+|TN zYP}CtQP@O?wQ}XEy4|S2Hx>rqE{H&L2i+}>puWNZi$!D5(g&;CB(PY-#)t)5Bhe&l z8?lo0u5okZ3g6YWlJ?Bi9S#GQwD?GJ*6_G$aD|e(z4rW>U}cVPjZZf0)3lMh2jlGC zA^^zEG_x@=grd;lg-~Jh!c27<4=o+0Bge#@%G;b&Id*(*BdxVcQ0in#DDSuxd_l8P z$&iVJuux5j#4sTpGus3`i+$|a$aJY7k@_ahoJL_nEa}J!4+_k^rXjEKu^a4{)Tp>^ z_3LT^)Ntv-sBh%lxMa0r-n@BrcmCfSRc_j*ZQ7rq R{Wkyr|NjsYqd)*O000AWmK^{9 literal 0 HcmV?d00001 diff --git a/helm-charts/xos-profiles/seba-services/charts/sadis-server-1.0.2.tgz b/helm-charts/xos-profiles/seba-services/charts/sadis-server-1.0.2.tgz new file mode 100644 index 0000000000000000000000000000000000000000..c665045b71e6c91db57b8628f4871de49aa72805 GIT binary patch literal 1190 zcmV;X1X=qZiwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0PI*%Z{j!*?sI;{C_MB|YJ)>*dz*W?Y|H9U_W+T0_x9;zk|9`i z?3`_&sN%n$oB$grJyu$@)t&Oaq|J1E_u%&aCRua^AY;8pp%d`JYifMSXMvIB@>`_7&MV|83H4*XRF7paC~B zUnrJN477-UeV!}SC=B#-6wpI6m+Fy;6h6qQNT^{_I1Q%(A6bk-V**o=paL^N2y+@w zaBVq*6|X?cBk+@Ta91Yx=U<%$EaVh2x&R>!Of`a;Fb!kI5%4L-+yE00%Pi-NiWp(e z%%n)O3gS5p__7KiM}{&16k?e#K#r?^KuuBb#F#v2Hs|xXM~gx|snRAdopkeK_omZ} zI_E8q6z&g#qt>AC?~3=`=YXgM}>s?cdb z!n9FrG&NfbwXTfmEe9!p3UI>+x{(X-!>AjbISu&Sz5l)ca1Wou;V|socRLaEhj7#H z-FEN0{ayt94-odgz+Ja@dj`nN1QpaXX-TkLT8Dhf`9N|O+b|)Y(}g~DoRrHE*RLR-HpqDYCV@K3BcuOGGxMa9_jdzzE|?G7;VR#7q5bM7>BlADa+2%@t zPX+}|}6!uF*RSA8*e@<(Z&9aF8 zsg&PkWAoNs4VKG_v2gdkHda_JgXd>3Ip1+HGzD*6V-`Y0o>mVDmE0e-7MweMd58XiaNtjo#9`D{_uV$UU6{= zz_qE|g8?3*&afB$(Rn3EWmT$L0+!3ep$B0UeeMr$zdiI?gM3r?Kl{=C$WKzA#}k?% zM=64LKJgF6x(h$th3|*`yUy@%wG~xV6#CX}tHzP=ulmovW-)&64+4ko|Cg6nJNN(V z3%^zCzaN2G|JC~MxcaXu|7IJx7nM}9N9(y;T;uMOdv2Ab+>PKfiyQ;E;Zto;b*+x5 z=#-bT%cg%tmlG%s|_u1wL$F*Z`YrbOY8UVQ7*UZX~h8ej2G00030|K4c2#{eDx E08dRzzyJUM literal 0 HcmV?d00001 diff --git a/helm-charts/xos-profiles/seba-services/charts/volt-2.2.3.tgz b/helm-charts/xos-profiles/seba-services/charts/volt-2.2.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..6bfddf5ec347b0ae5809ba808a6f1670709ed859 GIT binary patch literal 2692 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 literal 0 HcmV?d00001 diff --git a/helm-charts/xos-profiles/seba-services/requirements.lock b/helm-charts/xos-profiles/seba-services/requirements.lock new file mode 100644 index 0000000..066c343 --- /dev/null +++ b/helm-charts/xos-profiles/seba-services/requirements.lock @@ -0,0 +1,21 @@ +dependencies: +- name: rcord + repository: file://../../xos-services/rcord + version: 1.0.14 +- name: onos-service + repository: file://../../xos-services/onos-service + version: 2.1.0 +- name: fabric + repository: file://../../xos-services/fabric + version: 2.2.0 +- name: volt + repository: file://../../xos-services/volt + version: 2.2.3 +- name: fabric-crossconnect + repository: file://../../xos-services/fabric-crossconnect + version: 1.2.0 +- name: sadis-server + repository: file://../../sadis-server + version: 1.0.2 +digest: sha256:7f837fe9ef3d277d7808a6089c9f9f3e19a7295b4df6ecb94b838baf430127e7 +generated: "2019-06-26T02:33:48.808746492Z" diff --git a/helm-charts/xos-profiles/seba-services/requirements.yaml b/helm-charts/xos-profiles/seba-services/requirements.yaml index fbe7ee6..ce9746f 100644 --- a/helm-charts/xos-profiles/seba-services/requirements.yaml +++ b/helm-charts/xos-profiles/seba-services/requirements.yaml @@ -26,7 +26,7 @@ dependencies: repository: file://../../xos-services/fabric condition: fabric.enabled - name: volt - version: 2.2.0 + version: 2.2.3 repository: file://../../xos-services/volt - name: fabric-crossconnect version: 1.2.0 diff --git a/helm-charts/xos-profiles/seba-services/templates/_tosca.tpl b/helm-charts/xos-profiles/seba-services/templates/_tosca.tpl index 712f176..26c4517 100644 --- a/helm-charts/xos-profiles/seba-services/templates/_tosca.tpl +++ b/helm-charts/xos-profiles/seba-services/templates/_tosca.tpl @@ -325,10 +325,10 @@ topology_template: connect_method: none requirements: - subscriber_service: - node: service#onos + node: service#volt relationship: tosca.relationships.BelongsToOne - provider_service: - node: service#volt + node: service#onos relationship: tosca.relationships.BelongsToOne service_dependency#volt_fabric-crossconnect: diff --git a/helm-charts/xos-services/kubernetes/Chart.yaml b/helm-charts/xos-services/kubernetes/Chart.yaml index 6708cf2..79e5580 100644 --- a/helm-charts/xos-services/kubernetes/Chart.yaml +++ b/helm-charts/xos-services/kubernetes/Chart.yaml @@ -17,5 +17,5 @@ name: kubernetes description: A Helm chart for XOS's "kubernetes" service icon: https://guide.opencord.org/logos/cord.svg -version: 1.2.0 -appVersion: 1.2.1 +version: 1.0.3 +appVersion: 1.3.0 diff --git a/helm-charts/xos-services/kubernetes/templates/_helpers.tpl b/helm-charts/xos-services/kubernetes/templates/_helpers.tpl index 98ee611..7bd490c 100644 --- a/helm-charts/xos-services/kubernetes/templates/_helpers.tpl +++ b/helm-charts/xos-services/kubernetes/templates/_helpers.tpl @@ -44,6 +44,7 @@ Create chart name and version as used by the chart label. {{- define "kubernetes.serviceConfig" -}} name: kubernetes +kafka_bootstrap_servers: [{{ .Values.kafkaService | quote }}] accessor: username: {{ .Values.xosAdminUser | quote }} password: {{ .Values.xosAdminPassword | quote }} diff --git a/helm-charts/xos-services/volt/Chart.yaml b/helm-charts/xos-services/volt/Chart.yaml index d78909c..01eff1b 100644 --- a/helm-charts/xos-services/volt/Chart.yaml +++ b/helm-charts/xos-services/volt/Chart.yaml @@ -17,5 +17,5 @@ name: volt description: A Helm chart for XOS's "olt-service" service icon: https://guide.opencord.org/logos/cord.svg -version: 2.2.0 -appVersion: 2.2.1 +version: 2.2.3 +appVersion: 2.2.3 diff --git a/helm-charts/xos-services/volt/templates/_tosca.tpl b/helm-charts/xos-services/volt/templates/_tosca.tpl index 9666e06..aede15f 100644 --- a/helm-charts/xos-services/volt/templates/_tosca.tpl +++ b/helm-charts/xos-services/volt/templates/_tosca.tpl @@ -29,8 +29,4 @@ topology_template: kind: data voltha_url: {{ .volthaRestService | quote }} voltha_port: 8882 - onos_voltha_url: {{ .onosRestService | quote }} - onos_voltha_port: 8181 - onos_voltha_user: karaf - onos_voltha_pass: karaf {{- end -}} diff --git a/helm-charts/xos-services/volt/values.yaml b/helm-charts/xos-services/volt/values.yaml index c91144c..69471ba 100644 --- a/helm-charts/xos-services/volt/values.yaml +++ b/helm-charts/xos-services/volt/values.yaml @@ -35,7 +35,6 @@ xosAdminPassword: "letmein" xosCoreService: "xos-core:50051" volthaRestService: "voltha.voltha.svc.cluster.local" -onosRestService: "onos-ui.default.svc.cluster.local" kafkaService: "cord-kafka" resources: {} -- 2.16.6