管理 API ガイド

Red Hat Ceph Storage 4

リファレンスおよび統合ガイド

概要

本ガイドでは、RESTful プラグインを使用してクラスターに関する情報を表示し、その設定を変更する方法および管理する方法を説明します。
Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。まずは、マスター (master)、スレーブ (slave)、ブラックリスト (blacklist)、ホワイトリスト (whitelist) の 4 つの用語の置き換えから始めます。この取り組みは膨大な作業を要するため、今後の複数のリリースで段階的に用語の置き換えを実施して参ります。詳細は、弊社の CTO、Chris Wright のメッセージを参照してください。

第1章 RESTful プラグイン

第2章 質問および回答

2.1. 情報の取得

本セクションでは、RESTful プラグインを使用してクラスター、モニター、OSD、プール、ホスト、およびリクエストに関する情報を表示する方法を説明します。

2.1.1. すべてのクラスター設定オプションを表示する方法

本セクションでは、RESTful プラグインを使用してクラスター設定オプションおよびその値を表示する方法を説明します。

curl コマンド

コマンドラインで、以下を使用します。

curl --silent --user <user> 'https://<ceph-mgr>:8003/config/cluster'

以下を置き換えます。

  • <user> は、ユーザー名に置き換えます。
  • <ceph-mgr> は、アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短縮ホスト名に置き換えます。

プロンプトが表示されたら、ユーザーのパスワードを入力します。

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

curl --silent --insecure --user <user> 'https://<ceph-mgr>:8003/config/cluster'
Python

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

$ python
>> import requests
>> result = requests.get('https://<ceph-mgr>:8003/config/cluster', auth=("<user>", "<password>"))
>> print result.json()

以下を置き換えます。

  • <ceph-mgr> は、アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短縮ホスト名に置き換えます。
  • <user> は、ユーザー名に置き換えます。
  • <password> は、ユーザーのパスワードに置き換えます。

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

$ python
>> import requests
>> result = requests.get('https://<ceph-mgr>:8003/config/cluster', auth=("<user>", "<password>"), verify=False)
>> print result.json()
Web ブラウザー

Web ブラウザーで以下を入力します。

https://<ceph-mgr>:8003/config/cluster

以下を置き換えます。

  • <ceph-mgr> は、アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短縮ホスト名に置き換えます。

プロンプトが表示されたら、ユーザー名とパスワードを入力します。

関連情報

2.1.2. 特定のクラスター設定オプションを表示する方法

本セクションでは、特定のクラスターオプションとその値を表示する方法を説明します。

curl コマンド

コマンドラインで、以下を使用します。

curl --silent --user <user> 'https://<ceph-mgr>:8003/config/cluster/<argument>'

以下を置き換えます。

  • <user> は、ユーザー名に置き換えます。
  • <ceph-mgr> は、アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短縮ホスト名に置き換えます。
  • <argument> は、表示する設定オプションに置き換えます。

プロンプトが表示されたら、ユーザーのパスワードを入力します。

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

curl --silent --insecure --user <user> 'https://<ceph-mgr>:8003/config/cluster/<argument>'
Python

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

$ python
>> import requests
>> result = requests.get('https://<ceph-mgr>:8003/config/cluster/<argument>', auth=("<user>", "<password>"))
>> print result.json()

以下を置き換えます。

  • <ceph-mgr> は、アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短縮ホスト名に置き換えます。
  • <argument> は、表示する設定オプションに置き換えます。
  • <user> は、ユーザー名に置き換えます。
  • <password> は、ユーザーのパスワードに置き換えます。

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

$ python
>> import requests
>> result = requests.get('https://<ceph-mgr>:8003/config/cluster/<argument>', auth=("<user>", "<password>"), verify=False)
>> print result.json()
Web ブラウザー

Web ブラウザーで以下を入力します。

https://<ceph-mgr>:8003/config/cluster/<argument>

以下を置き換えます。

  • <ceph-mgr> は、アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短縮ホスト名に置き換えます。
  • <argument> は、表示する設定オプションに置き換えます。

プロンプトが表示されたら、ユーザー名とパスワードを入力します。

関連情報

2.1.3. OSD のすべての設定オプションを表示する方法

本セクションでは、OSD のすべての設定オプションおよびその値を表示する方法を説明します。

curl コマンド

コマンドラインで、以下を使用します。

curl --silent --user <user> 'https://<ceph-mgr>:8003/config/osd'

以下を置き換えます。

  • <user> は、ユーザー名に置き換えます。
  • <ceph-mgr> は、アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短縮ホスト名に置き換えます。

プロンプトが表示されたら、ユーザーのパスワードを入力します。

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

curl --silent --insecure --user <user> 'https://<ceph-mgr>:8003/config/osd'
Python

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

$ python
>> import requests
>> result = requests.get('https://<ceph-mgr>:8003/config/osd', auth=("<user>", "<password>"))
>> print result.json()

以下を置き換えます。

  • <ceph-mgr> は、アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短縮ホスト名に置き換えます。
  • <user> は、ユーザー名に置き換えます。
  • <password> は、ユーザーのパスワードに置き換えます。

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

$ python
>> import requests
>> result = requests.get('https://<ceph-mgr>:8003/config/osd', auth=("<user>", "<password>"), verify=False)
>> print result.json()
Web ブラウザー

Web ブラウザーで以下を入力します。

https://<ceph-mgr>:8003/config/osd

以下を置き換えます。

  • <ceph-mgr> は、アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短縮ホスト名に置き換えます。

プロンプトが表示されたら、ユーザー名とパスワードを入力します。

関連情報

2.1.4. CRUSH ルールの表示方法

このセクションでは、CRUSH ルールを表示する方法を説明します。

curl コマンド

コマンドラインで、以下を使用します。

curl --silent --user <user> 'https://<ceph-mgr>:8003/crush/rule'

以下を置き換えます。

  • <user> は、ユーザー名に置き換えます。
  • <ceph-mgr> は、アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短縮ホスト名に置き換えます。

プロンプトが表示されたら、ユーザーのパスワードを入力します。

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

curl --silent --insecure --user <user> 'https://<ceph-mgr>:8003/crush/rule'
Python

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

$ python
>> import requests
>> result = requests.get('https://<ceph-mgr>:8003/crush/rule', auth=("<user>", "<password>"))
>> print result.json()

以下を置き換えます。

  • <ceph-mgr> は、アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短縮ホスト名に置き換えます。
  • <user> は、ユーザー名に置き換えます。
  • <password> は、ユーザーのパスワードに置き換えます。

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

$ python
>> import requests
>> result = requests.get('https://<ceph-mgr>:8003/crush/rule', auth=("<user>", "<password>"), verify=False)
>> print result.json()
Web ブラウザー

Web ブラウザーで以下を入力します。

https://<ceph-mgr>:8003/crush/rule

以下を置き換えます。

  • <ceph-mgr> は、アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短縮ホスト名に置き換えます。

プロンプトが表示されたら、ユーザー名とパスワードを入力します。

関連情報

2.1.5. Monitor に関する情報を表示する方法

本セクションでは、以下のような特定の Monitor に関する情報を表示する方法を説明します。

  • IP アドレス
  • 名前
  • クォーラムのステータス
curl コマンド

コマンドラインで、以下を使用します。

curl --silent --user <user> 'https://<ceph-mgr>:8003/mon'

以下を置き換えます。

  • <user> は、ユーザー名に置き換えます。
  • <ceph-mgr> は、アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短縮ホスト名に置き換えます。

プロンプトが表示されたら、ユーザーのパスワードを入力します。

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

curl --silent --insecure --user <user> 'https://<ceph-mgr>:8003/mon'
Python

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

$ python
>> import requests
>> result = requests.get('https://<ceph-mgr>:8003/mon', auth=("<user>", "<password>"))
>> print result.json()

以下を置き換えます。

  • <ceph-mgr> は、アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短縮ホスト名に置き換えます。
  • <user> は、ユーザー名に置き換えます。
  • <password> は、ユーザーのパスワードに置き換えます。

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

$ python
>> import requests
>> result = requests.get('https://<ceph-mgr>:8003/mon', auth=("<user>", "<password>"), verify=False)
>> print result.json()
Web ブラウザー

Web ブラウザーで以下を入力します。

https://<ceph-mgr>:8003/mon

以下を置き換えます。

  • <ceph-mgr> は、アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短縮ホスト名に置き換えます。

プロンプトが表示されたら、ユーザー名とパスワードを入力します。

2.1.6. 特定のモニターに関する情報を表示する方法

本セクションでは、以下のような特定の Monitor に関する情報を表示する方法を説明します。

  • IP アドレス
  • 名前
  • クォーラムのステータス
curl コマンド

コマンドラインで、以下を使用します。

curl --silent --user <user> 'https://<ceph-mgr>:8003/mon/<name>'

以下を置き換えます。

  • <user> は、ユーザー名に置き換えます。
  • <ceph-mgr> は、アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短縮ホスト名に置き換えます。
  • <name> は、Monitor の短縮ホスト名に置き換えます。

プロンプトが表示されたら、ユーザーのパスワードを入力します。

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

curl --silent --insecure --user <user> 'https://<ceph-mgr>:8003/mon/<name>'
Python

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

$ python
>> import requests
>> result = requests.get('https://<ceph-mgr>:8003/mon/<name>', auth=("<user>", "<password>"))
>> print result.json()

以下を置き換えます。

  • <ceph-mgr> は、アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短縮ホスト名に置き換えます。
  • <name> は、Monitor の短縮ホスト名に置き換えます。
  • <user> は、ユーザー名に置き換えます。
  • <password> は、ユーザーのパスワードに置き換えます。

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

$ python
>> import requests
>> result = requests.get('https://<ceph-mgr>:8003/mon/<name>', auth=("<user>", "<password>"), verify=False)
>> print result.json()
Web ブラウザー

Web ブラウザーで以下を入力します。

https://<ceph-mgr>:8003/mon/<name>

以下を置き換えます。

  • <ceph-mgr> は、アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短縮ホスト名に置き換えます。
  • <name> は、Monitor の短縮ホスト名に置き換えます。

プロンプトが表示されたら、ユーザー名とパスワードを入力します。

2.1.7. OSD に関する情報を表示する方法

本セクションでは、以下のような OSD に関する情報を表示する方法を説明します。

  • IP アドレス
  • そのプール
  • アフィニティー
  • 重み
curl コマンド

コマンドラインで、以下を使用します。

curl --silent --user <user> 'https://<ceph-mgr>:8003/osd'

以下を置き換えます。

  • <user> は、ユーザー名に置き換えます。
  • <ceph-mgr> は、アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短縮ホスト名に置き換えます。

プロンプトが表示されたら、ユーザーのパスワードを入力します。

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

curl --silent --insecure --user <user> 'https://<ceph-mgr>:8003/osd'
Python

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

$ python
>> import requests
>> result = requests.get('https://<ceph-mgr>:8003/osd/', auth=("<user>", "<password>"))
>> print result.json()

以下を置き換えます。

  • <ceph-mgr> は、アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短縮ホスト名に置き換えます。
  • <user> は、ユーザー名に置き換えます。
  • <password> は、ユーザーのパスワードに置き換えます。

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

$ python
>> import requests
>> result = requests.get('https://<ceph-mgr>:8003/osd/', auth=("<user>", "<password>"), verify=False)
>> print result.json()
Web ブラウザー

Web ブラウザーで以下を入力します。

https://<ceph-mgr>:8003/osd

以下を置き換えます。

  • <ceph-mgr> は、アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短縮ホスト名に置き換えます。

プロンプトが表示されたら、ユーザー名とパスワードを入力します。

2.1.8. 特定の OSD に関する情報を表示する方法

本セクションでは、以下のような特定の OSD に関する情報を表示する方法を説明します。

  • IP アドレス
  • そのプール
  • アフィニティー
  • 重み
curl コマンド

コマンドラインで、以下を使用します。

curl --silent --user <user> 'https://<ceph-mgr>:8003/osd/<id>'

以下を置き換えます。

  • <user> は、ユーザー名に置き換えます。
  • <ceph-mgr> は、アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短縮ホスト名に置き換えます。
  • <id> は、osd フィールドに記載されている OSD の ID に置き換えます。

プロンプトが表示されたら、ユーザーのパスワードを入力します。

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

curl --silent --insecure --user <user> 'https://<ceph-mgr>:8003/osd/<id>'
Python

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

$ python
>> import requests
>> result = requests.get('https://<ceph-mgr>:8003/osd/<id>', auth=("<user>", "<password>"))
>> print result.json()

以下を置き換えます。

  • <ceph-mgr> は、アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短縮ホスト名に置き換えます。
  • <id> は、osd フィールドに記載されている OSD の ID に置き換えます。
  • <user> は、ユーザー名に置き換えます。
  • <password> は、ユーザーのパスワードに置き換えます。

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

$ python
>> import requests
>> result = requests.get('https://<ceph-mgr>:8003/osd/<id>', auth=("<user>", "<password>"), verify=False)
>> print result.json()
Web ブラウザー

Web ブラウザーで以下を入力します。

https://<ceph-mgr>:8003/osd/<id>

以下を置き換えます。

  • <ceph-mgr> は、アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短縮ホスト名に置き換えます。
  • <id> は、osd フィールドに記載されている OSD の ID に置き換えます。

プロンプトが表示されたら、ユーザー名とパスワードを入力します。

2.1.9. OSD でどのプロセスがスケジュールされるのかを指定する方法

本セクションでは、RESTful プラグインを使用して、スクラビングやディープスクラビングなどのプロセスを OSD にスケジュールする方法を説明します。

curl コマンド

コマンドラインで、以下を使用します。

curl --silent --user <user> 'https://<ceph-mgr>:8003/osd/<id>/command'

以下を置き換えます。

  • <user> は、ユーザー名に置き換えます。
  • <ceph-mgr> は、アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短縮ホスト名に置き換えます。
  • <id> は、osd フィールドに記載されている OSD の ID に置き換えます。

プロンプトが表示されたら、ユーザーのパスワードを入力します。

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

curl --silent --insecure --user <user> 'https://<ceph-mgr>:8003/osd/<id>/command'
Python

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

$ python
>> import requests
>> result = requests.get('https://<ceph-mgr>:8003/osd/<id>/command', auth=("<user>", "<password>"))
>> print result.json()

以下を置き換えます。

  • <ceph-mgr> は、アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短縮ホスト名に置き換えます。
  • <id> は、osd フィールドに記載されている OSD の ID に置き換えます。
  • <user> は、ユーザー名に置き換えます。
  • <password> は、ユーザーのパスワードに置き換えます。

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

$ python
>> import requests
>> result = requests.get('https://<ceph-mgr>:8003/osd/<id>/command', auth=("<user>", "<password>"), verify=False)
>> print result.json()
Web ブラウザー

Web ブラウザーで以下を入力します。

https://<ceph-mgr>:8003/osd/<id>/command

以下を置き換えます。

  • <ceph-mgr> は、アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短縮ホスト名に置き換えます。
  • <id> は、osd フィールドに記載されている OSD の ID に置き換えます。

プロンプトが表示されたら、ユーザー名とパスワードを入力します。

2.1.10. プールに関する情報の表示方法

本セクションでは、以下のようなプールの情報を表示する方法を説明します。

  • フラグ
  • サイズ
  • 配置グループの数
curl コマンド

コマンドラインで、以下を使用します。

curl --silent --user <user> 'https://<ceph-mgr>:8003/pool'

以下を置き換えます。

  • <user> は、ユーザー名に置き換えます。
  • <ceph-mgr> は、アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短縮ホスト名に置き換えます。

プロンプトが表示されたら、ユーザーのパスワードを入力します。

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

curl --silent --insecure --user <user> 'https://<ceph-mgr>:8003/pool'
Python

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

$ python
>> import requests
>> result = requests.get('https://<ceph-mgr>:8003/pool', auth=("<user>", "<password>"))
>> print result.json()

以下を置き換えます。

  • <ceph-mgr> は、アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短縮ホスト名に置き換えます。
  • <user> は、ユーザー名に置き換えます。
  • <password> は、ユーザーのパスワードに置き換えます。

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

$ python
>> import requests
>> result = requests.get('https://<ceph-mgr>:8003/pool', auth=("<user>", "<password>"), verify=False)
>> print result.json()
Web ブラウザー

Web ブラウザーで以下を入力します。

https://<ceph-mgr>:8003/pool

以下を置き換えます。

  • <ceph-mgr> は、アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短縮ホスト名に置き換えます。

プロンプトが表示されたら、ユーザー名とパスワードを入力します。

2.1.11. 特定のプールに関する情報を表示する方法

本セクションでは、以下のような特定のプールに関する情報を表示する方法を説明します。

  • フラグ
  • サイズ
  • 配置グループの数
curl コマンド

コマンドラインで、以下を使用します。

curl --silent --user <user> 'https://<ceph-mgr>:8003/pool/<id>'

以下を置き換えます。

  • <user> は、ユーザー名に置き換えます。
  • <ceph-mgr> は、アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短縮ホスト名に置き換えます。
  • <id> を、pool フィールドに一覧表示されるプールの ID に置き換えます。

プロンプトが表示されたら、ユーザーのパスワードを入力します。

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

curl --silent --insecure --user <user> 'https://<ceph-mgr>:8003/config/cluster'
Python

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

$ python
>> import requests
>> result = requests.get('https://<ceph-mgr>:8003/pool/<id>', auth=("<user>", "<password>"))
>> print result.json()

以下を置き換えます。

  • <ceph-mgr> は、アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短縮ホスト名に置き換えます。
  • <id> を、pool フィールドに一覧表示されるプールの ID に置き換えます。
  • <user> は、ユーザー名に置き換えます。
  • <password> は、ユーザーのパスワードに置き換えます。

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

$ python
>> import requests
>> result = requests.get('https://<ceph-mgr>:8003/pool/<id>', auth=("<user>", "<password>"), verify=False)
>> print result.json()
Web ブラウザー

Web ブラウザーで以下を入力します。

https://<ceph-mgr>:8003/pool/<id>

以下を置き換えます。

  • <ceph-mgr> は、アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短縮ホスト名に置き換えます。
  • <id> を、pool フィールドに一覧表示されるプールの ID に置き換えます。

プロンプトが表示されたら、ユーザー名とパスワードを入力します。

2.1.12. リクエストに関する情報を表示する方法

本セクションでは、リクエストに関する情報を表示する方法を説明します。

curl コマンド

コマンドラインで、以下を使用します。

curl --silent --user <user> 'https://<ceph-mgr>:8003/request'

以下を置き換えます。

  • <user> は、ユーザー名に置き換えます。
  • <ceph-mgr> は、アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短縮ホスト名に置き換えます。

プロンプトが表示されたら、ユーザーのパスワードを入力します。

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

curl --silent --insecure --user <user> 'https://<ceph-mgr>:8003/request'
Python

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

$ python
>> import requests
>> result = requests.get('https://<ceph-mgr>:8003/request', auth=("<user>", "<password>"))
>> print result.json()

以下を置き換えます。

  • <ceph-mgr> は、アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短縮ホスト名に置き換えます。
  • <user> は、ユーザー名に置き換えます。
  • <password> は、ユーザーのパスワードに置き換えます。

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

$ python
>> import requests
>> result = requests.get('https://<ceph-mgr>:8003/request', auth=("<user>", "<password>"), verify=False)
>> print result.json()
Web ブラウザー

Web ブラウザーで以下を入力します。

https://<ceph-mgr>:8003/request

以下を置き換えます。

  • <ceph-mgr> は、アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短縮ホスト名に置き換えます。

プロンプトが表示されたら、ユーザー名とパスワードを入力します。

2.1.13. 特定のリクエストに関する情報を表示する方法

本セクションでは、特定のリクエストに関する情報を表示する方法を説明します。

curl コマンド

コマンドラインで、以下を使用します。

curl --silent --user <user> 'https://<ceph-mgr>:8003/request/<id>'

以下を置き換えます。

  • <user> は、ユーザー名に置き換えます。
  • <ceph-mgr> は、アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短縮ホスト名に置き換えます。
  • <id> は、id フィールドに一覧表示されるリクエストの ID に置き換えます。

プロンプトが表示されたら、ユーザーのパスワードを入力します。

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

curl --silent --insecure --user <user> 'https://<ceph-mgr>:8003/request/<id>'
Python

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

$ python
>> import requests
>> result = requests.get('https://<ceph-mgr>:8003/request/<id>', auth=("<user>", "<password>"))
>> print result.json()

以下を置き換えます。

  • <ceph-mgr> は、アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短縮ホスト名に置き換えます。
  • <id> は、id フィールドに一覧表示されるリクエストの ID に置き換えます。
  • <user> は、ユーザー名に置き換えます。
  • <password> は、ユーザーのパスワードに置き換えます。

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

$ python
>> import requests
>> result = requests.get('https://<ceph-mgr>:8003/request/<id>', auth=("<user>", "<password>"), verify=False)
>> print result.json()
Web ブラウザー

Web ブラウザーで以下を入力します。

https://<ceph-mgr>:8003/request/<id>

以下を置き換えます。

  • <ceph-mgr> は、アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短縮ホスト名に置き換えます。
  • <id> は、id フィールドに一覧表示されるリクエストの ID に置き換えます。

プロンプトが表示されたら、ユーザー名とパスワードを入力します。

2.1.14. ホストに関する情報を表示する方法

本セクションでは、以下のようなホストに関する情報を表示する方法を説明します。

  • ホスト名
  • Ceph デーモンとその ID
  • Ceph バージョン
curl コマンド

コマンドラインで、以下を使用します。

curl --silent --user <user> 'https://<ceph-mgr>:8003/server'

以下を置き換えます。

  • <user> は、ユーザー名に置き換えます。
  • <ceph-mgr> は、アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短縮ホスト名に置き換えます。

プロンプトが表示されたら、ユーザーのパスワードを入力します。

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

curl --silent --insecure --user <user> 'https://<ceph-mgr>:8003/server'
Python

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

$ python
>> import requests
>> result = requests.get('https://<ceph-mgr>:8003/server', auth=("<user>", "<password>"))
>> print result.json()

以下を置き換えます。

  • <ceph-mgr> は、アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短縮ホスト名に置き換えます。
  • <user> は、ユーザー名に置き換えます。
  • <password> は、ユーザーのパスワードに置き換えます。

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

$ python
>> import requests
>> result = requests.get('https://<ceph-mgr>:8003/server', auth=("<user>", "<password>"), verify=False)
>> print result.json()
Web ブラウザー

Web ブラウザーで以下を入力します。

https://<ceph-mgr>:8003/server

以下を置き換えます。

  • <ceph-mgr> は、アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短縮ホスト名に置き換えます。

プロンプトが表示されたら、ユーザー名とパスワードを入力します。

2.1.15. 特定のホストに関する情報を表示する方法

本セクションでは、以下のような特定のホストに関する情報を表示する方法を説明します。

  • ホスト名
  • Ceph デーモンとその ID
  • Ceph バージョン
curl コマンド

コマンドラインで、以下を使用します。

curl --silent --user <user> 'https://<ceph-mgr>:8003/server/<hostname>'

以下を置き換えます。

  • <user> は、ユーザー名に置き換えます。
  • <ceph-mgr> は、アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短縮ホスト名に置き換えます。
  • <hostname> は、hostname フィールドに一覧表示されるホストのホスト名に置き換えます。

プロンプトが表示されたら、ユーザーのパスワードを入力します。

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

curl --silent --insecure --user <user> 'https://<ceph-mgr>:8003/server/<hostname>'
Python

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

$ python
>> import requests
>> result = requests.get('https://<ceph-mgr>:8003/server/<hostname>', auth=("<user>", "<password>"))
>> print result.json()

以下を置き換えます。

  • <ceph-mgr> は、アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短縮ホスト名に置き換えます。
  • <hostname> は、hostname フィールドに一覧表示されるホストのホスト名に置き換えます。
  • <user> は、ユーザー名に置き換えます。
  • <password> は、ユーザーのパスワードに置き換えます。

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

$ python
>> import requests
>> result = requests.get('https://<ceph-mgr>:8003/server/<hostname>', auth=("<user>", "<password>"), verify=False)
>> print result.json()
Web ブラウザー

Web ブラウザーで以下を入力します。

https://<ceph-mgr>:8003/server/<hostname>

以下を置き換えます。

  • <ceph-mgr> は、アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短縮ホスト名に置き換えます。
  • <hostname> は、hostname フィールドに一覧表示されるホストのホスト名に置き換えます。

プロンプトが表示されたら、ユーザー名とパスワードを入力します。

2.2. 設定の変更

本セクションでは、RESTful プラグインを使用して OSD 設定オプション、OSD の状態、プールに関する情報を変更する方法を説明します。

2.2.1. OSD 設定オプションの変更方法

本セクションでは、RESTful プラグインを使用して OSD 設定オプションを変更する方法を説明します。

curl コマンド

コマンドラインで、以下を使用します。

echo -En '{"<option>": <value>}' | curl --request PATCH --data @- --silent --user <user> 'https://<ceph-mgr>:8003/config/osd'

以下を置き換えます。

  • <option> を変更するオプションに置き換えます (pausenoupnodownnooutnoinnobackfillnorecovernoscrubnodeep-scrub)。
  • <value> は、true または false に置き換えます。
  • <user> は、ユーザー名に置き換えます。
  • <ceph-mgr> は、アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短縮ホスト名に置き換えます。

プロンプトが表示されたら、ユーザーのパスワードを入力します。

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

echo -En '{'<option>': <value>}' | curl --request PATCH --data @- --silent --insecure --user <user> 'https://<ceph-mgr>:8003/config/osd'
Python

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

$ python
>> import requests
>> result = requests.patch('https://<ceph-mgr>:8003/config/osd', json={"<option>": <value>}, auth=("<user>", "<password>"))
>> print result.json()

以下を置き換えます。

  • <ceph-mgr> は、アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短縮ホスト名に置き換えます。
  • <option> を変更するオプションに置き換えます (pausenoupnodownnooutnoinnobackfillnorecovernoscrubnodeep-scrub)。
  • <value> は、True または False に置き換えます。
  • <user> は、ユーザー名に置き換えます。
  • <password> は、ユーザーのパスワードに置き換えます。

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

$ python
>> import requests
>> result = requests.patch('https://<ceph-mgr>:8003/config/osd', json={"<option>": <value>}, auth=("<user>", "<password>"), verify=False)
>> print result.json()

2.2.2. OSD の状態を変更する方法

本セクションでは、RESTful プラグインを使用して OSD の状態を変更する方法を説明します。

curl コマンド

コマンドラインで、以下を使用します。

echo -En '{"<state>": <value>}' | curl --request PATCH --data @- --silent --user <user> 'https://<ceph-mgr>:8003/osd/<id>'

以下を置き換えます。

  • <state> は、変更する状態 (in または up) に置き換えます。
  • <value> は、true または false に置き換えます。
  • <user> は、ユーザー名に置き換えます。
  • <ceph-mgr> は、アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短縮ホスト名に置き換えます。
  • <id> は、osd フィールドに記載されている OSD の ID に置き換えます。

プロンプトが表示されたら、ユーザーのパスワードを入力します。

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

echo -En '{"<state>": <value>}' | curl --request PATCH --data @- --silent --insecure --user <user> 'https://<ceph-mgr>:8003/osd/<id>'
Python

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

$ python
>> import requests
>> result = requests.patch('https://<ceph-mgr>:8003/osd/<id>', json={"<state>": <value>}, auth=("<user>", "<password>"))
>> print result.json()

以下を置き換えます。

  • <ceph-mgr> は、アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短縮ホスト名に置き換えます。
  • <state> は、変更する状態 (in または up) に置き換えます。
  • <value> は、True または False に置き換えます。
  • <id> は、osd フィールドに記載されている OSD の ID に置き換えます。
  • <user> は、ユーザー名に置き換えます。
  • <password> は、ユーザーのパスワードに置き換えます。

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

$ python
>> import requests
>> result = requests.patch('https://<ceph-mgr>:8003/osd/<id>', json={"<state>": <value>}, auth=("<user>", "<password>"), verify=False)
>> print result.json()

2.2.3. OSD の重みを再設定する方法

本セクションでは、OSD の重みを変更する方法を説明します。

curl コマンド

コマンドラインで、以下を使用します。

echo -En '{"reweight": <value>}' | curl --request PATCH --data @- --silent --user <user> 'https://<ceph-mgr>:8003/osd/<id>'

以下を置き換えます。

  • <value> は、新しい重みに置き換えます。
  • <user> は、ユーザー名に置き換えます。
  • <ceph-mgr> は、アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短縮ホスト名に置き換えます。
  • <id> は、osd フィールドに記載されている OSD の ID に置き換えます。

プロンプトが表示されたら、ユーザーのパスワードを入力します。

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

echo -En '{"reweight": <value>}' | curl --request PATCH --data @- --silent --insecure --user <user> 'https://<ceph-mgr>:8003/osd/<id>'
Python

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

$ python
>> import requests
>> result = requests.patch('https://<ceph-mgr>:8003/osd/<id>', json={"reweight": <value>}, auth=("<user>", "<password>"))
>> print result.json()

以下を置き換えます。

  • <ceph-mgr> は、アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短縮ホスト名に置き換えます。
  • <value> は、新しい重みに置き換えます。
  • <id> は、osd フィールドに記載されている OSD の ID に置き換えます。
  • <user> は、ユーザー名に置き換えます。
  • <password> は、ユーザーのパスワードに置き換えます。

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

$ python
>> import requests
>> result = requests.patch('https://<ceph-mgr>:8003/osd/<id>', json={"reweight": <value>}, auth=("<user>", "<password>"), verify=False)
>> print result.json()

2.2.4. プールの情報の変更方法

本セクションでは、RESTful プラグインを使用して特定のプールの情報を変更する方法を説明します。

curl コマンド

コマンドラインで、以下を使用します。

echo -En '{"<option>": <value>}' | curl --request PATCH --data @- --silent --user <user> 'https://<ceph-mgr>:8003/pool/<id>'

以下を置き換えます。

  • <option> は、変更するオプションに置き換えます。
  • <value> は、オプションの新しい値に置き換えます。
  • <user> は、ユーザー名に置き換えます。
  • <ceph-mgr> は、アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短縮ホスト名に置き換えます。
  • <id> を、pool フィールドに一覧表示されるプールの ID に置き換えます。

プロンプトが表示されたら、ユーザーのパスワードを入力します。

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

echo -En '{"<option>": <value>}' | curl --request PATCH --data @- --silent --insecure --user <user> 'https://<ceph-mgr>:8003/pool/<id>'
Python

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

$ python
>> import requests
>> result = requests.patch('https://<ceph-mgr>:8003/pool/<id>', json={"<option>": <value>}, auth=("<user>", "<password>"))
>> print result.json()

以下を置き換えます。

  • <ceph-mgr> は、アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短縮ホスト名に置き換えます。
  • <id> を、pool フィールドに一覧表示されるプールの ID に置き換えます。
  • <option> は、変更するオプションに置き換えます。
  • <value> は、オプションの新しい値に置き換えます。
  • <user> は、ユーザー名に置き換えます。
  • <password> は、ユーザーのパスワードに置き換えます。

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

$ python
>> import requests
>> result = requests.patch('https://<ceph-mgr>:8003/pool/<id>', json={"<option>": <value>}, auth=("<user>", "<password>"), verify=False)
>> print result.json()

2.3. クラスターの管理

本セクションでは、RESTful プラグインを使用して OSD でのスクラビングまたはディープスクラビングの初期化、プールの作成、プールからのデータの削除、リクエストの削除、または要求の作成を行う方法を説明します。

2.3.1. OSD でスケジュール済みプロセスを実行する方法

本セクションでは、OSD でのスクラビングやディープスクラビングなどの RESTful API を使用してスケジュール済みプロセスを実行する方法を説明します。

curl コマンド

コマンドラインで、以下を使用します。

echo -En '{"command": "<command>"}' | curl --request POST --data @- --silent --user <user> 'https://<ceph-mgr>:8003/osd/<id>/command'

以下を置き換えます。

  • 起動するプロセス (scrubdeep-scrub、または repair) を持つコマンド。プロセスが OSD でサポートされていることを確認します。詳しくは、「OSD でどのプロセスがスケジュールされるのかを指定する方法」 を参照してください。
  • <user> は、ユーザー名に置き換えます。
  • <ceph-mgr> は、アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短縮ホスト名に置き換えます。
  • <id> は、osd フィールドに記載されている OSD の ID に置き換えます。

プロンプトが表示されたら、ユーザーのパスワードを入力します。

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

echo -En '{"command": "<command>"}' | curl --request POST --data @- --silent --insecure --user <user> 'https://<ceph-mgr>:8003/osd/<id>/command'
Python

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

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

以下を置き換えます。

  • <ceph-mgr> は、アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短縮ホスト名に置き換えます。
  • <id> は、osd フィールドに記載されている OSD の ID に置き換えます。
  • 起動するプロセス (scrubdeep-scrub、または repair) を持つコマンド。プロセスが OSD でサポートされていることを確認します。詳しくは、「OSD でどのプロセスがスケジュールされるのかを指定する方法」 を参照してください。
  • <user> は、ユーザー名に置き換えます。
  • <password> は、ユーザーのパスワードに置き換えます。

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

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

2.3.2. 新規プールの作成方法

本セクションでは、RESTful プラグインを使用して新しいプールを作成する方法を説明します。

curl コマンド

コマンドラインで、以下を使用します。

echo -En '{"name": "<name>", "pg_num": <number>}' | curl --request POST --data @- --silent --user <user> 'https://<ceph-mgr>:8003/pool'

以下を置き換えます。

  • <name> は、新規プールの名前に置き換えます。
  • <number> は、配置グループの数に置き換えます。
  • <user> は、ユーザー名に置き換えます。
  • <ceph-mgr> は、アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短縮ホスト名に置き換えます。

プロンプトが表示されたら、ユーザーのパスワードを入力します。

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

echo -En '{"name": "<name>", "pg_num": <number>}' | curl --request POST --data @- --silent --insecure --user <user> 'https://<ceph-mgr>:8003/pool'
Python

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

$ python
>> import requests
>> result = requests.post('https://<ceph-mgr>:8003/pool', json={"name": "<name>", "pg_num": <number>}, auth=("<user>", "<password>"))
>> print result.json()

以下を置き換えます。

  • <ceph-mgr> は、アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短縮ホスト名に置き換えます。
  • <name> は、新規プールの名前に置き換えます。
  • <number> は、配置グループの数に置き換えます。
  • <user> は、ユーザー名に置き換えます。
  • <password> は、ユーザーのパスワードに置き換えます。

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

$ python
>> import requests
>> result = requests.post('https://<ceph-mgr>:8003/pool', json={"name": "<name>", "pg_num": <number>}, auth=("<user>", "<password>"), verify=False)
>> print result.json()

2.3.3. プールの削除方法

本セクションでは、RESTful プラグインを使用してプールを削除する方法を説明します。

この要求はデフォルトで禁止されています。そのためには、以下のパラメーターを Ceph 設定ガイドに追加します。

mon_allow_pool_delete = true
curl コマンド

コマンドラインで、以下を使用します。

curl --request DELETE --silent --user <user> 'https://<ceph-mgr>:8003/pool/<id>'

以下を置き換えます。

  • <user> は、ユーザー名に置き換えます。
  • <ceph-mgr> は、アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短縮ホスト名に置き換えます。
  • <id> を、pool フィールドに一覧表示されるプールの ID に置き換えます。

プロンプトが表示されたら、ユーザーのパスワードを入力します。

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

curl --request DELETE --silent --insecure --user <user> 'https://<ceph-mgr>:8003/pool/<id>'
Python

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

$ python
>> import requests
>> result = requests.delete('https://<ceph-mgr>:8003/pool/<id>', auth=("<user>", "<password>"))
>> print result.json()

以下を置き換えます。

  • <ceph-mgr> は、アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短縮ホスト名に置き換えます。
  • <id> を、pool フィールドに一覧表示されるプールの ID に置き換えます。
  • <user> は、ユーザー名に置き換えます。
  • <password> は、ユーザーのパスワードに置き換えます。

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

$ python
>> import requests
>> result = requests.delete('https://<ceph-mgr>:8003/pool/<id>', auth=("<user>", "<password>"), verify=False)
>> print result.json()

2.3.4. すべての完了済みリクエストを削除する方法

本セクションでは、RESTful プラグインを使用して、完了したすべてのリクエストを削除する方法を説明します。

curl コマンド

コマンドラインで、以下を使用します。

curl --request DELETE --silent --user <user> 'https://<ceph-mgr>:8003/request'

以下を置き換えます。

  • <user> は、ユーザー名に置き換えます。
  • <ceph-mgr> は、アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短縮ホスト名に置き換えます。

プロンプトが表示されたら、ユーザーのパスワードを入力します。

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

curl --request DELETE --silent --insecure --user <user> 'https://<ceph-mgr>:8003/request'
Python

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

$ python
>> import requests
>> result = requests.delete('https://<ceph-mgr>:8003/request', auth=("<user>", "<password>"))
>> print result.json()

以下を置き換えます。

  • <ceph-mgr> は、アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短縮ホスト名に置き換えます。
  • <user> は、ユーザー名に置き換えます。
  • <password> は、ユーザーのパスワードに置き換えます。

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

$ python
>> import requests
>> result = requests.delete('https://<ceph-mgr>:8003/request', auth=("<user>", "<password>"), verify=False)
>> print result.json()

2.3.5. 特定のリクエストを削除する方法

本セクションでは、RESTful プラグインを使用してデータベースから特定のリクエストを削除する方法を説明します。

curl コマンド

コマンドラインで、以下を使用します。

curl --request DELETE --silent --user <user> 'https://<ceph-mgr>:8003/request/<id>'

以下を置き換えます。

  • <user> は、ユーザー名に置き換えます。
  • <ceph-mgr> は、アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短縮ホスト名に置き換えます。
  • <id> は、id フィールドに一覧表示されるリクエストの ID に置き換えます。

プロンプトが表示されたら、ユーザーのパスワードを入力します。

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

curl --request DELETE --silent --insecure --user <user> 'https://<ceph-mgr>:8003/request/<id>'
Python

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

$ python
>> import requests
>> result = requests.delete('https://<ceph-mgr>:8003/request/<id>', auth=("<user>", "<password>"))
>> print result.json()

以下を置き換えます。

  • <ceph-mgr> は、アクティブな ceph-mgr インスタンスを持つノードの IP アドレスまたは短縮ホスト名に置き換えます。
  • <id> は、id フィールドに一覧表示されるリクエストの ID に置き換えます。
  • <user> は、ユーザー名に置き換えます。
  • <password> は、ユーザーのパスワードに置き換えます。

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

$ python
>> import requests
>> result = requests.delete('https://<ceph-mgr>:8003/request/<id>', auth=("<user>", "<password>"), verify=False)
>> print result.json()

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

管理コマンドを実行するには、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()

関連情報

2.4. 関連情報