blob: 3771395f005ea8a60cf04cef708006e686069ea1 [file] [log] [blame]
# Copyright 2017-2023 Open Networking Foundation (ONF) and the ONF Contributors
#
# 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.
# curl -H "xos-username: admin@opencord.org" -H "xos-password: letmein" -X POST --data-binary @onf-demo-pod-olt.yaml http://192.168.100.1:30007/run
tosca_definitions_version: tosca_simple_yaml_1_0
imports:
- custom_types/oltdevice.yaml
- custom_types/onudevice.yaml
- custom_types/voltservice.yaml
- custom_types/technologyprofile.yaml
description: Creates OLT devices
topology_template:
node_templates:
service#volt:
type: tosca.nodes.VOLTService
properties:
name: volt
must-exist: true
edgecore:
type: tosca.nodes.OLTDevice
properties:
name: EdgeCore OLT
device_type: openolt
host: 192.168.100.111
port: 9191
switch_datapath_id: of:0000000000000001
switch_port: "1"
outer_tpid: "0x8100"
uplink: "65536"
nas_id: "NAS_ID"
serial_number: "EC1721000216"
requirements:
- volt_service:
node: service#volt
relationship: tosca.relationships.BelongsToOne
technologyProfile:
type: tosca.nodes.TechnologyProfile
properties:
profile_id: 64
technology: xgspon
profile_value: >
{
"name": "4QueueHybridProfileMap1",
"profile_type": "XPON",
"version": 1,
"num_gem_ports": 4,
"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": "0b00000101",
"aes_encryption": "True",
"scheduling_policy": "WRR",
"priority_q": 4,
"weight": 25,
"discard_policy": "TailDrop",
"max_q_size": "auto",
"discard_config": {
"max_threshold": 0,
"min_threshold": 0,
"max_probability": 0
}
},
{
"pbit_map": "0b00011010",
"aes_encryption": "True",
"scheduling_policy": "WRR",
"priority_q": 3,
"weight": 75,
"discard_policy": "TailDrop",
"max_q_size": "auto",
"discard_config": {
"min_threshold": 0,
"max_threshold": 0,
"max_probability": 0
}
},
{
"pbit_map": "0b00100000",
"aes_encryption": "True",
"scheduling_policy": "StrictPriority",
"priority_q": 2,
"weight": 0,
"discard_policy": "TailDrop",
"max_q_size": "auto",
"discard_config": {
"min_threshold": 0,
"max_threshold": 0,
"max_probability": 0
}
},
{
"pbit_map": "0b11000000",
"aes_encryption": "True",
"scheduling_policy": "StrictPriority",
"priority_q": 1,
"weight": 25,
"discard_policy": "TailDrop",
"max_q_size": "auto",
"discard_config": {
"min_threshold": 0,
"max_threshold": 0,
"max_probability": 0
}
}
],
"downstream_gem_port_attribute_list": [
{
"pbit_map": "0b00000101",
"aes_encryption": "True",
"scheduling_policy": "WRR",
"priority_q": 4,
"weight": 10,
"discard_policy": "TailDrop",
"max_q_size": "auto",
"discard_config": {
"min_threshold": 0,
"max_threshold": 0,
"max_probability": 0
}
},
{
"pbit_map": "0b00011010",
"aes_encryption": "True",
"scheduling_policy": "WRR",
"priority_q": 3,
"weight": 90,
"discard_policy": "TailDrop",
"max_q_size": "auto",
"discard_config": {
"min_threshold": 0,
"max_threshold": 0,
"max_probability": 0
}
},
{
"pbit_map": "0b00100000",
"aes_encryption": "True",
"scheduling_policy": "StrictPriority",
"priority_q": 2,
"weight": 0,
"discard_policy": "TailDrop",
"max_q_size": "auto",
"discard_config": {
"min_threshold": 0,
"max_threshold": 0,
"max_probability": 0
}
},
{
"pbit_map": "0b11000000",
"aes_encryption": "True",
"scheduling_policy": "StrictPriority",
"priority_q": 1,
"weight": 25,
"discard_policy": "TailDrop",
"max_q_size": "auto",
"discard_config": {
"min_threshold": 0,
"max_threshold": 0,
"max_probability": 0
}
}
]
}