-
-
Notifications
You must be signed in to change notification settings - Fork 48
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Spike: Reconsider the way we organize fleets #385
Comments
@pritamghanghas @MuratUrsavas I pulled this into the sprint FYI |
Chosen 3 as estimation. This spike includes a lot of manual tests. |
Test Nr. 1 Result: |
Test Nr. 2 Result: |
Test Nr. 3 Result: |
There is something we need to fix firmware-wide. We're calling device type as "VARIANT" but in other places, we're actually using this term for differentiating indoor and outdoor types. We should name this all caps "VARIANT" as more descriptive name, like "BASE_TYPE" or "DEVICE_TYPE". I'm not sure whether we need to separate indoor and outdoor at fleet level. To me, if the device is different, than it's a device type difference. But other than that, this information should be kept in manufacturing variant records, not in the fleets. I don't have a way to test Balena with large fleets. But I'm pretty sure it could not handle it properly. The existing fleets are still a pain to load other than our test fleets. From my point of view, taking the tests into consideration, we should have fleets like this:
and so on. Due to non-existing device issue and VARIANT definition requirement, we need separate fleets for different device types. But we don't need any indoor/outdoor and frequency differentiation for them. |
A small point. We need to remove frequency from the diagnostics report (root) or get this info from elsewhere. |
So, what's the final verdict? Should we create a giant "helium" fleet or create device type specific fleets like I mentioned two comments above? I'm still defending the latter. It wouldn't need too much effort, compared to existing style. Also having just one big fleet makes me nervous 😅 |
@marvinmarnold I've confirmed the answer of your question with a test about Balena having problems with non-existing devices. It's due to privileged mode. If the container is in privileged mode, it can confirm itself that the device does not exist and move on. But if not, then it gets stuck because it can not approve it via accessing system resources. We have three options:
|
@MuratUrsavas can this be closed now that you have created follow up work? |
Sure! |
Balena fleets are organized
helium-HARDWARE-FREQ
. This increases operationally complexity by making build processes more elaborate and more fleets to browse when trying to locate a miner. As we start adding support for other manufacturers, the number of fleets risks ballooning if we keep this pattern.At the same time, there are good reason for keeping things the way they are:
Related to:
Acceptance criteria
The text was updated successfully, but these errors were encountered: