Commit Graph

3387 Commits

Author SHA1 Message Date
Felipe Lalanne
4795c336d0 Handle delete of multiple images with same dockerImageId
A docker-compose.yml with the following structure

```
version: '2.1'
services:
  app_1:
    build: ./noisy-1
    image: noisy1
  app_2:
    build: ./noisy-1
    image: noisy1
  app_3:
    build: ./noisy-1
    image: noisy1
```

Will lead to the supervisor creating multiple image database entries
with the same dockerId (this is because of how the engine handles this
particular case). This case is not handled by the removal process
leading to image pile up and increased disk usage.

Change-type: patch
Signed-off-by: Felipe Lalanne <felipe@balena.io>
Connects-to: #1434
2020-10-16 14:06:10 -04:00
Balena CI
c3ff277bb0 v12.0.5 2020-10-14 20:11:01 +03:00
bulldozer-balena[bot]
85b9dd573f
Merge pull request #1487 from balena-io/1471-memory-report
Improve calculation for used system memory
2020-10-14 17:08:41 +00:00
Felipe Lalanne
dd5f62227a Improve calculation for used system memory
The memory information reported by the supervisor currently
estimates the value of used memory as `MemTotal - MemFree`.
However, linux systems will try to cache and buffer as much
memory as possible, which will affect the output of `MemFree`
(from /proc/meminfo) and in consequence the memory usage seen
by the user on the dashboard, which will appear much greater than
it is.

The correct calculation should be `MemTotal - MemFree - Buffers - Cached`,
which the calculation performed by `htop` and the `free` commands.

Change-type: patch
Signed-off-by: Felipe Lalanne <felipe@balena.io>
Connects-to: #1471
2020-10-14 13:15:17 -03:00
Balena CI
45ee8733e8 v12.0.4 2020-10-13 12:56:16 +03:00
bulldozer-balena[bot]
d61e33e85d
Merge pull request #1488 from balena-io/fix-sync-without-container
Don't require an existing supervisor container to sync
2020-10-13 09:54:04 +00:00
Cameron Diver
629b410e10 Don't require an existing supervisor container to sync
Change-type: patch
Signed-off-by: Cameron Diver <cameron@balena.io>
2020-10-13 10:46:23 +01:00
Balena CI
7ea9bb368e v12.0.3 2020-10-12 18:28:42 +03:00
bulldozer-balena[bot]
27f8872672
Merge pull request #1485 from balena-io/sysinfo-refactor
Refactor system information filtering
2020-10-12 15:26:56 +00:00
Cameron Diver
a2ceb5c931 Refactor system information filtering
Change-type: patch
Signed-off-by: Cameron Diver <cameron@balena.io>
2020-10-12 15:44:07 +01:00
bulldozer-balena[bot]
13c29db540
Merge pull request #1486 from balena-io/fix-test-numbering
tests: Clean up and consistify naming scheme
2020-10-12 14:21:32 +00:00
Cameron Diver
9e0c99e797 tests: Clean up and consistify naming scheme
Change-type: patch
Signed-off-by: Cameron Diver <cameron@balena.io>
2020-10-12 14:41:21 +01:00
Balena CI
3bd8b860ab v12.0.2 2020-10-12 14:54:43 +03:00
bulldozer-balena[bot]
ef9933fc8e
Merge pull request #1484 from balena-io/fixup-sysinfo-reporting
Attempt a state report once every maxReportFrequency
2020-10-12 11:52:57 +00:00
Cameron Diver
0e3c026392 Attempt a state report once every maxReportFrequency
With the addition of the system information feature (CPU temp) etc if
there wasn't any changes in the docker or config state of the device,
updates in system information would not be sent to the API. Now we
attempt to send data once every maxReportFrequency (although this does
not mean that we will be sending data that often, we still only send the
delta, if one exists)

Change-type: patch
Closes: #1481
Signed-off-by: Cameron Diver <cameron@balena.io>
2020-10-12 11:53:19 +01:00
Cameron Diver
975129188a Remove superfluous current state reporting code from api-binder
Change-type: patch
Signed-off-by: Cameron Diver <cameron@balena.io>
2020-10-12 11:53:19 +01:00
Balena CI
17cf330771 v12.0.1 2020-10-12 11:16:26 +03:00
bulldozer-balena[bot]
7cd2950410
Merge pull request #1445 from balena-io/codewithcheese/journalctl-label
Add features label `io.balena.features.journal-logs`
2020-10-12 08:14:27 +00:00
Thomas Manning
1eeff698ac Add features label io.balena.features.journal-logs
Change-type: patch
Signed-off-by: Thomas Manning <thomasm@balena.io>
2020-10-12 15:37:35 +10:00
Balena CI
ced69c8c15 v12.0.0 2020-09-29 19:18:14 +03:00
bulldozer-balena[bot]
ba30c8f1f1
Merge pull request #1469 from balena-io/1447-drop-version-in-env
version: drop SUPERVISOR_VERSION env var
2020-09-29 16:16:29 +00:00
Matthew McGinn
8e65466f2d version: drop SUPERVISOR_VERSION env var
In order to make supervisor upgrades more transparent, lets move away
from this env var since it requires a container restart any time the supervisor
is upgraded. We should ultimately move towards providing the supervisors
set of capabilities, but that can come later

Connects-to: #1447
Change-type: major
Signed-off-by: Matthew McGinn <matthew@balena.io>
2020-09-29 11:22:30 -04:00
Balena CI
a98f6fc403 v11.14.8 2020-09-29 11:08:35 +03:00
bulldozer-balena[bot]
74058b973e
Merge pull request #1474 from balena-io/1468-db-deadlock
Fix supervisor deadlock during migration
2020-09-29 08:06:55 +00:00
Felipe Lalanne
adffde932e Fix supervisor deadlock during migration
Due to the singleton work, when performing migration M00005 and there
are apps with services created in the database, a deadlock occurs
during database initialization due to a circular
dependency for generating scoped keys.

Change-type: patch
Signed-off-by: Felipe Lalanne <felipe@balena.io>
Connects-to: #1468
2020-09-28 23:52:36 -03:00
Balena CI
7ca1f837ff v11.14.7 2020-09-25 21:04:28 +03:00
bulldozer-balena[bot]
eaff2ac801
Merge pull request #1466 from balena-io/1428-patch-variable-is-set
Correctly evaluate if scheduledApply.delay is not set
2020-09-25 18:02:21 +00:00
Miguel Casqueira
90981a00be Correctly evaluate if scheduledApply.delay is not set
Closes: #1428
Change-type: patch
Signed-off-by: Miguel Casqueira <miguel@balena.io>
2020-09-25 13:14:09 -04:00
Balena CI
a5a1dd7d73 v11.14.6 2020-09-24 23:42:25 +03:00
bulldozer-balena[bot]
fa7e4a1a7c
Merge pull request #1467 from balena-io/1468-hostconfigfs
Fix config checks for ConfigFS backend
2020-09-24 20:40:33 +00:00
Felipe Lalanne
a5f3002e70 Fix config checks for ConfigFS backend
When trying to apply SSDT overlays in Up Board, the supervisor currently
gets stuck in a loop trying to apply target state. See #1465

This was due to a bug in parsing the configuration, which lead to
the method bootConfigChangeRequired returning true when no change was
needed.

Change-type: patch
Signed-off-by: Felipe Lalanne <felipe@balena.io>
Connects-to: #1465
2020-09-24 16:45:57 -03:00
Balena CI
1ac71ea552 v11.14.5 2020-09-24 18:25:14 +03:00
bulldozer-balena[bot]
55ca28a090
Merge pull request #1470 from balena-io/mixpanel-typo
mixpanel: superisor_version -> supervisor_version
2020-09-24 15:23:25 +00:00
Matthew McGinn
eebadebb53 mixpanel: superisor_version -> supervisor_version
Change-type: patch
Signed-off-by: Matthew McGinn <matthew@balena.io>
2020-09-24 10:43:43 -04:00
Balena CI
fbc2875951 v11.14.4 2020-09-18 16:52:19 +03:00
bulldozer-balena[bot]
c563ee0d31
Merge pull request #1461 from balena-io/add-scoped-api-keys
Implement scoped Supervisor API keys
2020-09-18 13:50:08 +00:00
Balena CI
7d11e29f85 v11.14.3 2020-09-18 02:11:43 +03:00
bulldozer-balena[bot]
17844096e5
Merge pull request #1463 from balena-io/clarify-lock-override-toggle
Clarify location for enabling update lock override
2020-09-17 23:09:53 +00:00
M. Casqueira
1b51db06c1 Clarify docs for toggling update lock override from dashboard
Change-type: patch
Signed-off-by: Miguel Casqueira <miguel@balena.io>
2020-09-17 18:22:33 -04:00
Rich Bayliss
c08de8701e api: Implement scoped Supervisor API keys
Each service, when requesting access to the Supervisor API, will
now get an individual key which can be scoped to specific resources.
In this iteration the default scope will be to the application that
the service belongs to.

We also have a `global` scope which is used by the cloud API when in
managed mode.

Change-type: patch
Signed-off-by: Rich Bayliss <rich@balena.io>
2020-09-17 11:25:56 +00:00
Balena CI
4ebba7cbfb v11.14.2 2020-09-15 22:13:26 +03:00
bulldozer-balena[bot]
69af7f4f10
Merge pull request #1423 from balena-io/refactor-extra-uenv-match
Refactor extra_uEnv backend to match with more devices
2020-09-15 19:11:41 +00:00
Miguel Casqueira
07e644d0b6 Refactor extra_uEnv backend to match with more devices
Change-type: patch
Signed-off-by: Miguel Casqueira <miguel@balena.io>
2020-09-15 14:19:59 -04:00
Balena CI
b656aa7304 v11.14.1 2020-09-14 15:03:58 +03:00
bulldozer-balena[bot]
4a5874c510
Merge pull request #1408 from balena-io/refactor-to-singletons
Refactor to singletons
2020-09-14 12:01:31 +00:00
Rich Bayliss
96c68166a1
application-manager: Convert to a singleton
Change-type: patch
Signed-off-by: Rich Bayliss <rich@balena.io>
Signed-off-by: Cameron Diver <cameron@balena.io>
2020-09-14 11:23:36 +01:00
Rich Bayliss
e3864915bc
device-state: Convert to a singleton
Change-type: patch
Signed-off-by: Rich Bayliss <rich@balena.io>
Signed-off-by: Cameron Diver <cameron@balena.io>
2020-09-14 09:31:12 +01:00
Rich Bayliss
d50f7791e1
api-binder: Convert to a singleton
Change-type: patch
Signed-off-by: Rich Bayliss <rich@balena.io>
Signed-off-by: Cameron Diver <cameron@balena.io>
2020-09-14 09:31:12 +01:00
Balena CI
13241bf6e7 v11.14.0 2020-09-03 17:36:15 +03:00
bulldozer-balena[bot]
ef7bb8f92e
Merge pull request #1451 from balena-io/device-metadata
Add device system information to state endpoint patch
2020-09-03 14:34:27 +00:00