openstack-health-nodejs10-run-test-browser job started failing on
chrome browser
- https://bugs.launchpad.net/stackviz/+bug/1909021
Horizon and its plugins also moved the nodejs browser jobs to
firefox now, let's move openstack-health jobs to firefox.
Closes-Bug: #1909021
Change-Id: I06476189c17323101b4904c3da52248ce04bfb83
Openstack-health uses horizon nodejs template [1] to run
nodejs10- jobs Which is wrong because openstack-health is
not a horizon plugins and above template is only for horizon
plugins to run node-js jobs.
This patch remove horizon nodejs template from .zuul.yaml
and define a new job to run Nodejs10 jobs on gate.
Also drop support of py35.
[1] https://opendev.org/openstack/openstack-health/src/branch/master/.zuul.yaml#L3
Change-Id: Ia222ce7f52ee1cfd575ed5204088f0eee2fe903e
This patch updates the zuul nodejs test jobs to use the
LTS version 10 of nodejs because nodejs4 version
run to xenial and we already switch to bionic. Horizon has
define a template for nodejs 10 job so using the same
template here.
Change-Id: I5fd09a0621a314e3ac508601ea1ec464e41b03b7
This commit updates angularjs libraries version. This can be included in
the other npm packages update patch, however, I took a deliberate way
this time to avoid accident as possible.
This version is the latest against AngularJS[1] but not Angular[2]
because Angular is totally different from AngularJS. It's not so easy to
upgrade to it.
[1] https://www.angularjs.org/
[2] https://angular.io/
Change-Id: I0941d9a537681659b17150fc532668d6bc12fc05
This patchset aims to remove the gulp-util package using the
steps outlined in the deprecation message[1]
[1] https://medium.com/gulpjs/gulp-util-ca3b1f9f9ac5
Change-Id: I11ed0f56cb3756e395f3684655f4b54e906b6a55
The npm-test gate currently fails while bundling due to a
write after end error.
Here are some more details on the error:
*snippet of the error[1]
*link to sample run[2]
I tried a few solutions online and found this[3] to work with
how we bundle openstack-health. The release for 1.4.2 has been
out for some time so I was curious why it's just now starting to
fail but at least this gets the gate passing again.
[1]http://paste.openstack.org/show/688811/
[2]http://logs.openstack.org/66/547866/7/check/nodejs-npm-run-test/f21e7b5/
[3]https://github.com/substack/bulkify/issues/18
Change-Id: Id288e68a7b38382d99a1dfb886544f99c0714310
This locks the angular version to v1.6.2. This should help avoid any
future breaking changes as well as force status.o.o to update from
1.5.0.
Change-Id: I623571bfb732935b7665ff0bc314063656df8536
This commit adds support for our own custom canvas-based charts.
By avoiding SVG and rendering directly to a 2D canvas context, these
charts should greatly reduce memory usage and improve page
performance, particularly when scrolling or on browsers and platforms
without good hardware acceleration. Lag while scrolling or hovering
over data points should be almost entirely eliminated, especially on
data-heavy pages like the home page with large periods or certain test
pages.
This commit adds only the components shared between all charts. New
implementations of each specific chart type will be added in follow-up
patches.
Change-Id: I5aff9c647095d879982c9b4d6080eafc497368d6
It's been almost a year since we started openstack-health, and most of
the bugs and/or missing features from nvd3 have been addressed. This
commit moves us onto the nvd3 releases and packages instead of using
a random git snapshot from Oct. 2015.
Change-Id: Ibfefe310fbad1d80f4c7ec96bda083d97a09824e
This commit replaces the loading bar to the nprogress. It is fancier
than the original one. And this new loading bar have the ability to
inform users about the true progress. So we might be able to implement
a better progress bar mechanism in the future.
Change-Id: If3b4ef66759e96c6807bd6aea150c21ffb3f95d1
This adds a new plugin, 'karma-subunit-reporter', to generate subunit
streams for unit test output. These files should be compatible with
subunit2sql and (with appropriate log client configuration) could be
displayed in openstack-health or other tools like stackviz.
Change-Id: I7a72c0330852a9afd6bff35436978d9d1c266551
This disables the Protractor E2E tests due to a high failure rate
related to a protractor/chrome bug [1] where ChromeDriver would
frequently hang. The E2E tests were mainly used to check for
dependency injection failures, but they didn't catch all (or even
most) failures. Instead, this enables angular's built-in 'strictDi'
mode, which will raise errors during normal development (i.e.
non-production builds) and during unit tests whenever a bad injection
is used.
[1] https://github.com/angular/protractor/issues/2419
Change-Id: I825986a3df457326a6c0c0c3b4d8584617a9d5e2
This uses the new prefix APIs to provide server-side processing for
listing tests by prefix and pagination. This removes the need for
users to download the entire list of all tests (~4 MB of JSON taking
15 seconds to generate and download), instead sending only a list of
prefixes which the user can select from (~6 KB and < 0.5 seconds to
load). Additionally, the tests detail page now loads a paginated list
of tests by prefix from the server, greatly reducing the required time
and memory needed to load the page.
Change-Id: I103f77c63c4cb8200db842f48c514b4a214ef9b7
This commit changes the header of the homepage status panel to camel
case. Originally, only first words was lowercases such as 'project
Status', 'filename Status', etc. It's a little wired. So This commit
fixes it. And this commit changes snake cases to camel cases, too. For
example, 'build_branch Status' -> 'Build Branch Status'.
Change-Id: I2a3cb01640c83d5211bad7831be8a3ff67049629
This updates angular-ui-bootstrap to the latest version. Among other
fixes, this corrects some odd display behavior when showing the period
selection popover, and allows us to enable dismiss-on-outside-click
functionality.
Note that as of 1.0.0, directives from angular-ui-bootstrap are
prefixed with 'uib-'. The dropdowns in the crumb menu have been
updated to account for this.
Change-Id: I04ff7d057ca881295c23b50eb277a60add384fbd
This commit adds karma-chrome-launcher and changes karma's settings
to use Chrome for all unit tests, removing PhantomJS. This change
is mainly to avoid downloading PhantomJS during gate tests, as the
phantomjs platform binaries would be downloaded from bitbucket and
their download servers have been returning rate limiting jobs and
returning 429 errors, leading to failed test runs. Since Chrome is
automatically installled from local mirrors, this should avoid the
problem entirely.
Change-Id: I5aba5480b34c4b4a6646f96c382c010495b3ea1b
This commit bumps up the angularjs and phantomjs version to resolve the
testing failure.
NOTE: phantomjs was renamed to phantomjs-prebuilt[1].
[1] https://www.npmjs.com/package/phantomjs
Change-Id: Ie046865749bd152f4d3dd3b485d34953963087f2
This adds a new date and duration picker to the crumb menu, along with
functionality in the view service to manage window size preferences
for views and users. Each controller can now specify allowed period
sizes and a preferred default which can be overridden by the user. The
user may also request an arbitrary end date, which defaults to the
current date.
A new library, moment, was added to help with the date caluclations,
as the builtin date utilities lack a huge amount of needed
functionality for computing date differences. Note that a run of
`npm install` may be needed to update local installations to reflect
the change.
Change-Id: I64c1629e527fcf5b4a167fba50c2bb3fe80a2e96
This commit bumps up angular-ui-router version. We fixed the issue of
the '/' encoding with Iceca852e15a6d023b758de52800088ab1456d931 . So we
need >=0.2.16 now[1].
[1] https://github.com/angular-ui/ui-router/commit/02e98660
Change-Id: I9986e56d310b5821534b28c9daa5487d07bb92a6
This enables end-to-end testing with Protractor, along with some
basic route and page load testing for the home and project pages.
PhantomJS is used to execute tests, and API requests are mocked
using `protractor-http-mock` (see `test/e2e/mocks/`).
A new gulp `e2e` task is also added to prepare and execute the
tests, along with a shortcut, `npm run protractor`. The default
`npm run test` is also amended to include E2E tests, with unit
tests moved to the new shortcut `npm run unit`.
Change-Id: Idb2eef2d851035c715e23553db56fc80deeab8e7
While writing unit tests around our components I found it really
difficult to understand what was going on once a failure happened due to
the lacke of information given by karma progress reporter.
While talking to a few people on the community, found out that karma
spec reporter gives you better feedback.
Change-Id: I0a3278d7ff424e0b3218e3f7b1a2f8356eb51ceb
The 3.1 release of karma-coverage raises an error when writing
coverage reports. This downgrades to 0.2.6 which does not have
this issue.
Change-Id: I4f754346d9fe02f7ff37182a640ceb68f1b478be
When running Karma directly, Angular views are never compiled,
causing tests to fail. This replaces the direct call to karma with
`gulp unit` so views are compiled before karma is run.
Change-Id: I30b0ac39111b95755e6c8b4ec92646a3d3571b80
This commit adds a tests view to the dashboard, it has a bar graph
for all tests showing the failure rate and then a table listing the
per test stats for each test. This is a good starting point for
diving down into per test details.
Co-Authored-By: Glauco Oliveira <gvinici@thoughtworks.com>
Co-Authored-By: Caio Carrara <ccarrara@thoughtworks.com>
Change-Id: I56938734775c603cf5bac4f082d6dfae290dfbd0
As the current latest release of nvd3 has a number of major bugs,
we need to use the latest available git release. However, depending
on libraries from `https://` Git repositories is broken on older
versions of npm.
As a workaround, this patch adds nvd3 (and consequently, d3 itself)
as static dependencies using the `vendor-js` mechanism and keeps
the code for each directly within our source tree.
Change-Id: I4fe83ca7eee21dcd1e6d2692f56592e6cb4ea74e
Karma previously started a continuous server to allow for multiple
test runs, which would cause `npm test` to hang when tests finish.
This enables the config option `singleRun` so it quits after tests
have finished running.
Additionally, this removes Chrome and the Chrome launcher so tests
can be run properly in a headless environment.
Change-Id: Ib493d9cac3be5a83aa342b0f2a142f82a2757ffb
Both jshint and jslint contain the 'do no evil' license which
makes it unusable for OpenStack. This patch switches this project
to use eslint, the published eslint-config-openstack rules, and
the john-papa eslint style guides. It also adds the 'npm run lint'
command used by infra in the javascript-jobs macro.
Change-Id: I724d3a12fb5b9c85446adcd07c03a676e966bd41
When running with node 4.x.x the gulp-sass version required was too
old to work with the node-sass version required by the packges.json.
This commit bumps the gulp-sass version to correspond to a version
which works with node 4.
Change-Id: I7e8947449b5e86c18a008d4cdbfa3d97c98aea9a
This removes all highcharts code and replaces it with alternative
charts from Nvd3. The example implementations homepage charts
(i.e. the stock chart and gauges) have been modified to use the
new charts.
Change-Id: Ia813965c7d7cf61195e430aeb34dd091373dead8
This removes several large and unnecessary node dependencies,
reducing the total space consumed by build dependencies by around
34%. In particular, `gulp-imagemin` and `debowerify` (along with
their associated build steps) are removed, freeing ~200MB.
Change-Id: Ic560d30c559ddd24f1a7089f5287ce26108de212
As Highcharts does not support module loaders, remove its npm
dependency and add it manually as part of a new "vendor-js" build
step. Libraries in `app/vendor-js/` will be concatenated into a final
"vendor.js" file which is included manually into the index page. The
Highcharts module is then exposed via a shim.
Change-Id: I0d3b1d938b85ffe5f54fca7467a55a08507bd155
Currently the karma package required is ^0.13.4, this is
greater than the maximum package expectation for gulp-karma.
This patch pins karma to ~0.12.0 which installs the latest
0.12.x package. This fixes the npm install error that was
seen prior to this patch.
Change-Id: I24c504cf5f5a8348ea9c8f9d550eda2aa2fb876d