Difference between revisions of "Projects/vpp/Release Plans/Release Plan 19.08"

From fd.io
Jump to: navigation, search
(Created page with "== Introduction == This page tracks release information for 19.04 == Release Deliverables == {|class="wikitable" ! Name ! Description ! Status |- | rowspan="1" | Feature...")
 
m
 
(40 intermediate revisions by 7 users not shown)
Line 1: Line 1:
 
== Introduction ==
 
== Introduction ==
  
This page tracks release information for 19.04
+
This page tracks release information for 19.08
  
 
== Release Deliverables ==
 
== Release Deliverables ==
Line 11: Line 11:
  
 
|-
 
|-
| rowspan="1" | Feature || Description || Done
+
| rowspan="10" | VNET/Infra/Devices || Virtio checksum offload support || In-progress
 +
|-
 +
| Virtio GSO support || In-progress
 +
|-
 +
| Vhost-user - GSO, checksum offload || Done
 +
|-
 +
| Rework VLIB_INIT_FUNCTION sequencing, to eliminate ad-hoc procedural knowledge || Done
 +
|-
 +
| RDMA/MLNX hardening || In-progress
 +
|-
 +
| Packet tracer support for thread handoffs || Done
 +
|-
 +
| Optimize event log string heap usage || Done
 +
|-
 +
| Create feature-specific processes and data structures at feature config time || In-progress
 +
|-
 +
| Add bihash statistics hooks || Done
 +
|-
 +
| Performance-monitor plugin support per-thread data collection || Done
 +
|-
 +
| rowspan="3" | API  || Rework to use new types (continuing work) || In-progress
 +
|-
 +
| Migrate default values from test framework to .api files  || In-progress
 +
|-
 +
| API documentation || In-progress
  
 
|-
 
|-
| rowspan="1" | Feature || Description || Done
+
| rowspan="1" | NAT/MAP || Shallow virtual reassembly (as separate feature) || In-progress
  
 
|-
 
|-
| rowspan="1" | Feature || Description || Done
+
| rowspan="1" | FIB || Finish FIB changes to allow the IP route add/del API accept multiple paths || Done
 +
|-
 +
| rowspan="1" | IPv6 || Add ipv6 connection-tracker plugin || Done
  
 
|-
 
|-
| rowspan="1" | Feature || Description || Done
+
| rowspan="1" | IPSec || Send punt packet exception packet to UDS || Done
 +
 
 +
|-
 +
| rowspan="1" | ACL  || Thread-safe ACL stats query API || In-progress
 +
 
 +
|-
 +
| rowspan="1" | Crypto  || Native AES-GCM implementation on x86I || Done
 +
 
 +
|-
 +
| rowspan="5" | Host Stack  || SVM fifo sizing (first cut implementation done) || In-progress
 +
|-
 +
| Global output scheduler for session layer || In-progress
 +
|-
 +
| TCP delivery rate estimator || In-progress
 +
|-
 +
| TCP ack/retransmission/syn generation improvements || In-progress
 +
|-
 +
| Add static http server application || Done
 +
|-
 +
| rowspan="3" | Make Test  || Make tests run on Python 3 (as well as 2) || In-progress
 +
|-
 +
| Remove VpplpAddress from tests  || In-progress
 +
|-
 +
| Use MacAddress from vpp_papi.py where possible || In-progress
 +
|-
 +
| rowspan="3" | GBP || VRF scoped contract || Done
 +
|-
 +
| Anonymous L3Out || Done
 +
|-
 +
| Incomplete remote EPs configuration & learning || Done
 +
|-
 +
| rowspan="3" | Linux-Interface-Pair || | VPP and linux IP and MAC Sharing  || In-progress
  
 
|}
 
|}

Latest revision as of 14:56, 17 September 2019

Introduction

This page tracks release information for 19.08

Release Deliverables

Name Description Status
VNET/Infra/Devices Virtio checksum offload support In-progress
Virtio GSO support In-progress
Vhost-user - GSO, checksum offload Done
Rework VLIB_INIT_FUNCTION sequencing, to eliminate ad-hoc procedural knowledge Done
RDMA/MLNX hardening In-progress
Packet tracer support for thread handoffs Done
Optimize event log string heap usage Done
Create feature-specific processes and data structures at feature config time In-progress
Add bihash statistics hooks Done
Performance-monitor plugin support per-thread data collection Done
API Rework to use new types (continuing work) In-progress
Migrate default values from test framework to .api files In-progress
API documentation In-progress
NAT/MAP Shallow virtual reassembly (as separate feature) In-progress
FIB Finish FIB changes to allow the IP route add/del API accept multiple paths Done
IPv6 Add ipv6 connection-tracker plugin Done
IPSec Send punt packet exception packet to UDS Done
ACL Thread-safe ACL stats query API In-progress
Crypto Native AES-GCM implementation on x86I Done
Host Stack SVM fifo sizing (first cut implementation done) In-progress
Global output scheduler for session layer In-progress
TCP delivery rate estimator In-progress
TCP ack/retransmission/syn generation improvements In-progress
Add static http server application Done
Make Test Make tests run on Python 3 (as well as 2) In-progress
Remove VpplpAddress from tests In-progress
Use MacAddress from vpp_papi.py where possible In-progress
GBP VRF scoped contract Done
Anonymous L3Out Done
Incomplete remote EPs configuration & learning Done
Linux-Interface-Pair VPP and linux IP and MAC Sharing In-progress

Release Milestones

The schedule below is DRAFT

the milestones' time will be at 18:00 UTC on the day of the milestone.


Milestone Date Deliverables
F0 2019-07-31 APIs frozen. Only low-risk changes accepted on main branch.
RC1 2019-08-07 (F0 + 7) Code complete, pull first release throttle branch, only bug fixes accepted on throttle train. After pull: main branch reopens for new feature / risky commits. First artifacts posted.
RC2 2019-08-14 (RC1 + 7) Second artifacts posted.
Formal Release 2019-08-21 (RC2 + 7) 19.08 release artifacts available

NOTE: Dates chosen based on:

  • end-month release
  • milestone + days
  • release date after VPP community meeting, for discussion, go/no-go

Once we've pulled the 19.08 release throttle

We need to be disciplined with respect to bugfix commits. Here are a few common-sense suggestions:

  • All bug fixes must be double-committed to the release throttle as well as to the master branch
    • Commit first to the release throttle, then "git cherry-pick" into master
    • Manual merges may be required, depending on the degree of divergence between throttle and master
  • All bug fixes need to have a Jira ticket
    • Please put Jira IDs into the commit messages.
    • Please use the same Jira ID for commits into the stable branch and master.
NEED JIRA/CONFLUENCE IMPORT HERE


Expected Dependencies on Other Projects