Commit graph

18135 commits

Author SHA1 Message Date
Bill McConaghy 3f9caf5a31
fixing importing saved objects when there's a missing index pattern (#22068) 2018-08-16 13:59:22 -04:00
Chris Davies a73a928dea
Add a welcome screen for new Kibana instances (#21353)
Add a welcome screen to Kibana home if this is a new Kibana instance.
New is determined by whether or not there are any index patterns
defined. Local storage is used to retain the user's decision to hide
the welcome screen.
2018-08-16 13:05:29 -04:00
dave.snider@gmail.com 4ecdad2ec7
Replace deprecated breakpoint in pipelines (#22046) 2018-08-16 09:02:55 -07:00
Aliaksandr Yankouski 994b00a8a8
status_page translations (#21918) 2018-08-16 18:26:49 +03:00
Tyler Smalley e726a8d463
Skip flaky Grok syntax highlighting test (#22067)
Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
2018-08-16 07:40:59 -07:00
gchaps 91335df93a
[DOCS] New tutorial for exploring Kibana with sample data set (#21699)
* [DOCS] New tutorial for exploring Kibana with sample data set

* [DOCS] Incorporated review comments into sample tutorial

* [DOCS] GS: Edits for consistency
2018-08-16 05:52:38 -07:00
Pete Harverson 3843eeb614
[ML] Fixes position of Single Metric markers for long agg intervals (#22055) 2018-08-16 13:32:10 +01:00
Tim Roes a49f50255b
Fix selecting time range in embedded mode (#22053)
* Fix selecting time range in embedded mode

* Add data-test-subj for table vis
2018-08-16 13:34:54 +02:00
Nathan Reese b5190f66aa
ReactVisType VisFactory - pass appState to Component (#21974)
* pass appState to Component

* get appState from vis.API within TSVB component

* add functional test for Visual Builder in dark mode
2018-08-16 05:21:17 -06:00
Bill McConaghy 994a5002d4
fixing issue with importing vis with missing saved search (#22029) 2018-08-16 07:19:40 -04:00
Bill McConaghy f0c630ca1f
fixing some console fatal errors (#21996) 2018-08-16 07:17:20 -04:00
James Gowdy 5c0d8de5e8
[ML] Group selector duplicate validation (#21988)
* [ML] Group selector duplicate validation

* changes based on review
2018-08-16 09:50:53 +01:00
James Gowdy bf87b55fc4
[ML] Edit job group duplicate validation (#21987)
* [ML] Edit job group duplicate validation

* changes based on review
2018-08-16 09:50:42 +01:00
Marco Vettorello 8ba8d9d811
Fix Heatmap limited custom ranges (#21958)
* Fix heatmap colors to depend on existing number of ranges

If we custom ranges are enabled, depends on number of labels configured, if not depends on configured colorsNumber value

* Fix wrong test descriptions

* Add functional tests for heatmap custom ranges

* Relay on labels.length as valid number of ranges

Instead of check if we have a set of custom ranges or the default ones, we just relay on the labels returned by getHeatmapLabels that already compute the right number of labels depending on the vis config.
2018-08-16 09:29:44 +02:00
Tyler Smalley 96bc123bf0
Return keystore data as a structured object (#22022)
In #19916 we inadvertently began directly returning the data from the Keystore when the Kibana server expects a structured object.

Signed-off-by: Tyler Smalley <tyler.smalley@elastic.co>
2018-08-15 16:38:18 -07:00
dave.snider@gmail.com f089427f84
EUI 3.6.1 (#22034) 2018-08-15 16:33:27 -07:00
CJ Cenizal 06966179cf
Minor Index Management polish (#21979)
* Remove unused refreshInterval file.
* Use warning toast to indicate failure to reload the indices.
* Close tag in main.html.
* Add comment about $http service dependency.
2018-08-15 16:27:29 -07:00
Deb Adair 0dcb8ac430 [DOCS] Fixing cross doc links to stack overview security topic 2018-08-15 15:14:41 -07:00
Aleh Zasypkin 1f7fdbfe7c
Make core logging independent from the legacy Kibana. (#21831) 2018-08-15 20:49:21 +02:00
Jonathan Budzenski 351cf92d36
Bump chromedriver to 2.41.0 (#21798) 2018-08-15 13:31:39 -05:00
dave.snider@gmail.com a72bd039e6
Fix scrollbar in ie11 (#21976)
* fix scrollbar in ie11
2018-08-15 11:15:37 -07:00
Spencer 595476bcf2
[kbn-test] use slightly more debug-friendly error output (#21985)
A couple times while debugging failures in `functional_tests(_servers)` with people I've asked for stack traces and received responses like "that's all there is", and it turns out that's right, because the cli's are passing the error object directly to `chalk.red()`, which converts it into a string that only includes the message. This pr moves the common operations from `run_tests/cli.js` and `run_servers/cli.js` into `lib/run_cli` and includes test for the common functionality there, as well as a common error printing logic that still includes the red message, but also includes a stack trace that will help out a lot in debugging.
2018-08-15 09:50:42 -07:00
James Gowdy 25e5a1e1d4
[ML] Fix painless script in ML watch (#21998) 2018-08-15 17:49:52 +01:00
archana c57222cfdb
[bug] Revert mappings lib changes (#21986)
* Remove new library

* Reinstate old mappings lib

* Update paths to mappings lib

* Remove remaining mappings lib
2018-08-15 10:42:16 -05:00
CJ Cenizal 08b90a8572
Update index pattern creation loading state to not have confusing 'Reticulating splines' message. (#21977) 2018-08-15 08:20:47 -07:00
Pete Harverson 4a63e17e6f
[ML] Add validation of label and time range when editing custom URLs (#21960)
* [ML] Add validation of label and time range when editing custom URLs

* [ML] Edits to custom URL validation following review
2018-08-15 13:49:06 +01:00
Nathan Reese 67401cea92
Eui 3.6.0 (#21968)
* bump EUI to 3.6.0

* replace CopyButton with EuiCopy

* remove snapshot file from deleted CopyButton component
2018-08-15 06:46:35 -06:00
Jen Huang 341d5008dc
Fix saving index pattern when there is a conflict (#21947) 2018-08-14 22:21:36 -07:00
Spencer e49d5f3b10
[uiSettings] support overriding uiSettings from the config file (#21628)
This PR implements the `uiSettings.overrides` setting which [when stored in kibana.yml or passed as config args when starting Kibana] allows forcing some uiSettings to always have a specific value. This setting accepts a map of uiSetting keys to values that will always be used to override whatever is stored in the config saved object.

![image](https://user-images.githubusercontent.com/1329312/43619094-feded1ae-9680-11e8-9ec3-c12d4d949c46.png)

When users view the settings in the advanced settings UI they are disabled and describe why they can't be changed.

![image](https://user-images.githubusercontent.com/1329312/43618938-2cdee0f4-9680-11e8-9ed6-f384d4ee78f6.png)

Attempting to change these values from the uiSettings client/service/api is also prevented, causing a 400 error to be thrown and/or sent as the response.
2018-08-14 21:52:35 -07:00
Caroline Horn 53a69f6a29
Convert all Less files to Sass in Dashboard, using EUI variable scope (#21374) 2018-08-14 19:05:33 -04:00
Spencer 5db7245196
[typescript] continue to use the default config in development (#21966)
* [typescript] continue to use the default config in development

In #21865 we tried to make a separate config file that would be used for
browser TS files by excluding them from the default config file and
adding a second that included them. This works fine in the build, but
IDE integrations rely on being able to automatically discover a
`tsconfig.json` file in a parent directory of the file being edited,
which doesn't work when the tsconfig.json file is found, but excludes
the file being edited. In this situation IDE integrations silently
fallback to the default TSConfig settings, which don't show the types of
compiler errors that will become issues in CI, like implicit any
warnings.

This implements the original strategy we tried in #21865 of mutating the
tsconfig.json file before we run the tsc in the build so that the config
files select the right files at build time.

* [tslint] remove browser config from default projects list since it is empty

* [build/ts] fix typo
2018-08-14 15:27:07 -07:00
Jonathan Budzenski cd433cc2ef
[build] clean @types from distributions (#21565) 2018-08-14 16:30:39 -05:00
Spencer 3b8e95758c
[retry] implement waitFor method (#21747)
We currently use the `retry` service to call a function over and over in a loop, waiting for it to run without throwing an error, and ultimately failing if it does not succeed before a timeout is exceeded. This is the easiest way to get certain interactions to work, either because we don't know when we should be able to execute the interaction successfully, or because the timing is just too tricky to plan out correctly. Another place where we are using the `retry` service, which I don't think is appropriate, is when we need to wait for a certain condition to be met. This is where `retry.waitFor()` comes in:

```js
await retry.waitFor('dashboard search to be enabled', async () => {
  const searchInput = await testSubjects.find('savedObjectFinderSearchInput');
  return await searchInput.isEnabled();
})
```

The `retry.waitFor()` method behaves much like the `retry.try()` method behind the scenes, calling a function over and over, but instead of waiting for it to run without throwing an error it waits for it to return a "truthy" value. It also requires a description string that is used to make rather nice log output and a more descriptive error message than something like https://github.com/elastic/kibana/blob/master/test/functional/apps/dashboard/_data_shared_attributes.js#L61-L67
2018-08-14 13:35:32 -07:00
dave.snider@gmail.com a9b3a44110
update gitignore and remove monitoring css file (#21962) 2018-08-14 10:56:40 -07:00
Spencer c01c2f95e7
[toasts] migrate toastNotifications to the new platform (#21772)
Fixes #20698

As part of the transition of APIs necessary for migrating the Chrome to the new platform, this moves the core logic for the toastNotifications out of `ui/notify` and into the new platform as the `core.notifications.toasts` service. I chose to use the `notifications` namespace here as I plan for the [`banners` service](494c267cd9/src/ui/public/notify/banners/banners.js) from `ui/notify` to eventually live at `core.notifications.banners`. If you disagree with this strategy and would prefer that we use something like `core.toastNotifications` let me know.

For the most part this service just does the same thing as the ui service did, so functionality should be exactly the same. To test the notifications I suggest using the testbed like so: https://gist.github.com/spalger/81097177c88dee142700fab25de88932
2018-08-14 09:27:12 -07:00
Jen Huang 1e6fb80be2
Upgrade to EUI 3.4.0 (#21870)
* Upgrade to EUI 3.4.0
* Update snapshots
2018-08-14 08:42:24 -07:00
archana 02067a0d8b
[Saved Objects] Create mappings lib within core/server/saved_objects (#21093)
This commit moves the large majority of the mappings library previously in src/server/mappings into src/core/server/saved_objects/mappings, since mappings should be owned by saved_objects. The kibanaIndexMappingsMixin remains in src/server, but is moved into src/server/saved_objects/mappings, keeping the same folder structure for consistency.
2018-08-14 08:51:00 -05:00
Pete Harverson fee34f7f9e
[ML] Add aria-label to calendar and jobs list buttons (#21922)
* [ML] Add aria-label to calendar and jobs list buttons

* [ML] Simplify building of Jobs List expanded row icon aria-label
2018-08-14 13:50:36 +01:00
Aleh Zasypkin e26cfc66d2
Do not limit payload size for requests that are proxied to the legacy Kibana. (#21750) 2018-08-14 07:37:01 +02:00
Josh Dover 17af683933
Reverts breaking change for Status API (#21927)
* Unbreak status API

* Update xpack test

* Bump
2018-08-13 17:26:20 -05:00
Spencer 359ac43ed6
[pageObjects/dashboard] check that save is complete before resolving (#21892)
While debugging failures I saw in #21772 I found myself encountering failure messages like `Error: expected undefined to sort of equal true`, and other more cryptic errors caused by methods like `PageObjects.dashboard.saveDashboard()` not ensuring that the dashboard was actually saved before resolving. As part of the debugging effort I noticed that the `saveDashboard()` method does have some awareness of the success condition, but rather than asserting success within the method it returns a success boolean for the caller to check, which was only being done in a handful of tests in `test/functional/apps/dashboard/_dashboard_time.js` but was ignored the vast majority of the time.

I think that most of the time we are calling `PageObjects.dashboard.saveDashboard()` we correctly assume that if the dashboard couldn't be saved for some reason the promise will be rejected and the test would fail. If the method was called `maybeSaveDashboard()` or `tryToSaveDashboard()` there might be a signal to consumers that they should check for success conditions, but that would also lead to the same checks all over the place. Instead, this PR reverses the responsibility of checking for success so that code calling `PageObjects.dashboard.saveDashboard()` can continue to assume that if something went wrong their test will fail. It also improves the error message by not using `expect(boolean).to.equal(boolean)`, instead implementing a basic `if()` statement and throwing an error with a meaningful message when something goes wrong.

```js
const isDashboardSaved = await testSubjects.exists('saveDashboardSuccess');
expect(isDashboardSaved).to.eql(true);
```

is now

```js
if (!await testSubjects.exists('saveDashboardSuccess')) {
  throw new Error('Expected to find "saveDashboardSuccess" toast after saving dashboard');
}
```

---

I think this type of change could be made to a lot of methods, and would make failures a lot easier to debug and possibly a lot less flaky if we were checking for success conditions in nearly every method we put in our PageObjects. I think it's safe to say that most of the methods we have in PageObjects do not check for actual success criteria, and sometimes that's okay: a method called `clickButton()` can safely resolve once the click method has been called, but a method like `addSampleDataSet()` should be verifying that the sample data set it set out to add was actually added.
2018-08-13 14:46:27 -07:00
archana 4ebd3d3534
[rxjs] Establish interop of rxjs-6 and kbn-observable (#21722)
* [rxjs] Establish interop of rxjs-6 and kbn-observable
* Remove symbol-observable
2018-08-13 13:45:02 -05:00
debadair 0c9657c43b
Fix bad cross doc link to auditing topic (#21938) 2018-08-13 11:17:08 -07:00
Uladzimir Dzmitrachkou eb43306a1b Convert all Less files to Sass in discover, use EUI variable scope (#21290)
Discover now uses sass for its styling
2018-08-13 10:54:28 -07:00
Jonathan Budzenski 31eee3238d
[build] more cleaning (#21746)
* [build] remove npm

* remove angular-ui-bootstrap

* fix

* remove bodyParser, fetch mock to dev

* remove more packages

* remove check-hash;

* remove babel-eslint

* remove marked-text-renderer

* move fetch-mock to dev dependencies

* Revert "remove babel-eslint"

This reverts commit 37d3df9146cdab24661022b9edf4aa2fd3b14e30.

* fix npm path

* fix again

* remove entire node_modules dir

* CleanNodeTask -> CleanNodeBuildsTask

* move to node folder

* remove more
2018-08-13 12:28:23 -05:00
Brandon Kobel add876281b
Adding RBAC Phase 1 Docs (#21178)
* Beginning to work on the role management APIs. Added docs for GET

* Adding PUT docs

* Adding PUT details

* Adding delete docs

* Fixing linking

* Adding Kibana privileges section

* Fixing dashboard only mode docs

* Fixing a few more references to managing roles

* Beginning to work on authorization docs, might be moving some to
stack-docs

* Collapsing authorization description in the kibana privileges page

* Adding audit logging section

* Revising the language on the Kibana role management section

* Splitting back out the auth/privileges and adding legacy fallback
details

* Revising language around impact of disabling security

* Changing Kibana to {kib} and Elasticsearch to {es}

* Beginning to work on developer centric docs

* Fixing some formatting, adding some diagrams

* Adding note about the role management APIs

* Adding overview, fixing small syntax issues

* Fixing chunk name for transitioning to application privileges

* Adjusting tone for the authorization introduction

* Changing the tone and structure of the RBAC docs

* Deleting blog stuff after refactoring

* Addressing first round of peer review comments

* Fixing endpoints links

* Peer review suggested edits

* Addressing other PR feedback
2018-08-13 12:06:25 -04:00
dave.snider@gmail.com 01f38a3e85
Convert all Less files to Sass in monitoring, use EUI variable scope (#20995)
Converts monitoring to use Sass instead of less.
2018-08-13 08:18:08 -07:00
Nathan Reese a0dd3e6089
remove deprectated /shorten API (#21861)
* remove deprectated /shorten API

* breaking change log
2018-08-13 07:27:20 -06:00
Pete Harverson edc9168d54
[ML] Disable auto focus on job wizard select index or search page (#21913) 2018-08-13 12:29:08 +01:00
pavel06081991 b180031589
Ability to parse formatMessage method from intl prop (#21277)
add support for extracting default messages from code strings like:

formatMessage();
intl.formatMessage();
props.intl.formatMessage();
this.props.intl.formatMessage();
2018-08-13 13:56:26 +03:00