Commit Graph

161 Commits

Author SHA1 Message Date
Ghanshyam Mann 6bbf6af4b5 Cleanup the retired repo
This repo is not properly retired. Retired repos can only have two files:
- README.rst
- gitreview

To cleanup the retirement of this repo, keeping these two files only and
removing the other remaining files if there is any.

Change-Id: Idd64fb4b6b6cca6c86106fbaea84d370a93c2fa1
Detail: https://etherpad.opendev.org/p/tc-retirement-cleanup
2020-08-05 19:37:32 -05:00
Julia Kreger 04e7da6f47 Retire ironic-webclient repository contents
Per the annoucement[0], the ironic-webclient is being
retired from future development. Please see README for
instructions on obtaining the state of the repository
prior to retirement.

[0]: http://lists.openstack.org/pipermail/openstack-dev/2016-December/109195.html

Change-Id: Ie5f1cc69830fcaacc3db05d6e77a775c9634f6db
2016-12-21 19:32:01 +00:00
Gerard Braad c938dc9817 Add install instructions to README
Describe the different options for hosting the web application.

Change-Id: I6c4fc46761d578271317bcbd7be7250d24f26567
2016-06-28 06:43:27 +00:00
Jenkins f4dc1e52ab Merge "Set IP and port using environment variables" 2016-06-23 14:03:49 +00:00
Gerard Braad 0ae88d1383 Correct markup of README.md
Reformat the markup a little as #Text is not rendered correctly
by all markdown parsers.

New lines and indents are added to provide better readability and
aesthetics when not using a rendered view.

Trivial-Fix
Change-Id: I1e9adfb802a6f07696820b6229912fba48869e1b
2016-06-23 00:40:07 +00:00
Gerard Braad 34a2bf1357 Set IP and port using environment variables
Using IP and PORT it is possible to override the defaults of the Gulp
webserver. process.env.IPADDR is also used as some hosting tools, like
Procfile normally used this variable instead.

Change-Id: Ie0082bfcd7457b9c376f86ffe896aed4e84d5d0f
2016-06-22 09:20:27 +00:00
Michael Krotscheck efe6d4911f
Added provision state manipulation
Provision states may now be updated via a handy modal window. This
modal window is intended to provide basic functionality. Refining
the UX and handling errors in a more graceful fashion will be added
in subsequent patches.

Change-Id: I778949b5bdea2b52035e071bf5985cf318c3517a
2016-05-06 06:30:01 -07:00
Michael Krotscheck e84fd64049
Modified IronicNode mock to use single source of data
This'll make it easier to keep consistent fake data.

Change-Id: I727707a6901dd0b507d311e1557fd911d682780a
2016-05-06 06:29:49 -07:00
Michael Krotscheck 9caa2e3c31
Changed action from 'deploy' to 'active'
Apparently there was a typo in our state chart.

Change-Id: I81af216da5eef3e57e8f2abacf59a67530ab41d5
2016-05-06 06:29:40 -07:00
Michael Krotscheck 2385f4bff8
IronicNodeProvision resource
A generic service which permits interacting
with ironic's node provision status resource.

Change-Id: I395c4c9a6900934b94d42e11544ee35eff96e6d9
2016-05-06 06:29:17 -07:00
Michael Krotscheck 6d238543d6
Added styling for driver list
Basic UX approved layout of the driver list. The UX mock contains
several 'placeholder' columns which have not been included in this
mock. The 'View' link is not yet functional.

Change-Id: Iad5a92949a601cbe06114a0e03fa92d98a2fc54d
2016-05-06 06:27:50 -07:00
Michael Krotscheck bbfa2a14d9
Added selection hover state to node list
Selected rows are now highlighted.

Change-Id: I9286403591cc29d13fae0dabc779aba1f3a28755
2016-04-18 07:57:15 -07:00
Michael Krotscheck ea0adf3f56
Added maintenance and power filter dropdowns to node list
This patch adds two small-format dropdowns to the headers of the
node list table, to permit node filtering based on maintenance
and power state. This is a display patch only, and not wired.

Change-Id: I9b5832586031927e9f366432b74b541393c7cec1
2016-04-18 07:57:08 -07:00
Michael Krotscheck ef21904d32 Basic node action hooks.
This patch adds action handling for power and provision state
changes in the node list view, via the NodeActionController. Or,
in simpler terms, if you select a node and an action, a modal will
now pop up to tell you that particular action is not yet supported.
Actions will be added in subsequent patches.

The NodeActionController itself has been greatly simplified,
because it needs to serve as both a single-node and a multi-node
action handler; in other words, the previous opinionated
implementation of one-handler-per-node has been genericized.

Change-Id: I77b441d84a1b92d359879ea99b38804decaae9e9
2016-04-04 15:15:09 -07:00
Michael Krotscheck 8eff5be4cd Available node transitions now available in node_list
This patch ensures that available provisionState transitions,
as well as available powerState transitions, are accessible to the
user in the actions dropdown. The default action has been set
to whichever power value is first in the list. The control buttons -
dropdown and reboot - are only enabled if at least one node is selected,
though no filtering is performed to detect which actions are available.

Change-Id: I8cc91411a5d0ddcee6e1bfeddbca069594ff6dae
2016-04-04 15:07:56 -07:00
Michael Krotscheck 175dd0280d Added IronicNodePowerTransition resource
A mock resource, much like IronicNodeProvisionTransition, that
permits querying and filtering the power states available to a node.

Change-Id: I5ec5c23d87436662c1b4b4a11144c9a9a91669da
2016-04-04 15:07:52 -07:00
Michael Krotscheck 5ffb01ae7b Renamed IronicNodeTransition to IronicNodeProvisionTransition
There are several different kinds of provisioning in Ironic- provision,
inspection, power, and maintenance. They're all handled separately,
and we need to be able to address them as such.

Change-Id: Ia5d1d01794ff914db36091c222433ffe34c11c93
2016-03-31 14:15:26 -07:00
Michael Krotscheck 37672d0814 Added capitalize filter
This filter capitalizes all words in the passed string. It is
intended as a temporary shim for string formatting, until we can
get i18n incorporated.

Change-Id: I0a7b0d61d27d24cb2ccf2a2ff2757097cab10ba7
2016-03-31 14:15:18 -07:00
Michael Krotscheck 16e82c4eba Enabled Refresh button
The user may now click the refresh button to manually trigger
a reload of all available nodes. The button is disabled while
the list is resolving.

Change-Id: I8f3100e2db7f57a684771a4f9eaf0eafcbe410f4
2016-03-31 12:33:33 -07:00
Michael Krotscheck c45ca3c82e Table header checkbox disappears when no nodes available.
If no nodes are available, the checkbox in the table header
disappears.

Change-Id: Ib9350b562f45ea80f3c151f8584d45a45620c87e
2016-03-31 12:33:33 -07:00
Michael Krotscheck 741a5020a4 Removed setPowerState
The method wasn't doing anything, and isn't actually referenced
anywhere.

Change-Id: Id5050abb22f3a7fdd480b8b0d37174fb41a48b3c
2016-03-31 12:33:28 -07:00
Michael Krotscheck 473929a854 Node list permits individual and group selection.
This patch enables the checkboxes in the node list, as well as
the selectAll checkbox in the title. Data is stored in
controller.selectedNodes, and automatically update based on user
action.

Note that this patch uses the somewhat inefficient $watch and
$watchCollection methods. Care should be taken not to overload
these methods to prevent inifinite event loops.

Change-Id: I71872e5c080a9b230d6ac086aee9f1e0c9ad492c
2016-03-31 12:06:58 -07:00
Michael Krotscheck 98d0f31886 Applied table styles and column ordering to node list
This patch applies table styling and column ordering as approved
by the openstack UX team. Checkboxes are, at this time, not-
functional and therefore disabled.

http://git.openstack.org/cgit/openstack/openstack-ux/plain/mocks/Ironic%20Standalone%20-%2007%20March%202016.pdf?id=96d3873841592920b464a54695a45fea881c0659

Change-Id: I135243ec1739b1387edbd9cb67f0fd89c6e6a60b
2016-03-23 04:50:41 -07:00
Michael Krotscheck 0a3cafb49e Added node list control buttons
This patch adds the Action, Power, and Refresh buttons
as specified by the approved user interface specification.
They are, as yet, not functional, and assume the role of
placeholders.

http://git.openstack.org/cgit/openstack/openstack-ux/plain/mocks/Ironic%20Standalone%20-%2007%20March%202016.pdf?id=96d3873841592920b464a54695a45fea881c0659

Change-Id: I258ba9406f941389b1476b3fe91990057e507ee4
2016-03-23 04:49:26 -07:00
Michael Krotscheck a4798afe90 Created common navigation header
This patch adds the nodes/drivers navigation header in
accordance to the approved UI specification. The state
chart had to be adjusted to make room for the driver
section, and a new common ironic root state has
been introduced to ensure that the menu remains
constant.

Change-Id: I57fe522a067d515aa5253888ef6c121c4b95bd61
2016-03-23 04:49:26 -07:00
Michael Krotscheck 7a3e960b37 Introduced btn-gradient styles.
Button styles based on the default theme colors, except with a
distinguishing gradient useful when against a backdrop color.

http://git.openstack.org/cgit/openstack/openstack-ux/plain/mocks/Ironic%20Standalone%20-%2007%20March%202016.pdf

Change-Id: I0389eaafe63fa191be1697c922d166787cca4dc4
2016-03-23 04:49:25 -07:00
Michael Krotscheck fd75e8c0a9 Adjusted flow for header elements
The header components now flow in accordance to the approved
UI. The search bar extneds to the entire remaining width of the
screen, and small adjustments have been made to the title
to offer more space in smaller form factors. It was necessary
to move the branding into header.html, in order to permit
proper column sizing (nesting them created weird padding issues).

Note that this UI doesn't work too well on a mobile screen -
that experience should probably receive its own treatment.

http://git.openstack.org/cgit/openstack/openstack-ux/plain/mocks/Ironic%20Standalone%20-%2007%20March%202016.pdf

Change-Id: I1b1f8f9bb4f9f9e79b86260be3a554274d8c44ed
2016-03-23 04:49:21 -07:00
Michael Krotscheck 7e75d9c5aa Removed border from header
This patch removes the border from the bottom of the
webclient header.

http://git.openstack.org/cgit/openstack/openstack-ux/plain/mocks/Ironic%20Standalone%20-%2007%20March%202016.pdf

Change-Id: Id82bde21388d17a8b3bb152e5b2ef14cf28b0246
2016-03-23 04:33:44 -07:00
Michael Krotscheck a762472157 Updated UX for Default Cloud dropdown
Dropdown header removes cloud icon, updates default name from
'Default' to 'Default Cloud' in the header.

http://git.openstack.org/cgit/openstack/openstack-ux/plain/mocks/Ironic%20Standalone%20-%2007%20March%202016.pdf

Change-Id: Ia3c12eb608371c5b1619c3ded7cce6f155931aa3
2016-03-23 04:33:44 -07:00
Michael Krotscheck f8f26bb9fd Updated ui-bootstrap
Upgrade to ui-bootstrap and any directives/controllers impacted.

Change-Id: I8b4aef5de93ce07aeed35773755342e05cada225
2016-03-23 04:33:44 -07:00
Michael Krotscheck 1f25ebc89a Updated application dependencies
This patch updates various library dependencies for
the ironic webclient.

Change-Id: Icaf13be7adc90890b52d193e007185693cad3e15
2016-03-23 04:33:44 -07:00
Michael Krotscheck e41836fb81 Updated eslint plugins
This patch updates eslint-config-openstack to 1.2.4, and
eslint-plugin-angular to 1.0.0. All linting violations have
been corrected.

Change-Id: Iedc809b9d9e39e03b854ce4dbf988298cbaaa790
2016-03-23 04:33:44 -07:00
Michael Krotscheck e1a1c2a5c0 Removed account
Account is not relevant to Ironic without some form of user
management integration. This removes the link from the header.

Change-Id: I94000d4c8d43ac6d1c0c72b6f01a4158422ab6ef
2016-03-23 04:33:44 -07:00
Michael Krotscheck be5d56e0d4 Added power button to node list
Added a non-functional power button to the node list page,
at the request of UX.

Change-Id: I910430ed68ad284f3d0dd527845c4bb960c17648
2016-03-23 04:33:44 -07:00
Michael Krotscheck 4c8cdca8b2 Removed phantomjs from test suite
Nobody actually browses websites in phantomjs, so why are we testing
with it?

Change-Id: I7d32ec3a45c23f312bb554218a57b0ebb78b8063
2016-03-18 23:31:46 +00:00
Michael Krotscheck d5f418c3c2 Added node name to enroll form
This adds the 'name' property to the node enroll form, as
well as displaying this human-readable name, if available, in
the node list.

Change-Id: Ic0b68d11e1bf83e013e3cc74ec098c1d56c0cd79
2016-02-19 05:32:07 -08:00
Michael Krotscheck 7c9cab0bd0 Added Node Transition mock service
This service mocks the node_transitions service under discussion at
the included link. It will be used to construct an in-memory state
machine that can drive node events and actions. Tests have been
provided, and coverage threshold has been updated.

https://review.openstack.org/#/c/224022/19

Change-Id: I93466e1603d0284bd52464bb12fea550dedd54db
2016-02-19 05:30:33 -08:00
Michael Krotscheck ea9c34e5ed Remove Node
This patch adds controls necessary to remove nodes from Ironic. Included
are:

- NodeActionController, a generic, initializable controller that handles actions
  on nodes.
- RemoveNodeModalController, a controller for a modal window that permits
  the deletion of _multiple_ nodes.
- Test coverage for the above, with an updated coverage threshold.

Note that at this time, the code path to batch delete nodes is not yet surfaced
in the user interface.

Change-Id: I325d43fead7c63bb527307a6ee608ca36a59ab83
2016-02-19 05:29:14 -08:00
Michael Krotscheck 54b77c02da Added ./dist directory to .gitignore
This directory is where our build is placed. It should never
be committed.

Change-Id: Ibb2a102d6b7009287025468e5acc7159f099e4fb
2016-02-19 05:29:14 -08:00
Michael Krotscheck 7d3bf213f5 Upgraded eslint-plugin-angular
Disabled rules that are currently failing. We can re-enable these as
we go.

Change-Id: Id3560a7edd300d34cbe12f76ff2e6599794bb1c9
2016-02-19 05:29:01 -08:00
Michael Krotscheck f4ccfb1604 Upgraded eslint
This corrects a bug in the valid-jsdoc rule, identified here:
https://github.com/eslint/eslint/issues/4443

Change-Id: I6572c31933388d9660a8effaafec293a18db21b0
2016-02-16 11:42:22 -08:00
Michael Krotscheck 03a4ff083a Reordered columns to match UX mocks.
This patch reorders the columns in the node list to match
the mocks provided by our UX researchers.

Change-Id: I37e0f9850ffe018208c782ab80c2bafe6abcb9e2
2016-02-01 09:27:50 -08:00
Jenkins 2427f943e0 Merge "Added driver and port information to node detail page" 2016-01-05 17:16:23 +00:00
Jenkins 1b68e66b1c Merge "Switched enroll icon to gears" 2016-01-05 17:16:18 +00:00
Jenkins 13ad2704bf Merge "Collapsed node module" 2016-01-05 17:16:13 +00:00
Jenkins 147d176608 Merge "Added placeholder for search bar" 2016-01-05 17:15:25 +00:00
Jenkins 65ade4cf30 Merge "remove the last '/' in placeholder of api url" 2016-01-05 17:14:14 +00:00
Haomeng, Wang 57b70a3f11 remove the last '/' in placeholder of api url
Current placeholder of api url ends with '/', this is not
working, because the last '/' will be passed to ironic api
side, so '//..' will be called, in this patch, remove the
last '/' in placeholder.

Change-Id: I0f5215f4cb6bb301b0322f6cffab214f4bf9a225
Close-Bug: #1531100
2016-01-05 09:04:49 +00:00
Michael Krotscheck 661e2b03eb Added driver and port information to node detail page
This patch splits the node detail state into three sub-states,
in order to separate and isolate logic used to drive driver and port
controllers. These substates provide very basic detail views for
a node's driver and ports, with additional simple error and empty
case handling.

Additional data mocks have been added where necessary, tests have been
updated, and coverage threshold has been increased where applicable.

Change-Id: I48326323210c5f9f83e5f9dea5dfe45cc957c761
2016-01-04 13:13:34 -08:00
Michael Krotscheck 6e5770740a Switched enroll icon to gears
The icon on the enroll-node button is now a gear instead of a plus
sign.

Change-Id: Id45f4bb08482f7021919b2c720c35c3810d2523c
2016-01-04 13:13:33 -08:00