Kompira enterprise v2.0.2 をリリースしました。
※ 内部リリースで告知されていなかった v2.0.1 の内容も合わせてご案内します。
Ver.2.0.2 (2024/10/16)
コンテナイメージ
kompira.azurecr.io/kompira-enterprise:2.0.2
注意点
- Ver2.0.1 以前とライセンス管理における system_id の算出方法が変わりました。正規ライセンス適用済みの環境では新しい system_id でライセンスを再発行して適用していただく必要があります。
変更
- ライセンス管理における system_id のシードに DATABASE_HOST と DATABASE_NAME を加えました。
- DATABASE_URL を変更してデプロイしなおすと system_id が変わる場合があることに注意してください。
- mailto() に指定したアドレスリスト (TO:. CC:, BCC: など) が不正な (RFC 2822 に準拠していない) 形式であった場合は、mailto() のエラーとなるようになりました。
- Python3 自体の脆弱性対応 (CVE-2023-27043) によりアドレスリストの形式チェックが強化されました。例えば、複数のメールアドレスをセミコロンで区切って列挙するような形式はエラーとなります。
- pickle エンコードされたメッセージをロードするときに、削除済みオブジェクトについては null になりますが、その場合にログに出力するようにしました。
- たとえば、Kompira オブジェクトの参照を含むメッセージ(例えば
{obj=/foo/bar/object}
)をチャネルオブジェクトに送信した状態で、その Kompira オブジェクトを削除してからチャネルからメッセージを取り出すと、削除済みオブジェクトの参照はnull
に(先のメッセージであれば{obj=null}
)なります。こうした場合に kengine のログに記録が残るようになりました。
- たとえば、Kompira オブジェクトの参照を含むメッセージ(例えば
修正
- エンジン起動中に既存のスケジューラオブジェクトを上書きインポートすると更新処理に時間がかかる問題を修正しました。
- チャネルタイムアウト時に DB のアクセスエラーが発生するとタイムアウトせずにずっと待ちのままになる問題を修正しました。
- 別エクゼキュータ上で実行しているプロセスの terminate に失敗する問題を修正しました。
Ver.2.0.1 (2024/09/19)
コンテナイメージ
kompira.azurecr.io/kompira-enterprise:2.0.1
新機能
- システムステータス取得用のエンドポイント
/.status
を追加しました。- システムを構成する各コンポーネントの状態を取得して、その正常性を判断できます。
- API 呼び出しをする(Accept ヘッダに ‘application/json’ が含まれる等)、あるいはクエリパラメータに
format=json
を指定すると、JSON 形式で結果を取得できます。 - 通常はステータスコード 200 を返します。重要コンポーネントである redis, postgresql にアクセスできない状況では、ステータスコード 503 を返します。
変更
- Kompira ジョブマネージャや RabbitMQ などが停止している場合に画面上部にエラーメッセージを表示するようにしました。
- 重要コンポーネントである redis, postgresql にアクセスできない状況では、エラー画面を表示するようにしました。
- 監査ログのロギング設定を環境変数 (AUDIT_LOGGING_XXX) で指定できるようにしました。
- ログローテーション間隔 (loginterval, $LOGGING_INTERVAL) を指定できるようにしました。
- docker-compose-plugin について v2.24.6 以上が必要であることを README.md に追記しました。
修正
- hb_queue の owner であるノードがダウンすると jobmngrd のステータスが全てダウンになってしまう問題を修正しました。
- クラスタ構成でRabbitMQ クラスタが異常なときにスケジュールが多重実行される場合がある問題を修正しました。
- 管理領域のジョブマネージャ状態の一覧表示の順序が固定されていない問題を修正しました。
その他
- KEv1.6 における修正や変更を移植しました。
- import_dir において .gitignore ファイルがあるとエラーになる場合がある問題を修正しました。
- リポジトリ連携の push 時に .gitignore/.hgignore を削除対象外にしました。
- django-axes の冗長なログ出力を無効化しました。