Bug 1167563

Summary: [RFE][horizon]: Launch Instance Redesign
Product: Red Hat OpenStack Reporter: RHOS Integration <rhos-integ>
Component: python-django-horizonAssignee: Matthias Runge <mrunge>
Status: CLOSED ERRATA QA Contact: Ido Ovadia <iovadia>
Severity: high Docs Contact:
Priority: high    
Version: unspecifiedCC: aortega, athomas, dnavale, jschluet, markmc, mrunge, nbarcet, sclewis, yeylon
Target Milestone: betaKeywords: FutureFeature
Target Release: 8.0 (Liberty)   
Hardware: Unspecified   
OS: Unspecified   
URL: https://blueprints.launchpad.net/horizon/+spec/launch-instance-redesign
Whiteboard: upstream_milestone_kilo-3 upstream_definition_approved upstream_status_implemented
Fixed In Version: python-django-horizon-8.0.0-5.el7ost Doc Type: Enhancement
Doc Text:
The 'Launch Instance' workflow has been redesigned and re-implemented to be more responsive with this update. 1. To enable this update, add the following values in your /etc/openstack-dashboard/local_settings file: LAUNCH_INSTANCE_LEGACY_ENABLED = False LAUNCH_INSTANCE_NG_ENABLED = True 2. Restart 'httpd': # systemctl restart httpd
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-04-07 20:59:49 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1100542, 1226931    

Description RHOS Integration 2014-11-25 05:07:09 UTC
Cloned from launchpad blueprint https://blueprints.launchpad.net/horizon/+spec/launch-instance-redesign.

Description:

Summary
=======
This is a redesign of the launch instance form which will incorporate the UX collaboration done in the community before during and after the Kilo design summit.  It will be based on angular and will incorporate many aspects of the development previously done by Maxime Vidori and will be jointly developed by HP, eNovance, and Intel. It will also track the ongoing angular discussions and changes happening in Horizon.

Motivation
========
Launching an instance is often one of the first touch points that new users have with OpenStack. The current launch instance form has been received poorly by new users and causes OpenStack to be unapproachable.  We want to enable a more modern UI that is also more end-consumer friendly.

Description
=========
The launch instance workflow will include a modern layout, access to enhanced descriptions, and an improved help system.

The initial revision will only add a few incremental features over current functionality:
 * Add a network from within the launch wizard
 * Provide easy access to additional descriptive information about flavors, images, and volumes. In Juno, a metadata catalog was added to Glance which provides the ability for rich information to be looked up about the properties on things like flavors, images, and volumes.  For example, a flavor may have specific information about the virtual cpu topology it exposes or an image may set specific shutdown behavior.  This information, along with a description of it will be available to users by leveraging this catalog.

This was discussed in numerous sessions at the Kilo summit:

Links to discussions at summit:
UX discussion: https://etherpad.openstack.org/p/kilo-horizon-ux
Contributors meetup: https://etherpad.openstack.org/p/kilo-horizon-contributors-meetup

UX
===

The design has been done with the community and will be continued to be iterated on as necessary.

Wireframes, Mocks, Videos and UI Markup
---------------------------------------------------------
The user experience is being mocked up and collaborated at the below URL.  It is nearing completion:

http://invis.io/BE1KWILPQ

The iteration in the community has led to the following concepts being incorporated:

 * Be approachable to new users with information and help readily available
 * Ease of navigation between sections of information
 ** Support a layout that will allow deployers to add / remove steps in the future
 * Allow immediate launch as soon as the minimal possible information is set
 * Provide quick access to advanced settings for advanced users
 * Support adding networks as part of launch

Testing
======
Reviewers will be able to pull the patch from Gerritt. Initially, we may provide a private URL for them to access as it is developed.  Eventually, the current Launch Instance button will be wired to launch the new workflow.

Outside Dependencies
==================
Is this functionality already supported in other services? Yes.  If landed in Kilo, the wizard may be updated to also take advantage of the Glance elasticsearch capability being developed.

List the appropriate API calls and if they are extensions or base API functionality.  The below are all the existing APIs that are base functionality which will be used.

api.glance.image_list_detailed
api.glance.metadefs_namespace_get
api.glance.metadefs_namespace_list
api.cinder.volume_list
api.cinder.volume_snapshot_list
quotas.tenant_quota_usages
api.nova.availability_zone_list
api.nova.tenant_absolute_limits
api.nova.keypair_list
api.nova.keypair_create
api.network.security_group_list
api.neutron.network_list_for_tenant
api.neutron.network_create
api.neutron.subnet_create
api.nova.server_create

Requirements Update Required
========================
Angular 1.2.x
Jasmine 2.x
Others as determined by angular discussions happening in the community.

Doc Impact
=========
This should describe any changes to Horizon documentation that will be required. This could include:
  * settings file changes that will be required
  * changes to default behaviors
  * any deprecation or obsolescence notices

Only docs that have screenshots or discussion of the current workflow should be affected.

Specification URL (additional information):

http://invis.io/BE1KWILPQ

Comment 1 Ido Ovadia 2015-04-14 14:23:49 UTC
Can you please provide new link for the new design screens. This is not available now http://invis.io/BE1KWILPQ

Comment 2 Matthias Runge 2015-04-14 15:58:25 UTC
(In reply to Ido Ovadia from comment #1)
> Can you please provide new link for the new design screens. This is not
> available now http://invis.io/BE1KWILPQ

Unfortunately, I can't. It's now implemented in Horizon.

Comment 3 Matthias Runge 2015-04-15 12:14:26 UTC
New launch instance dialog is marked as experimental upstream and disabled by default.

Comment 4 Matthias Runge 2015-04-20 09:49:14 UTC
How to enable new launch instance wizard:

In /etc/openstack-dashboard/local_settings:
change LAUNCH_INSTANCE config options to:

# Toggle LAUNCH_INSTANCE_LEGACY_ENABLED and LAUNCH_INSTANCE_NG_ENABLED to
# determine the experience to enable.  Set them both to true to enable
# both.
LAUNCH_INSTANCE_LEGACY_ENABLED = False
LAUNCH_INSTANCE_NG_ENABLED = True

Comment 8 Matthias Runge 2015-07-09 17:46:41 UTC
This is still broken upstream in Liberty. 
- webroot patch is still not merged
- create a volume while launching an instance doesn't work

Comment 11 errata-xmlrpc 2016-04-07 20:59:49 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHEA-2016-0603.html