[openstack-dev] [tripleo] Deployment plan management efforts sync up

Jiri Tomasek jtomasek at redhat.com
Thu Feb 2 13:28:19 UTC 2017



On 2.2.2017 13:57, Ana Krivokapic wrote:
>
>
> On Thu, Feb 2, 2017 at 1:46 PM, Emilien Macchi <emilien at redhat.com 
> <mailto:emilien at redhat.com>> wrote:
>
>     On Thu, Feb 2, 2017 at 6:56 AM, Jiri Tomasek <jtomasek at redhat.com
>     <mailto:jtomasek at redhat.com>> wrote:
>     > Hello all,
>     >
>     > there has been several ongoing efforts in TripleO regarding
>     Deployment Plans
>     > management and Deployment configuration itself. A lot of this
>     work is done
>     > to satisfy certain individual requirements but I think some further
>     > discussion needs to happen to make sure the solutions we create are
>     > effective for all parts of TripleO.
>     >
>     > There are several goals / features we currently aim for:
>     > - Define and manage custom Roles (GUI/CLI)
>     > - Define and manage networks (CLI/GUI)
>     > - Import/Export Deployment plans so it is possible to reuse them
>     or use them
>     > as a reference/starting point
>     >
>     > Currently the Deployment plan stored in Swift consist of:
>     > - tripleo heat templates
>     > - roles_data.yaml - meta file used as an input to define roles
>     (and assign
>     > networks to roles [1])
>     > - network_data.yaml - meta file used as input to define networks [2]
>     > - capabilities-map.yaml - meta file to describe THT environment
>     files
>     > capabilities
>     > - mistral environment - json structure in Mistral which we use
>     as a backend
>     > store accessible by mistral actions and workflows (tripleo-common)
>     >
>     > Currently, only possibility to configure roles and networks is
>     by creating
>     > or updating the plan with changed meta files. We need to create
>     Mistral
>     > actions to handle manipulating roles and networks so GUI (also
>     CLI) can
>     > retrieve current roles/networks configuration and update it,
>     which in turn
>     > will regenerate related templates. Now, the question arises: Do
>     we want to
>     > use roles_data.yaml in Swift container as a storage for this
>     information? I
>     > thought we agreed on using Mistral environment to store plan
>     related data.
>     > (See here for additional context [3] )
>     >
>     > This means that on plan creation, we use roles_data.yaml (and
>     > network_data.yaml etc.) to populate Mistral environment and generate
>     > templates using this data. roles_data.yaml (and others) then
>     need to be
>     > discarded because from this point on, the data will be updated
>     in Mistral
>     > environment through tripleo-common actions. roles_data.yaml is
>     therefore
>     > used just as a default which is used when plan is created (or
>     updated).
>     >
>     > Now, plan export comes into play [4]. We want to be able to pull
>     down the
>     > plan and deploy it using CLI directly (which creates/updates
>     plan as far as
>     > during deploy command), We want to be able to reuse the plan in
>     other
>     > deployments or use it as a reference architecture for subsequent
>     > deployments. This means we don't only want to download the
>     contents of Swift
>     > container, but also configuration stored in Mistral environment.
>     >
>     > So Plan export action pulls down files from Swift container,
>     adds meta
>     > files: roles_data.yaml, network_data.yaml... which it populates
>     by looking
>     > at appropriate keys in Mistral environment +
>     plan_environment.yaml which
>     > includes remaining data from Mistral environment such as
>     parameter values,
>     > environments etc. All of those are then returned in a single
>     tarball.
>     > Question to consider is whether to split all this data into
>     separate files
>     > or keep it in single one.
>     >
>     > Plan Import [5] then allows to provide plan_environment.yaml to
>     enable
>     > populating parameter values and environments selection during
>     plan creation.
>
>     For which cycle would you target this blueprint?
>     We need to update it accordingly:
>     https://blueprints.launchpad.net/tripleo/+spec/enhance-plan-creation-with-plan-environment-json
>     <https://blueprints.launchpad.net/tripleo/+spec/enhance-plan-creation-with-plan-environment-json>
>
>
> I think it should be targeted for Pike 1.
+1

>
>
>     >
>     > Alternative solution is to store meta files (roles_data.yaml,
>     > network_data.yaml...) in Swift container and use those files as
>     a data store
>     > which IMHO does not comply with decision to use Mistral
>     environment as a
>     > plan data store. In that case we should probably get rid of
>     using Mistral
>     > environment altogether and use plan_environment.yaml file in
>     Swift container
>     > to store data which we currently store in Mistral environment. I
>     am quite
>     > convinced that there have been good reasons to not to do this
>     and use
>     > Mistral environment.
>     >
>     >
>     > [1] https://review.openstack.org/#/c/409920/
>     <https://review.openstack.org/#/c/409920/>
>     > [2] https://review.openstack.org/#/c/409921/
>     <https://review.openstack.org/#/c/409921/>
>     > [3] https://review.openstack.org/#/c/409921/
>     <https://review.openstack.org/#/c/409921/>
>     > [4]
>     >
>     http://specs.openstack.org/openstack/tripleo-specs/specs/ocata/gui-plan-import-export.html#problem-description
>     <http://specs.openstack.org/openstack/tripleo-specs/specs/ocata/gui-plan-import-export.html#problem-description>
>     > [5]
>     >
>     https://blueprints.launchpad.net/tripleo/+spec/enhance-plan-creation-with-plan-environment-json
>     <https://blueprints.launchpad.net/tripleo/+spec/enhance-plan-creation-with-plan-environment-json>
>     >
>     >
>     > -- Jirka
>
>     Sounds good to me! Thanks for sharing it.
>     --
>     Emilien Macchi
>
>     __________________________________________________________________________
>     OpenStack Development Mailing List (not for usage questions)
>     Unsubscribe:
>     OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
>     <http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe>
>     http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>     <http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev>
>
>
>
>
> -- 
> Regards,
> Ana Krivokapic
> Senior Software Engineer
> OpenStack team
> Red Hat Inc.
>
>
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20170202/e87bd8cd/attachment.html>


More information about the OpenStack-dev mailing list