Add DB2 support to horizon on redhat platform

Add a new attribute
default["openstack"]["dashboard"]["platform"]["db2_python_packages"],
and add DB2 Django adapter support

Change-Id: I2a504c711d6d08b85c9a92bfa6f04e179373a1ee
Update attributes to be rubocop compliant

- Add rubocop.yml in attributes/
- Add attributes rubocop test to Strainerfile
- Update attributes to comply with rubocop

Change-Id: Id4a4b3385aa2b412bec9f65ae1895d697682daf5
Addresses: blueprint rubocop-for-dashboard
Update recipes to be rubocop compliant

- Add rubocop.yml in recipes/
- Add recipes rubocop test to Strainerfile
- Update recipes to comply with rubocop

Change-Id: I2da0aa37596a628f56b908464b696b405fe6aa4e
Addresses: blueprint rubocop-for-dashboard
Grant group member to has write access on the secret key store path

The httpd subprocess is running by apache user who is under apache
group, we need save the secret key store file into a path which apache
user has write access.

Close-bug: #1267691

Change-Id: Ia7effc95d62404c2b2901273909d69871c2d6899
Merge "Grant group member to has write access on the secret key store path"
Support customize the dashboard http/https port

We need support to customize the OpenStack dashboard http and https
listen port to avoid these ports conflict with existing web application.

Change-Id: I9a3464487e0c8eb2eed397e847a9e4a6fedd43e0
upgrade local_settings.py.erb to havana.

Change login redirect url for dashboard to /admin.
upgrade local_settings.py.erb to havana.

Change-Id: I915feb334fb2015bc7007fc93e000413df1a17c4
Closes-Bug: #1267677
Merge "upgrade local_settings.py.erb to havana."
Update specs to be rubocop compliant

- Add rubocop.yml in spec/
- Add spec rubocop test to Strainerfile
- Update specs to comply with rubocop

Change-Id: If38186e6ea9104ef658184812e328368f8b86cea
Addresses: blueprint rubocop-for-dashboard
Merge "Update specs to be rubocop compliant"
Move to use "get_password" instead of "{user,service,db}_password"

The user_password, service_password and db_password functions are redundant
since they simply call "secret". Creates a get_password function that
will accept a "type" of db, service or user.

All instances of these calls have been changed to call get_password.

Change-Id: I376297b7b8995d5c706e27a4388d2352343861db
Partial-Bug: #1195915