Kompira enterprise v1.6.13 をリリース

Kompira enterprise v1.6.13 をリリースしました。(製品のダウンロードはこちら)

動作環境

  • 【重要】新たに以下の OS に対応しました。
    • RHEL10 系に対応しました。
      • Red Hat Enterprise Linux (RHEL) 10 系
      • Rocky Linux 10 系
      • AlmaLinux OS 10 系
  • 【重要】Python 3.12 に対応しました。
    • 新規インストールする場合は Python 3.12 を Kompira の環境として利用するように構成します。
      • インストールする OS によって、Python のマイクロバージョン(3.12.x の x の部分)は異なります。
      • 既存のライブラリオブジェクトを流用する場合、Python のバージョン変更に伴って動作が変わる可能性がありますので、十分に動作確認を行なうようにしてください。
  • 【重要】Python 3.9 以前のサポートを終了しました。
    • Kompira の動作環境として Python 3.9 以前のサポートを終了しました。Python 3.9 での新規インストールおよびアップデートはできません。
    • Python 3.9 以前で構築された環境を Kompira 1.6.13 以降でアップデートすると、/opt/kompira 環境を対応する新しい Python バージョンを用いて構築しなおします。
      • このとき以下のようなメッセージが表示されて再構築を実施するかを yes/no で確認が行われます。No を選択するとインストールを中止します。
        [2026-01-21 12:52:40] ****: ----------------------------------------------------------------
        [2026-01-21 12:52:40] ****: Install Python 3.X package [2026-01-21 12:52:40] ****:
        [2026-01-21 12:52:40] INFO: Available Python versions: 3.12
        [2026-01-21 12:52:40] INFO: Current Python (/opt/kompira/bin/python): 3.8.17
        [2026-01-21 12:52:40] WARN: The current Python version 3.8.17 in the Kompira environment is NOT SUPPORTED!

        MIGRATE THE KOMPIRA ENVIRONMENT FROM PYTHON 3.8.17 TO PYTHON 3.12.* AND CONTINUE THE INSTALLATION? (yes/No)
      • Yes を選択すると、以前の環境は /opt/kompira.YYYYMMDD のような名前でバックアップされて、新しい /opt/kompira 環境が新しいバージョンの Python で構築されます。
    • /opt/kompira 環境を再構築するアップデートを行う場合で、かつ、以前の環境に追加 Python パッケージがインストールしていた場合は、その追加パッケージを自動的にインストールします。
      • このとき以下のようなメッセージが表示され、自動インストールを実施するかを yes/no で確認が行われます。
        [2026-01-21 12:52:45] INFO: Additional packages requiring reinstallation have been detected: openpyxl==3.1.5

        REINSTALL ADDITIONAL PACKAGES AFTER MIGRATION? (yes/No)
      • Yes を選択すると Kompira 本体がインストールされた後に、検出した追加パッケージのインストールを行ないます。No を選択していた場合は追加パッケージのインストールを行いません。
      • Python のバージョンが変わっているため追加パッケージのインストールに失敗する可能性もあります。その場合は手動で適切なバージョンを選択して再インストールしていただくなどの対応をご検討ください。
      • オフラインインストールを行なう場合は追加パッケージが extra パッケージに含まれていないとエラーになることにご注意ください。extra パッケージを作成するときに、追加の Python パッケージを含めるようにしてください。
  • 【重要】kompira のログファイルのローテーションを Python ではなく logrotate サービスで行うように変更しました。
    • logrotate の設定ファイルを追加してインストーラで適用するようにしました。
      • /etc/logrotate.d/kompira
      • /etc/logrotate.d/kompira_jobmngrd
      • /etc/logrotate.d/kompirad
    • デフォルトのローテート保持数を変更しています。
      • kompira.log: 7 ⇒ 30
      • kompirad.log: 7 ⇒ 30
      • process.log: 無制限 ⇒ 365
      • kompira_jobmngrd.log: 7 ⇒ 30
    • なお、kompira_sendevt.log については kompira_sendevt を Windows にインストールする場合もあるので、変更せずに従来どおり Python によるローテートを行うようにしています。
  • PostgreSQL 18 に対応しました。
    • 新規インストールする場合は PostgreSQL 18 をデータベースとして利用するように構成します。
      • ただし Amazon Linux 2023 環境では提供されている最新の PostgreSQL 16 になります。
  • EOL になった PostgreSQL 12 ~ 13 のサポートを終了しました。
    • 該当する古い PostgreSQL がインストールされている環境で Kompira をアップデートすると、古い PostgreSQL はそのまま保持されます。
      • PostgreSQL をアップグレードしたい場合は、install.sh に --postgresql-version=18​ などと指定してください。

新機能

  • ジョブフローに新しい結合子として ~>​ を導入しました。
    • ~>​ 結合子は、直前に呼び出したジョブの終了ステータス ($STATUS​) が 0 以外の場合に呼び出し元のジョブフローに即座にリターンします。
    • この時の $STATUS​, $RESULT​, $ERROR​ の値は呼び出したジョブの特殊変数の値がそのまま返されます。
  • ジョブフローに以下の新しい代入演算子を導入しました。
    • 単純代入演算子: :=
    • 算術代入演算子: +=​, -=​, *=​, /=​, %=
    • これらの代入演算子は、左辺の変数が未定義の場合には未定義変数エラーとなり、ジョブフローのコンパイルに失敗します。
    • 算術代入演算子は、左辺の変数に格納されている値と右辺式の評価結果の値に対して、対応する算術演算を施した結果を改めて左辺の変数に代入します。たとえば、[x += 3]​ という代入ジョブは、[x := x + 3]​ と同じ意味になります。
  • ジョブフロー内でコードブロック(関数)を定義して呼び出せる機能を追加しました。
    • コードブロックは { パラメータリスト | ジョブフロー式 }​ の形式で定義でき、コードブロックオブジェクトが生成されます。
    • 例えば、[square = { x | return(x * x) }]​ はパラメータ x​ で与えた数を二乗して返すコードブロックを定義して、そのコードブロックオブジェクトを square​ という変数で持たせることになります。
    • コードブロックオブジェクトはジョブフローと同様に実行ジョブで呼び出すことができます。例えば以下のジョブフローを実行すると、コンソールに 81 と表示されます。
    [square = { x | return(x * x) }] -> [square: 9] -> print($RESULT)
    • 詳細についてはマニュアルの「4.5.1.8. コードブロック」を参照してください。

修正

  • インストール中に httpd が起動できずにインストールに失敗する場合がある問題を修正しました。
  • テーブル画面で read 権限のないオブジェクトのフィールド値が表示される問題を修正しました。
  • 添付ファイルフィールドのファイルダウンロードに失敗することがある問題を修正しました。
  • 空のコードブロックを定義すると、ジョブフローエディタ上でコードの一部が赤文字になる問題を修正しました。
  • kompira_jobmngrd へのジョブ送信時にデータサイズが大きいと kompirad がダウンする場合がある問題を修正しました。
  • Python パッケージ情報一覧のテーブル表示が崩れる場合がある問題を修正しました。
  • コードブロック生成後に定義元のジョブフローを削除するとその実行時にエラーとなる問題を修正しました。
  • SmtpServer/MailChannel オブジェクトの OAuth2 プロバイダ「認証フロー開始」時に画面に表示されるはずの「リダイレクトURL入力モーダル」がすぐに消えてしまう問題を修正しました。
  • プロセス詳細画面のジョブフロータブで相対パスが正しくリンクされない場合がある問題を修正しました。
  • upload() の結果を得たときにステータスが 0 でないときは宛先フィールドを更新しないように修正しました。
  • ジョブフロー文法チェックで不正な仮想オブジェクトのパスがあるときに 500エラー が発生する場合がある問題を修正しました。
  • オブジェクト新規作成時のアクセス許可の継承についてマニュアルの記載に誤りがあるのを修正しました。
  • ジョブフロープロセスの監視モードが想定外の値の場合は NOTHING とみなすように修正しました。
  • kompira_sendevt で大きなメッセージを送信したときに jobmngrd からの結果/出力メッセージの処理が遅延する問題を改善しました。

変更

  • mailto() で 宛先 to: に一つもアドレスを指定していない場合でもエラーとしないように変更しました。
  • kompirad および kompira_jobmngrd に –workdir オプションを追加しました。
  • Netmiko 3.4.0 -> 4.3.0 で追加されたノード種別を追加しました。
  • ジョブフローエディターを KE1.6.13 で追加された新しいシンタックスに対応しました。
  • readOnly モードのジョブフローエディターでも altKey を押しながらリンクをクリックしたときは別ウィンドウで開くようにしました。
  • 複数オブジェクト操作時のリダイレクトで URL パラメータが長くなりすぎないように select_objects を相対パスで指定するように変更しました。

ライブラリアップデート

  • Kompira が依存している Python ライブラリのバージョンを更新しました。
LibraryOld VersionNew Version
amqpamqp ~= 2.6.1amqp ~= 5.3.1
apschedulerapscheduler ~= 3.9.1apscheduler ~= 3.11.1
cacheoutcacheout ~= 0.13.1cacheout ~= 0.16.0
cryptographycryptography ~= 38.0.1cryptography ~= 46.0.3
decoratordecorator ~= 5.1.1decorator ~= 5.2.1
djangoDjango ~= 3.2.15Django ~= 4.2.27
django-auth-ldapdjango-auth-ldap ~= 4.0.0django-auth-ldap ~= 4.3.0
django-axesdjango-axes ~= 5.30.0django-axes ~= 6.5.2
django-environdjango-environ ~= 0.11.2django-environ ~= 0.12.0
django-filterdjango-filter ~= 2.4.0django-filter ~= 24.3
django-ipwaredjango-ipware ~= 4.0.2django-ipware ~= 7.0.1
django-select2django-select2 ~= 7.4.2django-select2 ~= 8.2.3
djangorestframeworkdjangorestframework ~= 3.13.1djangorestframework ~= 3.16.1
fabricfabric == 2.7.1fabric == 3.2.2
gitpythonGitPython ~= 3.1.0GitPython ~= 3.1.45
invokeinvoke == 1.7.3invoke == 2.2.1
jinja2jinja2 ~= 3.1.6jinja2 ~= 3.1.6
json-rpcjson-rpc ~= 1.13.0json-rpc ~= 1.15.0
markdownmarkdown ~= 3.3.7markdown ~= 3.4.3
markupsafeMarkupSafe ~= 2.1.5MarkupSafe ~= 3.0.2
mod-wsgimod-wsgi ~= 4.9.4mod-wsgi ~= 5.0.2
netmikonetmiko == 3.4.0netmiko == 4.6.0
oauthliboauthlib ~= 3.2.2oauthlib ~= 3.3.1
packagingpackaging >= 21.0packaging ~= 25.0
paramikoparamiko ~= 2.12.0paramiko ~= 3.5.1
pip-licensespip-licenses ~= 3.5.4pip-licenses ~= 5.5.0
prettytableprettytable ~= 2.2.1prettytable ~= 3.16.0
psutilpsutil ~= 5.9.2psutil ~= 7.1.3
psycopg2-binarypsycopg2-binary ~= 2.9.10psycopg2-binary ~= 2.9.11
pycryptodomePyCryptodome ~= 3.15.0PyCryptodome ~= 3.18.0
pymemcache(Not specified)pymemcache ~= 4.0.0
pyopensslpyOpenSSL ~= 22.1.0pyOpenSSL ~= 25.3.0
python-compilerpython-compiler ~= 1.1(Removed)
python-daemonpython-daemon ~= 2.3.1python-daemon ~= 3.1.2
python-ldap(Not specified)python-ldap ~= 3.4.5
python-memcachedpython-memcached == 1.59python-memcached == 1.62
pywinrmpywinrm[kerberos,credssp] ~= 0.4.3pywinrm[kerberos,credssp] ~= 0.5.0
pyyamlpyyaml ~= 6.0pyyaml ~= 6.0.1
requestsrequests == 2.31.0requests ~= 2.32.4
requests-oauthlibrequests-oauthlib ~= 1.3.1requests-oauthlib ~= 2.0.0
setproctitlesetproctitle ~= 1.2.3setproctitle ~= 1.3.6
structlogstructlog ~= 21.5.0structlog ~= 25.5.0
textfsmtextfsm ~= 1.1.3(Not specified)
typing-extensionstyping-extensions == 3.7.4.3(Not specified)
tzlocaltzlocal ~= 4.2tzlocal ~= 5.3.1
urllib3urllib3 ~= 1.26.16(Not specified)

その他

  • kompira の wheel パッケージ名が小文字始まりになるように変更しました。
  • ジョブフローエディターでの文法解析やインデント操作の精度を向上しました。
  • チャネルへの大きいメッセージ受信時などにスロークエリログを抑止するようにしました。

注意点

TOP