レッスン 1: 大量のソフトウェア・インスタンスの再割り当て
このレッスンでは、REST API および cURL コマンド・ライン・ツールを使用して、大量のソフトウェア・インスタンスを再割り当てする方法を示します。このレッスンの情報を使用して、大規模な再バンドルのための自動外部ツールを実装できます。
始める前に
このタスクについて
ソフトウェア・スキャン・データが BigFix・サーバーからインポートされると、ソフトウェア・インスタンスは、自動バンドル・ルールに基づいて自動的に製品に関連付けられます。不適切な製品に割り当てられたインスタンスがある場合、それらのインスタンスを正しく再割り当てする必要があります。
このレッスンでは、Tivoli® Storage FlashCopy® Manager の一部のインスタンスが不適切な製品に割り当てられています。Tivoli® Storage FlashCopy® Manager 製品は、ホスト名が nc04 で始まるコンピューター、および Linux™ コンピューターにのみインストールされます。Tivoli® Storage FlashCopy® Manager のそれ以外のインスタンスはすべて、IBM Tivoli® Storage Manager のリリースに再割り当てします。
重要:
- このレッスンの一部のコマンドは長いため、表示のためにいくつかの改行が挿入されています。改行をスペースとして扱ってください。
- すべての cURL コマンドの最後にトークン ID を付加する必要があります。トークンを取得するには、以下の手順を実行します。
- BigFix Inventory ユーザー・インターフェースで、 をクリックします。
- ユーザー名をクリックします。
- ページ下部で、「トークンの表示」をクリックします。
手順
- コンピューターにログオンし、コマンド行インターフェースを開始します。
- ご使用の環境でディスカバーされたすべての製品のリストを取得します。以下のコマンドを実行します。
curl -v -X GET http://server_url:server_port/api/sam/swinventory/products?token=token_ID
-
リストを確認し、IBM Tivoli® Storage FlashCopy® Manager の製品 ID を取得します。
{ "id": "16790", "level": "product", "isConfirmed": "false", "productReleaseComponent": "IBM Tivoli Storage FlashCopy Manager", "children": "true", "nmbOfAllRows": "44", "confidence": "11", "type": "root" }
- 製品のすべてのリリースを取得します。前のステップで入手した製品 ID を使用します。以下のコマンドを実行します。
curl -v -X GET http://server_url:server_port/api/sam/swinventory/product/16790/ releases?token=token_ID
-
リストを確認し、IBM Tivoli® Storage FlashCopy® Manager のリリース ID を取得します。
{ "label": "name", "identifier": "id", "numRows": "1", "items": [{ "id": "985", "level": "release", "isConfirmed": "false", "numberOfAllInstances": "5", "productReleaseComponent": "IBM Tivoli Storage FlashCopy Manager 3.1", "children": "true", "nmbOfAllRows": "1", "confidence": "11" }
- リリースのすべてのインスタンスのリストを取得します。前のステップで入手したリリース ID を使用します。以下のコマンドを実行します。
curl -v -X GET http://server_url:server_port/api/sam/swinventory/release/985/ instances?token=token_ID
-
リストを確認し、以下の基準を満たす IBM Tivoli® Storage FlashCopy® Manager のインスタンスの製品インベントリー ID を取得します。
ホスト名が nc04 で始まるコンピューターにインストールされていないインスタンス、または Linux™ コンピューターにインストールされていないインスタンス。
注: 外部ツールを使用したリストのフィルタリングが必要になる場合があります。{ "isCharged": "true", "operatingSystem": "AIX 6.1", "isConfirmed": "false", "currentServerId": "8233 06A851P", "updateTime": "1381322771321", "children": "false", "hostname": "NC107073", "confidence": "11", "productInventoryId": "134", "id": "134", "level": "instance", "bundleRules": "the relation in the software catalog, the stand-alone pr oduct discovery", "isAgentDeleted": "false", "processorType": "BigFix(R) POWER7 (750, 755, 775 servers) Multi-core All E xisting", "productReleaseComponent": "BigFix Tivoli Storage Manager Client 6.3", "pvuPerCore": "100", "installationPaths": "/BigFix/TSM", "nmbOfAllRows": "5", "isSimple": "false" }, { "isCharged": "true", "operatingSystem": "Win2008R2 6.1.7601", "isConfirmed": "false", "currentServerId": "TLM_VM_42362841-6b4e-ea26-9755-07b28dc0fd41", "updateTime": "1381322771321", "children": "false", "hostname": "VMW009128109094", "confidence": "11", "productInventoryId": "137", "id": "137", "level": "instance", "bundleRules": "the relation in the software catalog, the stand-alone pr oduct discovery", "isAgentDeleted": "false", "processorType": "Other Other One core All Existing", "productReleaseComponent": "IBM Tivoli Storage Manager Client 6.3", "pvuPerCore": "100", "installationPaths": "C:\\BigFix Software\\TSM", "nmbOfAllRows": "5", "isSimple": "false" }
- インスタンスを再割り当てできるリリースのリストを取得します。前のステップで入手したインスタンス ID を使用します。以下のコマンドを実行します。
curl -v -X GET http://server_url:server_port/api/sam/swinventory/ targetBundlesOfInstances?productInventoryId=134&token=token_ID
-
リストを確認し、インスタンスを再割り当てする IBM Tivoli® Storage Manager リリース ID を取得します。
{ "id": "33424", "appliedRules": "the infrastructure co-location, the relation in the software catalog", "releaseId": "33424", "isSelected": "false", "branchType": "0", "confidenceLevel":3, "isShared": "false", "productName": "IBM Tivoli Storage Manager 6.3", "productInventoryId": "134}, }
- 以下のコマンドを実行して、リリースを再割り当てします。
各部の意味は以下のとおりです。curl -v -X POST http://server_url:server_port/api/sam/swinventory/reassign -d "productInventoryId=inventory_IDs&productId=release_ID&updateTime=timestamp"?token=token_ID
inventory_IDs
は、再割り当てするインスタンスです。release_ID
は、再割り当て先の製品リリースです。timestamp
は、ミリ秒で表された更新時刻です。タイム・スタンプは、ステップ で再割り当てするインスタンスのプロパティーとして取得したタイム・スタンプ以降の時刻でなければなりません。6
例:
curl -v -X POST http://server_url:server_port/api/sam/swinventory/reassign -d "productInventoryId=134,137&productId=33424&updateTime=9949237658579"
HTTP レスポンス 204 を受け取ります。選択されたインスタンスは、新規リリースに再割り当てされています。