15.5. API を使用してホスト上のパッケージを管理する
Satellite API を使用して、ホスト上のパッケージをインストール、アップグレード、または削除できます。
以下の例では、katello_package_install アクションを使用してパッケージをインストールします。パッケージアクション katello_package_upgrade を使用してアップグレードしたり、katello_package_remove を使用してパッケージを削除したりすることもできます。
手順
API リクエストのボディーを JSON 形式で指定します。以下に例を示します。
{ "job_invocation" : { "concurrency_control" : { "concurrency_level" : 100 }, "feature" : "katello_package_install", "inputs" : { "package" : "nano vim" }, "scheduling" : { "start_at" : "2023-09-21T19:00:00+00:00", "start_before" : "2023-09-23T00:00:00+00:00" }, "search_query" : "*", "ssh" : { "effective_user" : "My_Username", "effective_user_password" : "My_Password" }, "targeting_type" : "dynamic_query" } }この例では、次の重要な値を使用します。
- "job_invocation"
- API リクエストが含まれるオブジェクトを指定します。
- "concurrency_level"
- オプション。ジョブが同時に実行されるホストの数を制限します。
- "feature"
-
実行するアクションを指定します。パッケージをインストールするには
"katello_package_install"、パッケージをアップグレードするには"katello_package_upgrade"、パッケージを削除するには"katello_package_remove"を使用します。 - "package"
- アクションが実行されるパッケージを指定します。複数のパッケージは空白で区切ります。
- "scheduling"
オプション。パッケージアクションを開始する時間の境界を指定します。
- 一方または両方の境界を ISO 8601 形式で指定できます。
- この時間までにパッケージアクションを実行できない場合、アクションはキャンセルされます。
- 時刻を省略すると、デフォルトの 00:00:00 になります。
- タイムゾーンを省略すると、デフォルトで UTC になります。
- "search_query"
- パッケージアクションを実行するホストを選択する検索クエリーを指定します。
- "ssh"
- オプション。SSH ユーザーの認証情報を指定します (そのユーザーとしてパッケージアクションを実行する場合)。
- "dynamic_query"
オプション。
"scheduling"オブジェクトを指定した場合、"targeting_type/dynamic_query"フィールドを指定して、ジョブの実行時に検索クエリーを評価できます。- これは、ジョブの実行時にクエリーが異なる結果を生成することが予想される場合に役立ちます。
-
このフィールドを省略すると、デフォルトの
"static_query"が使用されます。
作成したボディーを含む
POSTリクエストを Satellite Server の/api/job_invocationsエンドポイントに送信し、フォーマットされた応答を確認します。以下に例を示します。$ curl https://satellite.example.com/api/job_invocations \ -H "content-type: application/json" \ -X POST \ -d @Path_To_My_API_Request_Body \ -u My_Username:My_Password \ | python3 -m json.tool
検証
- Satellite Web UI で、Monitor > Jobs に移動し、選択したホストでパッケージアクションを実行する、スケジュール済みまたは完了済みのリモート実行ジョブのレポートを確認します。