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

[7.x] Dashboard a11y tests (#58122) #59131

Merged
merged 2 commits into from
Mar 3, 2020

Conversation

majagrubic
Copy link
Contributor

Backports the following commits to 7.x:

* adding comprehensive dashboard tests

* fixing delete and adding dima changes

* Fixing some of the a11y test failures

* Fixing i18n issue

* Extracting exit fullscreen logic in a separate function

* Fixing typo

* Upgrading axe

* Fixing failing jest tests

* Removing main tag as it was causing a test to fail

* Adding focusable=false to a range control as well

* Update test/accessibility/apps/dashboard.ts

Co-Authored-By: Michail Yasonik <[email protected]>

* Fixing linting error

* Update src/legacy/core_plugins/input_control_vis/public/components/vis/list_control.tsx

Co-Authored-By: Michail Yasonik <[email protected]>

* Add comments

Co-authored-by: Bhavya RM <[email protected]>
Co-authored-by: Michail Yasonik <[email protected]>
Co-authored-by: Elastic Machine <[email protected]>
@majagrubic
Copy link
Contributor Author

@elasticmachine merge upstream

@kibanamachine
Copy link
Contributor

💛 Build succeeded, but was flaky


Test Failures

Kibana Pipeline / kibana-xpack-agent / X-Pack Saved Object API Integration Tests -- security_only.x-pack/test/saved_object_api_integration/security_only/apis/bulk_update·ts.saved objects security only enabled bulkUpdate user with no access "before all" hook for "should return 403 for hiddentype doc"

Link to Jenkins

Standard Out

Failed Tests Reporter:
  - Test has not failed recently on tracked branches
  - Test has not failed recently on tracked branches

[00:00:00]       │
[00:00:00]         └-: saved objects security only enabled
[00:00:00]           └-> "before all" hook
[00:00:00]           └-> "before all" hook
[00:00:00]             │ info [o.e.x.s.a.r.TransportPutRoleAction] [kibana-ci-immutable-centos-tests-xl-1583248413527882447] added role [kibana_legacy_user]
[00:00:01]             │ info [o.e.x.s.a.r.TransportPutRoleAction] [kibana-ci-immutable-centos-tests-xl-1583248413527882447] added role [kibana_dual_privileges_user]
[00:00:01]             │ info [o.e.x.s.a.r.TransportPutRoleAction] [kibana-ci-immutable-centos-tests-xl-1583248413527882447] added role [kibana_dual_privileges_dashboard_only_user]
[00:00:01]             │ info [o.e.x.s.a.r.TransportPutRoleAction] [kibana-ci-immutable-centos-tests-xl-1583248413527882447] added role [kibana_rbac_user]
[00:00:01]             │ info [o.e.x.s.a.r.TransportPutRoleAction] [kibana-ci-immutable-centos-tests-xl-1583248413527882447] added role [kibana_rbac_dashboard_only_user]
[00:00:01]             │ info [o.e.x.s.a.r.TransportPutRoleAction] [kibana-ci-immutable-centos-tests-xl-1583248413527882447] added role [kibana_rbac_default_space_all_user]
[00:00:01]             │ info [o.e.x.s.a.r.TransportPutRoleAction] [kibana-ci-immutable-centos-tests-xl-1583248413527882447] added role [kibana_rbac_default_space_read_user]
[00:00:01]             │ info [o.e.x.s.a.r.TransportPutRoleAction] [kibana-ci-immutable-centos-tests-xl-1583248413527882447] added role [kibana_rbac_space_1_all_user]
[00:00:01]             │ info [o.e.x.s.a.r.TransportPutRoleAction] [kibana-ci-immutable-centos-tests-xl-1583248413527882447] added role [kibana_rbac_space_1_read_user]
[00:00:01]             │ info [o.e.x.s.a.u.TransportPutUserAction] [kibana-ci-immutable-centos-tests-xl-1583248413527882447] added user [not_a_kibana_user]
[00:00:02]             │ info [o.e.x.s.a.u.TransportPutUserAction] [kibana-ci-immutable-centos-tests-xl-1583248413527882447] added user [a_kibana_legacy_user]
[00:00:02]             │ info [o.e.x.s.a.u.TransportPutUserAction] [kibana-ci-immutable-centos-tests-xl-1583248413527882447] added user [a_kibana_dual_privileges_user]
[00:00:02]             │ info [o.e.x.s.a.u.TransportPutUserAction] [kibana-ci-immutable-centos-tests-xl-1583248413527882447] added user [a_kibana_dual_privileges_dashboard_only_user]
[00:00:02]             │ info [o.e.x.s.a.u.TransportPutUserAction] [kibana-ci-immutable-centos-tests-xl-1583248413527882447] added user [a_kibana_rbac_user]
[00:00:02]             │ info [o.e.x.s.a.u.TransportPutUserAction] [kibana-ci-immutable-centos-tests-xl-1583248413527882447] added user [a_kibana_rbac_dashboard_only_user]
[00:00:02]             │ info [o.e.x.s.a.u.TransportPutUserAction] [kibana-ci-immutable-centos-tests-xl-1583248413527882447] added user [a_kibana_rbac_default_space_all_user]
[00:00:03]             │ info [o.e.x.s.a.u.TransportPutUserAction] [kibana-ci-immutable-centos-tests-xl-1583248413527882447] added user [a_kibana_rbac_default_space_read_user]
[00:00:03]             │ info [o.e.x.s.a.u.TransportPutUserAction] [kibana-ci-immutable-centos-tests-xl-1583248413527882447] added user [a_kibana_rbac_space_1_all_user]
[00:00:03]             │ info [o.e.x.s.a.u.TransportPutUserAction] [kibana-ci-immutable-centos-tests-xl-1583248413527882447] added user [a_kibana_rbac_space_1_read_user]
[00:05:09]               │ERROR [migrate saved objects] request failed (attempt=5/5)
[00:05:09]               └- ✖ fail: "saved objects security only enabled bulkUpdate user with no access "before all" hook for "should return 403 for hiddentype doc""
[00:05:09]               │
[00:04:59]           └-: bulkUpdate
[00:04:59]             └-> "before all" hook
[00:05:09]                 └-> "after all" hook
[00:04:59]             └-: user with no access
[00:04:59]               └-> "before all" hook
[00:04:59]               └-> "before all" hook
[00:04:59]                 │ info [saved_objects/spaces] Loading "mappings.json"
[00:04:59]                 │ info [saved_objects/spaces] Loading "data.json"
[00:04:59]                 │ info [o.e.c.m.MetaDataCreateIndexService] [kibana-ci-immutable-centos-tests-xl-1583248413527882447] [.kibana] creating index, cause [api], templates [], shards [1]/[0], mappings [doc]
[00:04:59]                 │ info [r.suppressed] [kibana-ci-immutable-centos-tests-xl-1583248413527882447] path: /.kibana/_doc/telemetry%3Atelemetry, params: {index=.kibana, id=telemetry:telemetry}
[00:04:59]                 │      org.elasticsearch.action.NoShardAvailableActionException: No shard available for [get [.kibana][_doc][telemetry:telemetry]: routing [null]]
[00:04:59]                 │      	at org.elasticsearch.action.support.single.shard.TransportSingleShardAction$AsyncSingleAction.perform(TransportSingleShardAction.java:224) [elasticsearch-7.7.0-SNAPSHOT.jar:7.7.0-SNAPSHOT]
[00:04:59]                 │      	at org.elasticsearch.action.support.single.shard.TransportSingleShardAction$AsyncSingleAction.onFailure(TransportSingleShardAction.java:210) [elasticsearch-7.7.0-SNAPSHOT.jar:7.7.0-SNAPSHOT]
[00:04:59]                 │      	at org.elasticsearch.action.support.single.shard.TransportSingleShardAction$AsyncSingleAction.access$1100(TransportSingleShardAction.java:136) [elasticsearch-7.7.0-SNAPSHOT.jar:7.7.0-SNAPSHOT]
[00:04:59]                 │      	at org.elasticsearch.action.support.single.shard.TransportSingleShardAction$AsyncSingleAction$2.handleException(TransportSingleShardAction.java:266) [elasticsearch-7.7.0-SNAPSHOT.jar:7.7.0-SNAPSHOT]
[00:04:59]                 │      	at org.elasticsearch.transport.TransportService$ContextRestoreResponseHandler.handleException(TransportService.java:1126) [elasticsearch-7.7.0-SNAPSHOT.jar:7.7.0-SNAPSHOT]
[00:04:59]                 │      	at org.elasticsearch.transport.TransportService$DirectResponseChannel.processException(TransportService.java:1235) [elasticsearch-7.7.0-SNAPSHOT.jar:7.7.0-SNAPSHOT]
[00:04:59]                 │      	at org.elasticsearch.transport.TransportService$DirectResponseChannel.sendResponse(TransportService.java:1209) [elasticsearch-7.7.0-SNAPSHOT.jar:7.7.0-SNAPSHOT]
[00:04:59]                 │      	at org.elasticsearch.transport.TaskTransportChannel.sendResponse(TaskTransportChannel.java:60) [elasticsearch-7.7.0-SNAPSHOT.jar:7.7.0-SNAPSHOT]
[00:04:59]                 │      	at org.elasticsearch.action.support.ChannelActionListener.onFailure(ChannelActionListener.java:56) [elasticsearch-7.7.0-SNAPSHOT.jar:7.7.0-SNAPSHOT]
[00:04:59]                 │      	at org.elasticsearch.action.ActionRunnable.onFailure(ActionRunnable.java:88) [elasticsearch-7.7.0-SNAPSHOT.jar:7.7.0-SNAPSHOT]
[00:04:59]                 │      	at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingAbstractRunnable.onFailure(ThreadContext.java:680) [elasticsearch-7.7.0-SNAPSHOT.jar:7.7.0-SNAPSHOT]
[00:04:59]                 │      	at org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:39) [elasticsearch-7.7.0-SNAPSHOT.jar:7.7.0-SNAPSHOT]
[00:04:59]                 │      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
[00:04:59]                 │      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
[00:04:59]                 │      	at java.lang.Thread.run(Thread.java:830) [?:?]
[00:04:59]                 │      Caused by: org.elasticsearch.transport.RemoteTransportException: [kibana-ci-immutable-centos-tests-xl-1583248413527882447][127.0.0.1:6193][indices:data/read/get[s]]
[00:04:59]                 │      Caused by: org.elasticsearch.index.shard.IllegalIndexShardStateException: CurrentState[RECOVERING] operations only allowed when shard state is one of [POST_RECOVERY, STARTED]
[00:04:59]                 │      	at org.elasticsearch.index.shard.IndexShard.readAllowed(IndexShard.java:1729) ~[elasticsearch-7.7.0-SNAPSHOT.jar:7.7.0-SNAPSHOT]
[00:04:59]                 │      	at org.elasticsearch.index.shard.IndexShard.get(IndexShard.java:941) ~[elasticsearch-7.7.0-SNAPSHOT.jar:7.7.0-SNAPSHOT]
[00:04:59]                 │      	at org.elasticsearch.index.get.ShardGetService.innerGet(ShardGetService.java:180) ~[elasticsearch-7.7.0-SNAPSHOT.jar:7.7.0-SNAPSHOT]
[00:04:59]                 │      	at org.elasticsearch.index.get.ShardGetService.get(ShardGetService.java:104) ~[elasticsearch-7.7.0-SNAPSHOT.jar:7.7.0-SNAPSHOT]
[00:04:59]                 │      	at org.elasticsearch.index.get.ShardGetService.get(ShardGetService.java:95) ~[elasticsearch-7.7.0-SNAPSHOT.jar:7.7.0-SNAPSHOT]
[00:04:59]                 │      	at org.elasticsearch.action.get.TransportGetAction.shardOperation(TransportGetAction.java:106) ~[elasticsearch-7.7.0-SNAPSHOT.jar:7.7.0-SNAPSHOT]
[00:04:59]                 │      	at org.elasticsearch.action.get.TransportGetAction.shardOperation(TransportGetAction.java:45) ~[elasticsearch-7.7.0-SNAPSHOT.jar:7.7.0-SNAPSHOT]
[00:04:59]                 │      	at org.elasticsearch.action.support.single.shard.TransportSingleShardAction.lambda$asyncShardOperation$0(TransportSingleShardAction.java:110) ~[elasticsearch-7.7.0-SNAPSHOT.jar:7.7.0-SNAPSHOT]
[00:04:59]                 │      	at org.elasticsearch.action.ActionRunnable.lambda$supply$0(ActionRunnable.java:58) ~[elasticsearch-7.7.0-SNAPSHOT.jar:7.7.0-SNAPSHOT]
[00:04:59]                 │      	at org.elasticsearch.action.ActionRunnable$2.doRun(ActionRunnable.java:73) ~[elasticsearch-7.7.0-SNAPSHOT.jar:7.7.0-SNAPSHOT]
[00:04:59]                 │      	at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingAbstractRunnable.doRun(ThreadContext.java:692) ~[elasticsearch-7.7.0-SNAPSHOT.jar:7.7.0-SNAPSHOT]
[00:04:59]                 │      	at org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37) ~[elasticsearch-7.7.0-SNAPSHOT.jar:7.7.0-SNAPSHOT]
[00:04:59]                 │      	... 3 more
[00:04:59]                 │ proc [kibana] internal/process/warning.js:153
[00:04:59]                 │ proc [kibana]         throw warning;
[00:04:59]                 │ proc [kibana]         ^
[00:04:59]                 │ proc [kibana] 
[00:04:59]                 │ proc [kibana] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
[00:04:59]                 │ proc [kibana]     at emitDeprecationWarning (internal/process/promises.js:111:13)
[00:04:59]                 │ proc [kibana]     at emitWarning (internal/process/promises.js:104:3)
[00:04:59]                 │ proc [kibana]     at emitPromiseRejectionWarnings (internal/process/promises.js:143:7)
[00:04:59]                 │ proc [kibana]     at process._tickCallback (internal/process/next_tick.js:69:34)
[00:04:59]                 │ info [o.e.c.r.a.AllocationService] [kibana-ci-immutable-centos-tests-xl-1583248413527882447] Cluster health status changed from [YELLOW] to [GREEN] (reason: [shards started [[.kibana][0]]]).
[00:04:59]                 │ info [saved_objects/spaces] Created index ".kibana"
[00:04:59]                 │ debg [saved_objects/spaces] ".kibana" settings {"index":{"auto_expand_replicas":"0-1","number_of_replicas":"0","number_of_shards":"1"}}
[00:04:59]                 │ info [saved_objects/spaces] Indexed 16 docs into ".kibana"
[00:04:59]                 │ info [o.e.c.m.MetaDataMappingService] [kibana-ci-immutable-centos-tests-xl-1583248413527882447] [.kibana/rpixFWx7Rwi0QLTpXw7-Nw] update_mapping [doc]
[00:04:59]                 └- ✖ fail: "saved objects security only enabled bulkUpdate user with no access "before all" hook"
[00:04:59]                 │
[00:04:59]                 └-> "after all" hook
[00:04:59]                   │ debg Migrating saved objects
[00:04:59]                   │ERROR [GET http://elastic:changeme@localhost:6191/api/status] request failed (attempt=1/5)
[00:04:59]                   │ERROR [migrate saved objects] request failed (attempt=1/5)
[00:05:00]                   │ERROR [GET http://elastic:changeme@localhost:6191/api/status] request failed (attempt=2/5)
[00:05:00]                   │ERROR [migrate saved objects] request failed (attempt=2/5)
[00:05:02]                   │ERROR [GET http://elastic:changeme@localhost:6191/api/status] request failed (attempt=3/5)
[00:05:02]                   │ERROR [migrate saved objects] request failed (attempt=3/5)
[00:05:05]                   │ERROR [GET http://elastic:changeme@localhost:6191/api/status] request failed (attempt=4/5)
[00:05:05]                   │ERROR [migrate saved objects] request failed (attempt=4/5)
[00:05:09]                   │ERROR [GET http://elastic:changeme@localhost:6191/api/status] request failed (attempt=5/5)
[00:05:09]                   └- ✖ fail: "saved objects security only enabled bulkUpdate user with no access "after all" hook for "should return 403 for hiddentype doc""
[00:05:09]                   │

Stack Trace

{ DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
    at emitDeprecationWarning (internal/process/promises.js:111:13)
    at emitWarning (internal/process/promises.js:104:3)
    at emitPromiseRejectionWarnings (internal/process/promises.js:143:7)
    at process._tickCallback (internal/process/next_tick.js:69:34)
  name: 'DeprecationWarning',
  code: 'DEP0018',
  uncaught: true,
  multiple:
   [ Error: [migrate saved objects] request failed (attempt=5/5) -- and ran out of retries
         at KbnClientRequester.request (/dev/shm/workspace/kibana/packages/kbn-dev-utils/target/kbn_client/kbn_client_requester.js:99:23)
         at process._tickCallback (internal/process/next_tick.js:68:7) ] }

Kibana Pipeline / kibana-xpack-agent / X-Pack Saved Object API Integration Tests -- security_only.x-pack/test/saved_object_api_integration/security_only/apis/bulk_update·ts.saved objects security only enabled bulkUpdate user with no access "after all" hook for "should return 403 for hiddentype doc"

Link to Jenkins

Standard Out

Failed Tests Reporter:
  - Test has not failed recently on tracked branches

[00:00:00]       │
[00:00:00]         └-: saved objects security only enabled
[00:00:00]           └-> "before all" hook
[00:00:00]           └-> "before all" hook
[00:00:00]             │ info [o.e.x.s.a.r.TransportPutRoleAction] [kibana-ci-immutable-centos-tests-xl-1583248413527882447] added role [kibana_legacy_user]
[00:00:01]             │ info [o.e.x.s.a.r.TransportPutRoleAction] [kibana-ci-immutable-centos-tests-xl-1583248413527882447] added role [kibana_dual_privileges_user]
[00:00:01]             │ info [o.e.x.s.a.r.TransportPutRoleAction] [kibana-ci-immutable-centos-tests-xl-1583248413527882447] added role [kibana_dual_privileges_dashboard_only_user]
[00:00:01]             │ info [o.e.x.s.a.r.TransportPutRoleAction] [kibana-ci-immutable-centos-tests-xl-1583248413527882447] added role [kibana_rbac_user]
[00:00:01]             │ info [o.e.x.s.a.r.TransportPutRoleAction] [kibana-ci-immutable-centos-tests-xl-1583248413527882447] added role [kibana_rbac_dashboard_only_user]
[00:00:01]             │ info [o.e.x.s.a.r.TransportPutRoleAction] [kibana-ci-immutable-centos-tests-xl-1583248413527882447] added role [kibana_rbac_default_space_all_user]
[00:00:01]             │ info [o.e.x.s.a.r.TransportPutRoleAction] [kibana-ci-immutable-centos-tests-xl-1583248413527882447] added role [kibana_rbac_default_space_read_user]
[00:00:01]             │ info [o.e.x.s.a.r.TransportPutRoleAction] [kibana-ci-immutable-centos-tests-xl-1583248413527882447] added role [kibana_rbac_space_1_all_user]
[00:00:01]             │ info [o.e.x.s.a.r.TransportPutRoleAction] [kibana-ci-immutable-centos-tests-xl-1583248413527882447] added role [kibana_rbac_space_1_read_user]
[00:00:01]             │ info [o.e.x.s.a.u.TransportPutUserAction] [kibana-ci-immutable-centos-tests-xl-1583248413527882447] added user [not_a_kibana_user]
[00:00:02]             │ info [o.e.x.s.a.u.TransportPutUserAction] [kibana-ci-immutable-centos-tests-xl-1583248413527882447] added user [a_kibana_legacy_user]
[00:00:02]             │ info [o.e.x.s.a.u.TransportPutUserAction] [kibana-ci-immutable-centos-tests-xl-1583248413527882447] added user [a_kibana_dual_privileges_user]
[00:00:02]             │ info [o.e.x.s.a.u.TransportPutUserAction] [kibana-ci-immutable-centos-tests-xl-1583248413527882447] added user [a_kibana_dual_privileges_dashboard_only_user]
[00:00:02]             │ info [o.e.x.s.a.u.TransportPutUserAction] [kibana-ci-immutable-centos-tests-xl-1583248413527882447] added user [a_kibana_rbac_user]
[00:00:02]             │ info [o.e.x.s.a.u.TransportPutUserAction] [kibana-ci-immutable-centos-tests-xl-1583248413527882447] added user [a_kibana_rbac_dashboard_only_user]
[00:00:02]             │ info [o.e.x.s.a.u.TransportPutUserAction] [kibana-ci-immutable-centos-tests-xl-1583248413527882447] added user [a_kibana_rbac_default_space_all_user]
[00:00:03]             │ info [o.e.x.s.a.u.TransportPutUserAction] [kibana-ci-immutable-centos-tests-xl-1583248413527882447] added user [a_kibana_rbac_default_space_read_user]
[00:00:03]             │ info [o.e.x.s.a.u.TransportPutUserAction] [kibana-ci-immutable-centos-tests-xl-1583248413527882447] added user [a_kibana_rbac_space_1_all_user]
[00:00:03]             │ info [o.e.x.s.a.u.TransportPutUserAction] [kibana-ci-immutable-centos-tests-xl-1583248413527882447] added user [a_kibana_rbac_space_1_read_user]
[00:04:59]           └-: bulkUpdate
[00:04:59]             └-> "before all" hook
[00:04:59]             └-: user with no access
[00:04:59]               └-> "before all" hook
[00:04:59]               └-> "before all" hook
[00:04:59]                 │ info [saved_objects/spaces] Loading "mappings.json"
[00:04:59]                 │ info [saved_objects/spaces] Loading "data.json"
[00:04:59]                 │ info [o.e.c.m.MetaDataCreateIndexService] [kibana-ci-immutable-centos-tests-xl-1583248413527882447] [.kibana] creating index, cause [api], templates [], shards [1]/[0], mappings [doc]
[00:04:59]                 │ info [r.suppressed] [kibana-ci-immutable-centos-tests-xl-1583248413527882447] path: /.kibana/_doc/telemetry%3Atelemetry, params: {index=.kibana, id=telemetry:telemetry}
[00:04:59]                 │      org.elasticsearch.action.NoShardAvailableActionException: No shard available for [get [.kibana][_doc][telemetry:telemetry]: routing [null]]
[00:04:59]                 │      	at org.elasticsearch.action.support.single.shard.TransportSingleShardAction$AsyncSingleAction.perform(TransportSingleShardAction.java:224) [elasticsearch-7.7.0-SNAPSHOT.jar:7.7.0-SNAPSHOT]
[00:04:59]                 │      	at org.elasticsearch.action.support.single.shard.TransportSingleShardAction$AsyncSingleAction.onFailure(TransportSingleShardAction.java:210) [elasticsearch-7.7.0-SNAPSHOT.jar:7.7.0-SNAPSHOT]
[00:04:59]                 │      	at org.elasticsearch.action.support.single.shard.TransportSingleShardAction$AsyncSingleAction.access$1100(TransportSingleShardAction.java:136) [elasticsearch-7.7.0-SNAPSHOT.jar:7.7.0-SNAPSHOT]
[00:04:59]                 │      	at org.elasticsearch.action.support.single.shard.TransportSingleShardAction$AsyncSingleAction$2.handleException(TransportSingleShardAction.java:266) [elasticsearch-7.7.0-SNAPSHOT.jar:7.7.0-SNAPSHOT]
[00:04:59]                 │      	at org.elasticsearch.transport.TransportService$ContextRestoreResponseHandler.handleException(TransportService.java:1126) [elasticsearch-7.7.0-SNAPSHOT.jar:7.7.0-SNAPSHOT]
[00:04:59]                 │      	at org.elasticsearch.transport.TransportService$DirectResponseChannel.processException(TransportService.java:1235) [elasticsearch-7.7.0-SNAPSHOT.jar:7.7.0-SNAPSHOT]
[00:04:59]                 │      	at org.elasticsearch.transport.TransportService$DirectResponseChannel.sendResponse(TransportService.java:1209) [elasticsearch-7.7.0-SNAPSHOT.jar:7.7.0-SNAPSHOT]
[00:04:59]                 │      	at org.elasticsearch.transport.TaskTransportChannel.sendResponse(TaskTransportChannel.java:60) [elasticsearch-7.7.0-SNAPSHOT.jar:7.7.0-SNAPSHOT]
[00:04:59]                 │      	at org.elasticsearch.action.support.ChannelActionListener.onFailure(ChannelActionListener.java:56) [elasticsearch-7.7.0-SNAPSHOT.jar:7.7.0-SNAPSHOT]
[00:04:59]                 │      	at org.elasticsearch.action.ActionRunnable.onFailure(ActionRunnable.java:88) [elasticsearch-7.7.0-SNAPSHOT.jar:7.7.0-SNAPSHOT]
[00:04:59]                 │      	at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingAbstractRunnable.onFailure(ThreadContext.java:680) [elasticsearch-7.7.0-SNAPSHOT.jar:7.7.0-SNAPSHOT]
[00:04:59]                 │      	at org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:39) [elasticsearch-7.7.0-SNAPSHOT.jar:7.7.0-SNAPSHOT]
[00:04:59]                 │      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
[00:04:59]                 │      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
[00:04:59]                 │      	at java.lang.Thread.run(Thread.java:830) [?:?]
[00:04:59]                 │      Caused by: org.elasticsearch.transport.RemoteTransportException: [kibana-ci-immutable-centos-tests-xl-1583248413527882447][127.0.0.1:6193][indices:data/read/get[s]]
[00:04:59]                 │      Caused by: org.elasticsearch.index.shard.IllegalIndexShardStateException: CurrentState[RECOVERING] operations only allowed when shard state is one of [POST_RECOVERY, STARTED]
[00:04:59]                 │      	at org.elasticsearch.index.shard.IndexShard.readAllowed(IndexShard.java:1729) ~[elasticsearch-7.7.0-SNAPSHOT.jar:7.7.0-SNAPSHOT]
[00:04:59]                 │      	at org.elasticsearch.index.shard.IndexShard.get(IndexShard.java:941) ~[elasticsearch-7.7.0-SNAPSHOT.jar:7.7.0-SNAPSHOT]
[00:04:59]                 │      	at org.elasticsearch.index.get.ShardGetService.innerGet(ShardGetService.java:180) ~[elasticsearch-7.7.0-SNAPSHOT.jar:7.7.0-SNAPSHOT]
[00:04:59]                 │      	at org.elasticsearch.index.get.ShardGetService.get(ShardGetService.java:104) ~[elasticsearch-7.7.0-SNAPSHOT.jar:7.7.0-SNAPSHOT]
[00:04:59]                 │      	at org.elasticsearch.index.get.ShardGetService.get(ShardGetService.java:95) ~[elasticsearch-7.7.0-SNAPSHOT.jar:7.7.0-SNAPSHOT]
[00:04:59]                 │      	at org.elasticsearch.action.get.TransportGetAction.shardOperation(TransportGetAction.java:106) ~[elasticsearch-7.7.0-SNAPSHOT.jar:7.7.0-SNAPSHOT]
[00:04:59]                 │      	at org.elasticsearch.action.get.TransportGetAction.shardOperation(TransportGetAction.java:45) ~[elasticsearch-7.7.0-SNAPSHOT.jar:7.7.0-SNAPSHOT]
[00:04:59]                 │      	at org.elasticsearch.action.support.single.shard.TransportSingleShardAction.lambda$asyncShardOperation$0(TransportSingleShardAction.java:110) ~[elasticsearch-7.7.0-SNAPSHOT.jar:7.7.0-SNAPSHOT]
[00:04:59]                 │      	at org.elasticsearch.action.ActionRunnable.lambda$supply$0(ActionRunnable.java:58) ~[elasticsearch-7.7.0-SNAPSHOT.jar:7.7.0-SNAPSHOT]
[00:04:59]                 │      	at org.elasticsearch.action.ActionRunnable$2.doRun(ActionRunnable.java:73) ~[elasticsearch-7.7.0-SNAPSHOT.jar:7.7.0-SNAPSHOT]
[00:04:59]                 │      	at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingAbstractRunnable.doRun(ThreadContext.java:692) ~[elasticsearch-7.7.0-SNAPSHOT.jar:7.7.0-SNAPSHOT]
[00:04:59]                 │      	at org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37) ~[elasticsearch-7.7.0-SNAPSHOT.jar:7.7.0-SNAPSHOT]
[00:04:59]                 │      	... 3 more
[00:04:59]                 │ proc [kibana] internal/process/warning.js:153
[00:04:59]                 │ proc [kibana]         throw warning;
[00:04:59]                 │ proc [kibana]         ^
[00:04:59]                 │ proc [kibana] 
[00:04:59]                 │ proc [kibana] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
[00:04:59]                 │ proc [kibana]     at emitDeprecationWarning (internal/process/promises.js:111:13)
[00:04:59]                 │ proc [kibana]     at emitWarning (internal/process/promises.js:104:3)
[00:04:59]                 │ proc [kibana]     at emitPromiseRejectionWarnings (internal/process/promises.js:143:7)
[00:04:59]                 │ proc [kibana]     at process._tickCallback (internal/process/next_tick.js:69:34)
[00:04:59]                 │ info [o.e.c.r.a.AllocationService] [kibana-ci-immutable-centos-tests-xl-1583248413527882447] Cluster health status changed from [YELLOW] to [GREEN] (reason: [shards started [[.kibana][0]]]).
[00:04:59]                 │ info [saved_objects/spaces] Created index ".kibana"
[00:04:59]                 │ debg [saved_objects/spaces] ".kibana" settings {"index":{"auto_expand_replicas":"0-1","number_of_replicas":"0","number_of_shards":"1"}}
[00:04:59]                 │ info [saved_objects/spaces] Indexed 16 docs into ".kibana"
[00:04:59]                 │ info [o.e.c.m.MetaDataMappingService] [kibana-ci-immutable-centos-tests-xl-1583248413527882447] [.kibana/rpixFWx7Rwi0QLTpXw7-Nw] update_mapping [doc]
[00:04:59]                 └- ✖ fail: "saved objects security only enabled bulkUpdate user with no access "before all" hook"
[00:04:59]                 │
[00:04:59]                 └-> "after all" hook
[00:04:59]                   │ debg Migrating saved objects
[00:04:59]                   │ERROR [GET http://elastic:changeme@localhost:6191/api/status] request failed (attempt=1/5)
[00:04:59]                   │ERROR [migrate saved objects] request failed (attempt=1/5)
[00:05:00]                   │ERROR [GET http://elastic:changeme@localhost:6191/api/status] request failed (attempt=2/5)
[00:05:00]                   │ERROR [migrate saved objects] request failed (attempt=2/5)
[00:05:02]                   │ERROR [GET http://elastic:changeme@localhost:6191/api/status] request failed (attempt=3/5)
[00:05:02]                   │ERROR [migrate saved objects] request failed (attempt=3/5)
[00:05:05]                   │ERROR [GET http://elastic:changeme@localhost:6191/api/status] request failed (attempt=4/5)
[00:05:05]                   │ERROR [migrate saved objects] request failed (attempt=4/5)
[00:05:09]                   │ERROR [GET http://elastic:changeme@localhost:6191/api/status] request failed (attempt=5/5)
[00:05:09]                   └- ✖ fail: "saved objects security only enabled bulkUpdate user with no access "after all" hook for "should return 403 for hiddentype doc""
[00:05:09]                   │

Stack Trace

Error: [GET http://elastic:changeme@localhost:6191/api/status] request failed (attempt=5/5) -- and ran out of retries
    at KbnClientRequester.request (/dev/shm/workspace/kibana/packages/kbn-dev-utils/target/kbn_client/kbn_client_requester.js:99:23)
    at process._tickCallback (internal/process/next_tick.js:68:7)

Kibana Pipeline / kibana-xpack-agent / X-Pack Saved Object API Integration Tests -- security_only.x-pack/test/saved_object_api_integration/security_only/apis/bulk_update·ts.saved objects security only enabled bulkUpdate user with no access "before all" hook for "should return 403 for hiddentype doc"

Link to Jenkins

Standard Out

Failed Tests Reporter:
  - Test has not failed recently on tracked branches
  - Test has not failed recently on tracked branches

[00:00:00]       │
[00:00:00]         └-: saved objects security only enabled
[00:00:00]           └-> "before all" hook
[00:00:00]           └-> "before all" hook
[00:00:00]             │ info [o.e.x.s.a.r.TransportPutRoleAction] [kibana-ci-immutable-centos-tests-xl-1583248413527882447] added role [kibana_legacy_user]
[00:00:01]             │ info [o.e.x.s.a.r.TransportPutRoleAction] [kibana-ci-immutable-centos-tests-xl-1583248413527882447] added role [kibana_dual_privileges_user]
[00:00:01]             │ info [o.e.x.s.a.r.TransportPutRoleAction] [kibana-ci-immutable-centos-tests-xl-1583248413527882447] added role [kibana_dual_privileges_dashboard_only_user]
[00:00:01]             │ info [o.e.x.s.a.r.TransportPutRoleAction] [kibana-ci-immutable-centos-tests-xl-1583248413527882447] added role [kibana_rbac_user]
[00:00:01]             │ info [o.e.x.s.a.r.TransportPutRoleAction] [kibana-ci-immutable-centos-tests-xl-1583248413527882447] added role [kibana_rbac_dashboard_only_user]
[00:00:01]             │ info [o.e.x.s.a.r.TransportPutRoleAction] [kibana-ci-immutable-centos-tests-xl-1583248413527882447] added role [kibana_rbac_default_space_all_user]
[00:00:01]             │ info [o.e.x.s.a.r.TransportPutRoleAction] [kibana-ci-immutable-centos-tests-xl-1583248413527882447] added role [kibana_rbac_default_space_read_user]
[00:00:01]             │ info [o.e.x.s.a.r.TransportPutRoleAction] [kibana-ci-immutable-centos-tests-xl-1583248413527882447] added role [kibana_rbac_space_1_all_user]
[00:00:01]             │ info [o.e.x.s.a.r.TransportPutRoleAction] [kibana-ci-immutable-centos-tests-xl-1583248413527882447] added role [kibana_rbac_space_1_read_user]
[00:00:01]             │ info [o.e.x.s.a.u.TransportPutUserAction] [kibana-ci-immutable-centos-tests-xl-1583248413527882447] added user [not_a_kibana_user]
[00:00:02]             │ info [o.e.x.s.a.u.TransportPutUserAction] [kibana-ci-immutable-centos-tests-xl-1583248413527882447] added user [a_kibana_legacy_user]
[00:00:02]             │ info [o.e.x.s.a.u.TransportPutUserAction] [kibana-ci-immutable-centos-tests-xl-1583248413527882447] added user [a_kibana_dual_privileges_user]
[00:00:02]             │ info [o.e.x.s.a.u.TransportPutUserAction] [kibana-ci-immutable-centos-tests-xl-1583248413527882447] added user [a_kibana_dual_privileges_dashboard_only_user]
[00:00:02]             │ info [o.e.x.s.a.u.TransportPutUserAction] [kibana-ci-immutable-centos-tests-xl-1583248413527882447] added user [a_kibana_rbac_user]
[00:00:02]             │ info [o.e.x.s.a.u.TransportPutUserAction] [kibana-ci-immutable-centos-tests-xl-1583248413527882447] added user [a_kibana_rbac_dashboard_only_user]
[00:00:02]             │ info [o.e.x.s.a.u.TransportPutUserAction] [kibana-ci-immutable-centos-tests-xl-1583248413527882447] added user [a_kibana_rbac_default_space_all_user]
[00:00:03]             │ info [o.e.x.s.a.u.TransportPutUserAction] [kibana-ci-immutable-centos-tests-xl-1583248413527882447] added user [a_kibana_rbac_default_space_read_user]
[00:00:03]             │ info [o.e.x.s.a.u.TransportPutUserAction] [kibana-ci-immutable-centos-tests-xl-1583248413527882447] added user [a_kibana_rbac_space_1_all_user]
[00:00:03]             │ info [o.e.x.s.a.u.TransportPutUserAction] [kibana-ci-immutable-centos-tests-xl-1583248413527882447] added user [a_kibana_rbac_space_1_read_user]
[00:05:09]               │ERROR [migrate saved objects] request failed (attempt=5/5)
[00:05:09]               └- ✖ fail: "saved objects security only enabled bulkUpdate user with no access "before all" hook for "should return 403 for hiddentype doc""
[00:05:09]               │
[00:04:59]           └-: bulkUpdate
[00:04:59]             └-> "before all" hook
[00:05:09]                 └-> "after all" hook
[00:04:59]             └-: user with no access
[00:04:59]               └-> "before all" hook
[00:04:59]               └-> "before all" hook
[00:04:59]                 │ info [saved_objects/spaces] Loading "mappings.json"
[00:04:59]                 │ info [saved_objects/spaces] Loading "data.json"
[00:04:59]                 │ info [o.e.c.m.MetaDataCreateIndexService] [kibana-ci-immutable-centos-tests-xl-1583248413527882447] [.kibana] creating index, cause [api], templates [], shards [1]/[0], mappings [doc]
[00:04:59]                 │ info [r.suppressed] [kibana-ci-immutable-centos-tests-xl-1583248413527882447] path: /.kibana/_doc/telemetry%3Atelemetry, params: {index=.kibana, id=telemetry:telemetry}
[00:04:59]                 │      org.elasticsearch.action.NoShardAvailableActionException: No shard available for [get [.kibana][_doc][telemetry:telemetry]: routing [null]]
[00:04:59]                 │      	at org.elasticsearch.action.support.single.shard.TransportSingleShardAction$AsyncSingleAction.perform(TransportSingleShardAction.java:224) [elasticsearch-7.7.0-SNAPSHOT.jar:7.7.0-SNAPSHOT]
[00:04:59]                 │      	at org.elasticsearch.action.support.single.shard.TransportSingleShardAction$AsyncSingleAction.onFailure(TransportSingleShardAction.java:210) [elasticsearch-7.7.0-SNAPSHOT.jar:7.7.0-SNAPSHOT]
[00:04:59]                 │      	at org.elasticsearch.action.support.single.shard.TransportSingleShardAction$AsyncSingleAction.access$1100(TransportSingleShardAction.java:136) [elasticsearch-7.7.0-SNAPSHOT.jar:7.7.0-SNAPSHOT]
[00:04:59]                 │      	at org.elasticsearch.action.support.single.shard.TransportSingleShardAction$AsyncSingleAction$2.handleException(TransportSingleShardAction.java:266) [elasticsearch-7.7.0-SNAPSHOT.jar:7.7.0-SNAPSHOT]
[00:04:59]                 │      	at org.elasticsearch.transport.TransportService$ContextRestoreResponseHandler.handleException(TransportService.java:1126) [elasticsearch-7.7.0-SNAPSHOT.jar:7.7.0-SNAPSHOT]
[00:04:59]                 │      	at org.elasticsearch.transport.TransportService$DirectResponseChannel.processException(TransportService.java:1235) [elasticsearch-7.7.0-SNAPSHOT.jar:7.7.0-SNAPSHOT]
[00:04:59]                 │      	at org.elasticsearch.transport.TransportService$DirectResponseChannel.sendResponse(TransportService.java:1209) [elasticsearch-7.7.0-SNAPSHOT.jar:7.7.0-SNAPSHOT]
[00:04:59]                 │      	at org.elasticsearch.transport.TaskTransportChannel.sendResponse(TaskTransportChannel.java:60) [elasticsearch-7.7.0-SNAPSHOT.jar:7.7.0-SNAPSHOT]
[00:04:59]                 │      	at org.elasticsearch.action.support.ChannelActionListener.onFailure(ChannelActionListener.java:56) [elasticsearch-7.7.0-SNAPSHOT.jar:7.7.0-SNAPSHOT]
[00:04:59]                 │      	at org.elasticsearch.action.ActionRunnable.onFailure(ActionRunnable.java:88) [elasticsearch-7.7.0-SNAPSHOT.jar:7.7.0-SNAPSHOT]
[00:04:59]                 │      	at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingAbstractRunnable.onFailure(ThreadContext.java:680) [elasticsearch-7.7.0-SNAPSHOT.jar:7.7.0-SNAPSHOT]
[00:04:59]                 │      	at org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:39) [elasticsearch-7.7.0-SNAPSHOT.jar:7.7.0-SNAPSHOT]
[00:04:59]                 │      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
[00:04:59]                 │      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
[00:04:59]                 │      	at java.lang.Thread.run(Thread.java:830) [?:?]
[00:04:59]                 │      Caused by: org.elasticsearch.transport.RemoteTransportException: [kibana-ci-immutable-centos-tests-xl-1583248413527882447][127.0.0.1:6193][indices:data/read/get[s]]
[00:04:59]                 │      Caused by: org.elasticsearch.index.shard.IllegalIndexShardStateException: CurrentState[RECOVERING] operations only allowed when shard state is one of [POST_RECOVERY, STARTED]
[00:04:59]                 │      	at org.elasticsearch.index.shard.IndexShard.readAllowed(IndexShard.java:1729) ~[elasticsearch-7.7.0-SNAPSHOT.jar:7.7.0-SNAPSHOT]
[00:04:59]                 │      	at org.elasticsearch.index.shard.IndexShard.get(IndexShard.java:941) ~[elasticsearch-7.7.0-SNAPSHOT.jar:7.7.0-SNAPSHOT]
[00:04:59]                 │      	at org.elasticsearch.index.get.ShardGetService.innerGet(ShardGetService.java:180) ~[elasticsearch-7.7.0-SNAPSHOT.jar:7.7.0-SNAPSHOT]
[00:04:59]                 │      	at org.elasticsearch.index.get.ShardGetService.get(ShardGetService.java:104) ~[elasticsearch-7.7.0-SNAPSHOT.jar:7.7.0-SNAPSHOT]
[00:04:59]                 │      	at org.elasticsearch.index.get.ShardGetService.get(ShardGetService.java:95) ~[elasticsearch-7.7.0-SNAPSHOT.jar:7.7.0-SNAPSHOT]
[00:04:59]                 │      	at org.elasticsearch.action.get.TransportGetAction.shardOperation(TransportGetAction.java:106) ~[elasticsearch-7.7.0-SNAPSHOT.jar:7.7.0-SNAPSHOT]
[00:04:59]                 │      	at org.elasticsearch.action.get.TransportGetAction.shardOperation(TransportGetAction.java:45) ~[elasticsearch-7.7.0-SNAPSHOT.jar:7.7.0-SNAPSHOT]
[00:04:59]                 │      	at org.elasticsearch.action.support.single.shard.TransportSingleShardAction.lambda$asyncShardOperation$0(TransportSingleShardAction.java:110) ~[elasticsearch-7.7.0-SNAPSHOT.jar:7.7.0-SNAPSHOT]
[00:04:59]                 │      	at org.elasticsearch.action.ActionRunnable.lambda$supply$0(ActionRunnable.java:58) ~[elasticsearch-7.7.0-SNAPSHOT.jar:7.7.0-SNAPSHOT]
[00:04:59]                 │      	at org.elasticsearch.action.ActionRunnable$2.doRun(ActionRunnable.java:73) ~[elasticsearch-7.7.0-SNAPSHOT.jar:7.7.0-SNAPSHOT]
[00:04:59]                 │      	at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingAbstractRunnable.doRun(ThreadContext.java:692) ~[elasticsearch-7.7.0-SNAPSHOT.jar:7.7.0-SNAPSHOT]
[00:04:59]                 │      	at org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37) ~[elasticsearch-7.7.0-SNAPSHOT.jar:7.7.0-SNAPSHOT]
[00:04:59]                 │      	... 3 more
[00:04:59]                 │ proc [kibana] internal/process/warning.js:153
[00:04:59]                 │ proc [kibana]         throw warning;
[00:04:59]                 │ proc [kibana]         ^
[00:04:59]                 │ proc [kibana] 
[00:04:59]                 │ proc [kibana] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
[00:04:59]                 │ proc [kibana]     at emitDeprecationWarning (internal/process/promises.js:111:13)
[00:04:59]                 │ proc [kibana]     at emitWarning (internal/process/promises.js:104:3)
[00:04:59]                 │ proc [kibana]     at emitPromiseRejectionWarnings (internal/process/promises.js:143:7)
[00:04:59]                 │ proc [kibana]     at process._tickCallback (internal/process/next_tick.js:69:34)
[00:04:59]                 │ info [o.e.c.r.a.AllocationService] [kibana-ci-immutable-centos-tests-xl-1583248413527882447] Cluster health status changed from [YELLOW] to [GREEN] (reason: [shards started [[.kibana][0]]]).
[00:04:59]                 │ info [saved_objects/spaces] Created index ".kibana"
[00:04:59]                 │ debg [saved_objects/spaces] ".kibana" settings {"index":{"auto_expand_replicas":"0-1","number_of_replicas":"0","number_of_shards":"1"}}
[00:04:59]                 │ info [saved_objects/spaces] Indexed 16 docs into ".kibana"
[00:04:59]                 │ info [o.e.c.m.MetaDataMappingService] [kibana-ci-immutable-centos-tests-xl-1583248413527882447] [.kibana/rpixFWx7Rwi0QLTpXw7-Nw] update_mapping [doc]
[00:04:59]                 └- ✖ fail: "saved objects security only enabled bulkUpdate user with no access "before all" hook"
[00:04:59]                 │
[00:04:59]                 └-> "after all" hook
[00:04:59]                   │ debg Migrating saved objects
[00:04:59]                   │ERROR [GET http://elastic:changeme@localhost:6191/api/status] request failed (attempt=1/5)
[00:04:59]                   │ERROR [migrate saved objects] request failed (attempt=1/5)
[00:05:00]                   │ERROR [GET http://elastic:changeme@localhost:6191/api/status] request failed (attempt=2/5)
[00:05:00]                   │ERROR [migrate saved objects] request failed (attempt=2/5)
[00:05:02]                   │ERROR [GET http://elastic:changeme@localhost:6191/api/status] request failed (attempt=3/5)
[00:05:02]                   │ERROR [migrate saved objects] request failed (attempt=3/5)
[00:05:05]                   │ERROR [GET http://elastic:changeme@localhost:6191/api/status] request failed (attempt=4/5)
[00:05:05]                   │ERROR [migrate saved objects] request failed (attempt=4/5)
[00:05:09]                   │ERROR [GET http://elastic:changeme@localhost:6191/api/status] request failed (attempt=5/5)
[00:05:09]                   └- ✖ fail: "saved objects security only enabled bulkUpdate user with no access "after all" hook for "should return 403 for hiddentype doc""
[00:05:09]                   │

Stack Trace

Error: [migrate saved objects] request failed (attempt=5/5) -- and ran out of retries
    at KbnClientRequester.request (/dev/shm/workspace/kibana/packages/kbn-dev-utils/target/kbn_client/kbn_client_requester.js:99:23)
    at process._tickCallback (internal/process/next_tick.js:68:7)

History

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

@majagrubic majagrubic merged commit 59a12ab into elastic:7.x Mar 3, 2020
@majagrubic majagrubic deleted the backport/7.x/pr-58122 branch March 3, 2020 17:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants