Commit Graph

3034 Commits

Author SHA1 Message Date
Avgustin Marinov
20ebd9ba8d Add rabbitmq for verify phase (#1855)
* Add rabbit mq for verify phase

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-10-04 12:24:01 +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
Avgustin Marinov
7ca5cbe1aa Switch from eclipse/hawkbit to eclipse-hawkbit/hawkbit github (#1852)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-10-04 10:21:03 +03:00
Avgustin Marinov
2b1f8ea71c Add github build & verify actions (#1854)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-10-03 16:45:10 +03:00
Avgustin Marinov
4bc082599b Fix RoleHierarchyImpl deprecation (#1849)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-10-01 10:32:03 +03:00
Walter Bonetti
90898b146d Fix openapi schema key_name in MgmtTypeEntity.java (#1850) 2024-10-01 08:43:32 +03:00
Avgustin Marinov
d3c3a3e12a Spring Boot 3.3.4 (#1848)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-09-27 17:14:47 +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
Stanislav Trailov
48db65a8ef Switch shutdown to shutdownNow in executors (#1841)
Signed-off-by: TRS1SF3 <Stanislav.Trailov@bosch.io>
2024-09-11 12:23:19 +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
de576a047a Bump spring version to 3.3.3 (#1826)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-08-27 13:20:24 +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
Vasil Ilchev
ac34b952d9 Propose SDK Refactor (#1821)
* Propose SDK Refactor

* Added ExecutorService for DMF Devices

* After review, Created MgmtApi inside sdk-mgmt

* Removed direct dependency to halkbit-mgmt-api all mgmt related calls now goes through hawkbit-sdk-mgmt

* Added copyright header

* Removed redundant paramters for deleteController

* Fixed File Copyright Headers
2024-08-19 15:34: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
9bb61fd829 Add MDC context in SecurityContdxtTenantAware (#1818)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-08-13 09:06:53 +03:00
Avgustin Marinov
96d8831f15 Bump docker to java version 17.0.12_7 (#1817)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-08-12 11:47:18 +03:00
Avgustin Marinov
a99e80b41e MDCHandler - fix sonar findings (#1816)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-08-12 11:45:35 +03:00
Avgustin Marinov
e10542929a Small code clean-up (#1815)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-08-12 09:11:19 +03:00
Avgustin Marinov
e9759fecdb Fix MDCHandler unused import (#1814)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-08-12 08:45:27 +03:00
Avgustin Marinov
e1d928e92e Fix MDCHandler when authentication is null (#1813)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-08-12 08:43:01 +03:00
Avgustin Marinov
d851fa4d02 Remove hard servlet dependency from SystemSecurityContext (#1812)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-08-11 10:50:01 +03:00
Avgustin Marinov
e874cf5014 Feature/remove hard requirements for mdc (#1811)
* Remove hard requirements for MDCHandler dependencies

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

---------

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-08-09 18:12:58 +03:00
Avgustin Marinov
8c2d1037bb Fix Sonar findings (#1810)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-08-09 17:43:50 +03:00
Avgustin Marinov
52b3ccf885 Improve runtime apps logging configuration (#1809)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-08-09 16:48:22 +03:00
Avgustin Marinov
9dd493d783 Fix MDCHandler for servlets. Config enable -> enabled (#1808)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-08-09 16:38:20 +03:00
Avgustin Marinov
141d167a81 Improve MDCHolder method names (#1807)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-08-09 14:31:14 +03:00
Avgustin Marinov
c8321fdb44 Feature/add tenant and user into mdc (#1806)
* Add MDC

* Add tenant/user into MDC in order to be possible to be used in logging

Enabled by default. Could be disabled via hawkbit.logging.mdchandler.enable=false

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

---------

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-08-09 14:27:07 +03:00
Avgustin Marinov
bcafdbdb86 Remove contentSecurityPolicy - UI leftover (#1805)
Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-08-09 08:22:41 +03:00
Avgustin Marinov
af05adcf2c Downgrade eclipselink 4.0.4 to 4.0.3 because of a bug (#1804)
https://github.com/eclipse-ee4j/eclipselink/issues/2219

Signed-off-by: Marinov Avgustin <Avgustin.Marinov@bosch.com>
2024-08-08 14:49:15 +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
Avgustin Marinov
2f2dbf1d2b Bump dependency versions (#1799) 2024-08-02 12:20:32 +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
Diorcet Yann
2638de25d6 Ignore isEmpty methods in MgmtTargetAttributes and MgmtDistributionSetAssignments in order to avoid invalid schematic (#1794) 2024-08-01 15:19:20 +03:00