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

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

onos-classic:
  java_opts: -Xmx4G -Dlog4j2.formatMsgNoLookups=true -XX:+UnlockExperimentalVMOptions -XX:+UseZGC
  image:
    repository: opennetworking/sdfabric-onos
    tag: 1.1.1

  replicas: 3

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

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

  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: 3
    persistence:
      enabled: false

  # 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
        }
    # Please check the README to learn more
    # netcfg: >
    #     {
    #     "devices": {
    #         "device:leaf1": {
    #             "segmentrouting": {
    #                 "ipv4NodeSid": 101,
    #                 "ipv4Loopback": "10.11.22.33",
    #                 "routerMac": "aa:bb:cc:dd:ee:ff",
    #                 "pairDeviceId" : "device:leaf2",
    #                 "pairLocalPort" : 260,
    #                 "isEdgeRouter": true,
    #                 "adjacencySids": []
    #             }
    #         }
    #     }
    # }

stratum:
  image:
    repository: stratumproject/stratum-bfrt
    tag: 22.03.01-9.7.0
    pullPolicy: IfNotPresent

  extraParams:
    - "-max_log_size=0"
    - "-write_req_log_file=''"
    - "-read_req_log_file=''"
    - "-v=0"
    - "-minloglevel=0"
    - "-bf_switchd_background=false"
    - "-colorlogtostderr=false"
    - "-logtostderr=true"
    - "-experimental_enable_p4runtime_translation"

  annotations:
    fluentbit.io/parser: stratum

  # Specify nodeSelector to pin Stratum to switches only
  nodeSelector:
    node-role.aetherproject.org: switch

  # Override NoSchedule for Stratum to be scheduled on switches
  tolerations:
    - key: node-role.aetherproject.org
      value: switch
      effect: NoSchedule

  # Please check the README to learn more
  # chassis_config:
  #   "leaf1": >
  #     description: "Default Chassis Config for Edgecore Wedge100BF-32X"
  #     chassis {
  #       platform: PLT_GENERIC_BAREFOOT_TOFINO
  #       name: "Edgecore Wedge100BF-32x"
  #     }
  #     nodes {
  #       id: 1
  #       slot: 1
  #       index: 1
  #     }
  #     singleton_ports {
  #       id: 164
  #       name: "5/0"
  #       slot: 1
  #       port: 5
  #       speed_bps: 40000000000
  #       config_params {
  #         admin_state: ADMIN_STATE_ENABLED
  #         autoneg: TRI_STATE_FALSE
  #       }
  #       node: 1
  #     }
