Jump to: navigation, search

Difference between revisions of "Solum/ApiModel"

Line 51: Line 51:
 
Additional Issues:
 
Additional Issues:
 
* Long running workflows would need Solum to use trusts (and renew tokens periodically).
 
* 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-build.png|non-framed]]

Revision as of 19:32, 31 March 2014

The point of this design is to try and model the use cases to the api better. Solum's primary 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).

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

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.

non-framed