Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Kibana shouldn't necessarily force the status page when a plugin is red #7328

Closed
LeeDr opened this issue May 31, 2016 · 11 comments
Closed

Kibana shouldn't necessarily force the status page when a plugin is red #7328

LeeDr opened this issue May 31, 2016 · 11 comments
Labels
enhancement New value added to drive a business result Feature:Plugins high hanging fruit stale Used to mark issues that were closed for being stale Team:Core Core services & architecture: plugins, logging, config, saved objects, http, ES client, i18n, etc

Comments

@LeeDr
Copy link
Contributor

LeeDr commented May 31, 2016

I'm not sure why my 5.0.0-alpha3 integration-test currently shows an issue;

plugin:monitoring Elasticsearch is still initializing the Monitoring indices

But I don't think that should block me from using all the rest of Kibana.

I think it's reasonable to show the user the status page when they first open Kibana (or log in).

And I think it makes sense to show that status if I tried to use the Monitoring (Marvel) app when it's plugin status is Red.

But a problem with one plugin shouldn't completely block usage of all the rest of Kibana.

Maybe the issue here is that Monitoring is setting the whole cluster state red?

@LeeDr LeeDr added the bug Fixes for quality problems that affect the customer experience label May 31, 2016
@epixa epixa added discuss and removed bug Fixes for quality problems that affect the customer experience labels May 31, 2016
@epixa
Copy link
Contributor

epixa commented May 31, 2016

I think the core issue here isn't really a bug so much as an explicit design decision for Kibana as a whole. Which isn't to say that we couldn't change that design, of course.

Basically, Kibana will block on the status page when any plugin is red because it has no possible way of knowing the effect a "red" plugin would have on Kibana itself. Since we don't know what ill-effects a user might experience in that situation, the only safe option is to disable access to Kibana entirely.

For example, imagine if the security plugin in x-pack was failing in such a way that there was no actual security at all. If we were to allow access to Kibana even though the security plugin was correctly marked as "red", then we'd essentially be opening up your entire Elasticsearch cluster to anyone with access to Kibana.

I'd love to see a better experience around all of this if anyone has ideas, but it's going to be really hard to have a generic solution that works for all plugins other than what we have now.

@pickypg
Copy link
Member

pickypg commented May 31, 2016

Perhaps plugins can be marked with a start_without setting, similar to how they specify their own version, and Kibana could simply ignore such plugins when deciding to stop or not.

Then, if a plugin does not provide it, it defaults to true so that an unknown experience is stopped. Or we could just require the setting must exist.

@pickypg
Copy link
Member

pickypg commented Jun 2, 2016

My idea there goes hand-in-hand with #7328 (comment).

{
  "name" : "monitoring",
  "version" : "5.0.0-alpha4",
  "kibana" : {
    "version" : "5.0.0-alpha4",
    "required_plugin" : false
  }
}

where required_plugin is used by Kibana to determine if the plugin can be skipped (like start_without, but probably a better name).

@bohyun-e
Copy link

bohyun-e commented Oct 6, 2016

Based on the Slack conversation, we decided that the correct behavior would be for plugins to properly track their dependencies, so even Console wouldn't work if the main ES plugin goes red, but if the main ES plugin is green, Console should be available.

@bohyun-e
Copy link

bohyun-e commented Oct 6, 2016

We could also improve the message we get as shown in the below screenshot, to be more helpful.

image

@epixa epixa self-assigned this Dec 5, 2016
@epixa epixa added Team:Core Core services & architecture: plugins, logging, config, saved objects, http, ES client, i18n, etc and removed discuss labels Dec 5, 2016
@epixa epixa removed their assignment Dec 26, 2016
@cjcenizal
Copy link
Contributor

I think this relates to #6380

@epixa epixa changed the title Monitoring plugin status=red prevents any use of Kibana Kibana shouldn't necessarily force the status page when a plugin is red Jul 21, 2017
@LeeDr
Copy link
Contributor Author

LeeDr commented Oct 19, 2017

cc @dougnelas I think this is the issue you asked me about

@gmoskovicz
Copy link
Contributor

This is a must-to-have. We should be able to run Kibana regardless of specific RED plugins.

@javadevmtl
Copy link

At the very least, the dev tools!

@epixa epixa added enhancement New value added to drive a business result and removed release_note:enhancement labels May 7, 2018
@aseppala
Copy link

+1

@JalehD
Copy link

JalehD commented Jul 27, 2018

This was a must have ages ago when it was filed, it's overdue now.

@joshdover joshdover added the stale Used to mark issues that were closed for being stale label Jan 14, 2021
jbudz pushed a commit that referenced this issue Dec 18, 2023
`v90.0.0`⏩`v91.0.0-backport.0`

⚠️ While this upgrade pings many teams and has a large code diff, **the
majority of the changes are snapshots or tests-related** and do not
touch source code, so should theoretically only need a code review and
not dedicated QA.

The changes in EUI that required a large swathe of these updates are:

- **EuiPopover** removed an extra unnecessary `<div>` wrapper on its
anchors, which affected many snapshots and a few CSS overrides, which
should have been updated
- **EuiButtonGroup** now renders `<button>` elements instead of `<input
type="radio">` elements for single selection, which affected both
snapshots and E2E tests
- **EuiSuperDatePicker**'s absolute date input now requires an `Enter`
keypress when parsing dates (affected E2E tests)
- **EuiComboBox**, when rendered with `singleSelection={{ plainText:
'true' }}`, no longer renders a pill (i.e. text). This combobox type now
behaves more like an `EuiFieldText`, where the selection is rendered via
input `value` instead. This affected a high amount of E2E tests (both
FTR and Cypress), both in terms of updating assertions and changing
selections, but should **not** significantly affect user experience -
see elastic/eui#7332 for more.

---

##
[`v91.0.0-backport.0`](https://github.com/elastic/eui/tree/v91.0.0-backport.0)

**This is a backport release only intended for use by Kibana.**

- Added `esqlVis`, `pipeBreaks`, and `pipeNoBreaks` icon glyphs.
- `EuiSelectable` now allows configurable text truncation via
`listProps.truncationProps`
([#7388](elastic/eui#7388))
- `EuiTextTruncate` now supports a new `calculationDelayMs` prop for
working around font loading or layout shifting scenarios
([#7388](elastic/eui#7388))

**Bug fixes**

- Fixed a bug with `EuiSelectable`s with custom `truncationProps`, where
scrollbar widths were not being accounted for
([#7392](elastic/eui#7392))

## [`91.0.0`](https://github.com/elastic/eui/tree/v91.0.0)

- Updated the background color of `EuiPopover`s in dark mode to increase
visibility & contrast against other page/panel backgrounds
([#7310](elastic/eui#7310))
- Memoized `EuiDataGrid` to prevent unneeded re-renders
([#7324](elastic/eui#7324))
- Added a configurable `role` prop to `EuiAccordion`
([#7326](elastic/eui#7326))
- Added a configurable `role` prop to `EuiGlobalToastList`
([#7328](elastic/eui#7328))
- For greater flexibility, `EuiSuperDatePicker` now allows users to
paste ISO 8601, RFC 2822, and Unix timestamps in the `Absolute` tab
input, in addition to timestamps in the `dateFormat` prop
([#7331](elastic/eui#7331))
- Plain text `EuiComboBox`es now behave more like a normal text
field/input. Backspacing will no longer delete the entire value, and
selected values can now be double clicked and copied.
([#7332](elastic/eui#7332))
- `EuiDataGrid`'s display settings popover now allows users to clear the
"Lines per row" input before typing in a new number
([#7338](elastic/eui#7338))
- Improved the UX of `EuiSuperDatePicker`'s Absolute tab for users
manually typing in timestamps
([#7341](elastic/eui#7341))
- Updated `EuiI18n`s with multiple `tokens` to accept dynamic `values`
([#7341](elastic/eui#7341))

**Bug fixes**

- Fixed `EuiComboBox`'s `onSearchChange` callback to pass the correct
`hasMatchingOptions` value
([#7334](elastic/eui#7334))
- Fixed an `EuiSelectableTemplateSitewide` bug where the `popoverButton`
behavior would break if passed a non-DOM React wrapper
([#7339](elastic/eui#7339))

**Deprecations**

- `EuiPopover`: deprecated `anchorClassName`. Use `className` instead
([#7311](elastic/eui#7311))
- `EuiPopover`: deprecated `buttonRef`. Use `popoverRef` instead
([#7311](elastic/eui#7311))
- `EuiPopover`: removed extra `.euiPopover__anchor` div wrapper. Target
`.euiPopover` instead if necessary
([#7311](elastic/eui#7311))
- Deprecated `EuiButtonGroup`'s `name` prop. This can safely be removed.
([#7325](elastic/eui#7325))

**Breaking changes**

- Removed deprecated `euiPaletteComplimentary` - use
`euiPaletteComplementary` Instead
([#7333](elastic/eui#7333))

**Accessibility**

- Updated `type="single"` `EuiButtonGroup`s to render standard buttons
instead of radio buttons under the hood, per recent a11y recommendations
([#7325](elastic/eui#7325))
- `EuiAccordion` now defaults to a less screenreader-noisy `group` role
instead of `region`. If your accordion contains significant enough
content to be a document landmark role, you may re-configure it back to
`region`. ([#7326](elastic/eui#7326))
- Reduced screen reader noisiness when sorting `EuiDataGrid` columns via
toolbar ([#7327](elastic/eui#7327))
- `EuiGlobalToastList` now defaults to a `log` role. If your toasts will
always require immediate user action, consider (with caution) using the
`alert` role instead.
([#7328](elastic/eui#7328))

**CSS-in-JS conversions**

- Updated `$euiFontFamily` and `$euiCodeFontFamily` to match Emotion
fonts ([#7332](elastic/eui#7332))

---------

Co-authored-by: Cee Chen <constance.chen@elastic.co>
Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
Co-authored-by: Cee Chen <549407+cee-chen@users.noreply.github.com>
Co-authored-by: Stratoula Kalafateli <efstratia.kalafateli@elastic.co>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New value added to drive a business result Feature:Plugins high hanging fruit stale Used to mark issues that were closed for being stale Team:Core Core services & architecture: plugins, logging, config, saved objects, http, ES client, i18n, etc
Projects
None yet
Development

No branches or pull requests

10 participants