Honeycomb/Backlog

From fd.io
Jump to: navigation, search

Honeycomb backlog

Outstanding issues/tasks that need to be addressed

  • Japi Redesign
    • Add callbacks to make japi fully async instead of using active wait loops
    • Generate java interfaces to decouple api vs impl in japi
    • Generate callback interface and required DTOs
    • Make japi layer as thin as possible and generate all the translating functions instead of manual rewrite in vppConn
      • vppConn should only contain manually written connect, disconnect and ping
    • Publish japi source jar
    • Strict versioning of japi jar to prevent compatibility issues in Honeycomb ?
  • V3po redesign
    • Not storing config or operational in DS, going directly to device
    • Use DataTree in favor of DS
    • Perform initial sync between DataTree.config and connected VPP
    • Existing codecleanup
    • Needs further analysis and design
  • Minimal v3po distribution
    • With karaf (custom hand crafted feature) or without karaf (static wiring)
  • Configure checkstyle
    • License header, Licesne file, google code style + ODL logging checks (currently in yangtools)
  • Use Java8 for honeycomb sources ?
    • Verify japi with java8

New features

Configuration (requires redesign)

  • Ordering of operations in single transaction
    • vxlan cannot be created before vrf is assigned to some physical interface, vhost-user interface cannot be assigned bridge-domain before vhost-user container is processed and interface is created in vpp, etc
  • Subscribe to yang path with priorities (multiple subscribers for single path)
  • Validation of config
    • interface names, types, etc
  • Check mandatory leafs / containers in augments
  • Ability to refuse config
  • Default values handling

Operational data (requires redesign)

  • Custom DataStore
    • Get data from vpe on request instead of periodic writes to existing DS
    • Needs further design
    • Subscribe to yang path (multiple subscriptions even on single path) ?
    • Handle deleted interfaces, bridge domains, etc
    • Make all data builders hierarchical
      • possibility to get any sub-tree / leaf of operational data
  • Refactor existing features to use new custom datastore

Existing Features development

  • Interfaces
    • EthernetCsmacd
      • Update config
      • Delete config
    • Vxlan tunnel
      • Update config
      • Delete config
  • L2
    • Xconnect
      • Update config
      • Delete config
      • Get operational data
    • Bridge-domain
      • Update config
      • Delete config
  • IP
    • IPv4
      • Update config
      • Delete config
    • Routing
      • Interface VRF
      • Update config
      • Delete config
      • Get operational data
    • VRF list (named vrf ids)
      • Create config
      • Update config
      • Delete config
      • Get operational data

New Features

  • IPv6 addresses
    • Create config
    • Update config
    • Delete config
  • Sub-interfaces
    • Create config
    • Update config
    • Delete config
    • Get operational data
  • Vhost-user interfaces
    • Create config
    • Update config
    • Delete config
    • Get operational data
  • L2tpv3 tunnels
    • Create config
    • Update config
    • Delete config
    • Get operational data
  • TAP interfaces
    • Create config
    • Update config
    • Delete config
    • Get operational data
  • NSH
    • Create config
    • Update config
    • Delete config
    • Get operational data
  • Vlan tag rewrite
    • Create config
    • Update config
    • Delete config
    • Get operational data
  • Add Java Docs

VPE Java API

  • Ability to query single interface, single bridge domain, etc without having to get all
  • Set / Get ethernet MTU
  • Change IPv4 address to use byte array instead of u32 (same as IPv6)
  • IPv4 & IPv6 neighbors
  • Origin of IPv4 & IPv6 addresses
  • Vxlan rename / modify

Testing

  • End-to-end (demo scenario) test automation

Administration

  • Project proposal for Honeycomb (v3po)
  • Project proposal for VBD in ODL
  • Weekly meeting

CI/CD

  • Sonar