This repository was archived by the owner on Mar 31, 2023. It is now read-only.
v0.8-alpha
Pre-release
Pre-release
Release Summary
This release focuses on microservice implementation for Alcor control plane, E2E integration with OpenStack, and performance tuning and comparison with Neutron. Some highlight of this release:
- Deliver 8 new microservices along with customer-facing APIs
- Enable gRPC fast path to achieve sub-second port provisioning latency for latency-sensitive applications
- Complete E2E integration with OpenStack Nova, KeyStone, Horizon UI and CLI
- Compare performance with Neutron and demonstrate at least 10x performance gain on latency, throughput and concurrency
- Migration plan from Neutron to Alcor is in place
Features Added
New MicroService Design & Development
- Subnet Manager (PR #154, #174, #334)
- Port Manager (PR #180, #197, #208, #248, #271)
- Private IP Manager (PR #164, #272)
- Virtual Mac Manager (PR #147, #183, #188, #206)
- Security Group Manager (PR #208)
- Elastic IP Manager (PR #215, #243, #298, #347)
- Data Plane Manager (PR #234, #240, #254, #355)
- Node Metadata Manager (PR #189, #249, #326, #340)
Release of New APIs
- Subnet CURD (API spec)
- Port CURD and bulk operation (API spec)
- Security group and security group rule CURD (API spec)
- Port & security group binding/unbinding (API spec)
- Segment & segment range CURD (PR #181, API spec)
- Network Ip availability and usage stats (PR #353, API spec)
- Elastic IP management (PR #243, API spec)
- Port & EIP association/disassociation (PR #298, API spec)
Alcor Common Libraries
- Create common modules including AlcorLib, AlcorWeb, and AlcorSchema (PR #195, #220)
- Improve Ignite database/cache usage and support SQL-alike query (PR #208)
- Add common async executor to AlcorLib (PR #180)
- Add common microservice rest clients to AlcorWeb (PR #180)
- Support service rollback when create/update operation fail (PR #180)
- Support multi-param query (PR #252, #326, #356)
- Cache layer supports setting of expire time (PR #219, #342)
Alcor Control Agent Design & Development
- High-level design of OVS and ACA integration (ACA PR 94)
- L2 port programming with OVS (ACA PR 105)
- Local Vlan manager implementation (ACA PR 109)
- Tracking and processing of OVS packet-in and packet-out (ACA PR 112)
- Design of a two-layer distributed DHCP component (ACA PR 103)
- Design and implementation of L3 distributed routing for inter-subnet VM to VM communication (PR #339, ACA PR 119)
Performance tuning and E2E performance test
- Optimize mac allocation algorithm (#292, #317)
- Port Manager 2.0 (PR #301)
- VPC code refactor for latency improvement (PR #357)
- Alcor performance annotation (PR #276)
- Add time cost estimation for all microservices (PR #350)
- Release preliminary performance comparison results
Compatibility and Integration with OpenStack
- Integration with Nova (PR #202, #204)
- Integration with Horizon UI (PR #322)
- Compatible with OpenStack CLI
- Migration plan for existing Neutron clients (PR #205)
Security
Fundamental
- Add Code coverage report for Alcor controller repository (PR #241, #247)
- UT coverage improvement for existing microservices (PR #174)
- Support Swagger API document and Swagger UI (PR #184, #187, #313)
- Enable Ignite for all microservices (#337)
- Add Ignite service mock in UTs (PR #201)
- Standardize service pom and remove unused dependencies (PR #198)
- Upgrade Alcor Project to Use OpenJDK 11 LTS (#266)
- Design Documentation Improvement with Antora (PR #210)
- Logging enhancement (PR #327, #329)
Deployment, Monitoring and CI/CD
- Deploy controller with Kubernetes (PR #222, #290, #291, #325)
- Enable CI/CD workflow for Alcor controller repository (PR #173, #186)
- Alcor Onebot setup for development and deployment (#306)
- Alcor Monitoring with NetData