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

[Endpoint] add policy details route #59951

Merged
merged 12 commits into from
Mar 13, 2020

Conversation

kevinlog
Copy link
Contributor

@kevinlog kevinlog commented Mar 11, 2020

Summary

Implements https://github.com/elastic/endpoint-app-team/issues/245'

Adds the policy details route. It currently operates on fake data that will take any ID passed in and create a Policy details page with a title. This is meant to be a starting point so that we can start building forms for the Policy details page.

The functional tests are light as we aren't dealing with real data now. We just navigate to the page and verify that it loads.

There are also some issues that need to be addressed regarding URLs and routing. I listed them at the bottom and will take them on next. I'd like to merge this so that we can continue development on the Policy forms. I'll address the debt in parallel.

https://github.com/elastic/endpoint-app-team/issues/269
https://github.com/elastic/endpoint-app-team/issues/230
https://github.com/elastic/endpoint-app-team/issues/268

image

Checklist

Delete any items that are not applicable to this PR.

For maintainers

@@ -43,3 +44,24 @@ export const policyListMiddlewareFactory: MiddlewareFactory<PolicyListState> = c
}
};
};

export const policyDetailsMiddlewareFactory: MiddlewareFactory<PolicyDetailsState> = coreStart => {
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@paul-tavares @parkiino @oatkiller was thinking that we'll keep all state separate from the overall policy list since Policy Details will be it's own route and page.

ManagementList keeps the details in state under the overall list data because it's a flyout and a query param:
image

Currently, I have PolicyDetails separate in state:
image

If we agree that we should keep PolicyDetails separate in state, then I'll go ahead and break out all of this code to be in its own files, etc. Let me know your thoughts otherwise.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would say 'go w/ it'. Typescript should make refactoring things like this a lot simpler.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i think that makes sense too, since it's its own page


export const selectPolicyItems = (state: PolicyListState) => state.policyItems;

export const selectPolicyDetails = (state: PolicyDetailsState) => state.policyItem;

export const selectPolicyIdFromParams: (state: PolicyDetailsState) => string = createSelector(
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just gets the job done right now, we should break out the location state to another location in state as discussed in previous threads by @paul-tavares and @peluja1012
https://github.com/elastic/kibana/pull/58308/files#r385053154

Then we could also put selectors like this in a more generic place

items: PolicyData[];
}

let savedFakePolicyData: SavedFakePolicyData = { items: [] };
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hacky stuff for the fake data, just wanna maintain the random set of data so I can use ids from the URL to find a Policy record

};
}

if (action.type === 'userChangedUrl') {
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's also probably time to break this cycle and put location in a more generic place in state

export const getFakeDatasourceApiResponse = async (page: number, pageSize: number) => {
await new Promise(resolve => setTimeout(resolve, 500));

// Emulates the API response - see PR:
// https://github.com/elastic/kibana/pull/56567/files#diff-431549a8739efe0c56763f164c32caeeR25
return {
const policyData = {
items: Array.from({ length: pageSize }, (x, i) => ({
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe extract the iterator function here to a top-level function generateSinglePolicyData(name) and then you can use it in getFakeDatasourceDetailsApiResponse() without the hackery 😃 ?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I know I can do that, I was mostly using the hackery to so that when I click on a Policy name, the same name will show up on the Policy details (from the same dataset). I'll adjust the code though so that this isn't so hacky.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ahh. Ok. In that case, then maybe tie the id to the name in the generator? (instead of random strings, maybe use the pageNumber + pageSize to get consistent results?
If too much trouble, then just leave it as it - it is "fake" data 😆

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

made to be less hacky now :)

// Emulates the API response - see PR:
// https://github.com/elastic/kibana/pull/56567/files#diff-431549a8739efe0c56763f164c32caeeR25

if (savedFakePolicyData.items) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you extract that function above that generate a single Policy, then here you can use it like:

return {
  ...generateSinglePolicyData('some name');
  ...{ id }
}

import { selectPolicyDetails } from '../../store/policy_details/selectors';

export const PolicyDetails = React.memo(() => {
usePageId('policyDetailsPage');
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think we are using this anymore (@peluja1012 right?).
I know Policy List has it, but the PR I was working (currently on hold) removes use of this hook in favor of userNavigagtedToPage store action that is dispatched every time the URL changes.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

removed, following a similar method as management and alerts lists now

@@ -84,6 +85,10 @@ const renderFormattedNumber = (value: number, _item: PolicyData) => (
</TruncateText>
);

const renderPolicyNameLink = (value: string, _item: PolicyData) => {
return <Link to={`/policy/${_item.id}`}>{value + ' '}</Link>;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should use EuiLink. Can use the onClick event along with react-router-dom useHistory() to to push the route and then ev.preventDefault().
From your last PR, @oatkiller had suggested a generic method/hook? that we could add to our /lib/ and then re-use with Eui Components that act like navigation links. Maybe its time to add it to our code base.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@paul-tavares using EuiLink now. I tried implementing the hook, but haven't quite gotten it to work yet. I created this ticket last week: https://github.com/elastic/endpoint-app-team/issues/230

I can take that on next and isolate the effort and update all Links. Are you OK with that?

@@ -337,7 +337,7 @@ export type ResolverEvent = EndpointEvent | LegacyEndpointEvent;
/**
* The PageId type is used for the payload when firing userNavigatedToPage actions
*/
export type PageId = 'alertsPage' | 'managementPage' | 'policyListPage';
export type PageId = 'alertsPage' | 'managementPage' | 'policyListPage' | 'policyDetailsPage';
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think you need this - see comment further below

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

removed

@kevinlog kevinlog force-pushed the task/add-policy-details-route branch from e6703ab to ddff980 Compare March 12, 2020 21:55
@kevinlog kevinlog marked this pull request as ready for review March 12, 2020 21:56
@kevinlog kevinlog requested a review from a team as a code owner March 12, 2020 21:56
@kevinlog kevinlog added release_note:skip Skip the PR/issue when compiling release notes v7.7.0 Team:Endpoint Management labels Mar 12, 2020
@elasticmachine
Copy link
Contributor

Pinging @elastic/endpoint-management (Team:Endpoint Management)

@kevinlog kevinlog added the Feature:Endpoint Elastic Endpoint feature label Mar 12, 2020
@elasticmachine
Copy link
Contributor

Pinging @elastic/endpoint-app-team (Feature:Endpoint)

@kevinlog kevinlog changed the title [WIP] add policy details route [WIP] [Endpoint] add policy details route Mar 12, 2020
@kevinlog kevinlog changed the title [WIP] [Endpoint] add policy details route [Endpoint] add policy details route Mar 12, 2020
Copy link
Contributor

@paul-tavares paul-tavares left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM
Thanks for the changes


return (
<EuiLink
onClick={(event: React.MouseEvent) => {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should also add href so that user can open in new window/tab or copy url. maybe on next PR :)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@paul-tavares I implemented this locally, looks like EuiLink doesn't accept both href and onClick

image

We'll have to revisit that, I'll talk with EUI team

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

oh yeah - I remember hitting that recently in ingest. Fortunately, I ended up not needing it there since that project is using hash router.
/cc me on the discussion with EUI if you remember

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah i had to do something like this for the endpoint list, which i put right above the eui component
// eslint-disable-next-line @elastic/eui/href-or-on-click

);
};

const renderPolicyNameLink = (value: string, _item: PolicyData) => {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i noticed this in Paul's code too, what does the _item do?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it gives you access to the all of the data that the table columns are based on, in this case the PolicyData

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

to expand on @parkiino 's comment. The confusion might be in that in my commit I was actually NOT using the item data (thus why I named it with a _), but needed to define the parameter in order to get around a TS error - thread here (slack EUI channel) for reference

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@kevinlog do you remember when i had that type error on the endpoint details pr? Is this another way to solve that?

* Policy list store state
*/
export interface PolicyDetailsState {
/** Array of policy items */
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is is supposed to be an array of PolicyData or a single one?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

a single one, you caught my c/p. Corrected.

if (policyItem) {
return <span data-test-subj="policyDetailsName">{policyItem.name}</span>;
} else {
return <span data-test-subj="policyDetailsNotFound">Policy Not Found</span>;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should i18n this message

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

good call, done

@kibanamachine
Copy link
Contributor

💛 Build succeeded, but was flaky


Test Failures

Kibana Pipeline / kibana-xpack-agent / X-Pack Alerting API Integration Tests.x-pack/test/alerting_api_integration/security_and_spaces/tests/alerting/alerts·ts.alerting api integration security and spaces enabled Alerting alerts space_1_all at space1 should schedule task, run alert and schedule actions when appropriate

Link to Jenkins

Standard Out

Failed Tests Reporter:
  - Test has failed 1 times on tracked branches: https://github.com/elastic/kibana/issues/58643

[00:00:00]       │
[00:00:00]         └-: alerting api integration security and spaces enabled
[00:00:00]           └-> "before all" hook
[00:00:00]           └-> "before all" hook
[00:00:00]             │ debg creating space
[00:00:01]             │ debg created space
[00:00:01]             │ debg creating space
[00:00:02]             │ debg created space
[00:00:02]             │ debg creating space
[00:00:03]             │ debg created space
[00:00:03]             │ debg creating user no_kibana_privileges
[00:00:04]             │ info [o.e.x.s.a.u.TransportPutUserAction] [kibana-ci-immutable-ubuntu-18-tests-xl-1584111255916792133] added user [no_kibana_privileges]
[00:00:04]             │ debg created user no_kibana_privileges
[00:00:04]             │ debg creating role no_kibana_privileges
[00:00:04]             │ info [o.e.x.s.a.r.TransportPutRoleAction] [kibana-ci-immutable-ubuntu-18-tests-xl-1584111255916792133] added role [no_kibana_privileges]
[00:00:04]             │ debg created role no_kibana_privileges
[00:00:04]             │ debg creating user superuser
[00:00:04]             │ info [o.e.x.s.a.u.TransportPutUserAction] [kibana-ci-immutable-ubuntu-18-tests-xl-1584111255916792133] added user [superuser]
[00:00:04]             │ debg created user superuser
[00:00:04]             │ debg creating user global_read
[00:00:04]             │ info [o.e.x.s.a.u.TransportPutUserAction] [kibana-ci-immutable-ubuntu-18-tests-xl-1584111255916792133] added user [global_read]
[00:00:04]             │ debg created user global_read
[00:00:04]             │ debg creating role global_read_role
[00:00:04]             │ info [o.e.x.s.a.r.TransportPutRoleAction] [kibana-ci-immutable-ubuntu-18-tests-xl-1584111255916792133] added role [global_read_role]
[00:00:04]             │ debg created role global_read_role
[00:00:04]             │ debg creating user space_1_all
[00:00:04]             │ info [o.e.x.s.a.u.TransportPutUserAction] [kibana-ci-immutable-ubuntu-18-tests-xl-1584111255916792133] added user [space_1_all]
[00:00:04]             │ debg created user space_1_all
[00:00:04]             │ debg creating role space_1_all_role
[00:00:05]             │ info [o.e.x.s.a.r.TransportPutRoleAction] [kibana-ci-immutable-ubuntu-18-tests-xl-1584111255916792133] added role [space_1_all_role]
[00:00:05]             │ debg created role space_1_all_role
[00:03:09]           └-: Alerting
[00:03:09]             └-> "before all" hook
[00:10:49]             └-: alerts
[00:10:49]               └-> "before all" hook
[00:10:49]               └-> "before all" hook
[00:10:49]                 │ info [o.e.c.m.MetaDataCreateIndexService] [kibana-ci-immutable-ubuntu-18-tests-xl-1584111255916792133] [.kibaka-alerting-test-data] creating index, cause [api], templates [], shards [1]/[1], mappings [_doc]
[00:10:49]                 │ info [o.e.c.m.MetaDataCreateIndexService] [kibana-ci-immutable-ubuntu-18-tests-xl-1584111255916792133] [.kibana-test-authorization] creating index, cause [api], templates [], shards [1]/[1], mappings []
[00:13:03]               └-: space_1_all at space1
[00:13:03]                 └-> "before all" hook
[00:13:03]                 └-> "before all" hook
[00:13:04]                 └-> should schedule task, run alert and schedule actions when appropriate
[00:13:04]                   └-> "before each" hook: global before each
[00:13:06]                   │ debg --- retry.try error: Expected 1 but received 0.
[00:13:07]                   │ debg --- retry.try failed again with the same message...
[00:13:07]                   │ debg --- retry.try failed again with the same message...
[00:13:08]                   │ debg --- retry.try failed again with the same message...
[00:13:08]                   │ debg --- retry.try failed again with the same message...
[00:13:09]                   │ debg --- retry.try failed again with the same message...
[00:13:09]                   │ debg --- retry.try failed again with the same message...
[00:13:10]                   │ debg --- retry.try failed again with the same message...
[00:13:10]                   │ debg --- retry.try failed again with the same message...
[00:13:11]                   │ debg --- retry.try failed again with the same message...
[00:13:11]                   │ debg --- retry.try failed again with the same message...
[00:13:12]                   │ proc [kibana]   log   [15:43:52.639] [info][eventLog][plugins] event logged: {"event":{"provider":"actions","action":"execute","start":"2020-03-13T15:43:51.616Z","end":"2020-03-13T15:43:52.634Z","duration":1018000000},"kibana":{"namespace":"space1","saved_objects":[{"type":"action","id":"92a3592d-7139-4e25-a2db-75ea3ce003f7"}],"server_uuid":"5b2de169-2785-441b-ae8c-186a1936b17d"},"message":"action executed: test.index-record:92a3592d-7139-4e25-a2db-75ea3ce003f7: My action","@timestamp":"2020-03-13T15:43:52.634Z","ecs":{"version":"1.3.1"}}
[00:13:12]                   │ info [o.e.x.s.a.AuthenticationService] [kibana-ci-immutable-ubuntu-18-tests-xl-1584111255916792133] Authentication using apikey failed - api key has been invalidated
[00:13:12]                   │ proc [kibana]   log   [15:43:52.649] [error][actions][actions][plugins] Failed to cleanup action_task_params object [id="1dade3db-48cb-45a1-a0a6-5717e1dfcdff"]: [security_exception] missing authentication credentials for REST request [/_security/user/_has_privileges], with { header={ WWW-Authenticate={ 0="Bearer realm=\"security\"" & 1="ApiKey" & 2="Basic realm=\"security\" charset=\"UTF-8\"" } } }
[00:13:13]                   │ debg --- retry.try error: Expected 0 action_task_params objects but received 1
[00:13:14]                   │ debg --- retry.try failed again with the same message...
[00:13:14]                   │ debg --- retry.try failed again with the same message...
[00:13:15]                   │ debg --- retry.try failed again with the same message...
[00:13:15]                   │ debg --- retry.try failed again with the same message...
[00:13:16]                   │ debg --- retry.try failed again with the same message...
[00:13:16]                   │ debg --- retry.try failed again with the same message...
[00:13:17]                   │ debg --- retry.try failed again with the same message...
[00:13:17]                   │ debg --- retry.try failed again with the same message...
[00:13:18]                   │ debg --- retry.try failed again with the same message...
[00:13:18]                   │ debg --- retry.try failed again with the same message...
[00:13:19]                   │ debg --- retry.try failed again with the same message...
[00:13:19]                   │ debg --- retry.try failed again with the same message...
[00:13:20]                   │ debg --- retry.try failed again with the same message...
[00:13:20]                   │ debg --- retry.try failed again with the same message...
[00:13:21]                   │ debg --- retry.try failed again with the same message...
[00:13:21]                   │ debg --- retry.try failed again with the same message...
[00:13:22]                   │ debg --- retry.try failed again with the same message...
[00:13:22]                   │ debg --- retry.try failed again with the same message...
[00:13:23]                   │ debg --- retry.try failed again with the same message...
[00:13:23]                   │ debg --- retry.try failed again with the same message...
[00:13:24]                   │ debg --- retry.try failed again with the same message...
[00:13:24]                   │ debg --- retry.try failed again with the same message...
[00:13:25]                   │ debg --- retry.try failed again with the same message...
[00:13:25]                   │ debg --- retry.try failed again with the same message...
[00:13:26]                   │ debg --- retry.try failed again with the same message...
[00:13:26]                   │ debg --- retry.try failed again with the same message...
[00:13:27]                   │ debg --- retry.try failed again with the same message...
[00:13:27]                   │ debg --- retry.try failed again with the same message...
[00:13:28]                   │ debg --- retry.try failed again with the same message...
[00:13:28]                   │ debg --- retry.try failed again with the same message...
[00:13:29]                   │ debg --- retry.try failed again with the same message...
[00:13:29]                   │ debg --- retry.try failed again with the same message...
[00:13:30]                   │ debg --- retry.try failed again with the same message...
[00:13:30]                   │ debg --- retry.try failed again with the same message...
[00:13:31]                   │ debg --- retry.try failed again with the same message...
[00:13:31]                   │ debg --- retry.try failed again with the same message...
[00:13:32]                   │ debg --- retry.try failed again with the same message...
[00:13:32]                   │ debg --- retry.try failed again with the same message...
[00:13:33]                   │ debg --- retry.try failed again with the same message...
[00:13:33]                   │ debg --- retry.try failed again with the same message...
[00:13:34]                   │ debg --- retry.try failed again with the same message...
[00:13:34]                   │ debg --- retry.try failed again with the same message...
[00:13:35]                   │ debg --- retry.try failed again with the same message...
[00:13:35]                   │ debg --- retry.try failed again with the same message...
[00:13:36]                   │ debg --- retry.try failed again with the same message...
[00:13:36]                   │ debg --- retry.try failed again with the same message...
[00:13:37]                   │ debg --- retry.try failed again with the same message...
[00:13:37]                   │ debg --- retry.try failed again with the same message...
[00:13:38]                   │ debg --- retry.try failed again with the same message...
[00:13:38]                   │ debg --- retry.try failed again with the same message...
[00:13:39]                   │ debg --- retry.try failed again with the same message...
[00:13:39]                   │ debg --- retry.try failed again with the same message...
[00:13:40]                   │ debg --- retry.try failed again with the same message...
[00:13:40]                   │ debg --- retry.try failed again with the same message...
[00:13:41]                   │ debg --- retry.try failed again with the same message...
[00:13:41]                   │ debg --- retry.try failed again with the same message...
[00:13:42]                   │ debg --- retry.try failed again with the same message...
[00:13:42]                   │ debg --- retry.try failed again with the same message...
[00:13:43]                   │ debg --- retry.try failed again with the same message...
[00:13:43]                   │ debg --- retry.try failed again with the same message...
[00:13:44]                   │ debg --- retry.try failed again with the same message...
[00:13:45]                   │ debg --- retry.try failed again with the same message...
[00:13:45]                   │ debg --- retry.try failed again with the same message...
[00:13:46]                   │ debg --- retry.try failed again with the same message...
[00:13:46]                   │ debg --- retry.try failed again with the same message...
[00:13:47]                   │ debg --- retry.try failed again with the same message...
[00:13:47]                   │ debg --- retry.try failed again with the same message...
[00:13:48]                   │ debg --- retry.try failed again with the same message...
[00:13:48]                   │ debg --- retry.try failed again with the same message...
[00:13:49]                   │ debg --- retry.try failed again with the same message...
[00:13:49]                   │ debg --- retry.try failed again with the same message...
[00:13:50]                   │ debg --- retry.try failed again with the same message...
[00:13:50]                   │ debg --- retry.try failed again with the same message...
[00:13:51]                   │ debg --- retry.try failed again with the same message...
[00:13:51]                   │ debg --- retry.try failed again with the same message...
[00:13:52]                   │ debg --- retry.try failed again with the same message...
[00:13:52]                   │ debg --- retry.try failed again with the same message...
[00:13:53]                   │ debg --- retry.try failed again with the same message...
[00:13:53]                   │ debg --- retry.try failed again with the same message...
[00:13:54]                   │ debg --- retry.try failed again with the same message...
[00:13:54]                   │ debg --- retry.try failed again with the same message...
[00:13:55]                   │ debg --- retry.try failed again with the same message...
[00:13:55]                   │ debg --- retry.try failed again with the same message...
[00:13:56]                   │ debg --- retry.try failed again with the same message...
[00:13:56]                   │ debg --- retry.try failed again with the same message...
[00:13:57]                   │ debg --- retry.try failed again with the same message...
[00:13:57]                   │ debg --- retry.try failed again with the same message...
[00:13:58]                   │ debg --- retry.try failed again with the same message...
[00:13:58]                   │ debg --- retry.try failed again with the same message...
[00:13:59]                   │ debg --- retry.try failed again with the same message...
[00:13:59]                   │ debg --- retry.try failed again with the same message...
[00:14:00]                   │ debg --- retry.try failed again with the same message...
[00:14:00]                   │ debg --- retry.try failed again with the same message...
[00:14:01]                   │ debg --- retry.try failed again with the same message...
[00:14:01]                   │ debg --- retry.try failed again with the same message...
[00:14:02]                   │ debg --- retry.try failed again with the same message...
[00:14:02]                   │ debg --- retry.try failed again with the same message...
[00:14:03]                   │ debg --- retry.try failed again with the same message...
[00:14:03]                   │ debg --- retry.try failed again with the same message...
[00:14:04]                   │ debg --- retry.try failed again with the same message...
[00:14:04]                   │ debg --- retry.try failed again with the same message...
[00:14:05]                   │ debg --- retry.try failed again with the same message...
[00:14:05]                   │ debg --- retry.try failed again with the same message...
[00:14:06]                   │ debg --- retry.try failed again with the same message...
[00:14:06]                   │ debg --- retry.try failed again with the same message...
[00:14:07]                   │ debg --- retry.try failed again with the same message...
[00:14:07]                   │ debg --- retry.try failed again with the same message...
[00:14:08]                   │ debg --- retry.try failed again with the same message...
[00:14:08]                   │ debg --- retry.try failed again with the same message...
[00:14:09]                   │ debg --- retry.try failed again with the same message...
[00:14:09]                   │ debg --- retry.try failed again with the same message...
[00:14:10]                   │ debg --- retry.try failed again with the same message...
[00:14:10]                   │ debg --- retry.try failed again with the same message...
[00:14:11]                   │ debg --- retry.try failed again with the same message...
[00:14:11]                   │ debg --- retry.try failed again with the same message...
[00:14:12]                   │ debg --- retry.try failed again with the same message...
[00:14:12]                   │ debg --- retry.try failed again with the same message...
[00:14:13]                   │ debg --- retry.try failed again with the same message...
[00:14:13]                   │ debg --- retry.try failed again with the same message...
[00:14:14]                   │ debg --- retry.try failed again with the same message...
[00:14:14]                   │ debg --- retry.try failed again with the same message...
[00:14:15]                   │ debg --- retry.try failed again with the same message...
[00:14:15]                   │ debg --- retry.try failed again with the same message...
[00:14:16]                   │ debg --- retry.try failed again with the same message...
[00:14:16]                   │ debg --- retry.try failed again with the same message...
[00:14:17]                   │ debg --- retry.try failed again with the same message...
[00:14:17]                   │ debg --- retry.try failed again with the same message...
[00:14:18]                   │ debg --- retry.try failed again with the same message...
[00:14:18]                   │ debg --- retry.try failed again with the same message...
[00:14:19]                   │ debg --- retry.try failed again with the same message...
[00:14:19]                   │ debg --- retry.try failed again with the same message...
[00:14:20]                   │ debg --- retry.try failed again with the same message...
[00:14:20]                   │ debg --- retry.try failed again with the same message...
[00:14:21]                   │ debg --- retry.try failed again with the same message...
[00:14:21]                   │ debg --- retry.try failed again with the same message...
[00:14:22]                   │ debg --- retry.try failed again with the same message...
[00:14:22]                   │ debg --- retry.try failed again with the same message...
[00:14:23]                   │ debg --- retry.try failed again with the same message...
[00:14:23]                   │ debg --- retry.try failed again with the same message...
[00:14:24]                   │ debg --- retry.try failed again with the same message...
[00:14:24]                   │ debg --- retry.try failed again with the same message...
[00:14:25]                   │ debg --- retry.try failed again with the same message...
[00:14:26]                   │ debg --- retry.try failed again with the same message...
[00:14:26]                   │ debg --- retry.try failed again with the same message...
[00:14:27]                   │ debg --- retry.try failed again with the same message...
[00:14:27]                   │ debg --- retry.try failed again with the same message...
[00:14:28]                   │ debg --- retry.try failed again with the same message...
[00:14:28]                   │ debg --- retry.try failed again with the same message...
[00:14:29]                   │ debg --- retry.try failed again with the same message...
[00:14:29]                   │ debg --- retry.try failed again with the same message...
[00:14:30]                   │ debg --- retry.try failed again with the same message...
[00:14:30]                   │ debg --- retry.try failed again with the same message...
[00:14:31]                   │ debg --- retry.try failed again with the same message...
[00:14:31]                   │ debg --- retry.try failed again with the same message...
[00:14:32]                   │ debg --- retry.try failed again with the same message...
[00:14:32]                   │ debg --- retry.try failed again with the same message...
[00:14:33]                   │ debg --- retry.try failed again with the same message...
[00:14:33]                   │ debg --- retry.try failed again with the same message...
[00:14:34]                   │ debg --- retry.try failed again with the same message...
[00:14:34]                   │ debg --- retry.try failed again with the same message...
[00:14:35]                   │ debg --- retry.try failed again with the same message...
[00:14:35]                   │ debg --- retry.try failed again with the same message...
[00:14:36]                   │ debg --- retry.try failed again with the same message...
[00:14:36]                   │ debg --- retry.try failed again with the same message...
[00:14:37]                   │ debg --- retry.try failed again with the same message...
[00:14:37]                   │ debg --- retry.try failed again with the same message...
[00:14:38]                   │ debg --- retry.try failed again with the same message...
[00:14:38]                   │ debg --- retry.try failed again with the same message...
[00:14:39]                   │ debg --- retry.try failed again with the same message...
[00:14:39]                   │ debg --- retry.try failed again with the same message...
[00:14:40]                   │ debg --- retry.try failed again with the same message...
[00:14:40]                   │ debg --- retry.try failed again with the same message...
[00:14:41]                   │ debg --- retry.try failed again with the same message...
[00:14:41]                   │ debg --- retry.try failed again with the same message...
[00:14:42]                   │ debg --- retry.try failed again with the same message...
[00:14:42]                   │ debg --- retry.try failed again with the same message...
[00:14:43]                   │ debg --- retry.try failed again with the same message...
[00:14:43]                   │ debg --- retry.try failed again with the same message...
[00:14:44]                   │ debg --- retry.try failed again with the same message...
[00:14:44]                   │ debg --- retry.try failed again with the same message...
[00:14:45]                   │ debg --- retry.try failed again with the same message...
[00:14:45]                   │ debg --- retry.try failed again with the same message...
[00:14:46]                   │ debg --- retry.try failed again with the same message...
[00:14:46]                   │ debg --- retry.try failed again with the same message...
[00:14:47]                   │ debg --- retry.try failed again with the same message...
[00:14:47]                   │ debg --- retry.try failed again with the same message...
[00:14:48]                   │ debg --- retry.try failed again with the same message...
[00:14:48]                   │ debg --- retry.try failed again with the same message...
[00:14:49]                   │ debg --- retry.try failed again with the same message...
[00:14:49]                   │ debg --- retry.try failed again with the same message...
[00:14:50]                   │ debg --- retry.try failed again with the same message...
[00:14:50]                   │ debg --- retry.try failed again with the same message...
[00:14:51]                   │ debg --- retry.try failed again with the same message...
[00:14:51]                   │ debg --- retry.try failed again with the same message...
[00:14:52]                   │ debg --- retry.try failed again with the same message...
[00:14:52]                   │ debg --- retry.try failed again with the same message...
[00:14:53]                   │ debg --- retry.try failed again with the same message...
[00:14:53]                   │ debg --- retry.try failed again with the same message...
[00:14:54]                   │ debg --- retry.try failed again with the same message...
[00:14:54]                   │ debg --- retry.try failed again with the same message...
[00:14:55]                   │ debg --- retry.try failed again with the same message...
[00:14:55]                   │ debg --- retry.try failed again with the same message...
[00:14:56]                   │ debg --- retry.try failed again with the same message...
[00:14:56]                   │ debg --- retry.try failed again with the same message...
[00:14:57]                   │ debg --- retry.try failed again with the same message...
[00:14:57]                   │ debg --- retry.try failed again with the same message...
[00:14:58]                   │ debg --- retry.try failed again with the same message...
[00:14:58]                   │ debg --- retry.try failed again with the same message...
[00:14:59]                   │ debg --- retry.try failed again with the same message...
[00:14:59]                   │ debg --- retry.try failed again with the same message...
[00:15:00]                   │ debg --- retry.try failed again with the same message...
[00:15:00]                   │ debg --- retry.try failed again with the same message...
[00:15:01]                   │ debg --- retry.try failed again with the same message...
[00:15:01]                   │ debg --- retry.try failed again with the same message...
[00:15:02]                   │ debg --- retry.try failed again with the same message...
[00:15:02]                   │ debg --- retry.try failed again with the same message...
[00:15:03]                   │ debg --- retry.try failed again with the same message...
[00:15:03]                   │ debg --- retry.try failed again with the same message...
[00:15:04]                   │ debg --- retry.try failed again with the same message...
[00:15:04]                   │ debg --- retry.try failed again with the same message...
[00:15:05]                   │ debg --- retry.try failed again with the same message...
[00:15:05]                   │ debg --- retry.try failed again with the same message...
[00:15:06]                   │ debg --- retry.try failed again with the same message...
[00:15:07]                   │ debg --- retry.try failed again with the same message...
[00:15:07]                   │ debg --- retry.try failed again with the same message...
[00:15:08]                   │ debg --- retry.try failed again with the same message...
[00:15:08]                   │ debg --- retry.try failed again with the same message...
[00:15:09]                   │ debg --- retry.try failed again with the same message...
[00:15:09]                   │ debg --- retry.try failed again with the same message...
[00:15:10]                   │ debg --- retry.try failed again with the same message...
[00:15:10]                   │ debg --- retry.try failed again with the same message...
[00:15:11]                   │ debg --- retry.try failed again with the same message...
[00:15:11]                   │ debg --- retry.try failed again with the same message...
[00:15:12]                   │ debg --- retry.try failed again with the same message...
[00:15:12]                   │ debg --- retry.try failed again with the same message...
[00:15:13]                   │ debg --- retry.try failed again with the same message...
[00:15:13]                   │ debg --- retry.try failed again with the same message...
[00:15:14]                   └- ✖ fail: "alerting api integration security and spaces enabled Alerting alerts space_1_all at space1 should schedule task, run alert and schedule actions when appropriate"
[00:15:14]                   │

Stack Trace

Error: retry.try timeout: Error: Expected 0 action_task_params objects but received 1
    at retry.try (test/alerting_api_integration/common/lib/task_manager_utils.ts:73:15)
    at process._tickCallback (internal/process/next_tick.js:68:7)
    at onFailure (/dev/shm/workspace/kibana/test/common/services/retry/retry_for_success.ts:28:9)
    at retryForSuccess (/dev/shm/workspace/kibana/test/common/services/retry/retry_for_success.ts:68:13)

History

To update your PR or re-run it, just comment with:
@elasticmachine merge upstream

@kevinlog kevinlog merged commit 4dbe261 into elastic:master Mar 13, 2020
@kevinlog kevinlog deleted the task/add-policy-details-route branch March 13, 2020 17:32
@kibanamachine
Copy link
Contributor

Friendly reminder: Looks like this PR hasn’t been backported yet.
To create backports run node scripts/backport --pr 59951 or prevent reminders by adding the backport:skip label.

@kibanamachine kibanamachine added the backport missing Added to PRs automatically when the are determined to be missing a backport. label Mar 14, 2020
@kibanamachine
Copy link
Contributor

Friendly reminder: Looks like this PR hasn’t been backported yet.
To create backports run node scripts/backport --pr 59951 or prevent reminders by adding the backport:skip label.

1 similar comment
@kibanamachine
Copy link
Contributor

Friendly reminder: Looks like this PR hasn’t been backported yet.
To create backports run node scripts/backport --pr 59951 or prevent reminders by adding the backport:skip label.

@kibanamachine kibanamachine removed the backport missing Added to PRs automatically when the are determined to be missing a backport. label Mar 16, 2020
kevinlog added a commit that referenced this pull request Mar 16, 2020
Adds policy details route as a target for the Policy forms
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature:Endpoint Elastic Endpoint feature release_note:skip Skip the PR/issue when compiling release notes v7.7.0
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants