
- /run is a temporary fs (tmpfs) more adequate to store this kind of file. Signed-off-by: Jose Ricardo Ziviani <joserz@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..7abae66 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 %(dir)s 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..e86f8b8 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: + raise OperationFailed("KCHVM0081E", + {'dir': serialconsole.BASE_DIRECTORY}) + 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..fa6f6b4 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' 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/<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