Jump to: navigation, search

Difference between revisions of "Solum/HighLevelRoadmap"

(Milestone 2014.2.3: Juno-3)
(Milestone 2014.2.3: Juno-3)
Line 56: Line 56:
 
  - I want to be able to view summary log data (build pass/pail, test pass/fail, number of tests passed/failed etc)
 
  - I want to be able to view summary log data (build pass/pail, test pass/fail, number of tests passed/failed etc)
 
  - I want to view my logs scoped to individual pull requests  
 
  - I want to view my logs scoped to individual pull requests  
  - I want to be able to drill down into details logs
+
  - I want to be able to drill down into detail logs
 +
- I would like to see user friendly logs i.e. logs meant to be consumed by an app developer persona
  
* '''Retry on failures''': as an application developer, if the CI tests faiI I would be able to trigger rerun of the tests without resubmitting the code.
+
* '''Retry on failures''': as an application developer, if the CI invocation faiIs due to any reason, I would be able to trigger rerun of the CI workflow without resubmitting the code.
  
  

Revision as of 20:08, 3 September 2014

System Overview

SolumOverview.png

Program Scope

For developers: Provide an easy to use, fast experience developing applications for OpenStack , by providing an automated CI/CD pipeline.

For release managers: Provide streamlined application lifetime management via Environments (dev,test,staging,prod), permissions(I.e. who can deploy to prod),what tests get run in which environment, usage/cost information per environment, etc

The program vision consists of the following 4 items-

1. CI: Source to image (continuous integration pipeline)

 - GIT, build+unit test, generate image, run functional tests, persist image for deployment via Heat

2. CD

 - automated deployment, management of running apps(monitoring, autoscaling, self-healing), blue green deployments, application versioning and rollbacks

3. Environments

 - permissions(I.e. who can deploy to prod),what tests get run in which environment, usage/cost information per environment, etc

4. Developer tooling

 - IDE plugins, SDK's, CLI, UI console

Solum Roadmap

Milestone 2014.1.2: Basic app deployment functionality

Milestone 2014.1.3: Get Ready for Atlanta Summit

  • UI mockup to reflect program vision
  • Reliability improvements: bug fixes
  • Usability improvements: documentation, sample apps, better logging

Milestone 2014.2: Juno-1: Source to Image Pipeline-phase 1

Solum-SourceToImagePipeline.png
  • Ability to configure unit tests to be run as part of CI pipeline
  • Postpone: Ability to configure functional tests to be run as part of CI pipeline, via spinning up a temporary test assembly
  • Postpone: Custom language packs
  • Nova docker driver improvements
  • Logging improvements (for operator persona)

Milestone 2014.2.2: Juno-2: Source to Image Pipeline-phase 2

  • Postpone: Historical status of CI pipeline runs: status of build, unit tests, functional tests [success/failures, time metrics, execution logs]
  • Postpone: Streaming logs – consolidated view of logs for a given app (user/developer persona)
  • Ability for user to configure source to image pipeline (Pipeline resource)
  • CLI operations to support source to image pipeline
  • UI console to support source to image pipeline

Milestone 2014.2.3: Juno-3

  • Access to logs : as an application developer, I would be able to access build and test logs for my CI invocations on Solum.
- I want my logs to be accessible only to me
- I want to be able to view summary log data (build pass/pail, test pass/fail, number of tests passed/failed etc)
- I want to view my logs scoped to individual pull requests 
- I want to be able to drill down into detail logs
- I would like to see user friendly logs i.e. logs meant to be consumed by an app developer persona
  • Retry on failures: as an application developer, if the CI invocation faiIs due to any reason, I would be able to trigger rerun of the CI workflow without resubmitting the code.


  • Custom Language Pack
- As an operator, I can codify setup of custom build+language stack, and make it available to application developers so that they can start using the custom stack for CI (build, run tests, generate DU). 
- as an application developer, I can codify setup of my custom build+language stack, and have Solum use my custom stack for CI. 
  • Jenkins Integration: as a customer already using Jenkins for my CI needs, I would be able to integrate my Jenkins CI instance with Solum and have access to Solum features (i.e. persist build output produced by Jenkins in glance via Solum, automated deployments, etc.)
  • Trove Integration: as an application developer, I would be able to deploy apps that have ready access to trove MySQL service.

Milestone 2015.1

Milestone 2015.1.2

  • Auto scaling
  • Self-healing
  • Custom SSL Certificates
  • Container Sleep/Wake
  • Blue/green deployments

Milestone 2015.1.3

  • Environments (Dev, Test, Prod, custom)
    • Application Lifecycle Management (promote code from dev to test to prod)
  • SDK for interfacing with the PaaS REST API
  • Roles and privileges


Milestone 2015.2

  • Non-web workloads (Background and scheduled jobs)
  • HA via distributed placement of load balanced set of code container instances
  • Network isolation - dedicated private network for applications
  • IDE Plugins for Eclipse, IntelliJ, JBoss Studio, Komodo
  • Integration with online IDE
  • Online developer sandbox
  • Additional services