Post deployment information for environment

Registered by Steve McLellan on 2014-06-24

After deploying one or more solutions it'd be really helpful to display some usage information for users. This is something that's been asked for by our product team to make it clearer to users what to do next. This would take the form of a link from the environment page (that would show post-deploy information for all components) and from a component page (showing information specific to a component).

Using Wordpress as the ever-present example, this information might be:
* A link to documentation
* Deployment-specific instructions - e.g. "Go to http://<floating ip>/wordpress. Your username is <username> and your password is <password>"

Static content can be attached to packages (and stored after a deployment finishes to cope with the case of a package being deleted), and should be fairly minimal (use links where possible).

Dynamic content could be provided as a template, and consume properties of the Application. For instance, when the Wordpress application finishes deployment, a set of unstructured information is parsed from it (maybe these are attributes marked as outputs, or maybe there's a function "getOutputs" that functions similarly to Heat's outputs). The properties become context to the text template.

Blueprint information

Status:
Not started
Approver:
Ruslan Kamaldinov
Priority:
Undefined
Drafter:
Steve McLellan
Direction:
Needs approval
Assignee:
None
Definition:
New
Series goal:
Accepted for future
Implementation:
Unknown
Milestone target:
milestone icon ongoing

Related branches

Sprints

Whiteboard

I'm not sure I've correctly understood "Static content can be attached to packages" - packages are immutable by design.

I think that what is needed is to extend capabilities of UI forms to show some information on deployed components. That info may include data obtained from Object Model outputs and contain some static help text

- Steve - By 'static content' i mean information that isn't dependent on parameters ("Go to http://somewhere for documentation"). I see something linked from each environment that displays both that kind of text and information that is determined at deploy time.

In terms of workflow:
* The Environments details page gets a tab "What Now". Preferably, when deployment is done, this is the default tab
* Each component has a "What Now" tab; again, I think it'd be a better user experience if this was the default (especially after deployment)
* In both cases, they display the same information, although the Environment displays the information for each component within it (it can render the component templates in turn)
* Each component displays information that is specified in the package manifest as a text field, and which is recorded for each deployment (because we can't guarantee the package will still be there when the user comes to look at the information). Information can be:
   * static - "Thanks for installing ThisAwesomeThing! Please visit http://somewhere for documentation." Limited HTML tags are allowed (if Django supports this, otherwise maybe define very limited support, perhaps just looking for links)
    * dynamic - "Your instance is running at IP address <<ip_address>>. You can log onto it with username '<<username>>' and password '<<password>>'"
* Post deployment, the << variables >> are turned into substitutions and replaced with context data (I'm intentionally not using Django syntax). The values themselves come from the Application; as a suggestion, an Application defines a function getOutputs that can return whatever information it wants (and for Heat, this might just be the template outputs). The values are stored with the 'what now' information, and don't necessarly need to be rendered by Django.

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.