この製品のマニュアルセットは、偏向のない言語を使用するように配慮されています。このマニュアルセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザーインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブランゲージに対する取り組みの詳細は、こちらをご覧ください。
このドキュメントは、米国シスコ発行ドキュメントの参考和訳です。リンク情報につきましては、日本語版掲載時点で、英語版にアップデートがあり、リンク先のページが移動/変更されている場合がありますことをご了承ください。あくまでも参考和訳となりますので、正式な内容については米国サイトのドキュメントを参照ください。
この章は、次の項で構成されています。
この章では、Cisco UCS Director Orchestrator を理解して使用する上で不可欠の概念を説明します。一般的なオーケストレーションについて十分理解しているとしても、この章で説明する Cisco UCS Director に固有の概念を確認してください。
Cisco UCS Director で利用できる機能を十分に理解してから、Cisco UCS Director Orchestrator を使用することを推奨します。Cisco UCS Director に馴染みがない場合、包括的にその概要を説明している『Cisco UCS Director Fundamentals Guide』を参照してください。
タスクとは、Cisco UCS Director Orchestrator でのアトミック処理単位です。タスクは、入力と出力を伴う単一のアクションまたは操作です(ただし例外として、まれに、タスクの操作に入力や出力が必要ない場合もあります)。タスクを複数の操作に分割することはできません(例外として、複合タスクは複数のアトミック タスクで構成されます。複合タスクの作成を参照)。ただし、とりあえずは、タスクは分割できないオーケストレーションの処理単位として考えてください。
Cisco UCS Director には、管理者がオーケストレーションを使用して実行する必要があるアクションのほとんどを網羅した、数百の定義済みタスクを揃えたタスク ライブラリがあります。適切な定義済みタスクがない場合には、カスタム タスクを作成できます。『Cisco UCS Director Custom Task Getting Started Guide』を参照してください。
例えば、以下の定義済みタスクがあります。
ワークフローとは、複雑な操作を自動化するために配置された一連のタスクのことです。最もシンプルな形のワークフローには 1 つのタスクだけが含まれますが、ワークフローには任意の数のタスクを含めることができます。
ワークフローは、Cisco UCS Director Orchestrator の中核です。ワークフローによって、物理インフラストラクチャおよび仮想インフラストラクチャでのあらゆる複雑度のプロセスを自動化できます。
ワークフローを作成するには、[ワークフロー デザイナ(Workflow Designer)] という、ドラッグ アンド ドロップ式インターフェイスを使用します。[ワークフロー デザイナ(Workflow Designer)] で、タスクを順に配置して、それらのタスクの入力と出力を定義します。先行するタスクからの出力は、以降のタスクの入力として使用できます。
特殊な制御フロー タスクを使用して、ループや条件付き分岐を実装することもできます。
サービス リクエストはワークフローと密接に関連しています。ワークフローを実行すると、サービス リクエストが作成されます。サービス リクエストは、Cisco UCS Director でワークフローを実行するたびに生成されます。サービス リクエストは、Cisco UCS Director によって制御されるプロセスです。
ワークフローは、後で実行されるようにスケジュールできます。その場合、Cisco UCS Director は完了したサービス リクエストの詳細を保存します。したがって、ワークフローの実行状態によって、サービス リクエストの状態は異なります。これらの状態には、スケジュール済み、実行中、ブロック(承認待機中の場合など。承認を参照)、完了済み、失敗(コンポーネント タスクのいずれかが正常に実行されないと、サービス リクエストが失敗します。ロールバックおよびサービス リクエストの再送信を参照)があります。
タスクとワークフローには両方とも、任意の数の入力変数と出力変数(入力および出力)を使用できます。
タスクまたはワークフローの入力は、必須またはオプションのいずれかにできます。すべての必須入力が揃わなければ、タスクまたはワークフローは実行されません。入力が必須であるかオプションであるかは、タスクまたはワークフローの作成時に定義します。
Cisco UCS Director には、カテゴリ パラメータ、数値パラメータ、テキスト パラメータの幅広い選択肢を表す数多くの入力タイプが定義されています。たとえば、既存のデータ タイプには以下があります。
各変数の名前、タイプ、カテゴリを表示するリストから、既存の入力タイプを選択します。このリストは、特定のデータ タイプを見つけやすくするためにフィルタリングできます。
既存のデータ タイプの中に、特定のアプリケーションのニーズを満たすものがない場合は、既存のデータ タイプに制限を定義することで、カスタム データ タイプを作成できます。
ワークフローを構成する際は、あるタスクの出力を別のタスクの入力に接続します。たとえば、次の 2 つのタスクがあるとします。
この場合、タスク 1 をタスク 2 の前に配置して、タスク 1 のユーザ ID出力をタスク 2 のユーザ ID入力にフィードします。
ワークフローの入力と出力は、そのワークフローの 1 つ以上のタスクの入力と出力に関連付けられます。
管理者の入力(管理入力)とは、ワークフローの定義時に指定されるデフォルト値です。ワークフローを定義する際に、管理者はユーザがデフォルト値をオーバーライドできるようにすることもできます。
ワークフローのユーザ入力とは、人間のユーザが実行時に値を指定する入力のことです。ユーザ入力にはデフォルト値を設定できます。ユーザはデフォルトの入力を受け入れるか、オーバーライドするかを選択できます。入力が必須であり、デフォルト値が指定されていない場合は、ユーザが値を入力する必要があります。
管理者はワークフローを作成する際に、特定の入力値を指定する代わりに、ユーザ入力の値に制限を設けることができます。たとえば、管理者は、IP アドレスの入力値を特定の範囲に制限できます。この場合、IP アドレスがユーザ入力であることに変わりはありませんが、許可される値の範囲は制限されます。
一部のワークフローでは、すべての必須入力に管理入力が定義されていなければなりません。たとえば、システムが特定の時間にスケジュールされたワークフローを実行するように設定されている場合など、人間の介入なしで実行されるワークフローは、そのようなワークフローに該当します。
オーケストレータは、ワークフロー内でのタスク間のデータ フローを検証するメカニズムを提供します。ワークフローの検証では、タスク間のデータ バインディングと接続がチェックされます。検証により、たとえば以下の問題が検出されることがよくあります。
必須の値がありません(Missing mandatory values):必要な値がタスクに提供されないという問題です。
マッピングが一致していません(Mapping mismatch):接続されたタスクの入力と出力のペアが同じデータ タイプではないという問題です。
入力がありません(Missing inputs):インポートやアップグレードの後に発生しがちな問題です。
タスク ハンドラが見つかりません(Task handler not found):タスクを実行するために必要な基礎となるクラスが欠落しているという問題です。ランセンスが与えられていない機能を使用しようとした場合、またはワークフロー テンプレートを検証しようとした場合は、このメッセージが表示されます。
オーケストレータには、ウィザードベースの問題リゾルバが用意されています。ワークフローを検証すると、問題のリストと一緒に、それらの問題を修正するための提案が表示されます。問題によっては、追加情報やユーザ入力が必要になる場合があります。また、自動的に解決される問題もあります。
すべてのオーケストレータ ワークフローにはバージョン履歴があります。バージョン履歴を使用することで、ワークフローを以前のバージョンに戻したり、新しいバージョンを作成したりできます。
ワークフローのデフォルト バージョンは、[ワークフロー(Workflows)] ページに表示されるバージョンです。ワークフローの履歴に、デフォルトのワークフローにする任意のバージョンを設定できます。ワークフローを変更すると、デフォルト バージョンだけが変更されます。他のバージョンは変更されません。
ワークフローは、バージョン単位で削除されます。つまり、1 つ以上のバージョンを削除しても、ワークフローの残りのバージョンは影響されません。
承認とは、ワークフローの実行を完了させるために Cisco UCS Director ユーザの介入を必要とする「ゲート」タスクのことです。承認を担当するユーザは一般に、ワークフロー プロセスを継続するか中止するかの決定権限を持つ管理者です。サービス リクエストの承認と拒否を参照してください。
ユーザがワークフローを承認する際に値を入力できる、カスタム承認を作成することができます。たとえば、ワークフローで VM を作成する前に、IT 管理者が VM のプロビジョニングを承認し、VM のメモリ サイズを指定できるようにするためのカスタム承認を作成できます。カスタム承認の作成を参照してください。
ワークフローは、そのワークフローを実行する前と同じ状態、またはそれと同じような状態に「ロールバック」させることができます。ロールバックすることで、たとえば誤って作成された仮想コンポーネントを削除したりできます。
「ロールバック」という用語は、特にリレーショナル技術を使用しているシステムでは、プロセスがトランザクション型であることを意味することがよくあります。ただし重要な点として、ワークフローはリレーショナル データベースの意味でトランザクション型であるわけではありません。ワークフローのロールバックは以下のように機能します。
各タスクは 2 つのスクリプトで構成されています。一方のスクリプトはタスクに意図された処理を行います。もう一方のスクリプトは、タスクを「元に戻す」ために設計されたロールバック スクリプトです。たとえば、タスクが VM を作成するものである場合、そのロールバック スクリプトは VM を削除します。
ワークフローを実行すると、そのワークフローで指定された順に、ワークフロー内のタスクのスクリプトが実行されます。
ワークフローをロールバックすると、通常のワークフローで実行される順序とは逆順に、タスクのロールバック スクリプトが実行されます。
ワークフローをロールバックする要求によって、元のサービス リクエストとは関連付けられない、新しいサービス リクエストが作成されます。
状態情報を保存して、タスクをロールバックするために使用できます。たとえば、VM のサイズを変更するタスクを実行する場合、タスクを実行する前のサイズを保存して、ロールバックを有効にすることができます。このような状態の永続化は、タスクを作成する際に使用される API の機能の 1 つです。詳細については、『Cisco UCS Director Custom Task』マニュアルを参照してください。
タスクはアトミックですが、ワークフローはそうではありません。したがって、ワークフロー内の任意のタスクからワークフローをロールバックすることはできますが、タスクの部分的なロールバックはできません。
ワークフローが部分的に成功する場合もあります。つまり、すべてのタスクではなく、一部のタスクの実行が成功するということです。同様に、ロールバックが完全に失敗することもあれば、部分的に失敗することもあります。部分的な失敗とは、ロールバック スクリプトの一部を実行できなかったことを意味します。
欠陥のあるロールバック スクリプトを使用してタスクが作成されることや、ロールバック スクリプトをまったく使用せずにタスクが作成されることもあります(ロールバック スクリプトを省略することは推奨されません)。
ワークフローのロールバック方法については、サービス リクエストのロールバックを参照してください。
ライブラリとカタログはそれぞれ、定義済みタスクのコレクション、定義済みワークフローのコレクションです。ユーザはこれらのコレクションから、ニーズに応じたワークフローを構成することができます。例えば、以下を行うことができます。
アクティビティは、ワークフローのタイプを表すプレースホルダです。つまり、ワークフローをその実装の詳細から抽象化する、一種の汎用フロントエンドです。汎用タスクのアクティビティを作成し、そのアクティビティに 1 つ以上のワークフローを関連付けることで、実際に必要な処理を行うことができます。
たとえば、NetApp データストアと EMC データストアという 2 種類のデータストアを作成しなければならないとします。その場合、「データストアの作成」という名前のアクティビティを定義し、そのアクティビティに両方のワークフローを関連付けることができます。アクティビティは、実行時に入力条件を突き合わせて使用されているストレージのタイプを判別した上で、適切なワークフローを実行します。
さらに、アクティビティをワークフローのタスクとして使用すると、ワークフロー内でコンテキストに依存したアクティビティを実行できるので、ワークフローの柔軟性が増します。
アクティビティについては、アクティビティで説明します。
ワークフローの管理には、ワークフローのカタログの編成、保存、更新、作成、削除が含まれます。Cisco UCS Director には、ワークフローの管理を可能にする完全なアクション一式が用意されています。
操作 | 説明 |
---|---|
ワークフローを追加する |
ワークフローを最初から作成します。[ワークフロー(Workflows)] タブの [追加(Add)] アクションを使用します。ワークフローの作成を参照してください。 |
カタログにワークフローを追加する |
サブスクライバ(たとえば、アプリケーション管理者)用のワークフローのカタログを作成します。カタログの公開と管理については、『Cisco UCS Director Administration Guide』を参照してください。 |
ワークフロー内にタスクを追加して配置する |
[ワークフロー(Workflows)] タブの [ワークフロー デザイナ(Workflow Designer)] アクションを使用して、[ワークフロー デザイナ(Workflow Designer)] を開きます。ワークフロー内のタスクの設定およびワークフローへのタスクの接続を参照してください。 |
ワークフローのバージョンを選択する |
ワークフローのアクティブ バージョンを選択します。アクティブ バージョンはデフォルト バージョンという名前で [ワークフロー(Workflows)] ページに表示されます。[ワークフロー(Workflows)] タブの [バージョン管理(Manage Versions)] アクションを使用します。ワークフローのデフォルト バージョンの選択を参照してください。 |
ワークフローを複製する |
ワークフローのコピーを作成して別の名前を付けます。コピーには、新しいバージョン履歴が作成されます。[ワークフロー(Workflows)] タブの [複製(Clone)] アクションを使用します。 |
ワークフローの新しいバージョンを作成する |
[ワークフロー(Workflows)] タブの [新しいバージョンの作成(Create New Version)] アクションを使用します。ワークフローの新しいバージョンの作成を参照してください。 |
ワークフローを削除する |
Cisco UCS Director からワークフローの一部またはすべてのバージョンを削除します。[ワークフロー(Workflows)] タブの [削除(Delete)] アクションを使用します。 |
ワークフローを編集する |
ワークフローの名前、場所、入力、出力を変更します。[ワークフロー(Workflows)] タブの [編集(Edit)] アクションを使用します。ワークフローの編集を参照してください。 |
ワークフローを実行する |
選択したワークフローから直ちにサービス リクエストを作成します。[ワークフロー(Workflows)] タブの [今すぐ実行(Execute Now)] アクションを使用します。ワークフローの実行を参照してください。 |
ワークフローをエクスポートする |
別の Cisco UCS Director アプライアンスにロードできる形式でワークフローを保存します。[ワークフロー(Workflows)] タブの [エクスポート(Export)] アクションを使用します。ワークフロー、カスタム タスク、スクリプト モジュール、およびアクティビティのエクスポートを参照してください。 |
ワークフローをテンプレートとしてエクスポートする |
選択したワークフローを XML 形式のテンプレートとしてエクスポートします。[ワークフロー(Workflows)] タブの [テンプレートとしてエクスポート(Export As Template)] アクションを使用します。テンプレートとしてのワークフローのエクスポートを参照してください。 |
ワークフローをインポートする |
別の場所で作成されたワークフローを Cisco UCS Director にロードします。[ワークフロー(Workflows)] タブの [インポート(Import)] アクションを使用します。 ワークフロー、カスタム タスク、スクリプト モジュール、およびアクティビティのインポートを参照してください。 |
ワークフローをロックまたはロック解除する |
変更されないようにワークフローをロックします。[ワークフロー(Workflows)] タブの [ロック/ロック解除(Lock/Unlock)] アクションを使用して、選択したワークフローのバージョンをロックまたはロック解除します。ロックされたワークフローは削除することも、編集することもできません。 |
ワークフローを移動する |
ワークフローを新しいディレクトリに移動します。[ワークフロー(Workflows)] タブの [編集(Edit)] アクションを使用し、[ワークフローの詳細の編集(Edit Workflow Details)] ページで別のフォルダを選択します。ワークフローの編集を参照してください。 |
ワークフローを検証する |
ワークフローを分析して、タスクの入力と出力が正しく接続されているかどうか判断します。[ワークフロー デザイナ(Workflow Designer)] ウィンドウの [検証(Validate)] ボタンを使用します。ワークフローの検証を参照してください。 |
ワークフロー全体を表示する |
ワークフローの構造全体を表示して、拡大したセクションをパンして詳細を確認できるようにします。[ワークフロー デザイナ(Workflow Designer)] ウィンドウの [全画面表示(Full View)] ボタンを使用します。ワークフローの画像の保存を参照してください。 |