Created a make_web_conf command.

The current wsgi does not support virtualenvs (in some distributions, the
dependencies may conflict with the distribution's python packages/dependencies
and would require a virtualenv even in production).
Also, making an apache web configuration is not always trivial especialy
with ssl.
This "make_web_conf" command creates a wsgi with automatic virtualenvironment
detection (if there is a virtualenvironment), and creates an apache
(normal or ssl) configuration

TODO(ygbo)::

    - add nginx support to generate nginx configuration files.
    - add gunicorn support.
    - add uwsgi support.

implements bp web-conf-generation-script

Change-Id: I6397ba01df88b540bbdca4bf21ba90be6843022a
Change trove instance table name

To be consistent with other panels in
the dashboard we are renaming the trove
panels to use the term 'Instances'
instead of 'Databases' to represent the
top level Trove instance.

Change-Id: I30d2cfb82eeb7bf806dcf89e6a204a61a310f3ea
Closes-Bug: #1336492
Allow form to stay modal after uploading file

Use HTML5 FormData browser API together with FileList API to make
possible AJAX file uploads (see http://tinyurl.com/kmznw2n on FormData
examples). Feature detection is the same as in jQuery Form Plugin (see
http://tinyurl.com/n6v5dsx). Browsers without FormData support (most
importantly, IE<10) do not support setting custom AJAX request
headers, so form with File Upload field will lose modality in them
anyway.

Change-Id: Id3b91a49a71c6de314c6a7cbee5357fe13679490
Closes-Bug: #1158501
Fixed TypeError in database launch error handle

openstack_dashboard.dashboards.project.databases.workflows.create_instance
in populate_flavor_choices

TypeError: 'NoneType' object is not iterable

If there's an exception in
openstack_dashboard/dashboards/project/databases/workflows/create_instance.py
SetInstanceDetailsAction.flavors, the follow-on method will have a
TypeError.

[code]
    @memoized.memoized_method
    def flavors(self, request):
        try:
            return api.trove.flavor_list(request)
        except Exception:
            LOG.exception("Exception while obtaining flavors list")
            self._flavors = []

    def populate_flavor_choices(self, request, context):
        flavor_list = [(f.id, "%s" % f.name) for f in self.flavors(request)]
        return sorted(flavor_list)
[code]

if self.flavors has an error, it will eventually return a None.

There's 2 options here:
A) return an empty list
B) redirect to another page

I have to believe that returning an empty list will be more confusing
than a redirect, so I'd like to handle this with exceptions.handle.

Change-Id: I9aff36875c26958ab8ef1f99828ed6113216c3c3
Closes-Bug: 1306815
membership widget styling

Needs to update membership widget style after Bootstrap upgrading.

Change-Id: I34b730ac0f943cb8e341b163c271065246b9b45f
Closes-bug: 1347067
Fixed cannot delete router port because of permission denied.

Removed the condition check in allowed function that is defined in the RemoveInterface class
which makes no sense because it is set in the delete function that runs after allowed function.

Change-Id: If0274b9dfcb9582a8e99735eb4e2f3e09b06f977
Closes-Bug: #1234447
Adds keypair create,delete integration tests

I have added test_keypair.py which tests create keypair and delete
keypair methods. And to allow this I have added keypairpage.py with
two methods to create and delete keypairs. I have added
accesssecuritypage.py which has_click_on_keypair_link method.

Partially implements blueprint: selenium-integration-testing

Change-Id: I9f8680fb51aa7dcf249e7487efa46240200a0ef2
Add missing inline edit save and cancel icon

Did some clean up and added the missing icons.

Change-Id: Ib857ad4cc8bef1b26353ad88743dab43b32b50e3
Closes-Bug: #1349605
Redirect to the current page after edited instance

When the instances is paginated in multiple pages, if we edit an
instance not in the first page, after successful editting the instance
it will redirect to the first page and not to current one.

Change-Id: Iacfade81de0e3f5c225e17ec3a34ce7712e4ad6d
Closes-bug: 1353870
Fix instance flavor popover table

The instance flavor popover table is not rendered.

Change-Id: I6710fa550a95659cbf5dbf8c6cf29691cfa161fe
Closes-bug: 1354230
Replace force_unicode with force_text

Django changed the name to force_unicode and it's only available in
python2 as an alias of force_text. The new name is available since
Django 1.4.2

Closes-Bug: #1345642
Change-Id: Ida8c545ceec7c31999f2497d540a0dc5a653d286
Remove extra loop in populate_network_choices

There is an extra loop in populate_network_choices in launch instance
workflow, this could be merged into one loop.

Change-Id: I03a988e95f23367ebc41fc13b7f08dfd2d9da9b7
Closes-bug: 1359026
Allowing to have static x-axes in line chart

Allowing to define static time span for the line chart.

Change-Id: If2fdb87917c46504de9a04f2cafbcd7713f197b9
Closes-Bug: #1243716
Ability to create data sources from job launch

Adding the ability to generate data sources from
within the job launch modal.
* Change to DynamicChoiceField for input and output
* Changed workflow for data source to properly set
  workflow.object

Change-Id: I7d3b7bbd94c50f5e70a7e70bdb6d4a86475e1a6e
Closes-Bug: #1346931
Make some new strings translator friendly

_usage_summary.html:
blocktrans contains non-simple HTML tags and the range
of blocktrans seems natural. This commit split blocktrans
into the start and end part of the period.

templates/images/properties/_edit.html:
The sensence and the value are concatenated in the code
and translators cannot control the word order.

Change-Id: I3021d67dcb20968b785a8a98ed639a128e3412f2
Closes-Bug: #1354125
Merge "Redirect to the current page after edited instance"
Merge "membership widget styling"
Merge "Replace force_unicode with force_text"
Fix policy check for LoadBalancer panels

Supply the missing project_id used for the policy target.

Change-Id: I2e53df473584b5b176704d89852817f994199986
Closes-Bug: #1324630
Merge "Add missing inline edit save and cancel icon"