Add missing egress sec group for all tcp/udp/icmp

When creating "Security Group Egress ALL TCP/UDP/ICMP", the
direction is always Ingress, need to add egress in the situation.

Fixes bug #1254040

Change-Id: I1a2bdc07d7ca4ecc12ebdb35a1f357de0d09c502
Extend options for custom flavor sorting when launching instances

Until now, flavors were sorted by RAM, ascending, by default.
An option to override this and use a custom callable instead
was introduced via the CREATE_INSTANCE_FLAVOR_SORT dict in
local_settings.py.

This patch introduces another way of using the
CREATE_INSTANCE_FLAVOR_SORT dict: by providing a flavor attribute.

Change-Id: I5b2819cc3ebc97377e673682d0b2c7ddab94e3d3
Closes-Bug: #1254524
Fix behavior of select all checkbox

The "select all" checkbox in tables didn't work due to a missing CSS class.
Add the missing class so that the checkbox behaves as expected.

Change-Id: I5dcfdf9a7a60ea516c5343fabeb7a8f79b107fe7
Closes-Bug: #1259537
Object Upload validated on client side

    Perform a js validation of the Object Upload name. If the name is
not entered, the submit button will appears disabled.

Fixes bug #1125232
Change-Id: Id33f3999e9267f5fc58eb55406fc5b763597839b
Co-Authored-By: Cristian A Sanchez <cristian.a.sanchez@intel.com>
Use memoized_method decorator in views

A lot of horizon's views use the pattern:

    def get_data(self):
        if not hasattr(self, "_data"):
            # Calculate data here.
            self._data = data
        return self._data

This is copy-pasted all over the codebase. It's better to handle that
with a single decorator. In the future, we might even replace it with
some better caching approach.

Closes-bug: #1248230
Change-Id: Id021fccf9032e5068993ec91a7774a5d0fbf29bb
Clean up the hypervisor DataTable members columns

Refactored the class to use filters instead of passing functions.
As noted in the documentation on DataTable. Also corrected a side
effect where a template filter does not check the input value.

Change-Id: I0c4867673611228fbcffa71f65d2e9ed9a1f872e
Closes-Bug: #1203391
Updated from global requirements

Change-Id: I3127fad5b4caff2122b0a0f0d9ec3312f1eca7d5
Delete periods from select options

Make the UI more consistent by deleting periods which appear
intermittently at the end of some select options.

Closes-Bug: #1263823
Change-Id: I6f184b205788171fd4931f5a622353d943161123
Fix pie chart rendering

D3 pie charts were rendered incorectly in case of >100% usage.
Fix this by maxing out at 100%.

Change-Id: Id5fa1cd081711a65b51a6e8e14e30c802de0d3dd
Closes-Bug: #1263232
Replace xrange in for loop with range

xrange is not supported in python 3, so replace it with range.
It's not a large range size, so no need to use six.moves.range.

Change-Id: Ie62c3f1651d98f6b7d9a70fa1b485a9a04fd758f
Closes-Bug: #1264182
Merge "Updated from global requirements"
Merge "Replace xrange in for loop with range"
Removal of underscorejs library

    Underscore is poorly used into Horizon. All underscore functions
have been rewritten with jQuery utils, this will reduce the
fragmentation of Horizon code, and lower the javascript footprint.

Change-Id: Ica1469e115d9e135d5a3a0795b4b5e1809f4d6b4
Implements: blueprint delete-underscore
Visual improvement on Launch Instance workflow.

Consistency in styles of all the fields in workflow.

Change-Id: I894ab748ab33f7f9c61867af22e33029ef4daf57
Closes-Bug: #1253635
Merge "Removal of underscorejs library"
Merge "Fix behavior of select all checkbox"
Merge "Fix pie chart rendering"
Add init value None to port

In file openstack_dashboard/dashboards/project/instances/workflows/
create_instance.py, function handle(), add init value None to port
to avoid NameError.

Change-Id: I592207cc04efd7838c7b055d430393775ddfa313
Closes-Bug: #1264829
Merge "Use memoized_method decorator in views"
Merge "Extend options for custom flavor sorting when launching instances"