- /run is a temporary fs (tmpfs) more adequate to store this kind of
file.
Signed-off-by: Jose Ricardo Ziviani <joserz(a)linux.vnet.ibm.com>
---
i18n.py | 1 +
model/vms.py | 11 ++++++++++-
serialconsole.py | 5 +++--
3 files changed, 14 insertions(+), 3 deletions(-)
diff --git a/i18n.py b/i18n.py
index 707b74b..e219857 100644
--- a/i18n.py
+++ b/i18n.py
@@ -135,6 +135,7 @@ messages = {
"KCHVM0078E": _("Memory or Maximum Memory value is higher than amount
supported by the host: %(memHost)sMiB."),
"KCHVM0079E": _("Memory or Maximum Memory value is higher than maximum
amount recommended: %(value)sTiB"),
"KCHVM0080E": _("Cannot update Maximum Memory when guest is
running."),
+ "KCHVM0081E": _("Impossible to create /run/wok directory."),
"KCHVMHDEV0001E": _("VM %(vmid)s does not contain directly assigned
host device %(dev_name)s."),
"KCHVMHDEV0002E": _("The host device %(dev_name)s is not allowed to
directly assign to VM."),
diff --git a/model/vms.py b/model/vms.py
index 195c879..cd77575 100644
--- a/model/vms.py
+++ b/model/vms.py
@@ -1467,8 +1467,17 @@ class VMModel(object):
if not self._vm_check_serial(name):
raise OperationFailed("KCHVM0076E", {'name': name})
+ if not os.path.isdir(serialconsole.BASE_DIRECTORY):
+ try:
+ os.mkdir(serialconsole.BASE_DIRECTORY)
+
+ except OSError as e:
+ wok_log.error(e.message)
+ raise OperationFailed("KCHVM0081E")
+
websocket.add_proxy_token(name.encode('utf-8')+'-console',
- '/tmp/%s' % name.encode('utf-8'),
True)
+ os.path.join(serialconsole.BASE_DIRECTORY,
+ name.encode('utf-8')), True)
try:
self._serial_procs.append(
diff --git a/serialconsole.py b/serialconsole.py
index 1eb48b1..47f4c2d 100644
--- a/serialconsole.py
+++ b/serialconsole.py
@@ -35,6 +35,7 @@ from wok.plugins.kimchi import model
SOCKET_QUEUE_BACKLOG = 0
DEFAULT_TIMEOUT = 120 # seconds
CTRL_Q = '\x11'
+BASE_DIRECTORY = '/run/wok'
class SocketServer(Process):
@@ -61,13 +62,13 @@ class SocketServer(Process):
def __init__(self, guest_name, URI):
"""Constructs a unix socket server.
- Listens to connections on /tmp/<guest name>.
+ Listens to connections on /run/wok/<guest name>.
"""
Process.__init__(self)
self._guest_name = guest_name
self._uri = URI
- self._server_addr = '/tmp/%s' % guest_name
+ self._server_addr = os.path.join(BASE_DIRECTORY, guest_name)
if os.path.exists(self._server_addr):
wok_log.error('Cannot connect to %s due to an existing '
'connection', guest_name)
--
1.9.1