blob: 9398a658047267b37b30028e2e2572da511910b7 [file] [log] [blame]
---
# 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.
tosca_definitions_version: tosca_simple_yaml_1_0
imports:
- custom_types/oltdevice.yaml
- 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:
service#volt:
type: tosca.nodes.VOLTService
properties:
name: volt
must-exist: true
{{- range $i, $junk := until (.Values.numOlts|int) }}
olt{{ $i }}_device:
type: tosca.nodes.OLTDevice
properties:
name: PONSIM OLT {{ $i }}
device_type: ponsim_olt
host: olt{{ $i }}.voltha.svc
port: 50060
switch_datapath_id: of:0000000000000001
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
olt{{ $i }}_pon_port:
type: tosca.nodes.PONPort
properties:
name: olt{{ $i }}pon0
port_no: 1
requirements:
- 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 }}