Difference between revisions of "PolicyGuidedFulfillmentDemo"
Line 41: | Line 41: | ||
=== Demo Application === | === Demo Application === | ||
− | Application is based on packages used in [https://git.openstack.org/cgit/stackforge/murano-apps/ murano-apps] | + | Application is based on packages used in [https://git.openstack.org/cgit/stackforge/murano-apps/ murano-apps], [https://github.com/murano-project/murano-app-incubator murano-app-incubator], and [https://github.com/ativelkov/hello-world-servlet hello-world-servlet] . |
− | Application packages are available here: https://github.com/filip-blaha/policy-guided-fulfillment-demo | + | Application packages are available here: https://github.com/filip-blaha/policy-guided-fulfillment-demo : |
+ | |||
+ | * io.murano.apps.java.HelloWorld | ||
+ | ** main application package. | ||
+ | ** it install web application from https://github.com/filip-blaha/hello-world-servlet to Tomcat and configures database. | ||
+ | ** has dependency on SqlDatabase, so one of MySql, PostgreSql can be choosen | ||
+ | ** has dependency on Tomcat | ||
+ | * io.murano.apps.apache.Tomcat | ||
+ | ** Install Tomcat | ||
+ | * io.murano.databases.SqlDatabase | ||
+ | ** Base package for databases. It defines base actions for database configuration. | ||
+ | * io.murano.databases.MySql | ||
+ | ** MySql database package | ||
+ | * io.murano.databases.PostgreSql | ||
+ | ** Postgres database package |
Revision as of 13:46, 25 February 2015
Policy Guided Fulfillment Demo
This topic provides information on demo of Policy Guided Fulfillment .
Demo Scenario
- The cloud admin(s) sets 2 policy rules:
- Tenant A can only use MySQL as a DB vendor
- Tenant B can only use PostgreSQL as a DB vendor
- The admin wishes to model a Tomcat application that depends on a DB
- Tenant A admin models it with a MySQL DB
- Tenant B admin models it with a PostgreSQL DB
- Application developer want to add a workflow to the application deployment that will verify the Tomcat is up and running (by sending a GET request) and will send an email notifying whether the deployment has completed successfully or not.
- The admins deploy the application models to Murano. The package will also include the Mistral workflow (so we will not depend on it being pre-deployed to Mistral)
- End user of tenant A wishes to deploy the Tomcat application that relies on PostgreSQL
- Deployment fails since the policy rules restrict this DB for tenant A
- End user of tenant A asks Murano to deploy tomcat with MySQL DB
- Application is deployed
- At the end of deployment phase, the workflow is deployed to Mistral (programmatically, by this specific application deployment logic)
- The workflow is triggered by the application class
- A mail will be sent to the end user indicating whether Tomcat has been deployed and whether it is responsive
Demo Setup Guide
Prerequisities
- OpenStack
- VM images
- Ubuntu based image
- Centos (RedHat) based image
- Each image
- installed Murano Agent
- if you are behind proxy, then image has to have proxy support enabled
- Networking
- Access to internet is required
- if you have proxy access to internet, you have to configured it in our lab, and VM images
- Access to internet is required
Demo Application
Application is based on packages used in murano-apps, murano-app-incubator, and hello-world-servlet .
Application packages are available here: https://github.com/filip-blaha/policy-guided-fulfillment-demo :
- io.murano.apps.java.HelloWorld
- main application package.
- it install web application from https://github.com/filip-blaha/hello-world-servlet to Tomcat and configures database.
- has dependency on SqlDatabase, so one of MySql, PostgreSql can be choosen
- has dependency on Tomcat
- io.murano.apps.apache.Tomcat
- Install Tomcat
- io.murano.databases.SqlDatabase
- Base package for databases. It defines base actions for database configuration.
- io.murano.databases.MySql
- MySql database package
- io.murano.databases.PostgreSql
- Postgres database package