Add Angular admin ironic panel

Registered by Shaoquan Chen

Summary
=======
Adding angular-bases admin ironic panel for management of ironic nodes.

Motivation
========
Current horizon allows an admin to see that nodes are managed by Ironic, and determine which instance is running on each. This is probably enough when there are no errors, but troubleshooting and maintenance will be much easier if the UI overview includes:

* current power state - is a node on...or off?
* current provisioning state - where in the process is this node?
* if node in maintenance - is it available for provisioning right now?

The admin experience is better still if each node can be expanded to reveal details about each node such as what drivers are associated with a node, why it is in maintenance, when was the last error, etc.

Description
=========
With admin ironic panel, an admin can see
* index page: a table listing all the ironic nodes in the region.
* details page: showing detailed information about a nodes.

Admin user can do regular maintenance actions through action menu list:
* power on/off selected nodes.
* move into/out of maintenance selected nodes.

The work will include tasks:

* Enable ironic panel by using Horizon's plugin mechanism.
* Implement APIs accessing Ironic end point at three layers:
  - Client side ironic API service
  - Server side RESTful API for Ajax request
  - Server side API to access ironic's REATful API via Python ironic client
* Implement Index page
* Implement Details page

UX
==
UI design mockup at inVision:

* Index page
https://openstack.invisionapp.com/d/main#/console/4821968/104157237/preview

* Details page
https://openstack.invisionapp.com/d/main#/console/4821968/104157315/preview
https://openstack.invisionapp.com/d/main#/console/4821968/104157329/preview

Blueprint information

Status:
Complete
Approver:
None
Priority:
Not
Drafter:
Shaoquan Chen
Direction:
Needs approval
Assignee:
Shaoquan Chen
Definition:
Obsolete
Series goal:
None
Implementation:
Started
Milestone target:
None
Started by
Shaoquan Chen
Completed by
David Lyle

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:bp/ng-admin-ironic-panel,n,z

Addressed by: https://review.openstack.org/235594
    Creating admin ironic panel

Addressed by: https://review.openstack.org/235607
    Creating Ironic APIs

Addressed by: https://review.openstack.org/235700
    Adding ironic index page

[robcresswell 2015-10-16]
Isn't this a conflict with https://blueprints.launchpad.net/horizon/+spec/ironic-horizon-panel? We should really be working on one panel, not competing.

[david-lyle | 2015-Oct-20] I think this content should be in a plugin, not the horizon tree. I'm excited for the support, but I don't think including this in the horizon tree is best for long term support.

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.