LXC/LXD containers should be frozen instead of shut down when not used
Bug #1654355 reported by
Christopher Townsend
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
Libertine | Status tracked in Devel | |||||
Devel |
Fix Released
|
Medium
|
Christopher Townsend | |||
Trunk |
Fix Released
|
Medium
|
Christopher Townsend | |||
libertine (Ubuntu) |
Fix Released
|
Medium
|
Christopher Townsend |
Bug Description
When an LXC/LXD container is no longer needed, it should be frozen instead of shut down by the respective container manager.
This will make "start up" of the container much faster and will be particularly useful for LXD containers that take a very long time to start when fully stopped.
Also of note, memory usage will remain the same since the frozen container will still reside in memory. Possibly making this a configuration option of a container will allow users who want to free memory when a container is not needed is necessary???
Related branches
lp:~townsend/libertine/freeze-containers
- Libertine CI Bot: Approve (continuous-integration)
- Larry Price: Approve
-
Diff: 261 lines (+60/-28)6 files modifiedpython/libertine/ContainersConfig.py (+12/-2)
python/libertine/Libertine.py (+1/-1)
python/libertine/LxcContainer.py (+19/-9)
python/libertine/LxdContainer.py (+20/-10)
tools/libertine-lxc-manager (+5/-4)
tools/libertine-lxd-manager (+3/-2)
lp:~townsend/libertine/configure-freeze
- Larry Price: Approve
- Libertine CI Bot: Approve (continuous-integration)
-
Diff: 118 lines (+35/-8)3 files modifiedtools/completions/libertine-container-manager (+5/-4)
tools/libertine-container-manager (+22/-1)
tools/libertine-container-manager.1 (+8/-3)
lp:~townsend/libertine/restart-frozen-container
- Larry Price: Approve
- Libertine CI Bot: Approve (continuous-integration)
-
Diff: 267 lines (+122/-14)6 files modifiedpython/libertine/Libertine.py (+12/-0)
python/libertine/LxcContainer.py (+33/-8)
python/libertine/LxdContainer.py (+24/-4)
tools/completions/libertine-container-manager (+4/-1)
tools/libertine-container-manager (+31/-0)
tools/libertine-container-manager.1 (+18/-1)
lp:~townsend/libertine/1.6-release
- Stephen M. Webb (community): Approve
-
Diff: 4853 lines (+1240/-1763)74 files modifiedCMakeLists.txt (+2/-2)
cmake/FindGObjectIntrospection.cmake (+0/-61)
cmake/ListOperations.cmake (+0/-18)
cmake/UseGObjectIntrospection.cmake (+0/-102)
common/LibertineConfig.cpp (+10/-1)
data/CMakeLists.txt (+1/-3)
data/com.canonical.libertine.LxcManager.service (+0/-3)
data/com.canonical.libertine.LxdManager.service (+0/-3)
data/com.canonical.libertine.Service.service (+1/-1)
data/libertine-xmir.conf (+1/-1)
data/snap-runner.wrapper (+2/-1)
debian/changelog (+40/-0)
debian/control (+22/-18)
debian/gir1.2-libertine.install (+0/-2)
debian/libertine-tools.install (+0/-2)
debian/libertined.install (+3/-0)
debian/python3-libertine-lxc.install (+0/-2)
debian/python3-libertine-lxd.install (+0/-2)
debian/python3-libertine.install (+0/-3)
debian/rules (+1/-4)
liblibertine/CMakeLists.txt (+3/-30)
liblibertine/libertine.cpp (+20/-131)
liblibertine/libertine.h (+4/-4)
liblibertine/libertined.cpp (+199/-0)
liblibertine/libertined.h (+25/-0)
python/libertine/AppDiscovery.py (+0/-220)
python/libertine/ChrootContainer.py (+6/-13)
python/libertine/ContainersConfig.py (+21/-2)
python/libertine/HostInfo.py (+8/-1)
python/libertine/Libertine.py (+62/-52)
python/libertine/LxcContainer.py (+137/-65)
python/libertine/LxdContainer.py (+131/-131)
python/libertine/launcher/config.py (+1/-4)
python/libertine/lifecycle/ContainerLifecycleService.py (+0/-108)
python/libertine/lifecycle/ContainerLifecycleServiceRunner.py (+0/-46)
python/libertine/lifecycle/LifecycleResult.py (+0/-37)
python/libertine/lifecycle/__init__.py (+0/-23)
python/libertine/service/apt.py (+2/-6)
python/libertine/service/container.py (+23/-8)
python/libertine/service/manager.py (+40/-4)
python/libertine/service/progress.py (+3/-3)
python/libertine/service/task_dispatcher.py (+7/-8)
python/libertine/service/tasks/__init__.py (+3/-3)
python/libertine/service/tasks/base_task.py (+2/-4)
python/libertine/service/tasks/container_info_task.py (+21/-5)
python/libertine/service/tasks/list_app_ids_task.py (+35/-0)
python/libertine/service/tasks/list_apps_task.py (+0/-30)
python/libertine/service/tasks/list_task.py (+6/-4)
python/libertine/utils.py (+29/-59)
setup/gui/libertine-manager-app.desktop (+12/-0)
snapcraft.yaml (+40/-6)
tests/integration/CMakeLists.txt (+1/-1)
tests/integration/test_libertine_service.py (+40/-22)
tests/unit/service/tasks/CMakeLists.txt (+1/-1)
tests/unit/service/tasks/test_container_info_task.py (+14/-2)
tests/unit/service/tasks/test_list_app_ids_task.py (+59/-0)
tests/unit/service/tasks/test_list_apps_task.py (+0/-59)
tests/unit/service/tasks/test_list_task.py (+8/-6)
tests/unit/service/test_apt.py (+37/-45)
tests/unit/service/test_container.py (+33/-47)
tests/unit/service/test_task_dispatcher.py (+17/-17)
tests/unit/test_app_discovery.py (+0/-52)
tests/unit/test_libertine_container.py (+2/-1)
tests/unit/test_libertine_gir.py (+0/-65)
tools/CMakeLists.txt (+3/-3)
tools/completions/libertine-container-manager (+9/-5)
tools/libertine-container-manager (+65/-11)
tools/libertine-container-manager.1 (+25/-3)
tools/libertine-lxc-manager (+0/-109)
tools/libertine-lxc-manager.1 (+0/-9)
tools/libertine-lxd-manager (+0/-57)
tools/libertine-lxd-manager.1 (+0/-9)
tools/libertine-lxd-setup (+1/-1)
tools/libertine-xmir (+2/-2)
Changed in libertine (Ubuntu): | |
status: | New → Triaged |
description: | updated |
Changed in libertine (Ubuntu): | |
importance: | Undecided → Medium |
tags: | added: lxc lxd |
description: | updated |
Changed in libertine (Ubuntu): | |
status: | Triaged → In Progress |
assignee: | nobody → Christopher Townsend (townsend) |
To post a comment you must log in.
Fix committed into lp:libertine at revision 385, scheduled for release in libertine, milestone Unknown