Upgrade to Pro — share decks privately, control downloads, hide ads and more …

OpenStack Solum Presentation

Julien Vey
December 09, 2014

OpenStack Solum Presentation

Solum presentation for the OpenStackFR Meetup in Paris

Julien Vey

December 09, 2014
Tweet

More Decks by Julien Vey

Other Decks in Programming

Transcript

  1. Automated by Mistral This is a pipeline deploy with Heat

    build Docker/VMs images test Within Docker containers
  2. Complex Pipelines unit testing functional testing deploy to integration deploy

    to staging deploy to pre-production deploy to production human validation human validation human validation
  3. Steps to setting up a Solum Pipeline Have some code

    to deploy, put it in a git repo Create a plan file Register your plan file with Solum Create a Solum pipeline git push
  4. A solum plan file name: ex1 description: Nodejs express. artifacts:

    - name: nodeus artifact_type: heroku content: href: https://github.com/paulczar/example-nodejs-express.git language_pack: auto
  5. Register your plan in Solum $ solum app create ex1.yaml

    +-------------+-----------------------------------------------------------------+ | Property | Value | +-------------+-----------------------------------------------------------------+ | description | Nodejs express. | | uri | http://10.0.2.15:9777/v1/plans/0408-c93d-4772-abb2-18f65189d440 | | uuid | ceda0408-c93d-4772-abb2-18f65189d440 | | name | ex1 | +-------------+-----------------------------------------------------------------+
  6. Create a pipeline $ solum pipeline create <app_uri> build_deploy my_app

    +-------------+-----------------------------------------------------------------+ | Property | Value | +-------------+-----------------------------------------------------------------+ | trigger_uri | http://10.0.2.15:9777/v1/public/triggers/6bdd6b8b-… | | description | None | | uuid | ceda0408-c93d-4772-abb2-18f65189d440 | | name | ex1 | +-------------+-----------------------------------------------------------------+
  7. Workflow: tasks: start: action: solum.create_image parameters: … on-success: wait_for_image wait_for_image:

    … on-success: deploy deploy: action: heat.update_stack … on-success: wait_for_deployment wait_for_deployment: action: heat.check_stack … publish: stack_state: $.stack_status
  8. Why use Mistral for the workflow ? Keeps track of

    the workflow and states of the tasks Has a workflow DSL, no need to invent a new one No need to have a server to run the task loop, this is handled by Mistral Keeps the execution history We can write task level plugins to provide specialized functionality
  9. Why use Heat to deploy ? Doesn’t assume a single

    VM Allow the user to easily customize the template Allows for greater complexity and use of other OpenStack services
  10. Language Packs At first, only based on Heroku Buildpack by

    using slugbuilder / slugrunner Now more customizable by specifying your own Dockerfile Comes with following verb in CLI: create, list, show, build
  11. How does Solum compare to Cloudfoundry or OpenShift …is multi-tenant

    by default …provides access to the underlying infrastructure …delegates deployment and autoscaling to other OpenStack services (Heat, Ceilometer...) Solum… … is focused on "Source to Image"