VLAN aware VMs
This blueprint proposes how to incorporate VLAN aware VM:s into OpenStack. In this document a VLAN aware VM is a VM that sends and receives VLAN tagged frames over its vNIC.
Blueprint information
- Status:
- Complete
- Approver:
- Armando Migliaccio
- Priority:
- High
- Drafter:
- Bence Romsics
- Direction:
- Approved
- Assignee:
- Rossella Sblendido
- Definition:
- Approved
- Series goal:
- Accepted for newton
- Implementation:
- Implemented
- Milestone target:
- newton-rc1
- Started by
- Armando Migliaccio
- Completed by
- Armando Migliaccio
Related branches
Sprints
Whiteboard
Sep-12-2016(armax): virtually complete, a few gaps still to fill. Optimistically marking complete.
Aug-19-
https:/
July-25-
https:/
https:/
Biggest bulk missing - agent side/server integration.
July-5-2016(armax): patches moving along the Gerrit pipeline, more details in Work Items section below.
Apr-20-2016(armax): retargeted, swapped primary assignee and approver. Need nova side taken care of (e.g. for publishing information through metadata server).
Apr-4-2016(armax): Needs new assignee. Will have to assess other resources to bring this to completion.
Mar-3-2106(armax): Moved to Newton. Please ensure you re-submit spec if necessary.
Feb-23-2016(armax): patches started popping up during the month of Feb. This is still most certainly unable to complete in time for Mitaka, but depending on review bandwidth, we can at least address glaring issues. Code available below.
Feb-09-2016(armax): coding has not yet started. It's unlikely something of this critical mass can make Mitaka. To be resubmitted for Newton.
Jan-18-2016(armax): no major code nor documentation as of today. Chances of getting in Mitaka are getting slim.
Dec-15-2015(armax): latest spec revision is https:/
September-14 (mestery): All patches are WIP and the RC is next week. Thus, this is out of Liberty and hopefully will make Mitaka.
September-8 (mestery): Needs some really beefy reviews this week, we'll re-evaluate at the 9-14 Neutron meeting. Likely moving to Mitaka.
Sept-1-2015(armax): Pushing to L-RC1 - late submission of code patches, and gate issues are a bad combination.
Gerrit topic: https:/
Addressed by: https:/
Pass bridge_name in OVS port's vif_details
Addressed by: https:/
TrunkManager for the OVS agent
Addressed by: https:/
OVSDBHandler for trunk ports
Addressed by: https:/
Add notifications for trunk CRUD and standardize payload
Addressed by: https:/
WIP Add openvswitch driver and callback handlers
Addressed by: https:/
Introduce bulk push to rpc callback mechanism
Addressed by: https:/
[WIP]: Implementation of vlan-aware-vms for linux bridge.
Addressed by: https:/
Add linux bridge trunk server side driver
Addressed by: https:/
Port device events for common agent
Addressed by: https:/
WIP: ovs-agent: Seperate VLAN mapping outside of the agent
Addressed by: https:/
Introduce state management for trunk resources
Addressed by: https:/
Add scaffolding for trunk plugin/server-side driver integration
Addressed by: https:/
Add agent-side driver scaffolding for trunk functionality
Gerrit topic: https:/
Addressed by: https:/
objects: rename tenant_id field to project_id for trunks
Addressed by: https:/
Allow bound ports to be trunked if the driver can support it
Gerrit topic: https:/
Addressed by: https:/
Relax bound constraint for trunk parent ports
Gerrit topic: https:/
Addressed by: https:/
ovs_lib add a new methods to add attributs to ports
Addressed by: https:/
Revisit support for trunk segmentation types
Addressed by: https:/
[WIP] Implement state management for trunks
Addressed by: https:/
functional: Make trunk tests more robust
Addressed by: https:/
Make OVS and LinuxBridge trunk drivers' is_loaded() property more robust
Addressed by: https:/
Add release note for trunk extension
Addressed by: https:/
[WIP] Set trunk status to DOWN when parent port is unbound
Addressed by: https:/
Expose description attribute on trunk API
Addressed by: https:/
Expose timestamp attributes on trunk API
Addressed by: https:/
api: Test trunk API without optional attributes
Addressed by: https:/
trunk: Handle subports notification in ovs agent side
Addressed by: https:/
Check MTU sanity of trunk port subports
Addressed by: https:/
API tests: Check MTU sanity of trunk/subport
Addressed by: https:/
Add resync mechanism for trunks
Addressed by: https:/
Expose revision_number to trunk API
Addressed by: https:/
Trunk: remove database transactions from the plugin
Addressed by: https:/
[WIP] Resync handler for trunks
Addressed by: https:/
Be more clear about DOWN_STATUS for trunk resources
Addressed by: https:/
Provide a property to access the integration bridge for OVS
Addressed by: https:/
Fix misnomer in _set_trunk_metadata
Addressed by: https:/
Skip can_be_trunked validation for subports
Addressed by: https:/
Move 'get_tap_
Addressed by: https:/
Add Trunk Plumber module for Linux Bridge
Addressed by: https:/
Set device_owner for trunk subports
Addressed by: https:/
ovsdb-handler: Follow up patch
Addressed by: https:/
Catch RPC errors in trunk skeleton
Addressed by: https:/
trunk: Remove ovs constants from trunk utils module
Addressed by: https:/
[WIP] fullstack: VLAN aware VMs test
Addressed by: https:/
Stop olso_messaging from error logging CallbackNotFound
Addressed by: https:/
Don't warn in VLAN Plumber on tagless children
Addressed by: https:/
Don't warn in VLAN Plumber on tagless children
Gerrit topic: https:/
Addressed by: https:/
Add MAC address to subports in trunk_details
Addressed by: https:/
trunk: Log RPC communication
Addressed by: https:/
Add MAC address to subports in trunk_details
Addressed by: https:/
Handle add/remove subports events loss due to agent failures
Addressed by: https:/
Fix misleading error trace in trunk fullstack life cycle test
Addressed by: https:/
Add required extension to trunk_details descriptor
Addressed by: https:/
Fix misleading error trace in trunk fullstack life cycle test
Addressed by: https:/
Add required extension to trunk_details descriptor
Addressed by: https:/
Revert "Set device_owner for trunk subports"
Work Items
Work items:
Spec (https:/
Server side - DB Models Models (https:/
Server side - DB OVO (https:/
Server side - API (https:/
Server side - Service Plugin (https:/
Server side - RPC (https:/
Server side - Trunk business rules (https:/
Server-side - State machine (https:/
Client side - neutronclient (https:/
Agent side OVS - Design strategies (https:/
Agent side OVS - Implementation details (https:/
Agent side OVS - Data plane implementation (https:/
Agent side OVS - Handling OVSDB events (https:/
Agent side LINUX Bridge - (https:/
Other project support - Nova/os-vif (https:/
Horizon support (optional): TODO
Documentation (https:/
Dependency tree
* Blueprints in grey have been implemented.