Jump to: navigation, search

Difference between revisions of "Solum/ApiModel"

(Redirected page to Solum/Pipeline)
 
(21 intermediate revisions by 4 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/helloworkld.git
 
        cmd: tox
 
      build:
 
        git_url: github.com/helloworkld.git
 
        cmd: build_app
 
 
 
  environment: Staging
 
    policy: depends-on-success-of-Develop
 
    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]]
 

Latest revision as of 20:55, 17 May 2014

Redirect to: