Add support for heat environments and files

Registered by Michal Gershenzon

Add support for using Heat environments and Heat additional files, when saving and deploying Heat
templates.

1-
  Allowing Heat environments to be saved and deployed as part of a Murano Heat package. Adding
  environments to a package should be optional. Heat environment files should be placed in the
  package under '/Heat/Environments'. When a user request to add a Heat-generated package to a
  Murano environment, he should have an option to specify one of the heat-environment-files
  located at '/Heat/Environments' in the package, and this heat-environment-file should be sent to
  Heat with the template during Murano environment deployment. If no heat-environment-file was
  specified, the template will be deployed without a Heat environment.
  The heat environment should be referenced by name, so we should decide about validating
  uniqueness in the package. In addition, an API to list the heat-environments of a package should
  be implemented. It can be "/v1/catalog/packages/{id}/heat-environments"
  Use-cases:
    * Supporting resource registry
    * Supporting saving 'test' and 'production' profiles of the same application

2-
  Allowing Heat additional files to be saved and deployed as part of a Murano Heat applications.
  Adding additional files to a package should be optional. Such files should be placed in the
  package under '/Heat/Files'. When a Heat-generated package is being deployed, if the package
  contains additional files, they should be sent to Heat together with the template and params.
  If there are any Heat additional files located in the package under '/Heat/Files', they should
  all be sent with the template during stack creation in Heat.
  Use-cases:
    * Supporting Heat nested stacks
    * Supporting scripts

Discussions:
  * Finding a better name than environments.
    Possible replacements: options, configurations, possibilities, profiles, settings, additions.
  * The package structure and naming.

Blueprint information

Status:
Complete
Approver:
Serg Melikyan
Priority:
Medium
Drafter:
Michal Gershenzon
Direction:
Approved
Assignee:
Michal Gershenzon
Definition:
Approved
Series goal:
Proposed for liberty
Implementation:
Implemented
Milestone target:
milestone icon 1.0.1
Started by
Michal Gershenzon
Completed by
Ekaterina Chernova

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:bp/add-support-for-heat-environments-and-files,n,z

Addressed by: https://review.openstack.org/205853
    Add support for heat files

Addressed by: https://review.openstack.org/211608
    [WIP] Add support for heat environments

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.