added tab showing all servers assigned to a hypervisor

fixes bug #1199244

Change-Id: Iba7cd52eea261c6b391774c7f48e306577db9c39
Remove asserts for optional imports

Horizon's __init__.py has some code that explicitly allows it to
be imported by setup.py before Django is set up, by making import
failures just throw a warning instead of an exception. But that code
is defeated by a bunch of asserts that were added later, that just
make the error even more confusing.

I'm removing the asserts and replacing them with __all__.

Closes-bug: #1210253
Change-Id: I0fde7810a033fd7216da9a5460f5e4e323b4d6e9
Rename method get_hosts in admin/info/tables.py

There are 2 identical methods defined in admin/info/tables.py,
Rename get_hosts to get_zone_hosts and get_aggregate_hosts.

Change-Id: Ib3d115737400515c4b31178721609055a9658085
Closes-bug: #1262944
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
Allow snapshots of paused and suspended instances

Change-Id: Id483d13d8d329aee4a57d0a89e6368fab3b201ec
Closes-Bug: #1256821
Use HEAD on Container panel ajax update

Change-Id: I9d9e56951e6fe0b8b9cd5242be43c0abb9f9ec4c
Closes-bug: 1257238
Improve contributor documentation

Fix various errors in the contributor documentation:

- Factual mistakes (wrong file locations, etc)
- Formatting errors
- Typos

Change-Id: I4863ca10a532ac74491cfb19f8382e3d5287d2f3
Add a warning to @memoized when caching is impossible

The @memoized decorator cannot cache function calls that take unhashable
arguments. So far it just ignored them, and silently called the function
directly without any cache. This commit adds a warning in such case, so
that we can see where @memoized is not really doing anything.

I used Python's warning mechanism, because we can easily configure the
particular warning to become an exception or to be ignored entirely.

Change-Id: I4b581f504972ffac589fdb78bfb9fb194d2b4525
Plugin-based dashboard configuration

This is a proof of concept of how plugin-based configuration of
OpenStack dashboards could be realized. Additional plugins add
their configuration file in the opestack_dashboard/enabled/
directory (the exact location is up for discussion, we will
probably want a whole hierarchy of locations, with the possibility
of overriding settings).

An example file _50_tuskar.py is added to show how an additional
dashboard could plug into this system. If you have tuskar_ui installed,
this would add Tuskar to Horizon.

Change-Id: Iaa594deffbdb865116f6f62855c32c8633d2b208
Implements: blueprint plugin-architecture
Set can_set_mount_point default to False

Patch https://review.openstack.org/#/c/59229/ only changed the default
value in the local_settings.py example file. If the setting isn't defined,
it still defaults to True

Change-Id: Ia3525786e5eb9ec83b8057c1cb6158ab153adc59
Closes-Bug: #1255136
Limit coverage report to horizon modules

Reduce scope of coverage to horizon/* and openstack_dashboard/*
to get a more accurate % of coverage.
As a bonus, generated report folder size gets reduced ( >50%).

Change-Id: Id375e88ae478277b2af9191937c1b91f4b616250
Increase Horizon base unit test suite.

Add unittests for templatetags, decorators, filters and common utils.
Complement tests merged on commit #258e9b465314d33e669b77b52cec63b2c8aca370

Change-Id: I3f4486815a11c22d6bbcaa014b8e632b43d3be89
Fix VPNaaS success messages translation

Success messages for VPNaaS "Delete" options are translatable now.
Also this patch set adds descriptions to error messages.

Fixes bug 1252239

Change-Id: I6e15f7c594ff20dcfe7587a19540d11aaeb97e3b
Fix display of images in Rebuild Instance

The image list in Rebuild Instance is constructed from (id, name)
pairs. As the name is a string, the transform function is never called
unless image name is None. In that case it crashes the view.

This change:
  - Builds the image list with (id, image) so the correct thing
      is passed to the transform
  - Corrects the size/name attributes
  - Handles None display name (displays id instead)
  - Set the name of one of the public images in glance_data.py to
      None so errors like these are picked up in the future.

Change-Id: I0d1f8594cccc404c0dd6f254b70d23789817dd06
Closes-bug: #1258349
Removal of json2.js

    As long as Horizon does not support any browser lower than IE8,
json2.js library is no longer needed, browsers have a native
implementation of JSON.stringify and JSON.parse.
    Removing this script allow us to reduce the javascript footprint
of Horizon.
    jQuery $.parseJSON will replace all parsing of JSON in order to
standardize the use of this functionnality.

Change-Id: Ifaf027e2adc462ee7b3d9587b28583ade376ccfc
Corrected incorrect message when deleting port.

Updated the file /horizon/openstack_dashboard/dashboards/admin/
networks/ports/tables.py so it will give the correct error message
when trying to delete a port that is in use.This updated error
message will give the same information as when using the command-line.

Change-Id: I62c0fb1c5b9b073c0d083bddc45133d502b554be
Closes-Bug: #1251314
CSV Summary not working inside Admin panel.

When browsing Project usages from 'Admin->Projects->More->View Usages'
an AttributeError exception is thrown due to missing csv_render_class
attribute.
Also, project_id instead of tenant_id in BaseUsage  were expected, so
any request to /admin/projects/[id]/usage/ will always return the current
tenant from session.
This fix reuse logic from project/overview/ into this view.

Change-Id: I7d762569a7de176fdb8545a226e563afac34adae
Closes-Bug: #1255667
Hide key field in edit Flavor Extra Specs dialog

Nova allow user to add key/value to flavor, but its api is only
able to update value according to key.

Hide the key field in edit dialog, in order to avoid confusion.
User can delete and create new one when need to update "key".

Change-Id: Ibd13bfe8a3832d019d16a39b40f643b860e3c612
Closes-Bug: #1257882
Merge "Allow snapshots of paused and suspended instances"
Add a loadAngular function

    If something is added to the DOM with external tools, angular is not
aware of these changes (Ajax call, pure js DOM manipulation, etc...).
This patch add an utility function which will load angular on the given
element.
    There is also an example on modal, angular is now loaded when a
modal is shown.

Fixes bug #1258192

Change-Id: I3266b455d79d7d1856e4a622e927ed4af8e90b5e