RETIRED, further work has moved to Debian project infrastructure
Go to file
Alexander Tivelkov 796a0b2c9d Nova Network support
Adds a support for Nova Network if Neutron is not present in the
current OpenStack deployment.

Supporting the Nova Network requires modifications in three different
parts of generated Heat Stack:
	1) Generated Security Groups and their rules should be of type
	   'AWS::EC2::SecurityGroup', not 'OS::Neutron::SecurityGroup'
	2) Security Group assignments should go to security_groups property
	   of Instance resource, not the network port (as port concept is
	   not present when using NovaNetwork)
	3) FloatingIP should be of type OS::Nova::FloatingIP and should be
	   associated with an Instance by OS::Nova::FloatingIPAssociation
	   resource.

To achieve p1 a SecurityGroupManager class of Core Library is made
abstract and is inherited by two concrete implementations:
NeutronSecurityGroupManager (containing the old MuranoPL code which
generated templates based on OS::Neutron::SecurityGroup) and a new
AwsSecurityGroupManager, which generates AWS-compliant firewall rules
which are consumed by NovaNetwork.

The particular concreate instance of this class is generated by the
default network of environment: Network class has got a new method called
generateSecurityGroupManager which returns an appropriate implementation.

For pp 2-3 a new inheritor of Network class has been added to the Core
Library: an io.murano.resources.NovaNetwork. It generates FloatingIP
association resources if needed and returns a securityGroupName object
as one of the outputs of its joinInstance methods.
The Instance class has been modified to properly handle these types of
outputs.
The instance of the NovaNetwork class is generated at the API side
when a new Environment is created and a is assigned to the
defaultNetworks.environment property of the environment if the neutron
is not defined in keystone.

Also this change moves the auth_utils module from engine to common, as
Keystone Client it contains is now used by the API process as well.

This changed is based on some of the code from the outdated changeset
I6f4b7908bd4bbcd375f64705c7dd06e3954f1ec7

Co-Authored-By: Alexander Tivelkov <ativelkov@mirantis.com>
Co-Authored-By: Stan Lagun <slagun@mirantis.com>

DocImpact

Change-Id: I4c48f33de100a5730ba1d086540d0d99e8fbf9b1
Implements-Blueprint: nova-network-support
2015-04-08 13:09:21 +03:00
contrib Initial implementation of Plugable Classes 2015-03-19 14:06:24 +00:00
doc/source Nova Network support 2015-04-08 13:09:21 +03: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 Nova Network support 2015-04-08 13:09:21 +03:00
murano Nova Network support 2015-04-08 13:09:21 +03: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
babel.cfg Removed all projects except Glazier Api 2013-04-09 13:25:02 +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
openstack-common.conf Use oslo.i18n for translation 2015-02-19 18:51:22 +03:00
README.rst Rename muranoapi to murano 2014-05-27 15:14:44 +04:00
requirements.txt Merge "Updated from global requirements" 2015-03-27 10:28:58 +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 Updated from global requirements 2015-03-25 17:39:55 +10:00
tox.ini Use oslo.i18n for translation 2015-02-19 18:51:22 +03:00

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