Skip to content

Debt Whiteboard

Hasan Mahmood edited this page Nov 28, 2016 · 19 revisions

A Whiteboard for collecting engineering debt. This will get translated into a prioritization effort.

Portlayer exec component needs a complete rework

  • handle mechanism needs more thought; we currently don’t have a good way to persist handles across portlayer components
  • event handling is haphazard; needs to be more feature rich in terms of filtering events, as well as a cleanup of which events are handled where (there are places where we handle the same event more than once)
  • hard to add more event handling for OOB operations, and hard to integrate with vm register/unregister events.

Portlayer network component:

  • Most of the data structures need to be put behind interfaces
  • IPAM code needs to be simplified
  • The VCH shouldn't be used for PAT'ing containers

Logging:

  • Not consistent at all across components; we need a logging package that will enforce one logging format across components
  • Multiline logging is not supported, leading to stack traces in logs that are difficult to read
  • trace package needs some work
  • trace.Operation needs to be re-evaluated; I am not sure we need to replace “context” across our APIs with it

Tether:

  • Should be a complete rewrite in my opinion [hmahmood]
  • Interfaces need to be cleaned up
  • Interface implementations are scattered across several files
  • Network configuration code is difficult to follow
  • Attach/serial code is difficult to follow; at the very least needs to be reorganized

DHCP client:

  • we should use an external well-tested library or command line tool, and deprecate our in-house client

vic machine

  • Should separate standard output and log. Now standard output will show all log messages, especially some message printed out by common library is misleading for customer
  • Upgrade does not have metadata migration
Clone this wiki locally