検索

2.3.6. 管理コマンドの実行方法

download PDF

管理コマンドを実行するには、POST メソッドで /request エンドポイントを使用します。この方法では、API で直接対応していないコマンドも使用できますが、Ceph ソースコードの src/mon/MonCommands.h ファイルで定義できます。これは、たとえば API を使用する独自のアプリケーションをビルドする場合に役立ちます。

Python
  1. src/mon/MonCommands.h を確認し、API で実行するコマンドを見つけます。以下に例を示します。

    COMMAND("osd ls " \
            "name=epoch,type=CephInt,range=0,req=false", \
            "show all OSD ids", "osd", "r", "cli,rest")

    コマンドは osd ls です。name はコマンドが持つ引数の名前を指定し、type は引数が取る値のタイプを指定し、range は引数の許容される値の範囲を指定し、req は引数が必要かどうかを指定します。この例では、引数は epoch で、引数が取る値のタイプは integer で、許可される値の範囲は 0 となり、この引数は任意です。

  2. Python インタープリターで、以下を入力します。

    $ python
    >> import requests
    >> result = requests.post(
           'https://<ceph-mgr>:8003/request',
           json={'prefix': '<command>', <argument>:<value>},
           auth=("<user>", "<password>")
       )
    >> print result.json()

    置き換え:

    • <ceph-mgr> は、アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短縮ホスト名に置き換えます。
    • <command> は、src/mon/MonCommands.h ファイルに一覧表示されるコマンドに置き換えます。
    • <argument> は、src/mon/MonCommands.h ファイルに一覧表示されているコマンドの引数に置き換えます。引数が任意の場合は省略できます。
    • <value> は、引数の値に置き換えます。
    • <user> は、ユーザー名に置き換えます。
    • <password> は、ユーザーのパスワードに置き換えます。

    たとえば、osd ls epoch 0 コマンドを使用するには、次を実行します。<command>osd ls に置き換え、<argument>epoch に置き換え、<value>0 に置き換えます。

    $ python
    >> import requests
    >> result = requests.post(
           'https://ceph-node1:8003/request',
           json={'prefix': 'osd ls', 'epoch': 0},
           auth=("ceph-user", "<password>")
       )
    >> print result.json()

    自己署名証明書を使用した場合は、verify=False オプションを使用します。

    $ python
    >> import requests
    >> result = requests.post(
           'https://<ceph-mgr>:8003/request',
           json={'prefix': '<command>', <optional_argument>:<value>},
           auth=("<user>", "<password>"),
           verify=False
       )
    >> print result.json()

関連情報

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.