Remove docutils pin

This was added to work around bug 1091333.  A new sphinx has been
released and so this is no longer necessary.

Change-Id: I6ea61a3cc441dd1ca2ced7e2fd837a55b917f76d
Fixup trove screens for Bootstrap 3 changes

Changed row-fluid
Selected new icons in a few places
Cleanup html for details pages
Added default button to resize dialog

Change-Id: I80fbccf77e6a27a51f84dd55cab7944f23d38d66
Closes-Bug: #1350514
Fix wrong redirect url after instance resizing

When the instances is paginated in multiple pages, the redirect
url for instance resizing best to be the current page.

Change-Id: Ifa7f9c5cd57430640af35b49f93c1cb1c6c5521d
Closes-bug: 1354969
Allow table actions to be displayed in a menu

This adds the ability for table actions to be placed into an
actions menu above the table in addition to the current
button only format. This ability is not implemented in any
existing horizon table but is mainly meant for those who
build on horizon with tables that might have many actions.

To use a table actions menu, add a list of table action
classes to the table Meta class using the table_actions_menu
attribute. For example, to display the Soft Reboot and
Terminate actions in a menu on the project instances table
add this attribute to the project instances table Meta class:

    table_actions_menu = (SoftRebootInstance, TerminateInstance,)

Implements: blueprint table-action-menus
Change-Id: I02cd52f06be3fa11dd5fe0b45c8cc1e3bff5efdb
User keystone policy to check if user password can be updated

Keystone have a policy for change password, we need to apply this to
horizon too.

policy:
  "identity:change_password": "rule:admin_or_owner"

Change-Id: Idd35646f9cbe4fadaa96bc85b243ed4f7823d9dd
Closes-bug: 1347354
Quota error message should be more descriptive

forms.ValidationError will be raised if there are invalid quota values.
The error message would be like: Quota value cannot be less than the
current usage value: ram used: 512, instances used: 1.

Change-Id: I6734de7df6c146d647bbc89090d49a48e1b074ae
Closes-bug: 1274234
Map quota keys to translatable strings

Change-Id: I1446efad26b140bad04f6c2bddc4f8f980735d72
Related-bug: 1274234
Change unit string translation in volume limit templates

This fixes an issue where the lazy translated "GB" unit string is
not properly resolved in the volume limit templates. This error
does not happen in a devstack environment but has been found to
happen in chef and puppet deployed OpenStack production
environments.

Closes-Bug: 1332238
Change-Id: Icc056ca508f430e981049ca00985d329c92a6ab4
Handle TypeError from table column summation code

This commit catches TypeError from horizon.tables.Column
summation calculation. This TypeError is caught inside Django
until Django 1.6, but Django 1.7 code is refined to catch
more specific case and it leads to horizon unit test failure.

Closes-Bug: #1355939
Change-Id: I9d5b4565f1238a9880ccf117f2ea623fed466a44
Validate cores and ram when booting instance

There is no validating for cores and ram in creating instance workflow.
The user can submit the form even the requested cores or ram are exceed
the quota.

Change-Id: I25d49f709d120a6a56692b174e17969cba1c8065
Closes-bug: 1349370
Data Processing Adding support for Spark jobs

This patch adds support for Spark EDP jobs in the
data processing dashboard.  The changes are:
* Add Spark as a job type when creating jobs
* Add some help text for Spark job creation
* Hide appropriate configuration fields when
  launching a Spark job
* Making job type dropdown translateable

Change-Id: I90c0de2cd61110db67673efaec5c9b4ef7f1618f
Implements: blueprint data-processing-spark-support
Domain Role assignment to Users

Added Domain User step in the Domain Update workflow for managing
domain-role assignment to User.
Change-Id: I629449c635319e3a4292a4e2be35c5d9fc8a7cf9
Implements: blueprint user-domain-role-assignment
Use string.ascii_letters to be python 3 compatible

Use string.ascii_letters instead of string.letter. The only consequence
is to loose the locale-specific behavior but it seems not to be a bad
thing for generating a secret key.

Change-Id: Id985d798042eaa7541692d137027233537ed3bb4
Closes-Bug: #1360861
Horizon changes for DVR

Feature completed :
1. Admin router panel
   + New "Distributed" column introduced.
   + New Field "Distributed" added on to
     router detail panel
2. Project router panel
   if logged in as "Admin"
   ======================
   + New distributed column introduced.
   + New Field distributed column added on to
     router detail panel.
   + New Router Field dropdown box introduced in
     create router form.
   if logged in as "nonAdmin"
   =========================
   + Router Type dropdown will be invisible for
     non admin.
   + Distributed information will be
     hidden from details panel.

implements: blueprint enhance-horizon-for-dvr

Co-Authored-By: Akihiro Motoki <motoki@da.jp.nec.com>

Change-Id: I995745dd72a8b750866c0977a7d7cf42036f716f
Allow to hide Y axis label

Allow to hide Y axis label and just show the lines.

Change-Id: Id79c9104104cf705e269aa97dc0748c0d976f46a
Closes-Bug: #1352269
Small SCSS fixes of overview charts

Seems like the last CSS changes broke our styles a bit.

Change-Id: I5caac9fc1eea972e2a619054d753b37fead27922
Barchart popup window position is broken

Barchart popup window position is broken with new styles,
need to compute it different way.
Also position while scaling was broken, fixing it too.

Closes-Bug: #1353918
Change-Id: I0151a0b93b8350e4ca3dbe429db66b6171b9d459
Navigation causes undefined error when clicked on twice

Using the jquery find function on a regular element causes this error. To
resolve this issue, we have to wrap it as a jquery element.

Change-Id: Ibe7dbbdb98c302ca55a30f5205464c469e7d719f
Closes-Bug: #1361315
Enable changing volume type of a volume

Expose the functionality of the 'cinder retype' command in the UI.
It allows user to change the volume type of a volume whose status is
in-use or available when horizon's cinder API version is >= 2.

cinder retype is only supported starting cinder v2.

If enabled_backends is specified in /etc/cinder/cinder.conf,
retype is actually performed by a specific driver.
It depends on the drivers (backends) that are associated
with volume types.
Volume types are set through type-key extra specs.

If enabled_backends in cinder.conf is not specified, volumes are
created by LVM so retype is actually performaned in LVM.

During retype, if cinder finds it can not retype, it will check
if the migration policy is on_demand or never. If the policy is
is never, then cinder does not do anything, otherwise, it will
perform migration. By default, in the horizon retype dialog UI,
migration policy is never which is also the default
of the cinder cli command.

Currently in horizon cinder api default version is 1. In order to
test this functionallity, you need to update
openstack_dashboard/local/local_settings.py to have the "volume"
API to use version 2 so the "Change Volume Type" action menu
shows up for the volume. If local_settings.py is not available, you
need to copy the local_settings.py.example file, change it to
local_settings.py, update other necessary settings and also update
have the API version setting like the followings:

OPENSTACK_API_VERSIONS = {
    #"data_processing": 1.1,
    #"identity": 3,
    "volume": 2
}

Implements: blueprint volume-retype

Change-Id: Id8bc539e1849f5910df34d7b76cc250ec82f9671
Fix handling of missing external network

When an external network can't be found, project/routers/index.html will
result in a type error caused by calling exceptions.handle when no
exception is present.  In this case, an error message should be
displayed, and the missing-network should be indicated to the user.

Also added tests for this case.

Change-Id: I3aaa64de28738051ad84cc587fbb6cfd546f4662
Closes-Bug: 1220345