Add libvirt's event listeners and use them to implement a graceful stop
authorLukasz Pawelczyk <l.pawelczyk@partner.samsung.com>
Thu, 8 May 2014 10:24:42 +0000 (12:24 +0200)
committerJan Olszak <j.olszak@samsung.com>
Mon, 19 May 2014 11:47:16 +0000 (13:47 +0200)
commit7649171d7f1db162bb743f6b0bf2ed6801535b42
treeda206a483960ff9e5c2038dc14855f02ea14deea
parente5d1822e62bf0009cb956bad151c7436877156f5
Add libvirt's event listeners and use them to implement a graceful stop

[Bug/Feature]   Orginize container's shutdown process
[Cause]         Burdello
[Solution]      Implemented listeners for libvirt's events (lifecycle and reboot)
                Added libvirt-glib dependency to use glib main loop for those events.
                Used those listeners to implement a synchronous graceful stop of
                the container: "try to shutdown, if it wont in 10 seconds, destroy it".
                Added thread ID to the logger.
                Organized container related logs a little.
[Verification]  Built, installed, run tests and the daemon.

Change-Id: I3be53a2a46cd130cf414e89b0c47eb1cce74e6b5
Signed-off-by: Lukasz Pawelczyk <l.pawelczyk@partner.samsung.com>
26 files changed:
common/libvirt/helpers.cpp
common/libvirt/helpers.hpp
common/log/formatter.cpp
common/log/formatter.hpp
packaging/security-containers.spec
server/CMakeLists.txt
server/container-admin.cpp
server/container-admin.hpp
server/container-connection-transport.cpp
server/container-connection.cpp
server/container.cpp
server/container.hpp
server/containers-manager.cpp
unit_tests/CMakeLists.txt
unit_tests/server/configs/ut-container-admin/libvirt-config/test.xml
unit_tests/server/configs/ut-container/libvirt-config/test-dbus.xml.in
unit_tests/server/configs/ut-container/libvirt-config/test.xml
unit_tests/server/configs/ut-containers-manager/libvirt-config/console1.xml
unit_tests/server/configs/ut-containers-manager/libvirt-config/console2.xml
unit_tests/server/configs/ut-containers-manager/libvirt-config/console3.xml
unit_tests/server/configs/ut-server/libvirt-config/container1.xml
unit_tests/server/configs/ut-server/libvirt-config/container2.xml
unit_tests/server/configs/ut-server/libvirt-config/container3.xml
unit_tests/server/ut-container-admin.cpp
unit_tests/server/ut-container.cpp
unit_tests/server/ut-containers-manager.cpp