Difference between revisions of "Roadmap (Marconi)"
m (→Let's Do This) |
(→Upcoming milestones) |
||
Line 25: | Line 25: | ||
=== Juno-2 (July 24) === | === Juno-2 (July 24) === | ||
− | |||
− | |||
* Finish tempest tests for API v1.0 | * Finish tempest tests for API v1.0 | ||
− | * Basic marconi-bench tool and cluster (will be merged into Rally eventually | + | * Basic marconi-bench tool and cluster (will be merged into Rally eventually) |
− | + | * Finish and API 1.1 | |
− | * Finish and | ||
* Functional tests for API 1.1 | * Functional tests for API 1.1 | ||
− | |||
* Finish POCs for: Redis, AMQP, Elasticsearch (?), LevelDB (?) | * Finish POCs for: Redis, AMQP, Elasticsearch (?), LevelDB (?) | ||
* Based on POCs, decide on 1-2 to add as an out-of-the-box alternative to MongoDB | * Based on POCs, decide on 1-2 to add as an out-of-the-box alternative to MongoDB | ||
Line 41: | Line 37: | ||
Here's a rough list--in no particular order--of what we would like to accomplish. This list will be refined the closer we get to the start of J-3. | Here's a rough list--in no particular order--of what we would like to accomplish. This list will be refined the closer we get to the start of J-3. | ||
+ | * Tweak API 1.1 (solicit feedback) and freeze the spec | ||
+ | * Live queue migration | ||
+ | * Rename the project | ||
+ | * Threat model for minimal HA deployment | ||
* Finish work on new backend driver(s) | * Finish work on new backend driver(s) | ||
* Finish work on flavors | * Finish work on flavors | ||
+ | * Decouple control plane backend drivers from data plane backend drivers | ||
* AuthZ for Admin API | * AuthZ for Admin API | ||
− | + | * Mongo DB gate | |
− | * Mongo DB gate | ||
* Benchmark gate (3rd-party) | * Benchmark gate (3rd-party) | ||
* Publish User Guide and API Reference on RTD | * Publish User Guide and API Reference on RTD | ||
Line 51: | Line 51: | ||
* Cross-service Request ID | * Cross-service Request ID | ||
* Basic security test suite | * Basic security test suite | ||
− | + | * Redis gate? | |
− | * Redis gate | ||
* DDoS testing and mitigation | * DDoS testing and mitigation | ||
* Tempest tests for API v1.1 | * Tempest tests for API v1.1 | ||
− | * | + | * Performance tuning |
* End-game bug fixing and stabilization | * End-game bug fixing and stabilization | ||
− | |||
== Past Milestones == | == Past Milestones == |
Revision as of 14:15, 14 July 2014
Contents
Let's Do This
For Juno, let's ship a service that is super fast, has a polished API, and is well-documented. We can't decide the future of the project without getting more feedback based on real-world usage. If we need to totally reinvent the API based on that feedback, we can do that in K.
Juno Themes
- Speed
- Polish
- Docs
Major Goals
- Complete a polished version of the 1.0 API, v1.1
- Ship a driver for high-throughput use cases
- 10ms for any operation, per individual client
- 10K/sec aggregate rate per tenant
- Ship a driver for a non-AGPL backend that has feature parity with MongoDB
- Greatly expanded user guide, published to RTD
Upcoming milestones
Juno-2 (July 24)
- Finish tempest tests for API v1.0
- Basic marconi-bench tool and cluster (will be merged into Rally eventually)
- Finish and API 1.1
- Functional tests for API 1.1
- Finish POCs for: Redis, AMQP, Elasticsearch (?), LevelDB (?)
- Based on POCs, decide on 1-2 to add as an out-of-the-box alternative to MongoDB
- Start converting POCs into "real" drivers
Juno-3 (Sept 4)
Here's a rough list--in no particular order--of what we would like to accomplish. This list will be refined the closer we get to the start of J-3.
- Tweak API 1.1 (solicit feedback) and freeze the spec
- Live queue migration
- Rename the project
- Threat model for minimal HA deployment
- Finish work on new backend driver(s)
- Finish work on flavors
- Decouple control plane backend drivers from data plane backend drivers
- AuthZ for Admin API
- Mongo DB gate
- Benchmark gate (3rd-party)
- Publish User Guide and API Reference on RTD
- User Guide 2.0
- Cross-service Request ID
- Basic security test suite
- Redis gate?
- DDoS testing and mitigation
- Tempest tests for API v1.1
- Performance tuning
- End-game bug fixing and stabilization
Past Milestones
Juno-1 (June 12)
- Start coding AMQP
- Start coding Redis
- Continue work on API v1.1
- Rename "shard" to "pool" and note the name change on wiki and in the user manual
- Start coding KPIs (/health endpoint)
- Fill out OSSG security FAQ template
- Revert read-only queue metadata from API 1.1 (don't forget to update the spec)
Postponed Work
Here are some things we would love to do this cycle, but don't have enough people to work on them. If you are interested in helping out, please get in touch via the openstack-dev mailing list (using the prefix "[marconi]" in the subject), or via IRC in #openstack-marconi on Freenode.
- Research notifications (meet with 3rd-parties, create a design)
- Start coding notifications
- Integrate notifications with 1-2 other programs
- Demo videos
- Kafka driver
- Long polling or WebSocket support in the API
- Snappy or LZ4 compression of message bodies before storing them
- Structured logging
- Temp URL style endpoints with ACL, to give to untrusted parties for limited interactions with a queue
- Message signing