-
-
Notifications
You must be signed in to change notification settings - Fork 224
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
Automatic live-migration to balance load on cluster #1369
Conversation
a1ba482
to
e5e8865
Compare
A few initial tweaks I've made:
|
e5e8865
to
18644d0
Compare
Going to bump the default cooldown to 6H as otherwise with a 1h frequency, it'd be a bit useless :) |
I'm also making |
18644d0
to
7752e39
Compare
I'm also making the threshold be between 10% and 100% |
376284c
to
121b587
Compare
I'm renaming |
121b587
to
c91522a
Compare
Reducing the default batch size down to just 1 instance per batch as that's the most reliable, even if slowest. Also changing the batching to be per architecture rather than global. |
fcab705
to
eb5918f
Compare
Signed-off-by: Stéphane Graber <stgraber@stgraber.org>
Signed-off-by: Stéphane Graber <stgraber@stgraber.org>
Signed-off-by: Stéphane Graber <stgraber@stgraber.org>
Signed-off-by: Piotr Resztak <piotr.resztak@futurfusion.io>
Signed-off-by: Piotr Resztak <piotr.resztak@futurfusion.io>
Signed-off-by: Piotr Resztak <piotr.resztak@futurfusion.io>
Signed-off-by: Piotr Resztak <piotr.resztak@futurfusion.io>
Signed-off-by: Piotr Resztak <piotr.resztak@futurfusion.io>
Signed-off-by: Piotr Resztak <piotr.resztak@futurfusion.io>
eb5918f
to
e8ed06b
Compare
I did a few more tweaks on top of what I commented on before:
I've had it running for a bit on a test cluster now and it seems to be behaving as intended. |
a1ea695
to
dcac5b8
Compare
Signed-off-by: Stéphane Graber <stgraber@stgraber.org>
dcac5b8
to
30dfc9d
Compare
This MR contains the following updates: | Package | Update | Change | |---|---|---| | [lxc/incus](https://github.com/lxc/incus) | minor | `v6.6.0` -> `v6.7.0` | MR created with the help of [el-capitano/tools/renovate-bot](https://gitlab.com/el-capitano/tools/renovate-bot). **Proposed changes to behavior should be submitted there as MRs.** --- ### Release Notes <details> <summary>lxc/incus (lxc/incus)</summary> ### [`v6.7.0`](https://github.com/lxc/incus/releases/tag/v6.7.0): Incus 6.7 [Compare Source](lxc/incus@v6.6.0...v6.7.0) #### What's Changed - fix live update VM's limits.memory configuration when use a percentage value by [@​itviewer](https://github.com/itviewer) in lxc/incus#1287 - fix: fix slice init length by [@​cuishuang](https://github.com/cuishuang) in lxc/incus#1285 - incusd/instance/lxc: Remove restrictions on /run by [@​stgraber](https://github.com/stgraber) in lxc/incus#1288 - Correct macvlan mode names by [@​stgraber](https://github.com/stgraber) in lxc/incus#1284 - Translations update from Hosted Weblate by [@​weblate](https://github.com/weblate) in lxc/incus#1290 - Translations update from Hosted Weblate by [@​weblate](https://github.com/weblate) in lxc/incus#1295 - Translations update from Hosted Weblate by [@​weblate](https://github.com/weblate) in lxc/incus#1304 - incus-simplestreams: Fix list -f json by [@​melato](https://github.com/melato) in lxc/incus#1310 - Profile performance improvements by [@​stgraber](https://github.com/stgraber) in lxc/incus#1314 - incus-agent: Add timeout for DNS query by [@​stgraber](https://github.com/stgraber) in lxc/incus#1313 - incusd/instance/qemu: Don't fail on console retrival issue by [@​stgraber](https://github.com/stgraber) in lxc/incus#1316 - Allow changing the parent value on physical networks by [@​stgraber](https://github.com/stgraber) in lxc/incus#1317 - incus: Fix display of current project in projects list by [@​montag451](https://github.com/montag451) in lxc/incus#1318 - Add `--format` to `incus admin sql` by [@​stgraber](https://github.com/stgraber) in lxc/incus#1319 - incusd/internal/server/instance/drivers: support for Chimera Linux (qemu/edk2) pkg layout by [@​mwyvr](https://github.com/mwyvr) in lxc/incus#1298 - incusd/instance/common: Cleanup volatile on device add failure by [@​stgraber](https://github.com/stgraber) in lxc/incus#1323 - incusd/network/bgp: Only advertise networks with BGP configuration by [@​stgraber](https://github.com/stgraber) in lxc/incus#1325 - Make revert library shared by [@​gibmat](https://github.com/gibmat) in lxc/incus#1326 - Fix to the cluster resources caching mechanism by [@​stgraber](https://github.com/stgraber) in lxc/incus#1324 - Fix idmap issues by [@​stgraber](https://github.com/stgraber) in lxc/incus#1327 - Make ask library shared by [@​gibmat](https://github.com/gibmat) in lxc/incus#1329 - doc/network/resolved: Add disabling DNSSEC and DNSOverTLS by [@​ntnn](https://github.com/ntnn) in lxc/incus#1328 - Add some application container documentation by [@​stgraber](https://github.com/stgraber) in lxc/incus#1331 - incusd/device/nic/bridged: Handle invalid configuration by [@​stgraber](https://github.com/stgraber) in lxc/incus#1330 - Fix handling of custom volume snapshot patterns by [@​stgraber](https://github.com/stgraber) in lxc/incus#1333 - Add OCI DHCP renewal by [@​stgraber](https://github.com/stgraber) in lxc/incus#1334 - doc/installing: Update for Chimera Linux by [@​mwyvr](https://github.com/mwyvr) in lxc/incus#1335 - shared/cgo: Don't use strlcpy by [@​stgraber](https://github.com/stgraber) in lxc/incus#1337 - Implement `incus webui` by [@​stgraber](https://github.com/stgraber) in lxc/incus#1338 - incusd/scriptlet: Make set_target fail with invalid members by [@​bensmrs](https://github.com/bensmrs) in lxc/incus#1339 - Export QMP functions by [@​bensmrs](https://github.com/bensmrs) in lxc/incus#1340 - incusd/network/ovn: Add support to ipv4.dhcp.ranges by [@​jonatas-lima](https://github.com/jonatas-lima) in lxc/incus#1341 - internal/server: Log QMP interaction to a file by [@​bensmrs](https://github.com/bensmrs) in lxc/incus#1345 - incusd/instance/qemu: Log QEMU command line by [@​bensmrs](https://github.com/bensmrs) in lxc/incus#1346 - Improve cluster instance placement by [@​stgraber](https://github.com/stgraber) in lxc/incus#1344 - incusd/instance_logs: Update log file list by [@​stgraber](https://github.com/stgraber) in lxc/incus#1347 - Add infrastructure for OVN events by [@​stgraber](https://github.com/stgraber) in lxc/incus#1349 - Fix QEMU feature checks during startup by [@​stgraber](https://github.com/stgraber) in lxc/incus#1350 - incusd/instance/lxc: Fix LXCFS per-instance path by [@​stgraber](https://github.com/stgraber) in lxc/incus#1352 - doc/idmap: Clarify subuid/subgid configuration by [@​stgraber](https://github.com/stgraber) in lxc/incus#1353 - incusd/instance/qmp: Fix logging with no log file by [@​stgraber](https://github.com/stgraber) in lxc/incus#1355 - Add a GetOIDCTokens() method by [@​gibmat](https://github.com/gibmat) in lxc/incus#1357 - Add get-current to show current project by [@​maveonair](https://github.com/maveonair) in lxc/incus#1356 - incus/file/create: Use SFTP client instead of file API by [@​HassanAlsamahi](https://github.com/HassanAlsamahi) in lxc/incus#1354 - internal/instance: Allow 0 as value to limits.cpu.nodes by [@​stgraber](https://github.com/stgraber) in lxc/incus#1358 - Translations update from Hosted Weblate by [@​weblate](https://github.com/weblate) in lxc/incus#1361 - Translations update from Hosted Weblate by [@​weblate](https://github.com/weblate) in lxc/incus#1362 - Translations update from Hosted Weblate by [@​weblate](https://github.com/weblate) in lxc/incus#1368 - Improve agent interface listing performance by [@​stgraber](https://github.com/stgraber) in lxc/incus#1367 - Make `incus top` output configurable through options by [@​presztak](https://github.com/presztak) in lxc/incus#1370 - Automatic live-migration to balance load on cluster by [@​presztak](https://github.com/presztak) in lxc/incus#1369 - gomod: Update dependencies by [@​stgraber](https://github.com/stgraber) in lxc/incus#1372 - Add refresh-exclude-older flag to only transfer new snapshots during instance/volume refresh by [@​ps-gill](https://github.com/ps-gill) in lxc/incus#1365 - incusd/instances/publish: Fix base metadata by [@​stgraber](https://github.com/stgraber) in lxc/incus#1374 - Fix TPM with long instance names by [@​stgraber](https://github.com/stgraber) in lxc/incus#1377 - Don't BGP advertise OVN load-balancers when all backends are offline by [@​stgraber](https://github.com/stgraber) in lxc/incus#1376 - incusd/instance/qemu: Don't take over operations on console retrieval by [@​stgraber](https://github.com/stgraber) in lxc/incus#1379 - Tweak to cluster internal relocation by [@​stgraber](https://github.com/stgraber) in lxc/incus#1378 #### New Contributors - [@​cuishuang](https://github.com/cuishuang) made their first contribution in lxc/incus#1285 - [@​mwyvr](https://github.com/mwyvr) made their first contribution in lxc/incus#1298 - [@​ntnn](https://github.com/ntnn) made their first contribution in lxc/incus#1328 - [@​jonatas-lima](https://github.com/jonatas-lima) made their first contribution in lxc/incus#1341 **Full Changelog**: lxc/incus@v6.6.0...v6.7.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this MR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box --- This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJSZW5vdmF0ZSBCb3QiXX0=-->
This PR adds feature to automatically move some workloads to re-balance load across cluster.
The logic works in following way:
Fixes: #485
Closes: #835