Honeycomb/Backlog
From fd.io
Contents
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
- EthernetCsmacd
- L2
- Xconnect
- Update config
- Delete config
- Get operational data
- Bridge-domain
- Update config
- Delete config
- Xconnect
- 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
- IPv4
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