機械翻訳について

4.1 CLIの使用方法

pca-adminコマンドを実行すると、Oracle Private Cloud Applianceコマンドライン・インタフェースがトリガーされます。 これは、コマンド行インタプリタの起動時に特定のCLIコマンドを実行する構文を指定するかどうかに応じて、対話モード(第4.1.1項、「対話モード」を参照)またはシングル・コマンド・モード(4.1.2項、「単一コマンド・モード」を参照)のいずれかで実行できます。

CLIを使用する場合の構文は次のとおりです。

PCA> Command Command_Target <Arguments> Options

説明:

  • Commandは開始する必要があるコマンド・タイプです。 list

  • Command_Targetは、コマンドの影響を受けるOracle Private Cloud Applianceコンポーネントまたはプロセスです。 management-nodecompute-nodetaskなど

  • <Arguments>は、コマンド・ターゲットに関連する位置指定引数で構成されます。 たとえば、コンピュート・ノードに対して再プロビジョニング処理を実行する場合、このコマンドの引数として影響を受ける特定のコンピュート・ノードを指定する必要があります。 次に例を示します: reprovision compute-node ovcacn11r1 ;

  • Optionsは、コマンドの動作に影響する追加パラメータとして指定できるオプションで構成されます。 たとえば、listコマンドには様々なソート・オプションとフィルタ・オプションが用意されており、出力の返さ方法を制御するためにコマンド構文に追加できます。 次に例を示します: list compute-node --filter-column Provisioning_State --filter dead これらのオプションの多くの詳細は、第4.1.3項、「CLI出力の制御」を参照してください。

CLIには、使用可能なコマンド、コマンド・ターゲット、引数およびオプションを理解する上で役立つ独自の内部ヘルプがあります。 このヘルプ・システムの使用方法の詳細は、第4.1.4項、「内部CLIのヘルプ」を参照してください。 CLIでは、対話型モードで使用する場合、コマンドの正しい構成に役立つタブ補完も提供されます。 詳細は、第4.1.1.1項、「タブ補完」を参照してください。

4.1.1 対話モード

Oracle Private Cloud Applianceコマンドライン・インタフェース(CLI)には、わかりやすいコマンドラインの相互作用に使用できる対話型シェルがあります。 このシェルは、Oracle Private Cloud Applianceの管理に固有のコマンドをユーザーが入力できるクローズされた環境を提供します。 インタラクティブ・モードでCLIを使用すると、ユーザーはタブ補完などの機能を使用して、コマンドを正しく完了できます。 デフォルトでは、追加のパラメータを指定せずにpca-adminコマンドを実行すると、CLIインタプリタが対話モードで実行されます。

シェルのプロンプトはPCA>で示されるため、インタラクティブ・モードでCLIシェルを実行していることを識別できます。

例4.1 CLIの対話型モードの使用例

# pca-admin 
Welcome to PCA! Release: 2.4.1
PCA> list management-node

Management_Node IP_Address   Provisioning_Status  ILOM_MAC           Provisioning_State   Master
--------------- ----------   -------------------  --------           ------------------   ------
ovcamn05r1      192.168.4.3  RUNNING              00:10:e0:e9:1f:c9  running              Yes
ovcamn06r1      192.168.4.4  RUNNING              00:10:e0:e7:26:ad  running              None
----------------
2 rows displayed

Status: Success
PCA> exit
# 

インタラクティブ・モードのときにCLIから終了するには、qquitまたはexitコマンドを使用するか、またはCtrl+Dキーの組合せを使用します。

4.1.1.1 タブ補完

CLIは、対話モードの場合にタブ補完をサポートします。 つまり、コマンドの入力中にTabキーを押すと、それにかわりにコマンドを完了できます。また、コマンドを完了するために入力できるオプションと有効な値も指定できます。 通常、タブ補完を有効にするには、タブ・キーを少なくとも2回押す必要があります。

タブ補完は、CLI内のすべてのレベルで動作するように構成されており、コンテキスト依存です。 つまり、Tabキーを押すと、コマンド、コマンド・ターゲット、オプション、および特定のオプション値の入力やプロンプトを行うことができます。 たとえば、CLI内の空のプロンプトでTabキーを2回押すと、すべてのコマンドが自動的に一覧表示されます。一方、コマンドの最初の文字または数文字を入力すると、Tabキーが押すと、そのコマンドは自動的に実行されます。 コマンドを指定してSpaceを押すと、Tabキーを押してコマンド・ターゲットを示します。 コマンド・ターゲットを指定した場合は、Tabキーを押すと、コマンド・シーケンスで他のオプションが使用できることが示されます。 --filter-columnオプションなど、オプション値を必要とするコマンド・オプションを指定してTabキーを押すと、CLIでは、そのオプションで使用できる値が入力されます。

例4.2 タブ補完の表示例

PCA> <tab>
EOF          backup       create       deprovision  exit         help         q
remove       rerun        shell        start        update       add          configure
delete       diagnose     get          list         quit         reprovision  set
show         stop

PCA> list <tab>
compute-node       lock               mgmt-switch-port   network-port       task
update-task        uplink-port-group  config-error       management-node    network
network-switch     tenant-group       uplink-port

PCA> list com<tab>pute-node

<tab>は、対話型CLIセッションでユーザーがTabキーを押した場所を示します。 最後の例では、コマンドtargetはCLIによって自動的に補完されます。


4.1.1.2 シェル・コマンドの実行

CLIインタプリタのシェルを使用しているときは、標準のシェル・コマンドを実行することも可能です。 これらは、shellコマンドの前または!演算子をショートカットとして使用して、次のコマンドが標準のシェル・コマンドであることを示すことで実行できます。 次に例を示します。

PCA> shell date
Wed Jun  5 08:15:56 UTC 2019
PCA> !uptime > /tmp/uptime-today
PCA> !rm /tmp/uptime-today

4.1.2 単一コマンド・モード

CLIは'single-command mode'をサポートしており、これによりCLIを介してシェルから1つのコマンドを実行し、CLIがシェルに戻る前に出力を取得できます。 これは特に、CLIと相互作用するスクリプトを記述する場合に役立ちます。特に、第4.1.3.1項、「JSON出力」で説明されているCLI JSON出力モードと組み合せて使用されます。

CLIをシングル・コマンド・モードで実行するには、pca-adminコマンドのパラメータとして実行する完全なコマンド構文を含めます。

次に、単一コマンド・モードの例を示します。

# pca-admin list compute-node
Compute_Node  IP_Address    Provisioning_Status  ILOM_MAC            Provisioning_State
------------  ----------    -------------------  --------            ------------------
ovcacn12r1    192.168.4.8   RUNNING              00:10:e0:e5:e6:d3   running
ovcacn07r1    192.168.4.7   RUNNING              00:10:e0:e6:8d:0b   running
ovcacn13r1    192.168.4.11  RUNNING              00:10:e0:e6:f7:f7   running
ovcacn14r1    192.168.4.9   RUNNING              00:10:e0:e7:15:eb   running
ovcacn10r1    192.168.4.12  RUNNING              00:10:e0:e7:13:8d   running
ovcacn09r1    192.168.4.6   RUNNING              00:10:e0:e6:f8:6f   running
ovcacn11r1    192.168.4.10  RUNNING              00:10:e0:e6:f9:ef   running
----------------
7 rows displayed

#

4.1.3 CLI出力の制御

CLIには、使用可能なさまざまなCLIコマンドに対するレスポンスで出力を返す方法を制御するオプションがあります。 これらは、CLIコマンドの構文の最後の部分として追加のオプションとして指定されます。 これらのオプションの多くは、ソートおよびフィルタの処理により、必要な特定のアイテムを識別しやすくすることができます。また、より簡単に解析された出力を提供するためのスクリプトの解決策として特に便利です。

4.1.3.1  JSON出力

JSON形式は、データ・オブジェクトをマシンで容易にする方法で表すためによく使用される形式ですが、ユーザーにとっては同等に簡単です。 JSONは当初はJavaScriptオブジェクトを表す方法として開発されましたが、パーサーは広範なプログラミング言語で使用でき、CLIを使用して直接インタフェースする必要があるカスタム・ソリューションをスクリプト作成する場合、CLI用の出力形式として理想的です。

コマンドの実行時に--jsonオプションが指定されている場合、CLIはJSON形式のコマンドの出力を返します。 通常、このオプションは、CLIをシングル・コマンド・モードで実行するときに使用します。 次に例を示します。

# pca-admin list compute-node --json
{
    "00:10:e0:e5:e6:ce": {
        "name": "ovcacn12r1",
        "ilom_state": "running",
        "ip": "192.168.4.8",
        "tenant_group_name": "Rack1_ServerPool",
        "state": "RUNNING",
        "networks": "default_external, default_internal",
        "ilom_mac": "00:10:e0:e5:e6:d3"
    },
    "00:10:e0:e6:8d:06": {
        "name": "ovcacn07r1",
        "ilom_state": "running",
        "ip": "192.168.4.7",
        "tenant_group_name": "Rack1_ServerPool",
        "state": "RUNNING",
        "networks": "default_external, default_internal",
        "ilom_mac": "00:10:e0:e6:8d:0b"
    },
[...]
    "00:10:e0:e6:f9:ea": {
        "name": "ovcacn11r1",
        "ilom_state": "running",
        "ip": "192.168.4.10",
        "tenant_group_name": "",
        "state": "RUNNING",
        "networks": "default_external, default_internal",
        "ilom_mac": "00:10:e0:e6:f9:ef"
    }
}

JSON出力には、--jsonオプションが使用されない場合に通常CLIに表示される表形式の出力よりも多くの情報が含まれることがあります。 さらに、JSON出力で使用されるキーは、表に出力される表の列名と同じにマップされない場合があります。

ソートおよびフィルタのオプションは現在、JSON出力と連動してサポートされていません。これらの機能は通常、パーサーの側面に実装されることがあるためです。

4.1.3.2 ソート

通常、listコマンドの使用時に、特に重要なアイテムの表示が容易になるように情報をソートする場合があります。 これは、コマンドとともに--sorted-byおよび--sorted-orderオプションを使用して実現します。 --sorted-byオプションを使用する場合は、ソートを適用する列名を指定する必要があります。 --sorted-orderオプションを使用すると、ソートの方向を制御できます。 このオプションの後には、昇順の場合はASC、降順の場合はDESを指定します。 このオプションが指定されない場合、デフォルトのソート順は昇順になります。

たとえば、各コンピュート・ノードのプロビジョニングのステータスに基づいてコンピュート・ノードのビューをソートするには、次のように実行します。

PCA> list compute-node --sorted-by Provisioning_State --sorted-order ASC
 
Compute_Node  IP_Address    Provisioning_Status  ILOM_MAC             Provisioning_State
------------  ----------    ----------           --------             ----------
ovcacn08r1    192.168.4.9   RUNNING              00:10:e0:65:2f:b7    dead
ovcacn28r1    192.168.4.10  RUNNING              00:10:e0:62:31:81    initializing_stage_wait_for_hmp
ovcacn10r1    192.168.4.7   RUNNING              00:10:e0:65:2f:cf    initializing_stage_wait_for_hmp
ovcacn30r1    192.168.4.8   RUNNING              00:10:e0:40:cb:59    running
ovcacn07r1    192.168.4.11  RUNNING              00:10:e0:62:ca:09    running
ovcacn26r1    192.168.4.12  RUNNING              00:10:e0:65:30:f5    running
ovcacn29r1    192.168.4.5   RUNNING              00:10:e0:31:49:1d    running
ovcacn09r1    192.168.4.6   RUNNING              00:10:e0:65:2f:3f    running
----------------
8 rows displayed

Status: Success

タブ補完と--sorted-byオプションを併用すると、様々な列名のオプションを簡単に取得できます。 詳細は、第4.1.1.1項、「タブ補完」を参照してください。

4.1.3.3 フィルタリング

一部の表には、特に興味のない多数の行が含まれている可能性があります。CLIに組み込まれたフィルタリング機能を使用できるように、特に重要なアイテムの出力を制限することができます。 フィルタリングは、--filter-column--filterのオプションを組み合せて使用します。 --filter-columnオプションの後に列名を指定する必要がありますが、--filterオプションの後に、フィルタを形成するために一致する必要のある特定のテキストが続きます。 --filterに対して指定する必要があるテキストには、ワイルドカード文字を含めることができます。 そうでない場合は、完全一致である必要があります。 フィルタリングでは、現在、正規表現または部分一致はサポートされていません。

たとえば、プロビジョニング状態が停止と等しいコンピュート・ノードのみを表示するには、次のフィルタを使用します。

PCA> list compute-node --filter-column Provisioning_State --filter dead
 
Compute_Node  IP_Address    Provisioning_Status  ILOM_MAC             Provisioning_State
------------  ----------    ----------           --------             ----------
ovcacn09r1    192.168.4.10  DEAD                 00:10:e0:0f:55:cb    dead           
ovcacn11r1    192.168.4.9   DEAD                 00:10:e0:0f:57:93    dead           
ovcacn14r1    192.168.4.7   DEAD                 00:10:e0:46:9e:45    dead           
ovcacn36r1    192.168.4.11  DEAD                 00:10:e0:0f:5a:9f    dead           
----------------
4 rows displayed
 
Status: Success

タブ補完と--filter-columnオプションを併用すると、様々な列名のオプションを簡単に取得できます。 詳細は、第4.1.1.1項、「タブ補完」を参照してください。

4.1.4 CLIの内部ヘルプ

CLIには、独自の内部ヘルプ・システムがあります。 これは、helpコマンドを発行することでトリガーされます。

PCA> help

Documented commands (type help <topic>):
========================================
add        create       diagnose  list         rerun  start
backup     delete       get       remove       set    stop
configure  deprovision  help      reprovision  show   update

Undocumented commands:
======================
EOF  exit  q  quit  shell

ヘルプ・システムにより、CLIでサポートされている使用可能なすべてのコマンドが表示されます。 これらは、ドキュメント化されたコマンドおよびドキュメント化されていないコマンドに編成されています。 ドキュメント化されていないコマンドとは通常、Oracle Private Cloud Applianceの管理に固有ではないコマンドですが、このドキュメントで説明します。 help問合せにコマンド名を追加すると、説明されているコマンドの詳細なヘルプを取得できます。 たとえば、listコマンドに固有のヘルプ・ドキュメントを取得するには、次のコマンドを実行します。

PCA> help list
Usage: pca-admin list <Command Target> [OPTS]

Command Targets:    
  compute-node          List computer node.
  config-error          List configuration errors.
  lock                  List lock.
  management-node       List management node.
  mgmt-switch-port      List management switch port.
  network               List active networks.
  network-port          List network port.
  network-switch        List network switch.
  task                  List task.
  tenant-group          List tenant-group.
  update-task           List update task.
  uplink-port           List uplink port.
  uplink-port-group     List uplink port group.

Options:
  --json                Display the output in json format.
  --less                Display output in the less pagination mode.
  --more                Display output in the more pagination mode.
  --tee=OUTPUTFILENAME  Export output to a file.
  --sorted-by=SORTEDBY  Sorting the table by a column.
  --sorted-order=SORTEDORDER
                        Sorting order.
  --filter-column=FILTERCOLUMN
                        Table column that needs to be filtered.
  --filter=FILTER       filter criterion

ほとんどのコマンドのヘルプ・システムにドリルダウンするには、コマンド・ターゲットをhelp問合せに追加する方法もあります。

PCA> help reprovision compute-node
  Usage:
  reprovision compute-node <compute node name> [options]

  Example:
  reprovision compute-node ovcacn11r1

  Description:
  Reprovision a compute node.

最後に、存在していない対象についてヘルプ問合せを発行すると、ヘルプ・システムによりエラーが生成されて、代替候補がプロンプトが自動的に表示されます。

PCA> list ta
Status: Failure
Error Message: Error (MISSING_TARGET_000): Missing command target for command: list.
Command targets can be: ['update-task', 'uplink-port-group', 'config-error', 'network', 
'lock', 'network-port', 'tenant-group', 'network-switch', 'task', 'compute-node', 
'uplink-port', 'mgmt-switch-port', 'management-node'].