Commit Graph

869 Commits

Author SHA1 Message Date
Avgustin Marinov
3e1965a13b Fix sonar finding (#1829)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-08-27 17:06:47 +03:00
Avgustin Marinov
7753f6cb5c Optimize RSQL Visitor G2 (#1828)
Use single join for or of same type as 'tag==tag1 or tag==tag2 or tag==tag3'

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-08-27 16:17:56 +03:00
Avgustin Marinov
ba9013d861 Style-only (no functional changes) refactoring of G2 RSQL Visitor (#1827)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-08-27 13:45:12 +03:00
Avgustin Marinov
de12d9b3de Return back legacy RSQL visitor until G2 maturity (#1825)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-08-27 13:16:28 +03:00
Avgustin Marinov
d9d4469a95 Fix RSQL filter for no target tag and OR (#1824)
* Fix RSQL filter for no target tag and OR
* add test for such filter
* Clean up the code

keeps the legacy Rsql Visitor which could be used with hawkbit.rsql.legacyRsqlVisitor=true

---------

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-08-27 10:48:55 +03:00
Avgustin Marinov
55cc600114 Small serach fields refactoring (add lombok & style) (#1823)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-08-23 12:24:29 +03:00
Avgustin Marinov
d958d8e82c Remove download by downloadId functionality (#1820)
This functionallity seems to get via AMQP (after some authentication)
a private (wihtout need of authentication) url to an artifact assigned
to the controller.

By default, DDI or DMF shall provide proper urls (for direct download)
to devices and if they have to be without authentication this shall be
solved in different ways - for instance separate download server providing
dedicated private / signed urls.

This functinallity is not a real hawkBit part but more like something
intended to solve some edge cases.
Since it is complicated, heeds support, doesn't solve wide spread use
cases, and could be achieved with other means - better to be removed.

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-08-14 17:28:46 +03:00
Avgustin Marinov
12928a5939 Fix/jparolloutshandlerlogging (#1819)
Fix JpaExecutorHandler logging MDC context

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-08-13 09:30:09 +03:00
Avgustin Marinov
3002b50807 Improve JpaRolloutHandler logging (#1801)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-08-02 16:17:01 +03:00
Avgustin Marinov
0afd7e8036 Skip involvement into dynamic rollout only when idle (#1800)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-08-02 12:40:46 +03:00
Denislav Prinov
dc5b45b94a Refactoring the DDI Offline Distribution set assignment feature (#1798)
* Refactoring the DDI Offline Distribution set assignment feature

Signed-off-by: Denislav Prinov <denislav.prinov@bosch.com>

* Tests refactoring

Signed-off-by: Denislav Prinov <denislav.prinov@bosch.com>

* make it more visible the featyre is experimental

Signed-off-by: Denislav Prinov <denislav.prinov@bosch.com>

---------

Signed-off-by: Denislav Prinov <denislav.prinov@bosch.com>
2024-08-01 16:14:40 +03:00
Avgustin Marinov
6fd52d4b4a Involve all targets in dynamic rollouts (#1795)
* involve targets into dynamic rollouts eagerly - doesn't wait for dynamic group to become running in order to involve devices
* adds trottling for involving targes into dynamic groups
* small style refactoring

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com
2024-08-01 15:36:29 +03:00
Florian BEZANNIER
0013750f78 feat: allow a target to set offline assigned distribution set (#1620)
* feat: allow a target to set offline assigned distribution set

Signed-off-by: Florian Bezannier <florian.bezannier@hotmail.fr>

* refacto: apply @avgustinmm recommendation

* docs: Mark update offline API as experimental

---------

Signed-off-by: Florian Bezannier <florian.bezannier@hotmail.fr>
2024-08-01 11:51:31 +03:00
Denislav Prinov
aa8ab69c1f Add targeted indexes to improve query performance (#1783)
Signed-off-by: Denislav Prinov <denislav.prinov@bosch.com>
2024-08-01 11:44:58 +03:00
Avgustin Marinov
ae09e2fbef [#1778] Prevent deletion of Software Module of locked DS (#1793)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-08-01 08:57:50 +03:00
Avgustin Marinov
3189531162 Add support for target tag retrieval via REST (#1782)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-07-24 14:01:40 +03:00
Avgustin Marinov
06c06bcd8f Fix Sonar findings (#1779)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-07-23 12:06:39 +03:00
Avgustin Marinov
c1de86b29e Remove target tag to target reference (#1772)
* Remove target tag to target reference

it is not used and could lead to extensive memory usage if JPA provider load targets while loading tags

Also, remove search field controller id as not meaningful

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>

* Fix review findings

---------

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-07-19 13:56:30 +03:00
Avgustin Marinov
56ab399493 Remove target type to target reference (#1771)
it is not used and could lead to extensive memory usage if JPA provider load targets while loading types

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-07-18 18:13:03 +03:00
Avgustin Marinov
bb288eab6b Remove guava dependency (#1776)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-07-17 15:48:24 +03:00
Avgustin Marinov
a021de5829 Improve base pom structure (#1774)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-07-17 14:30:36 +03:00
Avgustin Marinov
683fc1124c Remove unnecessary use of com.google.common.primitives.Ints (#1775)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-07-17 13:46:53 +03:00
Avgustin Marinov
87050dd26c Add dynamic group finish scenario test (#1769)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-07-15 13:36:12 +03:00
Avgustin Marinov
ff6d7a29f6 Improve building of SQL from an RSQL query (#1766)
* Improve building of SQL from an RSQL query

* ignore case behavior could be disabled
* like is used only when needed

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>

* Inlining of some methods and unified IN build + fix case

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>

* Implement more flexible ignore case configuration

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>

---------

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-07-15 13:04:47 +03:00
Avgustin Marinov
beeb2523e2 Fix transactions on mysql of createActionsForDynamicGroupInNewTransaction (#1768)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-07-12 16:43:17 +03:00
Avgustin Marinov
9b9bc7ee00 Align dynamic action behaviour with the static ones (#1764)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-07-12 08:30:46 +03:00
Avgustin Marinov
8e82a9252f Fix applying createdat less or equal to rollout group filter (#1765)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-07-11 16:04:24 +03:00
Avgustin Marinov
c5e5c2bb45 Fix transitive software module lock on explicit DS lock (#1762)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-07-11 09:34:57 +03:00
Avgustin Marinov
719062215f More consistent auditor (#1756)
* action initiated by is set as current auditor - not user
* auto assigned by is set as current auditor - not user
PS: some unused method removed from DeplopymenHelper

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-06-27 15:31:45 +03:00
Avgustin Marinov
494170405a Small Rollout create code improvements (#1754)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-06-26 11:06:56 +03:00
Avgustin Marinov
4b2c454f1d Fix flaky rollouts flow test (#1753)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-06-26 10:14:10 +03:00
Avgustin Marinov
8b3434fc17 Add support for dynamic rollout group template (#1752)
1. Add support in REST and Mgmt API for dynamic group template
2. If present - groups follows the pattern of this template, otherwise - the last static group
3. This allows to create pure dynamic rollout with 0 static groups - auto assignment equivalent with groups

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-06-26 08:31:01 +03:00
Avgustin Marinov
40f99962d2 Add REST method for update rollout (#1749)
* adds PUT method for updating name and description of a rollout
* restrict RolloutUpdate to changing only name and description
* small refactoring

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-06-24 09:16:39 +03:00
Avgustin Marinov
6e6f96a0f4 Fix lastModifiedBy on modification perfomed by the JpaRolloutExecutor (#1748)
1. The auditor is got on transaction commit - so haven't used the tenant & user context until now - write system
2. The start/stop/delete are called by the user (saved in lastModifiedBy) but then executed in JpaRolloutExecutor

So the change is:
1. Fix auditor for actions taken by JpaRolloutExecutor to be the createdBy
2. for start/stop/delete the auditor is set to the lastModifiedBy for the transaction (hence all action taken)

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-06-21 08:27:24 +03:00
Stanislav Trailov
b42765b4eb handle error when iterating over active rollouts! (#1747)
* handle error when iterating over active rollouts!

Signed-off-by: TRS1SF3 <Stanislav.Trailov@bosch.io>

* fix typo and message

Signed-off-by: TRS1SF3 <Stanislav.Trailov@bosch.io>

---------

Signed-off-by: TRS1SF3 <Stanislav.Trailov@bosch.io>
2024-06-17 09:23:56 +03:00
Avgustin Marinov
7d62e81515 Add PollStatus to result of list targets via REST API (#1734)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-05-22 11:02:21 +03:00
Avgustin Marinov
9b5c4851c5 Add locked Distribution Set delete tests (#1729)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-05-07 11:22:32 +03:00
Avgustin Marinov
d1b7f1d70e Fixed SecurityContextSwitch method name (#1716)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-04-15 09:04:21 +03:00
Avgustin Marinov
da67193e0f Make SecurityContextSwitch more intuitive (#1715)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-04-12 17:48:58 +03:00
Avgustin Marinov
1f2dd28ab6 [#1712] Fix READ_TENANT_CONFIGURATION hierarchy and add tests (#1714)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-04-12 17:39:31 +03:00
Avgustin Marinov
3611a8eccd [#1712] Introduce READ_TENANT_CONFIGURATION permission (#1713)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-04-12 14:30:29 +03:00
Vasil Ilchev
4dc3758b55 Fix sonar complains (#1705) 2024-04-10 18:35:20 +03:00
Avgustin Marinov
4c9ee2e364 Remove unused fields from JpaDistributionSet (#1704)
These fields also could lead to big memory usage if the JPA provider doesn't get LAZY hint

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-04-10 14:01:31 +03:00
Avgustin Marinov
718c7381f4 Fix outdated (and maybe wrong) jpa related properties (#1702)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-04-09 13:53:12 +03:00
Avgustin Marinov
a37702744c SDK improvements (#1693)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-03-19 17:35:14 +02:00
Avgustin Marinov
8b3a6f084d [#1651] Fix tag config - case insensitive (test) (#1681)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-03-08 15:44:10 +02:00
Avgustin Marinov
936e6d6d66 [#1651] Implement skip DistributionSet implicit lock on DS tags (#1680)
tags the implicit lock is skipped on are configured via
RepositoryProperties.skipImplicitLockForTags list.
By default skip tags are the ones with names:
"skip-implicit-lock", "skip_implicit_lock", "SKIP_IMPLICIT_LOCK", "SKIP-IMPLICIT-LOCK"

+ this commit centralize the implicit lock enable/disable logic

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-03-08 14:58:31 +02:00
Avgustin Marinov
3f060e84a3 [#1651] Fix tenant level config for DistributionSet implicit lock (enabled by default) (#1679)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-03-08 14:16:31 +02:00
Avgustin Marinov
9ac51ab988 [#1651] Implement tenant level config for DistributionSet implicit lock (#1678)
enabled by default

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-03-08 12:43:53 +02:00
Avgustin Marinov
ce9918ce00 [#1651] Add SoftwareModule and DistributionSet unlock (REST) (#1677)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-03-08 11:28:24 +02:00