opensearch-project / security-dashboards-plugin

🔐 Manage your internal users, roles, access control, and audit logs from OpenSearch Dashboards
https://opensearch.org/docs/latest/security-plugin/index/
Apache License 2.0
66 stars 148 forks source link

[Multiple Datasource] Add automated tests for version decoupling #1853

Open cwperks opened 3 months ago

cwperks commented 3 months ago

Opening an issue to track testing for version decoupling with multiple datasources. As part of CI, we should add checks to ensure that the security-dashboards-plugin is compatible with all the versions of clusters that it is purported to be compatible with.

It will be important to establish a definition for compatibility of the security-dashboards-plugin and prior OpenSearch versions. Core features of the security-dashboards-plugin (like the features tested during release sanity testing) should work when connected to a backend datasource of prior versions.

Core features to test include:

The security APIs have seldomly changed in the last series of minor releases, but one API that may be incompatible is the dynamic multi-tenancy feature introduced in 2.7.

derek-ho commented 3 months ago

Easy solution: throw: https://github.com/opensearch-project/security-dashboards-plugin/blob/feature/supporting-multiple-datasources/test/jest_integration/security_entity_api.test.ts#L426 into a matrix of runners going back to whatever we support. If the run succeeds we should be compatible

scrawfor99 commented 3 months ago

[Triage] Hi @cwperks, thanks for filing this issue. It seems smart to test something we say we support like decoupled backend and frontends. It looks like Derek has listed a possible way of adding this testing as well.

DarshitChanpura commented 2 months ago

Test scenarios:

Unknowns that should be addressed prior to testing:

PS: CRUD updates mean : create, read, update and delete security config entities

For backwards compatibility:

As an admin:

As a normal user: