|
|
(19 intermediate revisions by 3 users not shown) |
Line 1: |
Line 1: |
− | The point of this design is to try and model the use cases to the api better. Solum's primary
| + | #REDIRECT [[Solum/Pipeline]] |
− | value is basically and easy to use ci/cd for OpenStack.
| |
− | | |
− | So enabling someone to use their source tree (git repo) as a tool for building images, running tests and deploying
| |
− | into a variety of environments.
| |
− | | |
− | The entry point of Solum would be the deployment subsystem with a 'lifecycle' definition as the input.
| |
− | This would contain build, test, and deploy actions for different environments.
| |
− | The actions can be based on different kind of policies (time-based, user-driven, and so on).
| |
− | | |
− | [[File:Solum-model.png|non-framed]] | |
− | | |
− | Example of the application lifecycle definition:
| |
− | | |
− | lifecycle:
| |
− | environment: Develop
| |
− | policy: True
| |
− | actions:
| |
− | run_tests:
| |
− | git_url: github.com/helloworld.git
| |
− | cmd: tox
| |
− | build:
| |
− | git_url: github.com/helloworld.git
| |
− | cmd: build_app
| |
− | | |
− | environment: Staging
| |
− | policy: develop.build.success
| |
− | actions:
| |
− | deploy:
| |
− | # we need to be able to pass the image from the dev env
| |
− | # so we can use it here.
| |
− | | |
− | environment: Production
| |
− | policy: Manual
| |
− | actions:
| |
− | deploy:
| |
− | heat create prod -u <somewhere> -P "image=<bla>"
| |
− | | |
− | DSL for describing deployment workflow can be Jenkins to begin with.
| |
− | That way, we can use Jenkins also to perform the builds (in the builder subsystem/service).
| |
− | For DSL, we can also look at Mistral, Taskflow, Murano.
| |
− | It will be great if more than one folks participate in the DSL discussions being proposed by Mistral guys
| |
− | (ref. Email on Openstack-dev list).
| |
− | | |
− | Builder subsystem/service:
| |
− | * Investigate Jenkins
| |
− | * Investigate Mistral
| |
− | | |
− | [[File:Solum-internal.png|non-framed]]
| |
− | | |
− | Additional Issues:
| |
− | * Long running workflows would need Solum to use trusts (and renew tokens periodically).
| |
− | | |
− | | |
− | Build jobs need to be run on disposable VM's to be secure.
| |
− | | |
− | [[File:Solum-nodepool.png|non-framed]]
| |