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

Sap system deregistration/restore based on the database #2456

Merged
merged 14 commits into from
Mar 25, 2024

Conversation

CDimonaco
Copy link
Member

Description

This PR adds the SAP systems restoration/deregistration based on the database.

How was this tested?

Automated tests

@CDimonaco CDimonaco added enhancement New feature or request elixir Pull requests that update Elixir code labels Mar 21, 2024
@CDimonaco CDimonaco requested review from arbulu89 and EMaksy March 21, 2024 14:45
@CDimonaco CDimonaco self-assigned this Mar 21, 2024
@CDimonaco CDimonaco changed the base branch from main to multi-tenant March 21, 2024 14:45
Copy link
Contributor

@arbulu89 arbulu89 left a comment

Choose a reason for hiding this comment

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

Hey @CDimonaco
The code is great!
The aggregate code is super super clean!!!
Let's try just to fix the tests and figure it out the relationship between sap system and database instances

@CDimonaco CDimonaco force-pushed the database_deregistration branch 2 times, most recently from ae1112a to 3b74416 Compare March 21, 2024 16:17
Copy link
Contributor

@arbulu89 arbulu89 left a comment

Choose a reason for hiding this comment

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

Hey @CDimonaco
Leaving a green light!
You can merge once you fix the tests.
Have a look to my previous messages if you want as well

@CDimonaco CDimonaco force-pushed the database_deregistration branch from 00fa91f to 4fcc7cc Compare March 22, 2024 09:40
Copy link
Member

@EMaksy EMaksy left a comment

Choose a reason for hiding this comment

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

Hey man, code looks good!
It seems the failing test are a little bit nasty :/

@CDimonaco CDimonaco force-pushed the database_deregistration branch 2 times, most recently from c4061af to bbc3eec Compare March 25, 2024 13:54
@CDimonaco CDimonaco force-pushed the database_deregistration branch from bbc3eec to bf0aa53 Compare March 25, 2024 14:18
@CDimonaco CDimonaco merged commit ca7866b into multi-tenant Mar 25, 2024
18 of 19 checks passed
@CDimonaco CDimonaco deleted the database_deregistration branch March 25, 2024 14:27
arbulu89 pushed a commit that referenced this pull request Mar 26, 2024
* Add relationship between database and sap systems readmodel

* Add enriched database id to RegisterApplicationInstance command

* Add database id to SapSystemRegistered event

* Sap system projector projects database association

* Changed sap system view to reflect readmodels changes

* Update test factory

* Add explicit Restore/Deregistration to SapSystem aggregate

* Add event handlers for deregistration/restore of sap systems

* mix credo

* Refactor database instances relationship in sap systems rm

* Route new sap system commands in commanded

* Add db host and tenant in restore sap system command

* Fix database restore event handler test

* Addressing feedbacks, fix testing
arbulu89 pushed a commit that referenced this pull request Mar 26, 2024
* Add relationship between database and sap systems readmodel

* Add enriched database id to RegisterApplicationInstance command

* Add database id to SapSystemRegistered event

* Sap system projector projects database association

* Changed sap system view to reflect readmodels changes

* Update test factory

* Add explicit Restore/Deregistration to SapSystem aggregate

* Add event handlers for deregistration/restore of sap systems

* mix credo

* Refactor database instances relationship in sap systems rm

* Route new sap system commands in commanded

* Add db host and tenant in restore sap system command

* Fix database restore event handler test

* Addressing feedbacks, fix testing
arbulu89 pushed a commit that referenced this pull request Mar 27, 2024
* Add relationship between database and sap systems readmodel

* Add enriched database id to RegisterApplicationInstance command

* Add database id to SapSystemRegistered event

* Sap system projector projects database association

* Changed sap system view to reflect readmodels changes

* Update test factory

* Add explicit Restore/Deregistration to SapSystem aggregate

* Add event handlers for deregistration/restore of sap systems

* mix credo

* Refactor database instances relationship in sap systems rm

* Route new sap system commands in commanded

* Add db host and tenant in restore sap system command

* Fix database restore event handler test

* Addressing feedbacks, fix testing
arbulu89 pushed a commit that referenced this pull request Apr 2, 2024
* Add relationship between database and sap systems readmodel

* Add enriched database id to RegisterApplicationInstance command

* Add database id to SapSystemRegistered event

* Sap system projector projects database association

* Changed sap system view to reflect readmodels changes

* Update test factory

* Add explicit Restore/Deregistration to SapSystem aggregate

* Add event handlers for deregistration/restore of sap systems

* mix credo

* Refactor database instances relationship in sap systems rm

* Route new sap system commands in commanded

* Add db host and tenant in restore sap system command

* Fix database restore event handler test

* Addressing feedbacks, fix testing
arbulu89 pushed a commit that referenced this pull request Apr 4, 2024
* Add relationship between database and sap systems readmodel

* Add enriched database id to RegisterApplicationInstance command

* Add database id to SapSystemRegistered event

* Sap system projector projects database association

* Changed sap system view to reflect readmodels changes

* Update test factory

* Add explicit Restore/Deregistration to SapSystem aggregate

* Add event handlers for deregistration/restore of sap systems

* mix credo

* Refactor database instances relationship in sap systems rm

* Route new sap system commands in commanded

* Add db host and tenant in restore sap system command

* Fix database restore event handler test

* Addressing feedbacks, fix testing
arbulu89 pushed a commit that referenced this pull request Apr 9, 2024
* Add relationship between database and sap systems readmodel

* Add enriched database id to RegisterApplicationInstance command

* Add database id to SapSystemRegistered event

* Sap system projector projects database association

* Changed sap system view to reflect readmodels changes

* Update test factory

* Add explicit Restore/Deregistration to SapSystem aggregate

* Add event handlers for deregistration/restore of sap systems

* mix credo

* Refactor database instances relationship in sap systems rm

* Route new sap system commands in commanded

* Add db host and tenant in restore sap system command

* Fix database restore event handler test

* Addressing feedbacks, fix testing
arbulu89 pushed a commit that referenced this pull request Apr 16, 2024
* Add relationship between database and sap systems readmodel

* Add enriched database id to RegisterApplicationInstance command

* Add database id to SapSystemRegistered event

* Sap system projector projects database association

* Changed sap system view to reflect readmodels changes

* Update test factory

* Add explicit Restore/Deregistration to SapSystem aggregate

* Add event handlers for deregistration/restore of sap systems

* mix credo

* Refactor database instances relationship in sap systems rm

* Route new sap system commands in commanded

* Add db host and tenant in restore sap system command

* Fix database restore event handler test

* Addressing feedbacks, fix testing
arbulu89 added a commit that referenced this pull request Apr 16, 2024
* Split sap system database aggregates (#2445)

* Add new database aggregate code

* Remove database logic from sap system aggregate

* Redirect router commands to database aggregate

* Adapt deregistration process manager

* Adapt enrichment protocol

* Adapt sap system discovery policy

* Adapt remaining code alias and tests

* Adapt related e2e tests

* Update the aggregates docstring

* Leftover dosctring and pattern matching entries

* Move database events (#2452)

* Create new databases context file

* Move the database events to its folder

* Sap system deregistration/restore based on the database (#2456)

* Add relationship between database and sap systems readmodel

* Add enriched database id to RegisterApplicationInstance command

* Add database id to SapSystemRegistered event

* Sap system projector projects database association

* Changed sap system view to reflect readmodels changes

* Update test factory

* Add explicit Restore/Deregistration to SapSystem aggregate

* Add event handlers for deregistration/restore of sap systems

* mix credo

* Refactor database instances relationship in sap systems rm

* Route new sap system commands in commanded

* Add db host and tenant in restore sap system command

* Fix database restore event handler test

* Addressing feedbacks, fix testing

* Database rollup (#2469)

* Create required rollup command and events

* Update the database aggregate to use the rollup logic

* Add rollup events to database lifespan

* Handle the rollup events

* Use database rollup in deregistration process manager

* Move database projections (#2454)

* Update database read models and projections

* Adapt all the aliases and new fields

* Adapt tests to use the new database projections

* Fix dialyzer warning

* Fix conflicted aliases and tests

* Move database controller views (#2472)

* Move the database controller

* Move the database view

* Remove fields that cause errors in view rendering

* Adapt frontend to use the new database_id field (#2473)

* Adapt frontend to use the new database_id field

* Fix host details view story to show the sap instance type

* Update frontend to correlate SAP systems and databases properly (#2480)

* Update backend and fix tests

* Fix frontend links, test and update factory

* Update open api schema and fix test

* Refactor test and update database_factory

* Add database to keep reference

* Apply database health to sap system (#2474)

* Create and modify new commands and events to add database health

* Implement the domain logic

* Add new event listener to listen to db health change events

* Update the other event handler and middleware functions

* Add e2e test case

* Handle old database events (#2485)

* Add migration to remove old sap system entries

* Upcast old events to use the proper database id

* Handle old events that do not apply now

* Handle legacy rolled up event

* Add common upcaster function

* Test the events upcasting logic

* Use a macro to upcast all the related events

* Test legacy events are being ignored

* Handle database legacy events in the sap system aggregate

* Use a enrichment protocol instead of aggregate code

* Make the rollback possible in the migration

* Fix Incorrect RDBMS Value Display on SAP Systems Overview (#2492)

* The RDBMS value in sap systems overview shows the database sid

* Remove unused attached Rdbms data from DatabasesOverview

* Add database_sid on sap system registration event

* Refactor view and tests

* Add test for sap system view render

* Address comments about test and view

* Refactor sap_system_view test

* Fix get systems by cluster selector (#2499)

* Fix getSystemsByClusterHosts selector function

* Add check in e2e test

* Multi tenant discovery (#2500)

* wip

* Database aggregate support for multiple tenants

* Sap system policy support for multi tenant discovery

* removed tenant information from DatabaseInstanceRegistered event

* Database tenants on DatabaseReadModel

* Mix format

* wip

* Enrich application instance middleware with updated tenant query

* health summary service extract tenant from sap system

* HealthOverview returns database_sid as deprecated tenant field

the new field database_sid is added for clarity and the frontend is
changed to reflect the new api field

* Fix database view and controller

* mix credo

* fix mispell

* Npm run format

* Addressing review feedbacks

* Add upcasting regression e2e test to the CI (#2504)

* Add upcasting regression e2e test to the CI

* Use gh-action for restore and switch to plain sql

* Pin ubuntu container to 22.04

* Remove fabriziosestito and add janvhs in the maintainers

* Revert wrongly changed path (#2509)

* Revert wrongly changed path

* Remove newline

* Remove sid duplication from view (#2516)

* Remove sid duplication from view

* Filter by id instead of sid

* Fix state mockup and move import

* Apply cosmetics

* Add photofinish scenario for multi-tenant case (#2521)

* Add photofinish scenario for multi-tenant case

* Update correct agent_id in filenames

* Add photofinish scenario usage in CI

* Adjust agent version

---------

Co-authored-by: Carmine Di Monaco <carmine.dimonaco@suse.com>
Co-authored-by: Eugen Maksymenko <emaksymenko@suse.com>
Co-authored-by: Rubén Torrero Marijnissen <rtorreromarijnissen@suse.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
elixir Pull requests that update Elixir code enhancement New feature or request
Development

Successfully merging this pull request may close these issues.

3 participants