Wiki
Clone wikipackage / Release / Ver1_5_5_post1
Kompira リリースノート
Ver.1.5.5.post1 (2019/11/12)
修正
- issue #1362: 日本語名のテーブルに含まれるオブジェクトの名前を変更するとエラーが表示される問題を修正しました。
- issue #1321: 添付ファイルを持つオブジェクトの削除に時間がかかる場合がある問題を改善しました。
- issue #1359: 設定オブジェクトのフィールド表示名をクリックすると表示名が消える問題を修正しました。
- issue #1360: ライブラリオブジェクトをインポートしたときにエラーが表示されることがある問題を修正しました。
変更
- 管理コマンド
- 書き込みできない場所に対する manage.py export_dir コマンドを異常終了するように変更しました。
その他
- パフォーマンス改善
- テーブルの children ビューでは子要素数の annotation を廃止してクエリ速度を改善しました。
- ディレクトリのViewとAPIViewで子要素に関する annotation を使い分けることでクエリ速度を改善しました。
Ver.1.5.5 (2019/10/29)
- Ver.1.5.5.rc1 から内容に変更はありません。
Ver.1.5.5.rc1 (2019/10/29)
修正
- issue #1337: ライブラリからライブラリを呼び出した際に、呼び出された側のライブラリのモジュール内変数の値が None になってしまう問題を修正しました。
- ロード済みのライブラリに変更が無い場合は再読み込みしないようにすることで対処しました。
- あるジョブフロープロセスでライブラリの参照を保持したまま、そのライブラリを書き換えて別のジョブフロープロセスで新たに同ライブラリを参照するような使い方をすると、同様の問題が発生する可能性があるのでご注意ください。
- issue #1357: ブラウザからのオブジェクト検索に日本語を指定すると失敗する問題を修正しました。
- issue #1356: [155a] テーブルでの検索時に
annotate() + distinct(fields) is not implemented.
というエラーが発生する問題を修正しました。
変更
- パフォーマンス改善
- ライブラリオブジェクトおよび含まれる関数の参照時間を改善しました。
- オブジェクト一覧表示画面などでのデータベースアクセス時間を改善しました。
Ver.1.5.5.beta2 (2019/10/24)
新機能
- ジョブフロー
- urlopen のレスポンスに HTTP バージョンを含めるようにしました。
修正
- issue #1338: [v155a] パフォーマンス劣化の要因となった atfork ライブラリの修正版を同梱するようにしました。
- issue #1350: [v155a] source ライブラリ呼び出し時にメモリリークしていた問題を修正しました。
- issue #1347: pacemaker が stop しているときに sync_master すると失敗することがある問題を修正しました。
- issue #1352: ジョブフロー数が多い時に kompirad 起動時にタイムアウトする問題を修正しました。
- issue #1344: 上書きインポート時にフィールド定義の変更が反映されない問題を修正しました。
変更
- ログ
- 【重要】 postgresql のログ出力先を /var/log/postgresql/postgresql.log に変更しました。
- インストール
- ライセンス切れ状態では kompira のインストールに失敗するように変更しました。
- パフォーマンス改善
- パフォーマンス向上のためにデータベースにインデックスを追加しました。
Ver.1.5.5.beta1 (2019/08/30)
新機能
- ジョブフロー
- ディレクトリおよびテーブルに対して for ブロックや children プロパティを用いると、オブジェクトのリストがデフォルトのソート順で読み込まれるようになりました。
- datetime() / date() / time() で相対的な日時指定ができるようになりました。
- find メソッドで type_object および owner に対してルックアップ 'in' が利用できるようになりました。
- チャネルリストでの受信待ちができるようになりました。
- データモデル
- ディレクトリおよびテーブルに、デフォルトのソート順とページサイズを保存するフィールドを追加しました。
- Datetime / Date / Time 型フィールドのデフォルト値に相対的な日時指定ができるようになりました。
- 外部連携
- Windows サーバに対する PUT/GET リモートタスクを機能強化しました。
- 画面操作
- ブラウザ上のテキストエディタが機能強化しました。
- ディレクトリおよびテーブル画面でデフォルトのソート順とページサイズが適用されるようになりました。
- 操作したオブジェクトに自動的にフォーカスされるようになりました。
- テーブル画面での検索機能を強化しました。
修正
- issue #1343: abort() にバイナリデータを渡すと abort 自体に失敗してしまい try でキャッチできない問題を修正しました。
- issue #1336: チェックポイントモードのプロセスが再開しても待ち状態のまま動作が再開しない場合がある問題を修正しました。
- issue #1335: オブジェクトのparent_objectの型オブジェクト固有のメソッドが呼び出せない問題を修正しました。
- issue #1328: ディレクトリのツリー表示時にメモリ不足になる場合がある問題を修正しました。
- issue #1325: sshノードに対する sudo でパスワードが間違えている場合に正しく認識できない場合がある問題を修正しました。
- issue #1318: 否定条件を複数組み合わせた場合の find 結果が正しくない問題を修正しました。
- issue #1317: DBアクセス処理中にジョブフローを停止すると、kompirad がデッドロックすることがある問題を修正しました。
- issue #1313: getで日本語パス+ワイルドカード指定するとエラーになる問題を修正しました。
- issue #1314: ライブラリオブジェクトでエンコード宣言の記述が無いと文字列リテラルが化ける問題を修正しました。
- issue #1312: winrmの戻り値が負の値を取るとジョブフローが終了しない問題を修正しました。
- issue #1309: APIアクセス時にライセンスオブジェクトの extra_properties が展開されない問題を修正しました。
- issue #1307: 文字列フィールドでmin_length=1を指定しても、0文字が入力できてしまう問題を修正しました。
- issue #1298: Windowsサーバに対してreboot()すると再起動完了前にジョブが正常終了してしまうことがある問題を修正しました。
- issue #1297: Windowsサーバに対してreboot()するとジョブが異常終了する問題を修正しました。
- issue #1293: ライブラリ保存時にUnicodeEncodeErrorが出る場合がある問題を修正しました。
- issue #1282: sourceライブラリの呼び出した関数内でpythonが落ちるとプロセスが実行中のまま進まなくなる問題を修正しました。
変更
- 画面操作
- オブジェクト編集時に画面遷移確認される画面が増えました。
- ショートカットキーを利用できる画面が増えました。
- ジョブフロー
- 正規表現マッチ中にも別のジョブフロープロセスが動作できるようになりました。
- コマンドジョブ実行時に参照する管理領域情報をキャッシュするようになりました。
制限事項
- ライブラリ
- v1.5.4 で対応した「ライブラリオブジェクトから別のライブラリオブジェクトの関数を呼び出し」において、呼び出された側のライブラリのモジュール内変数の値が None になってしまう場合があります。(v1.5.4 から存在)
- 発生条件(タイミングにも依存するので厳密ではありません)
- ライブラリオブジェクト(A)で定義した関数をジョブフローで利用している。
- ライブラリオブジェクト(A)をインポートしているライブラリオブジェクト(B)で定義した関数をジョブフローで利用している。
- ライブラリオブジェクト(A)およびライブラリオブジェクト(B)が safe_source ライブラリである。
- ライブラリオブジェクト(A)が複数の経路で複数回ロードされる。
- 回避方法
- 別ライブラリオブジェクトからインポートされるライブラリオブジェクト(上ではA)の関数を複数の経路で利用しないようにする。
- 別ライブラリオブジェクトからインポートされるライブラリオブジェクトではモジュール内変数を利用しないようにする。
- 発生条件(タイミングにも依存するので厳密ではありません)
- v1.5.4 で対応した「ライブラリオブジェクトから別のライブラリオブジェクトの関数を呼び出し」において、呼び出された側のライブラリのモジュール内変数の値が None になってしまう場合があります。(v1.5.4 から存在)
その他
- エクスポート操作をログに出力するようにしました。
- javascript ライブラリをアップデートしました。
- Codemirror (5.48.0)
- jsTree (3.3.8)
- プロセス管理用コマンドを追加しました。
- /opt/kompira/bin/manage.py process
Ver.1.5.4.post5 (2019/03/29)
修正
- issue #1291: try ブロックで異常をキャッチしたときプロセスの情報が更新されない問題を修正しました。
- issue #1290: try ブロックを抜けたところでジョブが終了するとプロセスの実行行番号が 0 になる問題を修正しました。
- issue #1288: proxy 環境下でのインストールに失敗することがある問題を修正しました。
- issue #1285: urlopenでの POST 時に文字列データを渡すとエラーになる問題を修正しました。
- issue #1287: 終了待ちしている子プロセスが削除されると、forkブロックやpforブロックが終了しない問題を修正しました。
- issue #1280: pforのプロセス数が0の場合、ジョブフローがスタックする問題を修正しました。
- issue #1152: mktemp が無い環境でのスクリプトジョブ実行に失敗する問題を修正しました。
- issue #1221: winrm 接続時のタイムアウト制御の挙動を改善しました。
変更
- ジョブフロー
- issue #1252: リモートログイン失敗時にエラーメッセージを $ERROR 変数にセットするようにしました。
- issue #1286: SSHで踏み台ログイン失敗時のエラーメッセージを分かりやすく改善しました。
- issue #1262:
__sudo__ = true
かつ__use_shell__ = false
のとき__dir__
は指定できないので、分かりやすくエラーメッセージを改善しました。
Ver.1.5.4.post4 (2019/02/20)
修正
- issue #1281: 冗長構成でハートビート用インターフェースが自動起動しない場合がある問題を修正しました。
- issue #1278: upload()メソッド実行時に存在しないフィールドを指定すると無限待ちに陥る問題を修正しました。
- issue #1269: RHUI 環境における冗長構成スクリプトの動作を改善しました。
変更
- 冗長構成
- 冗長構成における kompirad 起動時タイムアウト60秒から180秒に延長しました。
Ver.1.5.4.post3 (2019/02/13)
修正
- issue1275: フィールド値を書き換えてもオブジェクトの更新日時が更新されない場合がある問題を修正しました。
- issue1276: 冗長構成においてHTTPアクセスできない場合がある問題を修正しました。
- issue1277: 冗長構成の HTTP サービスで環境変数の設定が適用されない問題を修正しました。
変更
- テキストオブジェクト
- テキストオブジェクトのコンテクスト置換機能について、コンテクストオブジェクトが未指定の時は、この置換機能を無効化しました。
- 冗長構成
- 冗長構成におけるhttpd監視対象URLをリダイレクト不要なものに変更しました。
Ver.1.5.4.post2 (2019/02/01)
修正
- issue #1272: 特権でないユーザがインシデントを正しく作成できない問題を修正しました。
- issue #1271: 複数グループに所属するユーザが一覧で複数表示されてしまう問題を修正しました。
- issue #1268: タスクのcloseを呼び出しても完了日時がNoneのままになる問題を修正しました。
- issue #1255: チャネルの削除とメッセージの送受信を同時にすると、DBがデッドロックすることがある問題を再修正しました。
Ver.1.5.4.post1 (2019/01/10)
修正
- issue #1265: リポジトリ連携ライブラリをインポートした時点で環境変数LANGがen_USになる問題を修正しました。
- issue #1263: ディレクトリ形式インポート時にユーザ定義型のオブジェクトがインポートできない問題を修正しました。
- issue #1261: Windows にインストールした kompira_sendevt で日本語データを送信できない問題を修正しました。
Ver.1.5.4 (2018/12/27)
新機能
- 外部連携
- リポジトリオブジェクトで mercurial に加えて git リポジトリと連携できるようになりました。
- REST API
- 新しいインシデントを REST-API で作成できるようになりました。
/incident
に対する POST アクセスでインシデントを作成できます。
- 新しいインシデントを REST-API で作成できるようになりました。
- ライブラリ
- [experimental] ライブラリオブジェクトの関数を JSON-RPC で呼び出すことができるようになりました。
- ただし safe_source タイプのライブラリオブジェクトに限ります。
- エンドポイントはライブラリオブジェクトのパス +
.jsonrpc
となります。- 例:
/root/mylib
というライブラリであれば/root/mylib.jsonrpc
となります。
- 例:
- [experimental] ライブラリオブジェクトから別のライブラリオブジェクトの関数を呼び出せるようになりました。
- 別ライブラリオブジェクトは、PEP-328 で規定される絶対インポートまたは相対インポートが可能です。
- [experimental] ライブラリオブジェクトの関数を JSON-RPC で呼び出すことができるようになりました。
- 画面操作
- インシデント一覧画面でインシデント状態ごとにフィルタリングできるようになりました。
- インシデント一覧画面に表示できる列を増やしました。
- インシデント一覧画面に検索機能を追加しました。
- プロセス一覧画面に検索機能を追加しました。
- 右上のユーザメニューに「ユーザ情報」と「パスワード変更」へのリンクを追加しました。
- 冗長構成
- 冗長構成のセットアップ時に VIP を割り当てるネットワークインターフェースを指定できるようになりました。
変更
- ユーザ管理
- 特権ユーザは元のパスワードを入力せずにパスワードを変更できるようにしました。
- ライブラリ
- ライブラリオブジェクトの内部的なモジュール名の命名方法を変更しました。
- 旧:
kompira.library.
+ ライブラリオブジェクトの名称 - 新:
kompira.library.objects
+ ライブラリオブジェクトのパス(/
は.
に置換)- 例:
/root/mylib
というライブラリであればkompira.library.objects.root.mylib
となります。
- 例:
- 旧:
- ライブラリオブジェクト内部でのインポート方式を絶対インポートに変更しました。
- 自動的に
from __future__ import absolute_import
が適用されます。
- 自動的に
- ライブラリオブジェクトの内部的なモジュール名の命名方法を変更しました。
- インポート
- オブジェクトのインポート時に更新日時を復元するようにしました。
修正
- issue #1138: リポジトリ連携で空テーブルや空ディレクトリが作成されない問題を修正しました。
- issue #1218: 特定の名称を持つライブラリオブジェクトを正常に呼び出せない問題を修正しました。
- issue #1242: dateオブジェクトのweekdayプロパティが正しい値を返さない問題を修正しました。
- issue #1241: datetimeオブジェクトのformat()メソッドが異常終了する問題を修正しました。
- issue #1248: REST API でスケジューラを登録するとき、日時週などに不正な値を指定してもエラーにならない問題を修正しました。
- issue #1250: セッションブロックでリモートから切断したときにジョブマネージャのセッションが終了しない場合がある問題を修正しました。
- issue #1255: チャネルの削除とメッセージの送受信を同時にすると、DBがデッドロックすることがある問題を修正しました。
- issue #1257: Windows へのファイル put で正常にファイル転送できない場合がある問題を修正しました。
Ver.1.5.3 (2018/11/16)
新機能
- ジョブフロー
- ジョブ/ライブラリ呼び出しの引数に対して、配列や辞書を *args や **kwargs のように展開して渡せるようになりました。
- 日付および時刻を扱う
Date
型とTime
型を追加しました。date()
組み込み関数で、指定された文字列から日時データに変換できます。time()
組み込み関数で、指定された文字列から時刻データに変換できます。
mailto()
組込みジョブに charset 引数を追加して送信時の文字コードを指定できるようになりました。charset="iso-2022-jp"
などと指定できます。- ただし python の仕様で
shiftjis
やeucjp
を指定してもiso-2022-jp
にエンコードされます(対応検討中)。
- データモデル
- 日付および時刻を記録する
Date
フィールドとTime
フィールドを追加しました。
- 日付および時刻を記録する
- 外部連携
- メールチャネルで IMAP サーバへのログイン時に CRAM-MD5 認証に対応しました。
- 画面操作
- リポジトリ連携でプッシュするときにコミットメッセージが入力できるようになりました。
変更
- issue #1237: kompirad ワーカプロセスのメモリ制限デフォルト値を 1GB から 4GB に変更しました。
修正
- issue #1239: [security] 認証を経由せずに Kompira API で GET アクセスできてしまうことがある問題を修正しました。
- issue #1220: メールチャネルで長すぎる行を含むメールのフェッチに失敗することがある問題を修正しました。
- issue #1163: メールボックスに大量にメールが存在する場合にメールチャネル(IMAP)で受信できないことがある問題を修正しました。
- issue #1105: mailto でメールを送信する際に本文に長すぎる行を含んでいると、メール配送中に改行が挿入され文字化けする場合がある問題を修正しました。
その他
- CentOS6系でのテストの安定性を向上しました。
Ver.1.5.2 (2018/10/26)
新機能
- ジョブフロー
- 文字列型に format(), join(), find() などの、文字列操作用メソッドを追加しました。
- 辞書型にキー一覧を取得する get_keys() メソッドを追加しました。
- 浮動小数点を扱えるように float() 組み込み関数を追加しました。
- datetime 型に ISO 文字列を取得する isoformat() メソッドを追加しました。
- timedelta 型にトータルの経過秒数を取得する total_seconds プロパティを追加しました。
- [experimental] ディレクトリ型にオブジェクトの検索ができる find() および glob() メソッドを追加しました。
- REST API
- テーブルに対する .children API で以下のようにフィールド値による並び替えを指定できるようにしました。
- order_by=field:<フィールド名> (昇順)
- order_by=-field:<フィールド名> (降順)
- REST-API のフィルタリングで、以下のようにフィールド値の絞込み/範囲指定をできるようにしました。
- field:<フィールド名>=<値>
- field:<フィールド名>__<ルックアップ>=<値>
- テーブルに対する .children API で以下のようにフィールド値による並び替えを指定できるようにしました。
- 画面操作
- テーブル編集画面に「表示フィールドの追加」メニューを追加しました。
- プロセス一覧画面で「正常終了したプロセス」「異常終了したプロセス」をフィルタリングできるようにしました。
- ディレクトリや検索ビューの画面遷移でページサイズとソート順を保持するようにしました。
変更
- ディレクトリ一覧画面などでの日時表記フォーマットを YYYY/MM/DD hh:mm::ss 形式に変更しました。
- 一覧画面で選択可能な表示件数を 1000 まで拡張しました。
修正
- issue #1222: ファイル名にNFDエンコードされた濁点を含む場合にディレクトリインポートに失敗する問題を修正しました。
- issue #1225: オブジェクト選択フィールドでページ送りが出来ない問題を修正(暫定対処)しました。
- issue #1227: sendevt モードでのインストール時に失敗することがある問題を修正しました。
その他
- ディレクトリ一覧画面やプロセス一覧画面において表示パフォーマンスを改善しました。
- javascript ライブラリをアップデートしました。
- js.cookie (2.2.0) [New]
- Moment (2.22.2) [New]
- JsRender (0.9.91)
Ver.1.5.1 (2018/09/14)
新機能
- 英語対応および英語版ドキュメントを添付しました。
- インストール時の言語設定によって日本語または英語設定になります。
- インストール時に --locale-lang オプションで言語を指定可能です(システムの言語設定を変更します)。
- デフォルトではシステムの言語設定を変更しません(【非互換】以前のバージョンでは日本語に変更していました)。
- 日本語(ja_JP.UTF-8)および英語(en_US.UTF-8)でのみ動作確認しています。
- 型オブジェクトの編集画面で、フィールド修飾子をポップアップダイアログで編集できるようになりました。
- フィールド修飾子に指定できる項目を追加しました。
- Array/Dictionary型: default でデフォルト値が指定できるようになりました。
- String型: max_length で最大長を指定できます。
- String型: pattern で入力可能な文字列パターンを正規表現で指定できます。
- Integer型: min_value/max_value で最小値/最大値を指定できます。
- File型: file_accept でファイル選択ダイアログで表示するファイル種別を指定できます。
- 配列・辞書フィールドの順序入れ替えが簡単にできるようになりました。
- ドラッグアンドドロップによる順序入れ替え、CTRL + 上下カーソルキーによる入れ替えができます。
- インシデントをWeb画面から新規作成できるようになりました。
- ジョブフローからプロセスの監視モードを monitoring_mode で読み書きできるようになりました。
変更
- mailto() の Date ヘッダをローカルタイムになるようにしました。
- REST API で API キーによる認証を cookie より優先するようになりました。
- manage.py export_dir コマンドによるエクスポート時に権限情報を出力できるようになりました。
修正
- issue #1004: forkプロセス、スケジューラやAPIから起動したジョブフローでも、監視モードに応じてメール通知されるように修正しました。
- issue #1031: mailto() で日本語添付ファイル名の扱いを修正しました。
- issue #1208: 長すぎるフィールド修飾子を指定したオブジェクトの作成でエラーになる問題を修正しました。
- issue #1215: 多重度設定したジョブフローの並列実行が終了しない問題を修正しました。
- issue #1216: \$RESULTや\$ERRORに日本語を含むプロセスオブジェクトをmanage.py dumpdataできない問題を修正しました。
その他
- pythonライブラリをアップデートしました
- mod_wsgi (4.5.24 → 4.6.4)
- psycopg2 (2.6.2) → psycopg2_binary (2.7.5)
- psutil (5.4.6) [New]
- javascript ライブラリをアップデートしました。
- jquery-ui (1.12.1) [New]
Ver.1.5.0 (2018/07/05)
プラットフォームの移行
Python2.7 対応
- Python 2.7 系に対応し、Python 2.6 系は非対応となりました。
- Python 2.7 がインストールされていない環境では、インストーラが自動的に Python 2.7 をインストールします。
ジョブフローから実行する python スクリプトなども 2.7 系で実行されることになるため、バージョンに依存するスクリプトを利用する場合は注意してください。
CentOS 7 / RHEL 7 対応
- CentOS 7 および RHEL 7 にインストールできるようになりました。
- CentOS 6 および RHEL 6 にも引き続きインストール可能です。
ミドルウェアのアップデート
Kompira が利用するミドルウェアをアップデートしました。アップデートした主要なミドルウェアを以下に示します。
- データベース
- PostgreSQL 9.6
- Python ライブラリ
- django 1.8.19
- djangorestframework 3.2.5
- Django-Select2 4.3.2
- pywinrm 0.3.0
- Jinja2 2.10
- python-daemon 2.1.2
- JavaScript ライブラリ
- jquery 1.12.4
バグ修正
- Kompira オブジェクトのフィールド値書き込み時に、DB 排他制御が不足している場合がある問題を修正しました。
- ジョブフローからメールチャネルを読み込んでも、メールサーバへのポーリングが開始しない場合がある問題を修正しました。
その他の修正については、ChangeLog をご参照ください。
Updated