From: xinhuili Date: Fri, 28 Jun 2019 04:39:38 +0000 (-0700) Subject: This patch is used to commit helm for VMware X-Git-Url: https://gerrit.akraino.org/r/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F83%2F1083%2F1;p=iec%2Fxconnect.git 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 --- 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 0000000..fb175f3 Binary files /dev/null and b/helm-charts/att-workflow-1.2.2.tgz differ diff --git a/helm-charts/base-kubernetes-1.0.4.tgz b/helm-charts/base-kubernetes-1.0.4.tgz new file mode 100644 index 0000000..7578f42 Binary files /dev/null and b/helm-charts/base-kubernetes-1.0.4.tgz differ 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 0000000..165fc0a Binary files /dev/null and b/helm-charts/etcd-operator-0.8.3.tgz differ 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 0000000..26ea8d9 Binary files /dev/null and b/helm-charts/kafka-0.13.3.tgz differ 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 0000000..ed40e93 Binary files /dev/null and b/helm-charts/mininet-0.5.1.tgz differ 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 0000000..f6bd9d9 Binary files /dev/null and b/helm-charts/onos-1.1.0.tgz differ diff --git a/helm-charts/ponnet-1.2.1.tgz b/helm-charts/ponnet-1.2.1.tgz new file mode 100644 index 0000000..aff005b Binary files /dev/null and b/helm-charts/ponnet-1.2.1.tgz differ 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 0000000..5115f90 Binary files /dev/null and b/helm-charts/ponsim-pod-1.3.3.tgz differ diff --git a/helm-charts/ponsimv2-1.1.1.tgz b/helm-charts/ponsimv2-1.1.1.tgz new file mode 100644 index 0000000..c9d95be Binary files /dev/null and b/helm-charts/ponsimv2-1.1.1.tgz differ diff --git a/helm-charts/ponsimv2/Chart.yaml b/helm-charts/ponsimv2/Chart.yaml index 296e6a1..567aac7 100644 --- a/helm-charts/ponsimv2/Chart.yaml +++ b/helm-charts/ponsimv2/Chart.yaml @@ -17,7 +17,7 @@ name: ponsimv2 description: PON Simulator icon: https://guide.opencord.org/logos/cord.svg -version: 1.0.3 +version: 1.1.1 # VOLTHA version appVersion: 1.6.0 diff --git a/helm-charts/ponsimv2/templates/olt.yaml b/helm-charts/ponsimv2/templates/olt.yaml index 8026068..39f63ca 100644 --- a/helm-charts/ponsimv2/templates/olt.yaml +++ b/helm-charts/ponsimv2/templates/olt.yaml @@ -13,39 +13,45 @@ # See the License for the specific language governing permissions and # limitations under the License. +{{- range $i, $junk := until (.Values.numOlts|int) }} +--- apiVersion: v1 kind: Service metadata: - name: olt - namespace: {{ .Values.global.namespace }} + name: olt{{ $i }} + namespace: {{ $.Values.global.namespace }} labels: - name: olt + name: olt{{ $i }} spec: ports: - name: grpc port: 50060 targetPort: 50060 selector: - app: olt + app: olt{{ $i }} --- apiVersion: apps/v1beta1 kind: Deployment metadata: - name: olt - namespace: {{ .Values.global.namespace }} + name: olt{{ $i }} + namespace: {{ $.Values.global.namespace }} spec: replicas: 1 template: metadata: labels: - app: olt + app: olt{{ $i }} annotations: - cni: "calico,pon1" + cni: "nsx,nni{{ $i }}" spec: + {{- with $.Values.nodeSelector }} + nodeSelector: +{{ toYaml . | indent 9 }} + {{- end }} containers: - - name: olt - image: "{{ .Values.global.registry }}{{ .Values.images.olt.repository }}:{{ tpl .Values.images.olt.tag . }}" - imagePullPolicy: {{ .Values.images.olt.pullPolicy }} + - name: olt{{ $i }} + image: "{{ $.Values.global.registry }}{{ $.Values.images.olt.repository }}:{{ tpl $.Values.images.olt.tag $ }}" + imagePullPolicy: {{ $.Values.images.olt.pullPolicy }} env: - name: POD_IP valueFrom: @@ -71,3 +77,4 @@ spec: ports: - containerPort: 50060 name: grpc-port +{{- end }} diff --git a/helm-charts/ponsimv2/templates/onu.yaml b/helm-charts/ponsimv2/templates/onu.yaml index 6179fc2..0219c0e 100644 --- a/helm-charts/ponsimv2/templates/onu.yaml +++ b/helm-charts/ponsimv2/templates/onu.yaml @@ -13,34 +13,38 @@ # See the License for the specific language governing permissions and # limitations under the License. +{{- $onucount := (.Values.numOnus|int)}} +{{- range $i, $junk := until (.Values.numOlts|int) }} +{{- range $j, $junk1 := until ($onucount) }} +--- apiVersion: v1 kind: Service metadata: - name: onu - namespace: {{ .Values.global.namespace }} + name: onu{{ $i }}-{{ $j }} + namespace: {{ $.Values.global.namespace }} labels: - name: onu + name: onu{{ $i }}-{{ $j }} spec: ports: - name: grpc port: 50061 targetPort: 50061 selector: - app: onu + app: onu{{ $i }}-{{ $j }} --- apiVersion: apps/v1beta1 kind: Deployment metadata: - name: onu - namespace: {{ .Values.global.namespace }} + name: onu{{ $i }}-{{ $j }} + namespace: {{ $.Values.global.namespace }} spec: replicas: 1 template: metadata: labels: - app: onu + app: onu{{ $i }}-{{ $j }} annotations: - cni: "calico,pon0" + cni: "nsx,pon{{ $i }}.{{ $j }}" spec: affinity: podAffinity: @@ -52,12 +56,16 @@ spec: - key: app operator: In values: - - rg + - rg{{ $i }}-{{ $j }} topologyKey: kubernetes.io/hostname + {{- with $.Values.nodeSelector }} + nodeSelector: +{{ toYaml . | indent 9 }} + {{- end }} containers: - - name: onu - image: "{{ .Values.global.registry }}{{ .Values.images.onu.repository }}:{{ tpl .Values.images.onu.tag . }}" - imagePullPolicy: {{ .Values.images.onu.pullPolicy }} + - name: onu{{ $i }}-{{ $j }} + image: "{{ $.Values.global.registry }}{{ $.Values.images.onu.repository }}:{{ tpl $.Values.images.onu.tag $ }}" + imagePullPolicy: {{ $.Values.images.onu.pullPolicy }} env: - name: POD_IP valueFrom: @@ -72,7 +80,7 @@ spec: - "-device_type" - "ONU" - "-parent_addr" - - "olt" + - "olt{{ $i }}" - "-grpc_port" - "50061" - "-internal_if" @@ -80,7 +88,13 @@ spec: - "-external_if" - "eth1" - "-promiscuous" +{{- if not $.Values.legacyPonsim }} + - "-serial_number" + - "PSMO{{ printf "%04d%04d" $i $j }}" +{{- end }} +{{- end }} ports: - containerPort: 50061 name: grpc-port +{{- end }} diff --git a/helm-charts/ponsimv2/templates/rg.yaml b/helm-charts/ponsimv2/templates/rg.yaml index e96c59c..5bbafb6 100644 --- a/helm-charts/ponsimv2/templates/rg.yaml +++ b/helm-charts/ponsimv2/templates/rg.yaml @@ -13,19 +13,23 @@ # See the License for the specific language governing permissions and # limitations under the License. +{{- $rgcount := (.Values.numOnus|int) }} +{{- range $i, $junk := until (.Values.numOlts|int) }} +{{- range $j, $junk1 := until ($rgcount) }} +--- apiVersion: apps/v1beta1 kind: Deployment metadata: - name: rg - namespace: {{ .Values.global.namespace }} + name: rg{{ $i }}-{{ $j }} + namespace: {{ $.Values.global.namespace }} spec: replicas: 1 template: metadata: labels: - app: rg + app: rg{{ $i }}-{{ $j }} annotations: - cni: "pon0" + cni: "pon{{ $i }}.{{ $j }}" spec: affinity: podAffinity: @@ -37,12 +41,16 @@ spec: - key: app operator: In values: - - onu + - onu{{ $i }}-{{ $j }} topologyKey: kubernetes.io/hostname + {{- with $.Values.nodeSelector }} + nodeSelector: +{{ toYaml . | indent 9 }} + {{- end }} containers: - - name: rg - image: "{{ .Values.global.registry }}{{ .Values.images.rg.repository }}:{{ tpl .Values.images.rg.tag . }}" - imagePullPolicy: {{ .Values.images.rg.pullPolicy }} + - name: rg{{ $i }}-{{ $j }} + image: "{{ $.Values.global.registry }}{{ $.Values.images.rg.repository }}:{{ tpl $.Values.images.rg.tag $ }}" + imagePullPolicy: {{ $.Values.images.rg.pullPolicy }} env: - name: POD_IP valueFrom: @@ -55,3 +63,5 @@ spec: command: [ "/bin/bash", "-c", "trap : TERM INT; sleep infinity & wait" ] securityContext: privileged: true +{{- end }} +{{- end }} diff --git a/helm-charts/ponsimv2/values.yaml b/helm-charts/ponsimv2/values.yaml index 9fa6c0a..f1bc9db 100644 --- a/helm-charts/ponsimv2/values.yaml +++ b/helm-charts/ponsimv2/values.yaml @@ -31,6 +31,14 @@ images: tag: 'latest' pullPolicy: 'Always' +nodeSelector: {} + global: namespace: voltha registry: '' + +# 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 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 0000000..fcd15e2 Binary files /dev/null and b/helm-charts/seba-services-1.2.5.tgz differ diff --git a/helm-charts/voltha-1.0.4.tgz b/helm-charts/voltha-1.0.4.tgz new file mode 100644 index 0000000..e5396e8 Binary files /dev/null and b/helm-charts/voltha-1.0.4.tgz differ 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 0000000..461efb2 Binary files /dev/null and b/helm-charts/voltha/charts/etcd-cluster-0.1.2.tgz differ 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 0000000..b9d1046 Binary files /dev/null and b/helm-charts/workflows/att-workflow/charts/att-workflow-driver-1.1.0.tgz differ 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 0000000..ecdbbf8 Binary files /dev/null and b/helm-charts/xos-core-3.0.7.tgz differ diff --git a/helm-charts/xos-core/Chart.yaml b/helm-charts/xos-core/Chart.yaml index 11bdbe7..a0b3841 100644 --- a/helm-charts/xos-core/Chart.yaml +++ b/helm-charts/xos-core/Chart.yaml @@ -17,8 +17,8 @@ name: xos-core description: XOS - An Extensible Cloud Operating System icon: https://guide.opencord.org/logos/xos.svg -version: 3.0.2 +version: 3.0.7 # appVersion is of the xos-core containers. # xos-tosca, xos-chameleon, and xos-api-tester are versioned in values.yaml -appVersion: 3.2.3 +appVersion: 3.3.0 diff --git a/helm-charts/xos-core/charts/xos-db-1.0.1.tgz b/helm-charts/xos-core/charts/xos-db-1.0.1.tgz new file mode 100644 index 0000000..d9c4cee Binary files /dev/null and b/helm-charts/xos-core/charts/xos-db-1.0.1.tgz differ 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 0000000..d184e59 Binary files /dev/null and b/helm-charts/xos-core/charts/xos-gui-1.2.4.tgz differ 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 0000000..9999756 Binary files /dev/null and b/helm-charts/xos-profiles/base-kubernetes/charts/kubernetes-1.0.3.tgz differ 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 0000000..b292b66 Binary files /dev/null and b/helm-charts/xos-profiles/seba-services/charts/fabric-2.2.0.tgz differ 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 0000000..52bae6f Binary files /dev/null and b/helm-charts/xos-profiles/seba-services/charts/fabric-crossconnect-1.2.0.tgz differ 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 0000000..d3fb38f Binary files /dev/null and b/helm-charts/xos-profiles/seba-services/charts/onos-service-2.1.0.tgz differ 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 0000000..a8b6fd5 Binary files /dev/null and b/helm-charts/xos-profiles/seba-services/charts/rcord-1.0.14.tgz differ 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 0000000..c665045 Binary files /dev/null and b/helm-charts/xos-profiles/seba-services/charts/sadis-server-1.0.2.tgz differ 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 0000000..6bfddf5 Binary files /dev/null and b/helm-charts/xos-profiles/seba-services/charts/volt-2.2.3.tgz differ 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: {}