Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • May 03 13:52

    bogdan-bondar on master

    Fix the action status icon "CAN… (compare)

  • May 03 13:52
    bogdan-bondar closed #1115
  • May 03 10:47
    hawkbit-bot commented #1115
  • May 03 10:39
    herdt-michael opened #1115
  • May 03 07:41
    ramannas synchronize #1111
  • Apr 30 06:53
    ramannas synchronize #1111
  • Apr 29 15:22
    singrob synchronize #1112
  • Apr 29 07:59
    ramannas synchronize #1111
  • Apr 28 16:07
    hawkbit-bot commented #1114
  • Apr 28 15:57
    ramannas opened #1114
  • Apr 28 11:04
    singrob synchronize #1112
  • Apr 27 14:12
    ntx-ben commented #873
  • Apr 26 18:57
    hawkbit-bot commented #1113
  • Apr 26 18:50
    dependabot[bot] labeled #1113
  • Apr 26 18:50
    dependabot[bot] opened #1113
  • Apr 26 18:50

    dependabot[bot] on maven

    Bump commons-io from 2.5 to 2.7… (compare)

  • Apr 26 15:07
    singrob synchronize #1112
  • Apr 26 14:15

    bogdan-bondar on master

    Refactor AutoAssignExecutor to … (compare)

  • Apr 26 14:15
    bogdan-bondar closed #1110
  • Apr 26 13:39
    singrob synchronize #1112
goliath's github
@gwgoliath
Hi All: Currently we got ten thousand devices on the hawkbit ota server, but yesterday we found we can not create rollout anymore. Is anyone ever got the same issue before? Is there any limitation may cause this problem? Thanks!
Ivo Kovac
@kovacivo

Hello smart folks! I am wondering how to use the following Hawkbit server feature regarding authentication configuration:

Allow targets to authenticate via a certificate authenticated by a reverse proxy

I am running RAUC client on target device - actually RAUC updater written in C. I am already running Nginx with reverse proxy with SSL enabled. Somehow I can't find information when googling about this topic.

1 reply
Ivo Kovac
@kovacivo
@dobleralex thanks for this link! I will give it a try.
Nnamdi Ajah
@nnamdi.ajah_gitlab
Hello All: Please I have this problem of rauc-hawkbit-updater being unable to delete a failed update bundle in /tmp/ i.e. /tmp/bundle.raucb. User of the file is root, but the group is rauc-hawkbit. However when chmod 777 on /tmp, it is able to delete the file - but that is a security risk. In the rauc-hawkbit-updater service, user and group is set to rauc-hawkbit. So I am wondering why rauc-hawkbit-updater is dumping the bundle.raucb as user root
Nnamdi Ajah
@nnamdi.ajah_gitlab
fixed it by adding CAP_FOWNER to the AmbientCapabilities settings
rheumess
@rheumess
Hello today I tried again to run the docker-compose variant explained under https://www.eclipse.org/hawkbit/gettingstarted/ the option: B: Run hawkBit Update Server with services as Docker Compose
What used to work without problems some days ago is not working any longer. The mysql container produces following errors:

2021-03-19 09:58:32+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 5.7.33-1debian10 started.

2021-03-19 09:58:32+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'

2021-03-19 09:58:32+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 5.7.33-1debian10 started.

2021-03-19 09:58:32+00:00 [ERROR] [Entrypoint]: MYSQL_USER="root", MYSQL_PASSWORD cannot be used for the root user

Use one of the following to control the root user password:

  • MYSQL_ROOT_PASSWORD

  • MYSQL_ALLOW_EMPTY_PASSWORD

  • MYSQL_RANDOM_ROOT_PASSWORD

Somehow the mysql container ignores the MYSQL_ALLOW_EMPTY_PASSWORD: "true" setting in docker-compose.yml does anybody else also face this problem?
rheumess
@rheumess
When attaching to the mysql container I verified that MYSQL_ALLOW_EMPTY_PASSWORD is set in environment. I also tried to use mysql:5.6 instead. ==> same problem
Alexander Dobler
@dobleralex
@rheumess According to your error message this seems to be related with the line MYSQL_USER="root" in the compose file. According to the docker page for the container it is not necessary to create the root user like this, as it will be always created. My guess is that the container was updated with additional checks. So just try to remove the MYSQL_USER="root" in the compose file
Laurentiu-Cristian Duca
@laurentiuduca
Hi,
I know that the hawkBit docker container can be launched with
the option
--hawkbit.server.ddi.security.authentication.anonymous.enabled=true
in order to allow anonymous targets.
Please tell me what option allows to set the polling delay.
I think it is something like
--hawkbit.server.ddi.pollingTime=30
but this does not work.
Thanks!
Bondar Bogdan
@bogdan-bondar
Laurentiu-Cristian Duca
@laurentiuduca
@bogdan-bondar It works --hawkbit.controller.pollingTime=00:00:30, thanks
Martijn Verbakel
@mhverbakel

Hello. I'm trying to get started with Eclipse hawkBit. The company I work at is buying hardware from a supplier which allows us to install debian packages on their hardware using hawkBit. They provide the hawkBit installation, and they will provide us with a relevant API. However, it is still a bit unclear to me what the preferred way of working is in our set-up.

The hardware is configured based on many key-value pairs, which control what software packages must be installed on the hardware. Let me provide a concrete example:

Device A:
Settings: client = mqtt, interface = touchscreen, sensor = gps
Required software modules: base-application v1.0, mqtt-client v1.2, user-interface-base v1.0, user-interface-touchscreen v2.0, sensor-reader-gps v1.0

Device B:
Settings: client = mqtt, interface = none, sensor = none
Required software modules: base-application v1.0, mqtt-client v1.2

et cetera...

Our proposal to implement this is to have a distribution set per configuration (e.g. distribution-mqtt-touchscreen-gps and distribution-mqtt-none-none) which is then automatically allocated to a device. When a new device is enrolled by our application, we assign it to the given distribution set if it exists, or we leave it unassigned and we send an email to the development team. If software needs to be updated, the developers can add a new version of the software module and assign that to the software distribution and update the existing devices through the UI. If the settings of a device change, we will (automatically) try to assign it to the correct distribution group.

Is this a preferred way of working? Or are we completely misinterpreting the architecture of this system?

Thank you in advance for your reply,
Kind regards,
Martijn Verbakel

Malal884
@Malal884
Hello! Is it possible to get statistics on how many software updates have been successful in total and how many have been successful per day?
goliath's github
@gwgoliath
Hi All! It's quit common for OTA server to rollout distributions for devices which listed in a "MAC address list " file or a "SN list" file. But it seems hawkbit don't support such behavior. Is there any plan for it?
Malal884
@Malal884
Found out that the limit of targets in one rollout group is 20000 targets. Is this configurable? Is there some documentation somewhere? What is the maximum of number of groups in one rollout?
ganeshprabhum
@ganeshprabhum
Is there any documentation to follow sandbox installation demo ?
Bondar Bogdan
@bogdan-bondar
@ganeshprabhum you can find all of the relevant files and instructions under https://github.com/bosch-io/hawkbit/tree/master/hawkbit-runtime/.sandbox
Florian Ruschbaschan
@floruschbaschan

@Malal884 , Hawkbit does not have a dedicated API that can be used for information about statistics. You could make use of the MGMT API to get details about e.g. Targets or Rollouts. But this can become quite cumbersome and expensive depending on your use-case. Contributions are always welcome :-)

Yes, the limits are configurable via properties but there is no documentation for it. Please try setting hawkbit.server.security.dos.maxTargetsPerRolloutGroup (see HawkbitSecurityProperties ). Also the maximum number of groups in a Rollouts (by default 500) is defined here and can be overridden.

ganeshprabhum
@ganeshprabhum

@ganeshprabhum you can find all of the relevant files and instructions under https://github.com/bosch-io/hawkbit/tree/master/hawkbit-runtime/.sandbox

Thank you. Is this hawkbit can be deployed in private network ? Is it requires any other cloud components for its production deployment ?

Florian Ruschbaschan
@floruschbaschan

@gwgoliath yes you are right hawkbit does not support such behavior directly. But what I could think of is the following:
First you have to create a Distribution Set. The next step depends on your target management.
If you already have targets, each of them contains a field called attributes and metadata which can represent a MAC address or SN. attributes are given by a controller, whereas metadata are defined by the target itself (by the MGMT API).
If you need to initially create targets by a file (.csv), you could use the bulk target upload function. Here you could create a tag that summarizes your targets e.g. by a SN.
Now to automatically assign your distribution, create a target filter referring to these properties (attributes/metadata or tag). Such a filter can now be used by a Rollout with a configured Auto assignment.

This approach would require a pattern of your targets by e.g. SN. I know this answer is not what you have asked for, but perhaps it is an alternative solution for your problem.

goliath's github
@gwgoliath
@floruschbaschan Thanks. I solve the problem exactly as you suggested, but with little modification in the code.
Daniele Sergio
@danielesergio
Hi all,
after the upgrade to 0.3.0M7 the hawkbit-custom-theme-example (https://github.com/eclipse/hawkbit-examples) doesn't work correctly.
After the login each page shows the "No access to view" message or the popup with the following error:
"An authentication object was not found in the security context"
Have you any idea how to fix this?
Bondar Bogdan
@bogdan-bondar
@gwgoliath would you mind sharing which code modification are you refering to?
@danielesergio thanks for reporting, we will take a look at it
goliath's github
@gwgoliath
@bogdan-bondar ,my problem is : some of the devices contains in the device-list already on-line registered and these devices could not be created any more and won't be assigned any tags. I want to make every device in the device-list could be assigned a tag. So I did the modification in as following:
hawkbit-0.3.0M6\hawkbit\hawkbit-ui\src\main\java\org\eclipse\hawkbit\ui\management\targettable\BulkUploadHandler.java\
    // Exception squid:S1166 - Targets that exist already are simply ignored
    @SuppressWarnings("squid:S1166")
    private void addNewTarget(final String controllerId, final String name) {
        final String newControllerId = controllerId;
        final String description = descTextArea.getValue();
        managementUIState.getTargetTableFilters().getBulkUpload().getTargetsCreated().add(newControllerId);
        try {
            targetManagement.create(entityFactory.target().create().controllerId(newControllerId).name(name)
                    .description(description));


            successfullTargetCount++;

        } catch (final EntityAlreadyExistsException ex) {
            // Targets that exist already are simply ignored
            LOG.info("Entity {} - {} already exists and will be ignored", newControllerId, name);
        }
    }
}
Ashish Chugh
@ashish_chugh_gitlab
run_hawkbit_server.png
Ashish Chugh
@ashish_chugh_gitlab
rollout_mgmt.jpg
Hi all,
I am running hawkBit Update Server via Docker on Ubuntu VM as shown in the screenshot from the last 2 years.
I am facing issues in creating new rollouts for the last 2-3 days. All new rollouts are getting stucked in creating status. When I tried to delete them from the dashboard as well as management API, then they are stuck in deleting status as shown in the screenshot.
Does anyone know how to fix this issue?
Bondar Bogdan
@bogdan-bondar
@ashish_chugh_gitlab which version of Hawkbit are you using (milestone, latest master)? Without the detailed logs of rollout handling it is impossible to tell what is going wrong, you would need to activate them for org.eclipse.hawkbit.repository.jpa.JpaRolloutManagement and if it is not enough debug the code for rollout creation
Ashish Chugh
@ashish_chugh_gitlab
@bogdan-bondar I am using 0.3.0M6 version of Hawkbit. Attached are some logs of hawkbit docker container.
Ashish Chugh
@ashish_chugh_gitlab
@bogdan-bondar There are some error messages in the attached logs. Does this help you?
mangexl
@mangexl
Hello, is there any data archiving functionality in hawkbit, moving data from tables into archive tables? We are running some test-riggs which hits limits like "Cannot assign 1 more Action entities to Target 'XXXX'. The maximum is 2000." We can for sure extend the quotas, but I would like to check if there is some archiving or deleting of data (in test environment)
Bondar Bogdan
@bogdan-bondar
@ashish_chugh_gitlab seems like the action history for action “145017” has reached the quota limit of 1000 action status messages. Now the question is if problems with rollout are caused by the quota or it is just a consequense, I would take a look at the action status messages of the actions that belong to your rollout (specifically the action history of action with id 145017)
Ashish Chugh
@ashish_chugh_gitlab

@bogdan-bondar I am getting this warning log for multiple action ids.

2021-05-03 09:00:27.109 WARN 1 --- [2054757222-9640] o.e.h.repository.jpa.utils.QuotaHelper : Cannot assign 1 ActionStatus entities to Action '145017' because of the configured quota limit 1000. Currently, there are 1001 ActionStatus entities assigned.
2021-05-03 09:00:29.369 WARN 1 --- [054757222-14505] o.e.h.repository.jpa.utils.QuotaHelper : Cannot assign 1 ActionStatus entities to Action '134443' because of the configured quota limit 1000. Currently, there are 1001 ActionStatus entities assigned.
2021-05-03 09:00:31.535 WARN 1 --- [054757222-14723] o.e.h.repository.jpa.utils.QuotaHelper : Cannot assign 1 ActionStatus entities to Action '142168' because of the configured quota limit 1000. Currently, there are 1000 ActionStatus entities assigned.

Is there any way to increase this limit?

Also, Is there any API to fetch the action history of a given action id (without target id) because I could find only this endpoint <GET /rest/v1/targets/{targetId}/actions/{actionId}> as per the APIs mentioned in the hawkbit documentation which requires both target id and action id?

8 replies
Diego Rondini
@diegorondini

@danielesergio thanks for reporting, we will take a look at it

@bogdan-bondar here's the proposed fix:
eclipse/hawkbit-examples#56

Bondar Bogdan
@bogdan-bondar
:+1:
Ashish Chugh
@ashish_chugh_gitlab
Hi all,
Do different rollouts in hawkbit are dependent on each other? I am asking this because I have one rollout (screenshot attached) which is blocking all new rollouts to move into ready state. As soon as I pause this rollout, all newly created rollouts automatically move into ready state.
paused_rollout.png
Bondar Bogdan
@bogdan-bondar
@ashish_chugh_gitlab yes, they are handled sequentially, the issue is known: eclipse/hawkbit#1049 and will be resolved soon with this PR: eclipse/hawkbit#1052
Ashish Chugh
@ashish_chugh_gitlab
Thanks @bogdan-bondar , but the screenshot of rollout which I have attached has no error. It's successfully created & running also but it is blocking any new rollout to move into ready state.
Bondar Bogdan
@bogdan-bondar
@ashish_chugh_gitlab it will handle your use-case as well
Ashish Chugh
@ashish_chugh_gitlab
@bogdan-bondar Okay, thanks for the clarification.
BBitsupport
@BBitsupport

Hi,

I need some help with setting up hawkbit on a Linux server Kubuntu version 20.04.
What I know when you install docker and run the below command that you get a running hawkbit container.
docker run -p 8080:8080 hawkbit/hawkbit-update-server:latest

But what I want is a running hawkbit that is saving his information in a database(mariadb)
Is there a clear step by step guide how to do this? Must only hawkbit run in docker or is it also better to run mariadb in docker? And when this is setup is this than enough to rollout software to a raspberrypi on the same subnet?

The problem is a bit that I am not the one that is going to use it but they asked to ours department setup a server with hawkbit installed.

I really hope some can help me in the right direction to get this done.

Florian Ruschbaschan
@floruschbaschan
@BBitsupport you can find all information about supported databases of hawkbit in our github README. Please notice that not everyone has a production grade status.
I personally would run the database in docker, but this depends on your needs and requirements. Just clearly think about persistence, storage and backup strategies if you are going to run it in a production like environment.
If you want to run a mariadb server with docker, docker hub provides quite good information about how to start the instance (e.g. docker run -p 127.0.0.1:3306:3306 --name some-mariadb -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mariadb:tag).
Once your database container is up and running just establish a connection to your environment by specifying the following properties spring.jpa.database, spring.datasource.url, spring.datasource.username, spring.datasource.password or by using one of the existing profiles while starting hawkbit.