AttributeError at attaching a non-existent volume

When user tries to attach a non-existent volume, AttributeError
exception is thrown in get_data function, where the right behavior
is returning [].

This patch is based in the solution proposed by Matthew D. Wood.

Change-Id: Ib6c5f83845e0056865a8ace82d9e2f4351d4be3e
Closes-Bug: #1288419
Adding cluster_template and cluster panels for Sahara

The cluster_template and cluster panels give the ability
to define and launch a hadoop cluster (made from
nodegroup_templates).  They are in the same commit because
some of the functionality of cluster_templates requires
that the cluster panel also exist.
This code was originally from:
https://github.com/openstack/sahara-dashboard

Change-Id: I85534b0dd97ce5def5f3a447d68c6aa206964f0a
Partial-Implements: blueprint merge-sahara-dashboard
Co-Authored-By: Nikita Konovalov <nkonovalov@mirantis.com>
Co-Authored-By: Dmitry Mescheryakov <dmescheryakov@mirantis.com>
Tolerate service catalog and endpoint connection errors

This is a fix for the issues encountered when a service is not
configured or a service endpoint is not reachable. This fix
will add tolerance for these errors so that an error message is
displayed but the dashboard page will still load, not an error page.
This makes it easier for the user to recover by allowing them to
go to a different page, select a different region, or logout. This
makes sense in many cases such as when a region only contains an
image service endpoint, or when a single endpoint is not reachable
for whatever reason.

It also adds permissions to the panels that require compute or
image services so that the dashboard will not display them if
the service is not configured.

To test these changes you will need to set up your keystone service
catalog so that not all services are available in all regions, or
some of the service endpoints are not reachable.

Change-Id: Ie04699d1fb1d4db13a7f4dcf1bdfd23bf21aab80
Closes-Bug: 1323811
Closes-Bug: 1207636
Merge "Tolerate service catalog and endpoint connection errors"
Merge "Adding cluster_template and cluster panels for Sahara"
Merge "AttributeError at attaching a non-existent volume"
User signup/signin in newly designed jio-dashboard

Port to master the new user signup, change password, phone number, email
addressed in below blueprints in havana_jio_dashboard branch:
https://blueprints.launchpad.net/jio/+spec/user-registration
https://blueprints.launchpad.net/jio/+spec/change-password
https://blueprints.launchpad.net/jio/+spec/change-phone-number
https://blueprints.launchpad.net/jio/+spec/change-email

P.S.
* The change-* functionalities were implemented using customization modules
in havana_jio_dashboard w.r.t the below URL:
http://docs.openstack.org/developer/horizon/topics/customizing.html
Now, they are implemented as plugins w.r.t the below upstream blueprint
https://blueprints.launchpad.net/horizon/+spec/plugin-panel-config

* User registration feature related URLs loading is slightly modified to avoid
modifications to openstack_dashboard.urls.py file. Instead, a new file
horizon_jiocloud/root_urls.py is added. So, for those urls to work,
add below entry in local_settings.py file
ROOT_URLCONF='horizon_jiocloud.root_urls'

The intention is to avoid as much changes as possible to core files in master
so that rebasing with upstream master is less painful.

Implements: blueprint icehouse-based-jiodashboard
Implements: blueprint user-signup-signin-new-jio-dashboard
User signup/signin in newly designed jio-dashboard

Follow up to commit c43647fc1c5961e374c034a7392f3e592b335f0a
Addressed code review feedback:
* Removed debug statements in horizon_jiocloud/root_urls.py
* Removed swap file horizon_jiocloud/README.rst~
User signup/signin in newly designed jio-dashboard

Follow up to commit c43647fc1c5961e374c034a7392f3e592b335f0a
Port the fix for below bug to master
https://bugs.launchpad.net/jio/+bug/1324475

The code from havana_jio_dashboard is refactored
to be easily rebase-able with upstream master

Implements: blueprint user-signup-signin-new-jio-dashboard
Port to master the havana-based-jio-dashboard
Most of them are listed in the below blueprint
https://blueprints.launchpad.net/jio/+spec/dashboard-ui-t1

Below are the commits details:
=============================
Merged:
https://github.com/JioCloud/horizon/commit/832c005c2b9105073f0a6274ca51f0e6749cc99b
https://github.com/JioCloud/horizon/commit/95e467c71bb2bac3a3e29448c21efd26cce9ea5c
https://github.com/JioCloud/horizon/commit/2e95dbdd8a24bb477bc89be0b8ae901e99465961
https://github.com/JioCloud/horizon/commit/0f83f9663d1391de366f7c8ae928b1a661e7c607
https://github.com/JioCloud/horizon/commit/bdfe2e21fb08cf8547f17b673ee4fd0dbba7f6fb
https://github.com/JioCloud/horizon/commit/70d27217fca47385f57befb74d5c7f5a0b480ad0
https://github.com/JioCloud/horizon/commit/f6e1a5a3e93b763d7c718a5d0696aee6c7c44a6b
https://github.com/JioCloud/horizon/commit/14c8f7e358c00c5abc0fe43295fe055eea6b8f94
https://github.com/JioCloud/horizon/commit/a897db6c1ead7d6bced0b603b467bb6ee01ed970
https://github.com/JioCloud/horizon/commit/c704618af5537880a161abeeeb43a02f66d6863e
https://github.com/JioCloud/horizon/commit/9e3766a608da0ba2ca78bd9091308817311cd320
https://github.com/JioCloud/horizon/commit/2dcfecbda280e628d6f68eaad73d43d1b30a4e1b
https://github.com/JioCloud/horizon/commit/2bb0e02e3eabdaa03a9bd72d882a891aa680460f
https://github.com/JioCloud/horizon/commit/744cbb02cdcdd176019ffe841f9c30ce6726a70d
https://github.com/JioCloud/horizon/commit/3686848e7911ec03658419e6726e880f6a9ab9c5
https://github.com/JioCloud/horizon/commit/9b118a9134688ec0285b4b6da951174f20f228c2
https://github.com/JioCloud/horizon/commit/288cc916f1d8f0dc76312f5344aff18a1d898cc4

Ref:
http://code.tutsplus.com/tutorials/spotlight-jquery-replacetext--net-17905
http://benalman.com/projects/jquery-replacetext-plugin/
Below '*.po' file changes are refactored as jQuery changes...
since '*.po' files are rapidly changing in master...
and hence difficult to be rebased upon:
https://github.com/JioCloud/horizon/commit/deea5ab8c347fac6c095c1f031b6e917e1a2bc14
https://github.com/JioCloud/horizon/commit/54a776c9f49829fd303c64413909c295018f075b
https://github.com/JioCloud/horizon/commit/fdbe445a25cf367134102d7bfced9d894430f694
https://github.com/JioCloud/horizon/commit/81b6a0914fe6b58360dddd4ae42a57467c1b3cd6
https://github.com/JioCloud/horizon/commit/e62793d89ad3579067f5f9f4655b013b03edd244
https://github.com/JioCloud/horizon/commit/4570bfa9d6a3efbcaea2600eec3a6d191da576e0
https://github.com/JioCloud/horizon/commit/54a0c3d72cf39517c79b2682f892a78a57a2a1ef
https://github.com/JioCloud/horizon/commit/83decf334f1746c7e4253ba41bdf64f6de01933e
https://github.com/JioCloud/horizon/commit/a897db6c1ead7d6bced0b603b467bb6ee01ed970
https://github.com/JioCloud/horizon/commit/e324968daa902c46758c337ff088c3765be6ea54
https://github.com/JioCloud/horizon/commit/03d9c7fa5889b7d23193e37a1b75f7ef22712a3a
https://github.com/JioCloud/horizon/commit/6064b958bc9c8b3d8b53c326cc1bdb9ed6fb988c
https://github.com/JioCloud/horizon/commit/3008e3cc7194dfaa3ecd047f4a8ec2d9e4d5ae9c
https://github.com/JioCloud/horizon/commit/43c8e3373235453ad6968a66fb6e3bc965281154
https://github.com/JioCloud/horizon/commit/239c923698553ae8e051a299548cd99bb522f409
https://github.com/JioCloud/horizon/commit/13e42ff799f404ed443d8abbcae38ce0924d9ab9
https://github.com/JioCloud/horizon/commit/761cba3eb1e0ee36367e04631e5d2f4c1766e47a
https://github.com/JioCloud/horizon/commit/4b350c34f230fadb1a0798d7339371733c46b5a1

Already addressed in master:
https://github.com/JioCloud/horizon/commit/0ebcc671d94388db771c9d3cfd62b4e6f40d9160

Merged in commits for blueprint user-signup-signin-new-jio-dashboard:
https://github.com/JioCloud/horizon/commit/bc34cc28da92def5c725e4080088d439a0bfe479
https://github.com/JioCloud/horizon/commit/4077583f3581713807182a092d48bdbc9d0ec1ef
https://github.com/JioCloud/horizon/commit/f3fd57c71872d8f5a98fc6d2d1c5be21e685979c

Not needed:
https://github.com/JioCloud/horizon/commit/d85bd6c1b4e44705b35f786aa7d02ca6faacb5a1
https://github.com/JioCloud/horizon/commit/edb54e890146f04acec840e75f76a013928c3ea7
https://github.com/JioCloud/horizon/commit/cf00f0abc58f08bf5d1fd04c565cee6c24616d62
https://github.com/JioCloud/horizon/commit/8ab9bcf321dd7a10ca435b3e8bba4ba740cd6efb
https://github.com/JioCloud/horizon/commit/7f31adadace8896ce3f428f4e03b5d9ce0c19178
https://github.com/JioCloud/horizon/commit/87ccb93d4084bdf3eee4302b9754813c8fb38ddb
https://github.com/JioCloud/horizon/commit/c24b4c1d807ab4785dd01eef41e1aaabcf25434a
https://github.com/JioCloud/horizon/commit/c96b6509e3034a2542b17dc0306f983ce3ffd466
https://github.com/JioCloud/horizon/commit/1241df22de55ecb20fd3b984a5a4ac47d0b5f2a7
https://github.com/JioCloud/horizon/commit/e69dd848be92fef15c4150da79ca2c4a1361fa16

To be fixed in local_settings.py patches in 'packaging' branch:
https://github.com/JioCloud/horizon/commit/7c60c838960c5eb873ba3ff457696ded1d25a3d2

Implements: blueprint icehouse-based-jiodashboard
Port to master the havana-based-jio-dashboard

Most of them are listed in the below blueprint
https://blueprints.launchpad.net/jio/+spec/dashboard-ui-t1

Merged Naveen's commits with proper GIT commit message:
Blueprint - https://blueprints.launchpad.net/jio/+spec/dashboard-ui-t1
https://github.com/JioCloud/horizon/commit/1bf6850456666f18ea90007c555ef37eefcacf57
 + Item 8 - Select "Boot From Image" as default
https://github.com/JioCloud/horizon/commit/15d9c9f068dce1d05a9b8c5957eaa51b9e2c7479
 + Item 4 - Remove "Availability Zone" from the dashboard.
 + Item 17- Remove volume type selection drop-down while creating volume.
 + Item 9 - Remove Admin/Password from "Access & Security" tab while launching an instance.
https://github.com/JioCloud/horizon/commit/005a9792d9a6fa111a6440ab8dba6a5101a70fac
 + Item 7. Remove option for entering instance count from the UI.
 + 2nd file change not Required as...
   its already merged in commit for https://github.com/JioCloud/horizon/pull/2
https://github.com/JioCloud/horizon/commit/1234b1d6b4e73e0e85eca45bacb372d9b678fdf3
 + Item 11. Remove "Soft Reboot" and "Terminate Instance" buttons from the Instances view.
 + "("h4:first").hide()" corresponds to Item 22 - Remove "Manage Compute"
   Its not required as 'Manage Compute' no more exists in master branch's UI

Not Required as its already addressed above:
https://github.com/JioCloud/horizon/commit/f95e44e9dabbcd843f8710ae58ba3ea6a86824e3
https://github.com/JioCloud/horizon/commit/7a4864a13635ad334232f60205d33edd278c84b5

N.B.
* Instance count is a required field in UI. So, it can't be simply removed through jquery. So, its first set as 'required=False' and then removed during form init in '_init_instance_name' method and a default value is set in '_init_instance_count' method as its a mandatory field.
* RJIL settings are appended to local_settings.py.example based on the UI team discussion. Refer blueprint for more details

Implements: blueprint icehouse-based-jiodashboard