112 Commits

Author SHA1 Message Date
Akihiro Motoki
c83a38f18e Reorganize Admin dashboard menus
Admin dashboard shows too many panels now.
This commit introduces panel groups for Admin dashboard
as we do for Project dashboard.

The new order of admin panel groups are:
Compute, Volume, Network and System.

Note that the slug of "System" panel group is not changed
to avoid breaking horizon plugins which register panels to
Admin System panel group.

Implements blueprint reorganize-admin-dashboard
Change-Id: I533e60f7cbfab2539b9f8aa7044f7234165f2518
2017-03-13 04:53:20 +00:00
Rob Cresswell
1d4e171a24 Fix new volumes enabled files panel groups
The new volumes panels in Admin had incorrect panel groups, causing a
failure to load.

Change-Id: I274e69b27af1b028b4f191817e9c86d3cc77de26
2017-03-10 12:48:47 +00:00
Richard Jones
e0b6936178 Refactor Volumes from tabbed panel to stand-alone
This edit unfortunately contains more changes than the others
because it effectively merges a bunch of files under
admin/volumes/*.py

Change-Id: I52f3444a92fc83982a95760673419b4b4d746ad3
Implements: blueprint reorganise-volumes
2017-03-09 18:43:05 +00:00
Richard Jones
a22bba4af9 Move Volume Types out of tabbed panel
Change-Id: Ie8ddc78a6638e02b673582b081a67f05ec0a2a0a
Implements: blueprint reorganise-volumes
2017-03-09 14:30:56 +11:00
Richard Jones
e89c377599 Move Admin Volume Snapshots out of tabbed panel
Change-Id: I8c569a0d0fa5e990524012cacee50f9a249aa5e1
Implements: blueprint reorganise-volumes
2017-03-09 13:47:31 +11:00
Richard Jones
46ad19dbf0 Refactor Project Volumes stand-alone panel
Note that there was state leaking from one of the existing
tests that was relied upon in other tests and moving that test
in the run order caused the others to fail. All related tests
have been altered to not leak state.

Change-Id: I972bc5650fa77044de8a027f570cf2cb41febef8
Implements: blueprint reorganise-volumes
2017-03-06 15:50:09 +11:00
Richard Jones
0b340eccc0 Move Consistency Group Snapshots out of Volumes panel
Change-Id: I2c02ff63c4e98040b3e46ded5331e706033dc746
Implements: blueprint reorganise-volumes
2017-03-06 15:50:02 +11:00
Richard Jones
f85e0ffa91 Move Consistency Groups out of Volumes panel
Notes on enabling consistency groups in devstack:
http://docs.openstack.org/admin-guide/blockstorage-consistency-groups.html

You'll also need to modify the local cinder policy file.

Though that's not actually enough to make it work since
devstack only provides the LVM volume type and CGs don't
work with LVM. You can attempt to create CGs, but they
will error.

Change-Id: I0ab541c81570cd5f67bb7d04c01bc92bc5cc3ab5
Implements: blueprint reorganise-volumes
2017-03-06 15:49:53 +11:00
Richard Jones
921f84a7ce Move Volume Backups out of tabbed panel
Notes on enabling backup:
https://github.com/coolsvap/devstack-cinder-backup

Change-Id: Ie6bcfad30d04ee35c75d693f5637197297ca84ef
Implements: blueprint reorganise-volumes
2017-03-06 15:49:45 +11:00
Jenkins
e3e5eeefc4 Merge "Move Volume snapshots out of tabbed panel" 2017-03-02 13:44:44 +00:00
Jenkins
72b2752735 Merge "Revert "Add Angular Project Volumes Panel"" 2017-03-02 13:06:24 +00:00
Richard Jones
97589ec0fb Move Volume snapshots out of tabbed panel
In doing this I found that the permission check on the
project Volume Snapshots table was incorrectly defined,
resulting in always-denied. Removing a level of nesting
in the permission structure fixed it.

Change-Id: I1bc5bd4820700d29861ec1dcd6c87a41b5230266
Implements: blueprint reorganise-volumes
2017-02-28 14:05:26 +11:00
adrian-turjak
65e26e9bc0 Move API Access panel to default panel group
Change-Id: I249524a58b15492f2824382a63c7cc978e52cc7a
Implements: blueprint reorganise-access-and-security
2017-02-08 13:58:29 +13:00
Rob Cresswell
e2698063e2 Move Security Groups into its own panel
This patch moves the Security Groups tab from the Access and Security
panel into its own panel under the Network panel group. As this is the
last tab in Access and Security, that panel is also removed by this
patch.

Change-Id: Id29c7ce635d46383742aec140def265d4b249aa5
Implements: blueprint reorganise-access-and-security
2017-02-02 13:19:21 +11:00
Rob Cresswell
99849ad88f Move Floating IPs from Access & Security to panel
This patch makes the Floating IPs tab in Access & Security its own panel
under Project > Network

Change-Id: Ibb83ae5a0448d2824c10f867e620cec8219b7b72
Implements: blueprint reorganise-access-and-security
2017-02-01 18:57:44 +00:00
Richard Jones
f6b1300bf4 Revert "Add Angular Project Volumes Panel"
This panel was added in the old style (whole new "ng" panel with its own
enabled file), and since there's no additional code added to it since
then, we should be safe in removing this stub and starting afresh using
our current style (extending the existing panel with ANGULAR_FEATURES setting).

This reverts commit 3b5d9764fe0a93498993124379ea9e95fa58430b.

Change-Id: Ic8c4bffb44126c69fecd56cce6adfb16d30b4e85
2017-01-31 14:12:34 +11:00
Rob Cresswell
6b2b22631b Make API Access a panel under compute
This patch moves the API Access view, from a tab on the Access
& Security panel to its own panel under the Compute panel group

Change-Id: I1e523ba2e7e959474c0fc77f8b6c42994a481081
Implements: blueprint reorganise-access-and-security
2017-01-31 01:01:29 +00:00
Rob Cresswell
1a58a1fd60 Make Key Pairs tab a panel under Compute
As part of the breaking up of Access and Security, move the Key Pairs
tab to a new panel under Compute. Separate patches will address Floating
IPs, Security Groups, and API Access.

Fixes include:
- Should be significantly faster to access Key Pairs, as we are no
longer running multiple API calls for the other Access & Security tabs
at the same time. Hooray for speed!
- Should be easier for new users to find where Key Pairs are located.
- Reduce reuse of identical translatable strings
- Use common templates instead of duplication
- Updated policy rules and added missing rules to table get_data
- Small cleanup of the Key Pair download page, which was previously
using modal classes despite not being a modal.

Change-Id: I66f1f65a2cb49bd10e0364b12efba4346f373ed3
Implements: blueprint reorganise-access-and-security
2017-01-30 12:52:12 +00:00
Jenkins
a340ca2402 Merge "Removing deprecated Swift UI code" 2016-11-24 07:55:17 +00:00
Jenkins
bbf6a5df56 Merge "Removing deprecate ceilometer code" 2016-11-22 18:41:31 +00:00
Jenkins
de9d8fd56e Merge "Update Angular Users Table use registry" 2016-11-18 20:07:24 +00:00
David Lyle
20ea82b9ef Removing deprecate ceilometer code
The ceilometer code has been deprecated and disabled for
several cycles. Now removing the code.

Change-Id: I1dcfb8aae6ce6898cb46f6312731a92a01ae0b67
2016-11-17 16:52:13 -07:00
David Lyle
9f75312b07 Removing deprecated Swift UI code
The move to the angularJS based UI for swift as the default occurred
two releases ago in Mitaka. This patch removes the dead code.

Change-Id: I0322808aeacab5406c0dd3f4b19bed50bc0ff089
2016-11-17 16:00:00 -07:00
jing.liuqing
1ee056fa7e Update Angular Users Table use registry
This patch updates an angular users table.

To be added in subsequent patches:
 - Detail Table
 - Actions
 - filterFacets
 - Integration to Searchlight

To Test
 - change 'users_panel' to True in settings.py

Change-Id: I3c4cb39d80adc9aa207e56dc72a936f567f5b4d1
Partially-Implements: blueprint ng-users
2016-11-11 15:54:48 -08:00
Akihiro Motoki
7e64a1cef1 Drop LBaaS v1 dashboard
LBaaS v1 feature was removed from neutron-lbaas in Newton.
There is no reason we have LBaaS v1 dashboard in Ocata or later.

Change-Id: Ic7d4ceea1943c3721500ce4b7f769b9dba28a359
Closes-Bug: #1624655
2016-10-18 08:57:26 +09:00
Matt Borland
e8e84c2db4 Flavors panel can switch to Angular
This patch enables all of the features for the Flavors panel to use Angular but
disables it, so that it is easy to switch on/off.

Note that we add integration test switches since it can't read the Django
conf.

Note that I changed the common tests to allow for testing of api calls that
don't produce error toasts, because we needed better branch coverage, and
the deleteFlavor api wasn't fully branch-tested.

Change-Id: I92b1b57bd486e5eb87179cb8d44b7551e9de2e0f
Partially-Implements: blueprint ng-flavors
2016-10-11 15:49:55 -07:00
Rob Cresswell
fbbe16f76d Move Developer enabled/ files to contrib
This patch moves the developer panel enabled files to contrib, to stop
any strange behaviour when interacting with settings from enabled files
and prevent warning logs when DEBUG is False.

Change-Id: If7a2d023afe418b6dd90edf8a4a1d3bc9646c7ad
2016-09-23 10:59:20 +00:00
LIU Yulong
5c238e9117 Add floating IP panel to admin dashboard
Now system administrators have CRUD abilities to manage floating IP.
1.floating IP list table
2.allocate floating IP to specific tenant
3.release/delete floating IP

Partially implements blueprint: manage-ips
Partially implements blueprint: syspanel-floating-ip-list

Change-Id: Ie5ec59740887d3845b933b37e6e875dbf08a4918
2016-08-19 12:15:55 +08:00
Matt Borland
20bc6e1516 Make 'switch' between legacy and Angular Images
This patch follows on the example that the Containers set, providing
a 'switch' in the panel-enablement file that currently defaults to
'legacy' (Python-based Images panel) and allows for 'angular' (Angular-
based Images panel).

To be clear, this does NOT enable Angular Images.  It's just setting the
stage to do so at some point, or to allow deployers/devs to easily switch
between the two.

A switch both for HORIZON_CONFIG and for integration tests is necessary
due to the way integration tests operate.

Co-Authored-By: Timur Sufiev <tsufiev@mirantis.com>
Change-Id: I12cd33552218ed1082d2d9a2ae8982639a217a6a
Partially-Implements: blueprint angularize-images-table
2016-08-05 08:17:21 -06:00
Tyr Johanson
b507db7439 Developer Registry Resource Browser
Developer dashboard panel which shows:
- resource types currently in the resource registry browser
- the details that are set for each resource type
- links to generic table views (if available)
- available actions (with WIP mechanism to exercise the action)

To test:
- Open Developer -> Resources
- notice how Images item is green
- exercise some of the global actions (create image)
- enter an image id to exercise the item actions
- batch actions not currently testable
- click the images "Generic Table View" link

Partially-Implements: blueprint angular-registry
Change-Id: Ib931fac9917a50c268b2e63ff7a0de42052c62c8
2016-07-26 16:42:37 -06:00
Hiroyuki Eguchi
3b5d9764fe Add Angular Project Volumes Panel
This patch creates a blank Volumes panel in the project dashboard.

It follows the pattern established by the following merged commits:
https://review.openstack.org/#/c/200324/

To be added in subsequent patches:
 - Actions
 - Tables
 - Filters via Magic Search
 - Integration to Searchlight

To test:
It doesn't work with only this one.
You can test volumes panel and table with this patch.
https://review.openstack.org/#/c/319051/

Partially-Implements: blueprint angularize-volumes-table
Change-Id: I17fdf46162187cd127d645370673fe3a3fe39db4
2016-06-16 01:11:16 +00:00
Matt Borland
11968c840c Generic details display framework
This patch provides the ability for the registered detail views for
any resource type to be generically presented.

This patch does the following:
 * Adds a directive that displays a set of views (i.e. details sub-views)
 * Adds a Generic Detail display for routed pages
 * Adds the concept of a Descriptor which contains a resource type name
   and an identifier.  The identifier can be something as simple as
   a string, but may also be an object (if the resource type needs more
   than one value to look up its data, e.g. Pool Members)
 * Adds the ability for a resource type to have knowledge about how one
   of its items may be loaded, so any detail page can fetch the information
   given a basic context
 * Adds a generic Angular page (since they all just route to ng-views).
   We will see this used in subsequent patches as well.
 * Sets up a Django route to a non-navigational panel for the Details

Change-Id: Ie116b52ba196f9240fdc6bbc4a12d37beb9b9fcf
Partially-Implements: blueprint angular-registry
2016-05-16 11:39:57 -06:00
Tatiana Ovchinnikova
94fd2485f9 Heat Template Versions panel
This patch set adds a separate panel for Heat template versions and
template functions.

Depends on: Id9718bb5d1c2b70664a9c27c67e91436e5489dd6
Partially implements blueprint: heat-template-versions

Change-Id: I44bfd72a7d4147d48ffa999c93de0e41e591d5c1
2016-05-05 06:45:46 +00:00
Richard Jones
93f2fc7509 Make ngcontainers the default Swift UI
Replace the old Swift UI with the new AngularJS implementation
by default.

Use setting in the enabled file to switch routing between the
two, allowing HEAT interface to seamlessly work with both.

Updated the release note with the new configuration information.

Removed the unnecessary additional "ngcontainers" panel.

Hard-coded the test suite to use the legacy panel - since they
are all testing the legacy panel and those tests will be removed
(or altered in the case of the stacks MappingTests) when
the legacy panel is removed.

Finally, I had to add a copyright notice to the enabled file
because flake8 noticed because I touched it or something. Very
random.

Change-Id: Ie4325185f57654522f9331d617f142687effb70b
Partially-Implements: blueprint angularize-swift
Co-Author: Travis Tripp <travis.tripp@hpe.com>
Co-Authored-By: Matt Borland <matt.borland@hpe.com>
2016-03-17 11:40:49 -07:00
Richard Jones
4c39136997 Add ngSwift containers and objects display
This patch adds listing of containers and objects in selected
containers, but not additional functionality. That additional
functionality will be added in subsequent patches.

To test set DISABLED = False in _1921_project_ng_containers_panel.py

Change-Id: I37980a7b84dbddb99d8f1d4d8235cc11917da30e
Co-Author: Neill Cox <neill@ingenious.com.au>
Partially-Implements: blueprint angularize-swift
2016-03-07 22:05:16 +11:00
Rob Cresswell
be9023d86e Fix theming in angular launch instance
This patch makes the new angular Launch Instance workflow mostly
themeable. Most of the existing CSS has been deleted, and this now
follows bootstraps markup. This is not intended to solve all edge cases
given the size of the work, but is a big step in the right direction.

Changes:
- Use stacked nav tabs for navigation. Move base nav tabs toward
  bootstrap default. Style primary side nav as before.
- Use bootstraps form markup for modal
- Use bootstraps form markup for form fields and their errors
- Make pie charts and tables inherit any missing theme variables. A more
  thorough pass will be done on this next release cycle.

Closes-Bug: 1538491
Change-Id: Ic20b7f4341a2853ca334824c6a811125b04e88cc
2016-03-02 20:08:49 -07:00
Jenkins
8d47fbb88f Merge "Add ngSwift Django Interface" 2016-03-02 08:49:36 +00:00
Rob Cresswell
b69ff722c1 Match python/ angular table styles
This patch unifies the Python and Angular table styles (there is no
reason for them to look drastically different).

- Clean up table header in _data_table.html
- Remove page_header styling for default theme, as it causes the angular
  panels to shift downwards on the page
- Removed styling workarounds from default themes
- Removed several chunks of angular specific scss code, including the
  'modern' class
- Removed the "Actions" header in python tables, to match Angular
- Removed duplicate 'no items to display' info in footer, when table is
  empty.
- Also fixes the Containers header, which was different to all the
  others

Closes-Bug: 1517081
Co-Authored-By: Diana Whitten <hurgleburgler@gmail.com>
Change-Id: Id71aab6e8bbbcd1f7fa4d5575156e4d3c6aa990d
2016-03-01 10:36:16 +00:00
Richard Jones
1097f3ca53 Add ngSwift Django Interface
This patch adds the scaffolding for the new angular Swift
interface, but none of the static files for that interface.

The body of the interface will be added in a follow-on
patch.

To test set DISABLED = False in _1921_project_ng_containers_panel.py

Co-Author: Neill Cox <neill@ingenious.com.au>
Change-Id: Icc11167f82554dee31edc465a14be8ebbe435403
2016-02-28 09:15:28 +11:00
Diana Whitten
c9de52d6bb Dynamic Themes
Horizon themes are now configurable at a user level, through the use
of cookies. The themes that can be set are configurable at a
deployment level through settings.py. Horizon can be configured to
run with multiple themes, and allow users to choose which themes
they wish to run.

Django Compressor:
In order to support dynamic themes, each theme configuration must
be pre-compiled through the Django compressor. By making use of its
built in COMPRESS_OFFLINE_CONTEXT, we now return a generator to
create each of the theme's necessary offline contexts.

Templates:
Horizon themes allowed template overrides via their 'templates'
subfolder.  In order to maintain this parity, a custom theme template
loader was created.  It is run before the other loads, and simply
looks for a Django template in the current theme (cookie driven)
before diverting to the previous template loaders.

Static Files:
Horizon themes allowed static overrides of the images in
'dashboard/img' folder.  A template tag, 'themable_asset' was created
to maintain this parity. Any asset that is wished to be made themable,
given that it is located in Horizon's 'static/dashboard' folder, can
now be made ot be themable.  By making this a template tag, this
gives the developers more granular control over what branders can
customize.

Angular and Plugins:
By far, the trickiest part of this task, Angular and Plugins are
dynamic in the files that they 'discover'.  SCSS is not flexible in
this manner at ALL.  SCSS disallows the importation of a variable
name.  To get around this, themes.scss was created as a Django
template.  This template is the top level import file for all styles
within Horizon, and therefore, allows ALL the scss files to share a
common namespace and thus, can use shared variables as well as extend
shared styles.

Other:
This change is fundamental, in that it changes the method by which
Horizon ingests its SCSS files.  Many problems existing in the
previous implementation, in an effort to make Horizon flexible, its
SCSS was made very inflexible.  This patch corrects those problems.

Change-Id: Ic48b4b5c1d1a41f1e01a8d52784c9d38d192c8f1
Implements: blueprint horizon-dynamic-theme
Closes-Bug: #1480427
2016-02-25 09:49:43 -08:00
lin-hua-cheng
fbf10e9dad Add basic CRUD for federation mapping
Change-Id: Ie3991efda6d2437821f67e3c87e111886578e830
Partially-Implements: blueprint keystone-federation-mapping
2016-02-04 00:10:46 +00:00
lin-hua-cheng
6ecc3d2973 Add support for identity provider management
Display the identity provider panel when the setting
OPENSTACK_KEYSTONE_FEDERATION_MANAGEMENT is set to True.

Change-Id: Iadf92eb7542013f9c212eccfa372c6335a319841
Implements: blueprint keystone-federation-idp
2016-01-21 18:40:13 -08:00
David Lyle
9a58663fae Excise Trove from Horizon
With the merging of https://review.openstack.org/256605/
https://git.openstack.org/openstack/trove-dashboard exists and
contains the content previously integrated in the Horizon
repository.

Change-Id: Ic742f054f629a6fa078cf1e6eb137f5f8da7089d
2015-12-22 02:01:07 -07:00
Rob Cresswell
b285358a96 Add Developer Dashboard + Bootstrap Theme Preview
Themers need an easy way to see how customizations in
the new themeing mechanism will affect known bootstrap
elements.

While DEBUG is True, the developer dashboard will be present in the
Horizon nav sidebar. This currently displays the Bootstrap Theme Preview
page, and will also be used for Angular widget demos etc in the future.

Documentation on SCSS and the preview page are being provided in a
separate patch to coordinate with the theming work
(https://bugs.launchpad.net/horizon/+bug/1514869)

Note: The SECRET_KEY block in settings.py is moved before the enabled
files setup, so that importing settings in the enabled file doesn't
cause errors.

Co-Authored-By: Diana Whitten <hurgleburgler@gmail.com>

Implements: blueprint bootstrap-theme-preview
Change-Id: I44bc52d4dcfbbdc60a27879e638d78c4b508b2e9
2015-12-06 12:04:11 +00:00
David Lyle
4fbe4af80e Excising Sahara from Horizon
The content is proposed to the openstack/sahara-dashboard repo.

Change-Id: Ie76b09b9bdbdb975c1cd39658f02bcf95b98b961
2015-12-03 22:52:23 +03:00
lin-hua-cheng
c68b2bb090 Fix config ordering for identity plugin file
The comment for DASHBOARD and GROUP config got switched.

Change-Id: Ia5f2db2f2d91a7109b6b665ef272e5bd6c9962ca
2015-11-12 11:38:41 -08:00
Rajat Vig
65c4895c36 Add angular flavors panel
Adding a new panel to the admin dashboard that will use angular js
instead of the django templates

To test set DISABLED = False in _2081_admin_flavors_panel.py

Co-Authored-By: Rajat Vig<rajatv@thoughtworks.com>
Co-Authored-By: Errol Pais<epais@thoughtworks.com>
Co-Authored-By: Kristine Brown<kbrown@thoughtworks.com>

Change-Id: I9394ddfe3791aeb7a52194f37e1e668e33c0325b
Partially-Implements: blueprint ng-flavors
2015-10-21 13:22:50 -07:00
Rajat Vig
a894ce9350 Create a Angular Modules for Admin Dashboard
This enables admin angular plugins to be developed. It will be needed
for 3rd party integrators to create out of tree angular panel plugins.
It also is needed for in tree plugins like admin images, system
information, defaults, and flavors panel. Without this patch, all of
these panels require a common parent dependency.

Change-Id: I5a8232a1f1f3075f65ee742df84223aed7af3d92
Partially-Implements: blueprint ng-defaults-panel
Partially implements: blueprint angularize-images-table
Partially implements: blueprint plugin-sanity
2015-09-29 09:41:36 -07:00
Jenkins
6371054b46 Merge "Remove unnecessary brackets from enabled files" 2015-09-22 10:38:33 +00:00
Jenkins
e8f84ef157 Merge "Initial support for database clustering in Horizon" 2015-09-22 06:06:26 +00:00