Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • 00:24
    klutchell edited #893
  • Jul 04 22:55
    chrisys opened #2333
  • Jul 04 21:12
    alexgg commented #851
  • Jul 04 20:53
    klutchell edited #893
  • Jul 04 20:51
    klutchell commented #887
  • Jul 04 20:45
    alexgg synchronize #2702
  • Jul 04 20:31
    renovate[bot] edited #2715
  • Jul 04 20:31
    renovate[bot] edited #2715
  • Jul 04 20:31
    renovate[bot] synchronize #2715
  • Jul 04 20:25
    klutchell labeled #838
  • Jul 04 20:23
    klutchell labeled #893
  • Jul 04 20:23
    klutchell opened #893
  • Jul 04 19:32
    klutchell transferred #2716
  • Jul 04 18:35
    klutchell edited #891
  • Jul 04 18:34
    vipulgupta2048 synchronize #2490
  • Jul 04 18:09
    dependabot[bot] synchronize #2287
  • Jul 04 18:09
    dependabot[bot] edited #2287
  • Jul 04 18:08
    dependabot[bot] edited #2287
  • Jul 04 18:03
    klutchell assigned #2716
  • Jul 04 18:03
    klutchell commented #2716
Gutemberg Ribeiro
@galvesribeiro
let me get the driver source
the daemon is already built (proprietary code from Elo) for armv7lhf but they provide the driver source there so we can build for different kernels
there is a readme.txt on the root that explain what they want in order to build it
Balena team
@balenaio
[Trevor Sullivan (pcgeek86)] Is there a thread with context? @imrehg
me-sosa
@me-sosa

@resinio I faced a strange error on one device running supervisor 9.11.3.
Deployment was successful to the app and only the device running the most recent version of the supervisor did not download the latest release. I tried issuing a restart of the app running in that device and a red banner popped up with the message
"Request error: There was an error validating configuration input for key: persistentLogging, with value:" and the device does not respond at all.
I also tried enabling "persistent logging" and the config.json inside the supervisor is also not being affected .
I Then also checked supervisor logs and got

Supervisor API: GET /v1/healthy 200 - 10.530 ms
[2019-04-08T08:25:15.438Z] Event: Restart container (v1) {"appId":6666666}
Supervisor API: POST /v1/restart 503 - 101.114 ms
[2019-04-08T08:26:46.023Z] Applying target state
[2019-04-08T08:26:46.148Z] Scheduling another update attempt due to failure: 900000 { t: There was an error validating configuration input for key: persistentLogging, with value:
at t.checkValueDecode (/usr/src/app/dist/app.js:300:130397)
at /usr/src/app/dist/app.js:300:127019
message: 'There was an error validating configuration input for key: persistentLogging, with value: ',
name: 't' }

Any ideas?

Balena team
@balenaio
[Cameron Diver (CameronDiver)] @me-sosa the parsing of values for environment and configuration values has been tightened up recently. This specific error comes from the fact that you have an empty string as the value for `RESIN_SUPERVISOR_PERSISTENT_LOGGING` on the dashboard, or you have `"persistentLogging": ""` in your config.json. If you remove the offending entry, and restart the supervisor `systemctl restart resin-supervisor` you should be good to go
[Cameron Diver (CameronDiver)] this has also been changed in later versions of the supervisor, which will fall back to the default value when an environment variable fails parsing
me-sosa
@me-sosa
ok, done. Now that device is being updated. Thanks.
me-sosa
@me-sosa
Are you planning a new release? Do you have an ETA and github link to follow?
I am asking this since there are also more devices in prod with the same config.
Valentin Alexeev
@valentinalexeev
hi everyone! a quick reach to the community wisdom - how do you manage shared resin-data volume between the apps? I'm using some stock docker images which have no way to set specific paths for their files in a volume and it creates a mess in the shared volume. Is this something I can fix with configuration on balena or I should work on the images?
Gutemberg Ribeiro
@galvesribeiro
hey folks
@imrehg question… if I understood correctly, it looks like recent versions of Balena doesn’t allow us to map /dev/* individually and enable evdev unless we’re making the container privileged, is that correct?
I’m just concerned that the container will have access to the whole host when it is not necessary when you make /dev/* available
Balena team
@balenaio
[Shaun Mulligan (shaunmulligan)] @galvesribeiro can you ask this question in the forums please
Gutemberg Ribeiro
@galvesribeiro
sure
Gergely Imreh
@imrehg
@valentinalexeev you have to set named volumes for the different services, in your docker-compose.yml filet
https://www.balena.io/docs/learn/develop/multicontainer/#named-volumes and more particularly similarly how in this Stack Overflow answer https://stackoverflow.com/a/44284993 as we only support these named volumes format (and inside the two container you can set the path where to mount it different)
Valentin Alexeev
@valentinalexeev
@imrehg "inside the two container you can set the path where to mount it different" - this is where the problem is. One of the containers exposes a mount point /config which I want to be somewhere on resin-data shared volume in e.g. folder /[container-name]/config
Gergely Imreh
@imrehg

@valentinalexeev I'm not sure I understand what you are trying to do.
So far I gather:

  • there's one service that should have a volume at /config
  • another service might access that in a shared volume, that you want to mount inside another existing volume?

I think the important part is that you can have volumes and mount them in different places in different service, don't have to be at the same place. Just set their internal endpoint to the right one your service needs. So for a simplified version, here's a docker-compose.yml, that you can try on your development machine (if you have docker and docker compose installed) with docker-compose run, so you can play with the volumes:

version: '2.1'
services:
  service1:
    image: "alpine"
    command: touch /config/test
    volumes:
      - service1-config:/config
  service2:
    image: "alpine"
    command: ls -la /data/other-config
    volumes:
      - resin-data:/data
      - service1-config:/data/other-config
    depends_on:
      - service1

volumes:
  resin-data:
  service1-config:

This will result in something like:

$ docker-compose up
Starting volumes_service1_1 ... done
Starting volumes_service2_1 ... done
Attaching to volumes_service1_1, volumes_service2_1
service2_1  | total 8
volumes_service1_1 exited with code 0
service2_1  | drwxr-xr-x    2 root     root          4096 Apr  9 17:20 .
service2_1  | drwxr-xr-x    3 root     root          4096 Apr  9 17:18 ..
service2_1  | -rw-r--r--    1 root     root             0 Apr  9 17:24 test
volumes_service2_1 exited with code 0

thus in service2 you can see the test file created by service1.

But it's in the service1-config volume, not related to the resin-data volume at all (that volume alone is empty), and you don't need that. Just use the volumes you want to share between services, and set the internal mount points where you need them or want to use them. For example if service1 needs a volume mounted at /config, that 's fine, in other service , maybe in service2 you control the code, just mount wherever it makes sense.
Not sure if this helps at all, but hope so. :) If you have some more concrete example of what you want to achieve (maybe the docker-compose.ymlthat you are trying to use?) then we can give more specific advice. Also would recommend posting it in our forums, where there's more chance to get feedback and quicker https://forums.balena.io/
Gutemberg Ribeiro
@galvesribeiro
folks
if anyone can shed a light on this issue https://forums.balena.io/t/build-kernel-modules-on-ci-servers-for-balenaos/5972 I would appreciate that. Thanks!
Gutemberg Ribeiro
@galvesribeiro
@resinio folks, can someone make my post visible again? https://forums.balena.io/t/build-kernel-modules-on-ci-servers-for-balenaos/5972/6
I’ve posted a long log as requested by someone on the team and the Akismet thought it was spam :(
Shaun Mulligan
@shaunmulligan
@galvesribeiro it should be visible now
Gutemberg Ribeiro
@galvesribeiro
:+1: tkz
Gutemberg Ribeiro
@galvesribeiro
@imrehg yo! Updates on the release of the Tinkerboard images?
Gutemberg Ribeiro
@galvesribeiro
@shaunmulligan do you have any updates on the Tinkerboard images?
also, the lack of rotate support for Tinkerboard is really a problem for us :( we’re running kiosks as the main devices for Balena, and without rotation, we’re screwed
Balena team
@balenaio
[Shaun Mulligan (shaunmulligan)] @galvesribeiro i believe @imrehg was doing the final round of testing
[Shaun Mulligan (shaunmulligan)] there will definitely be a way to rotate the screen, but will need to find out from ASUS if there is a hardware specific way to do it, otherwise you will need to do it in software via xorg or whatever windows manager your kiosk system uses
Gutemberg Ribeiro
@galvesribeiro
there is no Xorg/window manager… We use the FB with eglfs directly to the hardware
and, do it via software, will definitively affect performance
Balena team
@balenaio
[Shaun Mulligan (shaunmulligan)] yup, unfortunately if ASUS doesn't provide a way to do it you will have to do it in software :/
[Shaun Mulligan (shaunmulligan)] it would be worth asking in their forums
Gutemberg Ribeiro
@galvesribeiro
okey… will do that
looks like it is indeed possible
the kernel has to be compiled with the support for that @shaunmulligan
Balena team
@balenaio
[Shaun Mulligan (shaunmulligan)] There is a chance it could be enabled in our kernel already, so worth a try. Others you can create and issue on our asus OS repo here https://github.com/balena-os/balena-asus-tinker-board and we can get that compiled in
Gutemberg Ribeiro
@galvesribeiro
great...
  sudo balena ssh --host
? Select a device morning-brook (547930d)
Connecting to: 547930dc64fdd31d896673fd7d422162
gutemberg@ssh.balena-devices.com: Permission denied (publickey).
now I can't login on the host :(
Balena team
@balenaio
[Shaun Mulligan (shaunmulligan)] that usually means you are trying to connect to a "production" device rather than a .dev.
Gutemberg Ribeiro
@galvesribeiro
I dont think so
image.png
Balena team
@balenaio
[Shaun Mulligan (shaunmulligan)] thats odd, can you open a forums thread or support issue and the team can help you investigate
Gutemberg Ribeiro
@galvesribeiro
I think my board is dead :)
I rebooted it from the portal, removed the local mode and enabled again