Application Catalog for OpenStack
Go to file
Alexander Tivelkov 62c1f10e7b Initial implementation of Plugable Classes
Adds a PluginLoader which loads classes defined as stevedore plugins at
io.murano.extension namespace and registers them as MuranoPL classes in
class loader.

Modifies the ClientManager class to make the _get_client method public,
so other code may use it to add custom clients. This is useful for
plugins which may define their own clients.

Modifies the configuration settings adding 'enabled_plugins' parameter to
control which of the installed plugins are active.

Adds an example plugin which encapsulates Glance interaction logic to:
	* List all available glance images
	* Get Image by ID
	* Get Image by Name
	* Output image info with murano-related metadata

Adds a demo application which demonstrates the usage of plugin. The app
consist of the following components:
	* An 'ImageValidatorMixin' class which inherits generic instance
	  class (io.murano.resources.Instance) and adds a method capable to
	  validate Instance's image for having appropriate murano metadata
	  type. This class may be used as a mixin when added to inheritance
	  hierarchy of concrete instance classes.
	* A concrete class called DemoInstance which inherits from
	  io.murano.resources.LinuxMuranoInstance and ImageValidatorMixin
	  to add the image validation logic to standard Murano-enabled
	  Linux-based instance.
	* An application which deploys a single VM using the DemoInstance
	  class if the tag on user-supplied image matches the user-supplied
	  constant.

The ImageValidatorMixin demonstrates the instantiation of
plugin-provided class and its usage, as well as handling of exception
which may be thrown if the plugin is not installed in the environment.

Change-Id: I978339d87033bbe38dad4c2102612d8f3a1eb3c3
Implements-blueprint: plugable-classes
2015-03-19 14:06:24 +00:00
contrib Initial implementation of Plugable Classes 2015-03-19 14:06:24 +00:00
doc/source Merge "Environment Template API documentation Targets https://blueprints.launchpad.net/murano/+spec/environment-template" 2015-03-12 12:17:41 +00:00
etc Configurable environment's default network config 2015-03-17 20:26:41 +03:00
functionaltests Mistral integration functional tests - scripts 2015-02-26 14:50:15 +01:00
meta Merge "Adds ability to join instances to existing Neutron networks" 2015-03-19 10:30:50 +00:00
murano Initial implementation of Plugable Classes 2015-03-19 14:06:24 +00:00
tools Use python from venv for subunit-trace 2015-03-13 08:16:48 +00:00
.coveragerc Added coveragerc 2014-06-22 06:41:49 +04:00
.gitignore Added generated sample config to gitignore 2014-11-29 06:45:49 +03:00
.gitreview Update gitreview to match repo rename 2014-05-23 18:21:12 -04:00
.testr.conf Migrate unit test to testtools 2014-06-04 18:41:07 +04:00
CONTRIBUTING.rst Workflow documentation is now in infra-manual 2014-12-05 03:30:45 +00:00
HACKING.rst Added developer documentation 2014-04-21 16:32:28 +04:00
LICENSE Added MANIFEST.in and LICENSE 2013-05-31 16:18:01 +04:00
MANIFEST.in Added DB migrations on Alembic 2014-06-20 18:01:34 +04:00
README.rst Rename muranoapi to murano 2014-05-27 15:14:44 +04:00
babel.cfg Removed all projects except Glazier Api 2013-04-09 13:25:02 +04:00
openstack-common.conf Use oslo.i18n for translation 2015-02-19 18:51:22 +03:00
requirements.txt Remove wsgiref from requirements.txt 2015-02-26 09:02:20 +00:00
setup.cfg Use oslo.config generator in murano 2014-11-12 17:09:35 +02:00
setup.py Updated from global requirements 2014-12-14 05:10:49 +03:00
test-requirements.txt Update from global requirements 2015-02-25 16:09:22 +03:00
tox.ini Use oslo.i18n for translation 2015-02-19 18:51:22 +03:00

README.rst

Murano

Murano Project introduces an application catalog, which allows application developers and cloud administrators to publish various cloud-ready applications in a browsable categorised catalog, which may be used by the cloud users (including the inexperienced ones) to pick-up the needed applications and services and composes the reliable environments out of them in a "push-the-button" manner.

Project Resources

Project status, bugs, and blueprints are tracked on Launchpad:

https://launchpad.net/murano

Developer documentation can be found here:

https://murano.readthedocs.org

Additional resources are linked from the project wiki page:

https://wiki.openstack.org/wiki/Murano

License

Apache License Version 2.0 http://www.apache.org/licenses/LICENSE-2.0