What’s new in v23.2LTS-patch20240209


New builtins

  • CLG instance, Closedloop Instanceで実行中のk8s Jobの一覧取得に対応しました。
>>> print(await CLG().listJobStatus())↵
... ↵
↵
[{'closedLoopInstanceUniqueId': '8fa641e4cfac11ee875e2e5ad9328a88', 'currentClosedLoopLifeCyclePhase': 'operation', 'closedLoopPriority': 100, 'closedLoopTypeDescription': 'update', 'createdAt': datetime.datetime(2024, 2, 20, 13, 57, 35), 'jobStatus': {'active': 1, 'completed_indexes': None, 'completion_time': None, 'conditions': None, 'failed': None, 'failed_indexes': None, 'ready': 1, 'start_time': datetime.datetime(2024, 2, 20, 4, 57, 45, tzinfo=tzlocal()), 'succeeded': None, 'terminating': None, 'uncounted_terminated_pods': {'failed': None, 'succeeded': None}}}]
>>> r = await ClosedLoop.load("8fa641e4cfac11ee875e2e5ad9328a88")↵
... print(await r.listJobStatus())↵
... ↵
↵
[{'closedLoopInstanceUniqueId': '8fa641e4cfac11ee875e2e5ad9328a88', 'currentClosedLoopLifeCyclePhase': 'operation', 'closedLoopPriority': 100, 'closedLoopTypeDescription': 'update', 'createdAt': datetime.datetime(2024, 2, 20, 13, 57, 35), 'jobStatus': {'active': 1, 'completed_indexes': None, 'completion_time': None, 'conditions': None, 'failed': None, 'failed_indexes': None, 'ready': 1, 'start_time': datetime.datetime(2024, 2, 20, 4, 57, 45, tzinfo=tzlocal()), 'succeeded': None, 'terminating': None, 'uncounted_terminated_pods': {'failed': None, 'succeeded': None}}}]

New service

  • GET /closedloopgovernance,GET /closedloopgoverance/{closedloopInstanceUniqueId} APIで実行中のk8s Jobの一覧取得に対応しました。クエリの指定の仕方により、追加で指定可能なクエリおよび返却される情報が変わります。

MnSクエリ

MnS type Summary
None NoneType CLGもしくは対応するコンテナログを返却します。
JobStatus str k8s Jobの状態を返却します。
Statistics str CLGの統計情報を返却します。
All str CLGの詳細情報を返却します。

共通クエリ

Query type Summary
offset int 返却されうる全情報のうち、返却開始位置を指定します。
limit int 返却されうる全情報のうち、返却終了位置を指定します。

その他クエリ

MnS指定 利用可能Query type Summary
None lines int kubernetes pod logの終端から出力する行数を指定します。
None since_seconds int 現在時刻からログを取得する範囲を秒数で指定します。
None closedLoopPriority int
JobStatus closedLoopInstanceUniqueId str
JobStatus currentClosedLoopLifeCyclePhase str
JobStatus fromCreatedAt str "YY-MM-DD hh:mm:ss"形式で指定します。
JobStatus toCreatedAt str "YY-MM-DD hh:mm:ss"形式で指定します。
All closedLoopPriority int
All closedLoopTypeDescription str
All currentClosedLoopLifeCyclePhase str

Tips

linessince_secondsはpath末尾にclosedLoopInstanceUniqueIdを指定し、かつ両方のクエリパラメータ指定した場合にのみ有効となり、pod内のコンテナログを取得します。

リクエスト例: GET /closedloopgovernance/72b439fcd6bd11ee9ceec628090d2da9?lines=50&since_seconds=3600

  • ClosedLoopを実行しているコンテナのAPIGWエンドポイントを指定する起動パラメーター--closedloop_default_apigw_hostを追加しました。 (issue#167)

General changes

  • GET /closedloopgoverance/{closedloopInstanceUniqueId}のレスポンスボディのトップ階層が配列から辞書に変更されます。(issue#176)
  • ClosedLoopインスタンスのstatusがOperationでかつjobが作成されていない状態でdecomissioningに遷移させた場合に例外をスローする仕様を削除しました。
  • Error組み込みオブジェクトにバインドされる例外がaxis.hotspot.exceptions.HotspotExceptionからaxis.hotspot.exceptions.UserExceptionに変更されます。

Warning

v23.2LTS-patch20240209では修正箇所が不十分であるため、toyblock内のErrorオブジェクトをraiseする位置によりresponse bodyが想定のものとならないことを確認しております。こちらについてはv23.2LTS-patch20240311で修正されておりますので、後発のpatchの利用をご検討ください。

  • インタラクティブシェルで非対応の代入演算子に対応しました。
>>> t1 = "hoge"↵
... t2 = "fuga"↵
... t1 += t2↵
... t1↵
... ↵
↵
hogefuga
  • read-onlyであるmysqlインスタンスへの接続を回避する仕様が追加されます。

Bug fixes

  • atom変更時にキャッシュされているクラス情報が最新化されない問題への対応 (#issue163)
  • DAGで実行されないことが期待されるタスクが実行されてしまう問題への対応 (issue#166)
  • Out of Serviceの状態でClosedloopの処理が正しく実行されなくなる問題への対応 (#issue169)
  • ignore_null_fieldオプションがネストされたarray/objectに効いていない問題への対応(#issue170)
  • callout関数を使用したtoken refleshが正しく動作しないことがある場合への対応(#issue171)
  • sendmail関数においてstart_tls=Trueにした場合に正しく動作しない問題への対応(#issue172)
  • Testcaseでのassertion_progress部を定義した場合、試験実行時に想定動作しない問題への対応(#issue174)
  • GET /heartbeat?cluster=trueのレスポンスbodyが正しくない場合がある問題への対応(#issue180)
  • Crash Recoveryが意図しないタイミングで発生してしまう場合がある問題への対応(#issue182)

Modules