Commit Graph

610 Commits

Author SHA1 Message Date
Avgustin Marinov
26e68c9d2c Rollback migration SQL files, accidently formatted (#1956)
This leads to problems with flyway

Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2024-11-07 10:38:09 +02:00
Avgustin Marinov
0f5c87a0c8 Code format hawkbit-repository (#1939)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-11-05 11:27:41 +02:00
Avgustin Marinov
eb1cb699ca Code format hawkbit-repository-jpa3 (#1932)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-11-05 10:28:55 +02:00
Avgustin Marinov
ef857baa9e Code format hawkbit-repository-jpa (#1928)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-11-05 09:54:34 +02:00
Avgustin Marinov
ec7fb0cd1b Fix target failOnMissingDs (#1906)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-10-17 18:51:21 +03:00
Avgustin Marinov
8419169d52 Add support for on not found policy in Target REST (un)assignTags (#1905)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-10-17 18:40:56 +03:00
Avgustin Marinov
a976d4733d Add support for on not found policy in TargetManagement.(un)assignTags (#1904)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-10-17 17:43:34 +03:00
Avgustin Marinov
1bc467d470 Add notFound support (& test) for assign tag to ds REST (#1903)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-10-17 17:18:36 +03:00
Avgustin Marinov
707df1abd9 Add notFound suppor (& test) for assign REST (#1902)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-10-17 17:06:08 +03:00
Avgustin Marinov
331cf8e692 Fix ACM DS test (#1900)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-10-17 16:40:53 +03:00
Avgustin Marinov
84a9539aab Add not found target (on assign) test (#1897)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-10-17 13:52:51 +03:00
Avgustin Marinov
f90ced20df Add not found DS test & improve EntityNotFoundException (#1896)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-10-17 13:50:41 +03:00
Avgustin Marinov
c76a2e2db5 Fix non found exception content of DS management (un)assignTag (#1895)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-10-17 13:07:10 +03:00
Avgustin Marinov
0c6b64221f Fix non found exception content of target management (un)assignTag (#1894)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-10-17 12:42:39 +03:00
Avgustin Marinov
43a965fb97 Improve Target assign tag test - add check for real tags in management API (#1892)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-10-17 11:00:45 +03:00
Avgustin Marinov
c13bd052cf Improve DS assign tag test - add check for real tags in management API (#1891)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-10-17 10:59:10 +03:00
Avgustin Marinov
897c49602c Remove deprecated toggle ds tag assigment from where possible (#1888)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-10-17 10:21:11 +03:00
Avgustin Marinov
903e5727a0 Remove deprecated toggle tag assigment from where possible (#1886)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-10-17 09:08:38 +03:00
Avgustin Marinov
31c4ffafc1 Improve DS Tag REST & management API (#1883)
* added methods to unassign by multiple ds
* deprecated toggle assigments - too complex to undestand
* deprecated unassign (management) of single ds  - in favour of methods with multiple ds

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-10-16 16:03:39 +03:00
Avgustin Marinov
8d9f076271 Move Target tag deprecations to end of classes (#1882)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-10-16 15:15:10 +03:00
Avgustin Marinov
a5b24cac68 Improve Target Tag REST & management API (#1880)
* added methods to unassign by multiple controller ids
* deprecated toggle assigments - too complex to undestand
* deprecated unassign (management) of single controller id - in favour of methods with controller ids

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-10-16 14:51:26 +03:00
Avgustin Marinov
8d78cea9d2 Web env none in tests where not needed (#1871)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-10-04 16:51:10 +03:00
Avgustin Marinov
56139fea12 Remove Deprecations - SoftwareModuleMangement (#1870)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-10-04 15:29:58 +03:00
Avgustin Marinov
d953ec5c7d Remove Deprecations - ActionRepository (#1869)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-10-04 15:21:41 +03:00
Avgustin Marinov
de323b66d1 Fix concurrent starting the next group (#1853)
when in StartNextGroupRolloutGroupSuccessAction#startNextGroup:
    1. start all scheduled actions
    2. if started are > 0 -> RUNNING, otherwise -> FINISHED (if not dynamic rollout)

what could possibly happen is that at same time:
    * because of a success condition met the JpaRolloutsExecutor triggers start the group
    * user triggers start of the next group (via RolloutsManagement#triggerNextGroup)

then it could:
    * the 'first' one succeeds to start next group
    * the second attempts to start it (JpaRolloutsExecutor found the previous had met the success condition or trigger next found it SCHEDULED and next to run)
    * the second finds no scheduled actions (just running) and decides there are no actions. So, it assumes (wrongly) no actions in group - and set it as FINISHED

This way we could have FINISHED group with still running actions

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-10-04 11:05:05 +03:00
Vasil Ilchev
3d9354782b Quota must be checked with conditions over incoming status, not curre… (#1847)
* Quota must be checked with conditions over incoming status, not current persisted in db

* Fix Download_Only case where DOWNLOADED is threated as 'final'.
Fix ci build tests.

* Review findings
2024-09-24 13:07:50 +03:00
Vasil Ilchev
1edc9574ab Quota for ActionStatus push to be checked only for intermediate statuses. Always allow terminate/final status (#1846) 2024-09-20 15:20:08 +03:00
Avgustin Marinov
aed717df57 Add support for efficient tagging and BIG set of targets (#1844)
Adding a method with:

* optimized payload - just controller ids
* no response payload - not needed for that use-case
* targeting - thousands of targets tagged at once

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-09-19 13:56:59 +03:00
Avgustin Marinov
b1f9991a16 Slight rsql code improvements (#1840)
* Slight RSQL code improvements(2)

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

* Generics from Path<Object> to Path<?>

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

---------

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-09-10 17:03:45 +03:00
Avgustin Marinov
f64d6eb04f Slight RSQL code improvements (#1839)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-09-10 15:42:37 +03:00
Avgustin Marinov
52912c3cca Optimize G2 subqueries for != and out - remove unused joins in all cases (#1838)
At the moment such unused are removed for "tag!=1 and tag==2" but not for "tag==2 and tag!=1"

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-09-10 14:48:59 +03:00
Avgustin Marinov
62734e936a Refactor RSQL search fields related classes (4) (#1837)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-09-10 12:29:55 +03:00
Avgustin Marinov
dd500b4d53 Refactor RSQL searach fields related classes (3) (#1836)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-09-10 11:38:31 +03:00
Avgustin Marinov
368c18ed5e Refactor RSQL serach fields related classes (2) (#1835)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-09-09 17:44:01 +03:00
Avgustin Marinov
072809be6c Refactor RSQL serach fields related classes (#1834)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-09-09 17:39:45 +03:00
Avgustin Marinov
a31028ee19 Slight improvements in RSQL to SQL logic (#1833)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-09-09 16:10:31 +03:00
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
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