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
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
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
Small SCSS fixes of overview charts

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

Change-Id: I5caac9fc1eea972e2a619054d753b37fead27922
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
sort Database Launch Instance Flavor list

Use the same sort_flavor_list utility method that Instances
Launch Instance uses.

Change-Id: Ibbe4cbca5f963b33c2d73049dba58142119fb06e
Closes-Bug: #1360014
Show validation errors in modal forms

Selector '.modal span.help-block' is the exact one for the
validation messages. It might have been used for some
other purpose previously, but now it breaks the things.

Change-Id: Ibb55f06533a21fc425a6bdac9b71b7e489223dd1
Closes-Bug: #1351298
sort Create Node Group Template's Flavor List

The Flavor dropdown menu should be sorted and make use of
the CREATE_INSTANCE_FLAVOR_SORT in local_settings.py.

Change-Id: I42b3a98a17ff188c9ea817c5a344d77076ecafc6
Closes-Bug: #1361871
Merge "sort Database Launch Instance Flavor list"
Merge "Enable changing volume type of a volume"
Merge "Validate cores and ram when booting instance"
Merge "Data Processing Adding support for Spark jobs"
Merge "Horizon changes for DVR"
Merge "Show validation errors in modal forms"
Improve help messages on modals

Some general guidelines:
1. Removed contractions
2. Changed "Info" to "Information"
3. Removed the "From here you can..." at the beginning of messages.
4. Explained concepts to users instead of just reiterating the modal
title. Thanks Jeff Calcaterra!

Co-Authored-By: Cindy Lu <clu@us.ibm.com>
Closes-Bug: #1329984

Change-Id: I35af81953cafcbafc28c31b3ce305e8c5e21fe84
Merge "Small SCSS fixes of overview charts"
Merge "Allow table actions to be displayed in a menu"
Merge "Improve help messages on modals"
Imported Translations from Transifex

Change-Id: I4b1734e7ed957f26dce8acdfa70de63016add275