# SPDX-FileCopyrightText: 2020-present Open Networking Foundation <info@opennetworking.org>
#
# SPDX-License-Identifier: Apache-2.0

import:
  onos-classic:
    enabled: true
  stratum:
    enabled: false
  pfcp-agent:
    enabled: false
  dbuf:
    enabled: false
  int-host-reporter:
    enabled: false
  di-topology-watchdog:
    enabled: false
  di-metrics-exporter:
    enabled: false

image:
  credential: null

onos-classic:
  image:
    repository: opennetworking/sdfabric-onos
    tag: 1.1.1
  replicas: 1

  java_opts: >
    -Xmx4G
    -XX:+UseG1GC
    -XX:MaxGCPauseMillis=200
    -XX:-UseContainerSupport
    -Dkaraf.log.console=INFO
    -Dds.lock.timeout.milliseconds=10000
    -Dlog4j2.formatMsgNoLookups=true
#    -XX:+UnlockExperimentalVMOptions
#    -XX:+UseZGC

  ports:
    - name: up4
      port: 51001
    - name: east-west
      port: 9876
    - name: cli
      port: 8101
    - name: ui
      port: 8181

  apps:
    - org.onosproject.lldpprovider
    - org.onosproject.netcfghostprovider
    - org.onosproject.gui
    - org.onosproject.drivers.barefoot
    - org.onosproject.drivers.bmv2
    - org.onosproject.segmentrouting
    - org.omecproject.up4
    - org.stratumproject.fabric-tna
    - org.onosproject.dhcprelay

  logging:
    karafVersion: 4.2.14
    config: |
      # Common pattern layout for appenders
      log4j2.stdout.pattern = %d{RFC3339} %-5level [%c{1}] %msg%n%throwable

      # Root logger
      log4j2.rootLogger.level = INFO

      # OSGi appender
      log4j2.rootLogger.appenderRef.PaxOsgi.ref = PaxOsgi
      log4j2.appender.osgi.type = PaxOsgi
      log4j2.appender.osgi.name = PaxOsgi
      log4j2.appender.osgi.filter = *

      # stdout appender
      log4j2.rootLogger.appenderRef.Console.ref = Console
      log4j2.appender.console.type = Console
      log4j2.appender.console.name = Console
      log4j2.appender.console.layout.type = PatternLayout
      log4j2.appender.console.layout.pattern = ${log4j2.stdout.pattern}

      # SSHD logger
      log4j2.logger.sshd.name = org.apache.sshd
      log4j2.logger.sshd.level = INFO

      # Spifly logger
      log4j2.logger.spifly.name = org.apache.aries.spifly
      log4j2.logger.spifly.level = WARN

  annotations:
    fluentbit.io/parser: onos

  atomix:
    replicas: 1
    persistence:
      enabled: false
    java_opts: >
      -Xmx2G
      -XX:-UseContainerSupport

  # Please check the README to learn more
  config:
    componentConfig:
      "org.onosproject.net.host.impl.HostManager": >
        {
          "monitorHosts": "true",
          "probeRate": "10000"
        }
      "org.onosproject.segmentrouting.phasedrecovery.impl.PhasedRecoveryManager": >
        {
          "phasedRecovery": true
        }
      "org.onosproject.grpc.ctl.GrpcChannelControllerImpl": >
        {
          "enableMessageLog": true
        }
    netcfg: >
      {
        "devices": {
          "device:leaf1": {
            "basic": {
              "name": "leaf1",
              "managementAddress": "grpc://mininet-stratum:50001?device_id=1",
              "driver": "stratum-bmv2",
              "pipeconf": "org.stratumproject.fabric-upf.bmv2",
              "locType": "grid",
              "gridX": 200,
              "gridY": 600
            },
            "segmentrouting": {
              "ipv4NodeSid": 101,
              "ipv4Loopback": "192.168.1.1",
              "routerMac": "00:AA:00:00:00:01",
              "isEdgeRouter": true,
              "adjacencySids": []
            }
          },
          "device:leaf2": {
            "basic": {
              "name": "leaf2",
              "managementAddress": "grpc://mininet-stratum:50002?device_id=1",
              "driver": "stratum-bmv2",
              "pipeconf": "org.stratumproject.fabric-upf.bmv2",
              "locType": "grid",
              "gridX": 800,
              "gridY": 600
            },
            "segmentrouting": {
              "ipv4NodeSid": 102,
              "ipv4Loopback": "192.168.1.2",
              "routerMac": "00:AA:00:00:00:02",
              "isEdgeRouter": true,
              "adjacencySids": []
            }
          },
          "device:spine1": {
            "basic": {
              "name": "spine1",
              "managementAddress": "grpc://mininet-stratum:50003?device_id=1",
              "driver": "stratum-bmv2",
              "pipeconf": "org.stratumproject.fabric.bmv2",
              "locType": "grid",
              "gridX": 400,
              "gridY": 400
            },
            "segmentrouting": {
              "ipv4NodeSid": 201,
              "ipv4Loopback": "192.168.2.1",
              "routerMac": "00:BB:00:00:00:01",
              "isEdgeRouter": false,
              "adjacencySids": []
            }
          },
          "device:spine2": {
            "basic": {
              "name": "spine2",
              "managementAddress": "grpc://mininet-stratum:50004?device_id=1",
              "driver": "stratum-bmv2",
              "pipeconf": "org.stratumproject.fabric.bmv2",
              "locType": "grid",
              "gridX": 600,
              "gridY": 400
            },
            "segmentrouting": {
              "ipv4NodeSid": 202,
              "ipv4Loopback": "192.168.2.2",
              "routerMac": "00:BB:00:00:00:02",
              "isEdgeRouter": false,
              "adjacencySids": []
            }
          }
        },
        "ports": {
          "device:leaf1/3": {
            "interfaces": [
              {
                "name": "leaf1-3",
                "ips": [
                  "172.16.1.254/24"
                ],
                "vlan-untagged": 100
              }
            ]
          },
          "device:leaf1/4": {
            "interfaces": [
              {
                "name": "leaf1-4",
                "ips": [
                  "172.16.1.254/24"
                ],
                "vlan-untagged": 100
              }
            ]
          },
          "device:leaf1/5": {
            "interfaces": [
              {
                "name": "leaf1-5",
                "ips": [
                  "172.16.1.254/24"
                ],
                "vlan-tagged": [
                  100
                ]
              }
            ]
          },
          "device:leaf1/6": {
            "interfaces": [
              {
                "name": "leaf1-6",
                "ips": [
                  "172.16.2.254/24"
                ],
                "vlan-tagged": [
                  200
                ]
              }
            ]
          },
          "device:leaf2/3": {
            "interfaces": [
              {
                "name": "leaf2-3",
                "ips": [
                  "172.16.3.254/24"
                ],
                "vlan-tagged": [
                  300
                ]
              }
            ]
          },
          "device:leaf2/4": {
            "interfaces": [
              {
                "name": "leaf2-4",
                "ips": [
                  "172.16.4.254/24"
                ],
                "vlan-untagged": 100
              }
            ]
          }
        },
        "hosts": {
          "00:00:00:00:00:1A/None": {
            "basic": {
              "name": "h1a",
              "locType": "grid",
              "gridX": 100,
              "gridY": 700
            }
          },
          "00:00:00:00:00:1B/None": {
            "basic": {
              "name": "h1b",
              "locType": "grid",
              "gridX": 100,
              "gridY": 800
            }
          },
          "00:00:00:00:00:1C/100": {
            "basic": {
              "name": "h1c",
              "locType": "grid",
              "gridX": 250,
              "gridY": 800
            }
          },
          "00:00:00:00:00:20/200": {
            "basic": {
              "name": "h2",
              "locType": "grid",
              "gridX": 400,
              "gridY": 700
            }
          },
          "00:00:00:00:00:30/300": {
            "basic": {
              "name": "h3",
              "locType": "grid",
              "gridX": 750,
              "gridY": 700
            }
          },
          "00:00:00:00:00:40/None": {
            "basic": {
              "name": "h4",
              "locType": "grid",
              "gridX": 850,
              "gridY": 700
            }
          }
        }
      }
