command 'ifreload -a' failed: exit code 89

TASK ERROR: command 'ifreload -a' failed: exit code 89

出現条件

terraformでProxmox VEに対してLinuxブリッジをたくさん生やそうとした際に現れる

解決方法

Linuxブリッジを生やす間隔を開けると良い

解説

ifreloadコマンドがどこにあるかを調べcatする

cat $(which ifreload)

out

import os
import sys

try:
    from ifupdown2.lib.log import LogManager, root_logger
    from ifupdown2.lib.status import Status
except Exception:
    from lib.log import LogManager, root_logger
    from lib.status import Status
・・・

ifupdown2をimportしてそう

dpkg -L ifupdown2

out

/.
/etc
/etc/default
/etc/default/networking
・・・
/usr/share/ifupdown2/ifupdown2

/usr/share/ifupdown2/ifupdown2にありそうなのでエラーコードで調べてみる

grep -rn "89" /usr/share/ifupdown2/

out

・・・
/usr/share/ifupdown2/lib/status.py:42:        STATUS_ALREADY_RUNNING = 89
・・・

STATUS_ALREADY_RUNNING ということですでに実行中っぽい

おまけ

/usr/share/ifupdown2/lib/status.py 内にあるSTATUS_ にエラーコード入ってそうなので一応他のエラーも見ておく

grep -rn "STATUS_" /usr/share/ifupdown2/lib/status.py
32:        STATUS_SUCCESS = 0
33:        STATUS_INIT = 91
34:        STATUS_COULD_NOT_CONNECT = 92
35:        STATUS_NO_PID = 93
36:        STATUS_EMPTY = 94
37:        STATUS_KEYBOARD_INTERRUPT = 95
38:        STATUS_NLERROR = 96
39:        STATUS_EXCEPTION_MAIN = 99
41:        STATUS_ARGV_ERROR = 90
42:        STATUS_ALREADY_RUNNING = 89
45:        STATUS_SUCCESS = 0
46:        STATUS_INIT = 101
47:        STATUS_UNKNOWN = 102
48:        STATUS_SOCKET_ERROR = 103
49:        STATUS_PROCESS_REQUEST = 104
50:        STATUS_KEYBOARD_INTERRUPT = 105
51:        STATUS_NLERROR = 106
53:        STATUS_REQUEST_PARSE_ERROR = 106
54:        STATUS_REQUEST_EXCEPTION = 107
55:        STATUS_REQUEST_BASE_EXCEPTION = 108
← Go home