Blog Brocade Japan

StackStorm 2.2、ついに発表!

by LindsayHillBRCD on ‎05-30-2017 11:14 AM - last edited on ‎05-30-2017 06:31 PM by aokuhara (3,768 Views)

--- StackStorm Blog 翻訳記事「StackStorm 2.2 is up!」 Lindsay Hill ---

 

すばらしいお知らせがあります。StackStorm 2.2がついにリリースされました。Mistralの更新、MistralワークフローでのJinja、複雑なオブジェクトでのJinja、新しいst2 loginおよびst2 whoamiコマンド、セキュリティの向上などが提供されます。この数日間、リリース・マスターが熱心に働いた結果、今回の発表に至りました。詳細については、以下をお読みください。

 

Jinjaの機能拡張

ご要望にお応えして提供します。YAQL式が受け入れられる場合、MistralワークフローでJinja式を使用することができるようになりました。これにより、入力および出力データ構造の操作、ブール・ロジックの実行、およびデータの評価と変換のための条件付きロジックの実行などが可能になります。それぞれの式は、{{ }}で囲む必要があります。環境変数を使用して作業する方法を示す例を挙げます。

 

version: '2.0'

 

 

 

examples.mistral-jinja-env-var:

 

    description: A basic workflow that illustrates how to get the workflow's env vars.

 

    type: direct

 

    output:

 

        env: "{{ env() }}"

 

        url: "{{ _.url }}"

 

    tasks:

 

        task1:

 

            action: core.local

 

            input:

 

                cmd: "echo http://127.0.0.1:9101/executions/{{ env().st2_execution_id }}"

 

            publish:

 

                url: "{{ task('task1').result.stdout }}"

 

                ctx: "{{ env()['__actions']['st2.action']['st2_context'] }}"

 

未加工のコードを見る mistral-jinja-env-var.yaml hosted with by GitHub

 

詳細については、docsを読み、を調べてください。

さらに、Jinja変数を配列およびオブジェクト・タイプの内部にネストすることができます。

悩む必要はありません。YAQLはなくなるわけではありません。その能力とタイプのサポートを必要とするユーザーに対して、引き続き最高クラスのサポートを提供します。

 

Mistralの更新

 

ご承知のとおり、StackStormでは複雑なワークフローにOpenStack Mistralサービスを使用しており、非常に役立っています。このリリースでは、最新のマスター・ブランチへの分岐が更新されました。これにより、安定性の改善、コーナーケースのいくつかのデッドロックの除去、パフォーマンス向上が実現しています。Renatおよびすべてのクルーの働きに感謝します。

 

CLI認証ヘルパー

「CLIを使用してST2に認証したいけれど、パスワードをconfigファイルにテキスト形式で保管したくない」と感じていますか。新しいst2 loginコマンドを調べてください。これは、ログインして認証トークンをキャッシュに入れる簡単な方法です。st2 login st2admin --password Ch@ngeMeを実行するだけです。 

また、ユーザーをすばやく切り替える方法もあります。どのユーザーとしてログインしているか確認する必要がありますか? 新しいst2 whoamiコマンドを使用して確認してください。

 

セキュリティの強化

 

いくつかのハウスキーピング処理が実行され、インストーラ・スクリプトで使用されるデフォルト設定が強化されてきました。

  • 今後、MongoDBはlocalhostでのみリッスンし、2つの新しいユーザー、adminstackstormを作成します。このstackstormユーザーはst2データベースにのみアクセスします。
  • RabbitMQはlocalhost上でのみリッスンします。
  • PostgreSQLはlocalhost上でのみリッスンします(いくつかのディストリビューションでは、これはすでにデフォルトです)。
  • Mistralは、PostgreSQL認証にランダム・パスワードを使用します。

これにより、デフォルトの攻撃対象領域がさらに減少します。StackStormの手動インストールを行っている場合、必ず新しいセキュリティ・セクションをお読みください。

 

その他の修正および改良

 

通常の小規模の変更:

  • トリガー・パラメータとペイロードの検証が使用可能になりました。これを使用するには、validate_trigger_payloadオプションととsystem.validate_trigger_parametersオプションを有効にする必要があります。デフォルトでは無効になっています。大山 裕泰 氏の貢献に感謝いたします。
  • MongoDB 3.4に対応するようになりました。インストール・スクリプトは依然としてデフォルトで2をインストールしますが、3.4への移行をお勧めします。将来的には、3.4がデフォルト・バージョンになる予定です。
  • RPMパッケージの修正: logrotateおよびLDAP構成は、RPMのアップグレードで削除されなくなりました。
  • st2 pack installは、デフォルト・ブランチとしてmasterを使用しないgitリポジトリで処理を実行するようになりました。

アップグレードに関する注意

 

以前の予告では、システムにアクセスするためのsystemや、ワークフローおよびアクション内のユーザー・スコープを設定したデータストア項目にアクセスするためのuserというJinja変数表記が廃止され、新しいst2kv.systemおよびst2kv.user表記に置き換えられることになっていました。

このリリースでは、それが実現しました。新しいスコーピング表記を使用するには、アクションとワークフローを更新する必要があります。

Mistralのデータベース・スキーマが変更されました。executions_v2テーブルは使用されなくなります。テーブルは、workflow_executions_v2task_executions_v2、およびaction_executions_v2に分割されました。現在、既存のレコードをexecutions_v2から新しいテーブルに移動させるためのマイグレーション・スクリプトはありません。executions_v2から読み取る必要がある場合、psqlを使用するか、python-mistralclientの以前のバージョンをインストールしてください。

通常どおり、changelog全体はこちらにあります。アップグレードに関するすべての注意はこちらにあります。また、Slackチャネルでいつでもヘルプを使用できます。登録はこちらで行ってください。

 

--------------------------------------------------------

 

【StackStorm Slack日本語チャネル開設しました】

 

SlackのStackstorm-communityチームに登録されている方は、そのまま#community-japanへJoinできます。
まだstackstorm-communityチームに登録されていない方は、下記よりご登録ください。
stackstorm.com/community-signup