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

Support Configuration of Duplicate Filtering in Camunda Run #2652

Closed
2 tasks done
ThorbenLindhauer opened this issue Apr 5, 2022 · 4 comments
Closed
2 tasks done
Assignees
Labels
scope:run Changes to the Run distribution. type:feature Issues that add a new user feature to the project. version:7.22.0-alpha6 version:7.22.0

Comments

@ThorbenLindhauer
Copy link
Member

ThorbenLindhauer commented Apr 5, 2022

This issue was imported from JIRA:

Field Value
JIRA Link CAM-14529
Reporter @jonathanlukas
Has restricted visibility comments true

User Story (Required on creation):

As a system administrator, I want Camunda Run to be configurable regarding filtering of resource deployments so that I can properly deploy resources that depend on each other inside one deployment.

Functional Requirements (Required before implementation):

  • Configuration option in Run to enable/disable duplicate filtering on deployments

Technical Requirements (Required before implementation):

  • Add a configuration property to Run for "deployChangedOnly"
  • Pass on the configured value to the SpringProcessEngineConfiguration (currently "setDeployChangedOnly" is called with "true" in the constructor of CamundaBpmRunProcessEngineConfiguration)

Limitations of Scope (Optional):

This only applies to Camunda Platform Run

Hints (optional):

Links:

Breakdown

Code & Docs

  1. ci:run
    psavidis
  2. psavidis

Dev2QA handover

  • Does this ticket need a QA test and the testing goals are not clear from the description? Add a Dev2QA handover comment

Testing instructions:

The deployChangedOnly=true flag is currently populated in default.yml, production.yml.
The goal of this testing is to ensure that the the configuration and the behaviour of filtering resources works in camunda-run. Please find below two test cases that verify the above, along with example steps to follow for doing the testing.

Scenario # 1

  • When deployChangedOnly is set to true, Then a resource of a deployment without changes should not be redeployed upon restart
    • Example Steps:
      • Build and Extract camunda-run in /camunda-bpm-platform/distro/run/distro/target/camunda-bpm-run-7.22.0-SNAPSHOT/ folder
      • Place two resources e.g two text files: text1.txt -> "This is text1", text2.txt -> "This is text2"
      • Startup camunda-run (invoke start.sh)
      • Check Cockpit; a SpringAutoDeployment should exist under deployments containing both files.
      • Shutdown camunda-run (invoke shutdown.sh)
      • Change only text1.txt
      • Start the application again
      • Check cockpit; a new deployment called SpringAutoDeployment should exist that contains only the changed resource text1.txt

Scenario # 2

  • When deployChangedOnly is set to false, Then all resources of a deployment should be redeployed upon a restart
    • Example steps:
      • Build and Extract camunda-run in /camunda-bpm-platform/distro/run/distro/target/camunda-bpm-run-7.22.0-SNAPSHOT/ folder
      • Place two resources e.g two text files: text1.txt -> "This is text1", text2.txt -> "This is text2"
      • Startup camunda-run (invoke start.sh)
      • Check Cockpit; a SpringAutoDeployment should exist under deployments containing both files.
      • Shutdown camunda-run (invoke shutdown.sh)
      • Change only text1.txt
      • Start the application again
      • Check cockpit; a new deployment called SpringAutoDeployment should exist that contains both files text1.txt and text2.txt, despite that only text1.txt changed
@ThorbenLindhauer
Copy link
Member Author

This comment was imported from JIRA and written by user @tmetzke


Hey @jonathanlukas,

thanks for creating this proposal. We'll look into it as soon as possible and get back with proper feedback.

Best,
Tobias

@ThorbenLindhauer
Copy link
Member Author

This comment was imported from JIRA and written by user @tmetzke


Hey @jonathanlukas,

thanks again for bringing this up. I think this makes a lot of sense in the scope of the product.
It will allow for more flexibility in the configuration of Run, as this is currently hardwired in the application code.

I will forward your proposal to product management to consider this in our roadmap planning.
Be aware that this does not yet mean that we will work on this in the near future.
If you would like to speed up the process and provide a code contribution, feel free to create an appropriate Pull Request in our GitHub repository. If you intend to go this way, please also make sure your changes are covered with tests.

In order to make an informed decision on the priority, please let us know if there are any existing (customer) use cases you are aware of that would benefit from this.

Best,
Tobias

psavidis added a commit to camunda/camunda-docs-manual that referenced this issue Sep 17, 2024
Add documentation for property `camunda.bpm.run.deploymentdeploy-changed-only`

Related-to: camunda/camunda-bpm-platform#2652
@psavidis psavidis assigned danielkelemen and unassigned psavidis Sep 17, 2024
@psavidis psavidis changed the title Support configuration of duplicate filtering in Camunda Run Support Configuration of Duplicate Filtering in Camunda Run Sep 20, 2024
psavidis added a commit that referenced this issue Sep 20, 2024
Description: The feature allows camunda-run to parameterise the filtering of duplicate resources via a configurable flag.

Feature-flag: This commit introduces the new feature flag `camunda.bpm.run.deployment.deploy-changed-only`
Default-value: `true` (to be backwards compatible with the previously hardcoded behaviour)

Has-refactoring: This commit also refactors the `@CamundaBpmRunConfiguration` and all its dependencies to be simpler and conforming to spring-boot best practices.

Has-unit-tests: This commit adds three test cases for covering the enabling | Disabling | Absence of the new property.

Related-to: #2652
psavidis added a commit to camunda/camunda-docs-manual that referenced this issue Sep 20, 2024
Where: `User Guide | Camunda 7 Run`
What
- Section `Deployment`
- Property `camunda.bpm.run.deployment.deploy-changed-only`

Related-to: camunda/camunda-bpm-platform#2652
@psavidis
Copy link
Contributor

psavidis commented Sep 20, 2024

The code and documentation are done. Assigning the ticket to @gbetances089 for doing the QA tests (see Dev2QA handover section)

@psavidis psavidis assigned gbetances089 and unassigned psavidis Sep 20, 2024
@gbetances089
Copy link
Member

Verified on camunda-bpm-run-ee-7.22.0-20240923.090257-103

hauptmedia added a commit to hauptmedia/operaton that referenced this issue Nov 7, 2024
Description: The feature allows camunda-run to parameterise the filtering of duplicate resources via a configurable flag.

Feature-flag: This commit introduces the new feature flag `camunda.bpm.run.deployment.deploy-changed-only`
Default-value: `true` (to be backwards compatible with the previously hardcoded behaviour)

Has-refactoring: This commit also refactors the `@CamundaBpmRunConfiguration` and all its dependencies to be simpler and conforming to spring-boot best practices.

Has-unit-tests: This commit adds three test cases for covering the enabling | Disabling | Absence of the new property.

Related-to: camunda/camunda-bpm-platform#2652

Backported commit e7941a3f50 from the camunda-bpm-platform repository.
Original author: psavidis <[email protected]>"
javahippie pushed a commit to operaton/operaton that referenced this issue Nov 7, 2024
Description: The feature allows camunda-run to parameterise the filtering of duplicate resources via a configurable flag.

Feature-flag: This commit introduces the new feature flag `camunda.bpm.run.deployment.deploy-changed-only`
Default-value: `true` (to be backwards compatible with the previously hardcoded behaviour)

Has-refactoring: This commit also refactors the `@CamundaBpmRunConfiguration` and all its dependencies to be simpler and conforming to spring-boot best practices.

Has-unit-tests: This commit adds three test cases for covering the enabling | Disabling | Absence of the new property.

Related-to: camunda/camunda-bpm-platform#2652

Backported commit e7941a3f50 from the camunda-bpm-platform repository.
Original author: psavidis <[email protected]>"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
scope:run Changes to the Run distribution. type:feature Issues that add a new user feature to the project. version:7.22.0-alpha6 version:7.22.0
Projects
None yet
Development

No branches or pull requests

5 participants