lenovo.lxca-config
Ansible ロール: Lenovo LXCA 設定
これは、Lenovo xClarity Administrator で管理された要素に対する様々な設定操作(管理、ファームウェアの更新、ポリシーの設定、OS のデプロイなど)を行うための Ansible ロールです。
要件
Ansible バージョン 2.4.2 以上 (Ansible インストールドキュメント)
Lenovo xClarity Administrator 用の Python クライアント (LXCA Python クライアント v2.5.0)
pip install pylxca
必須変数
以下は利用可能な変数とその説明です:
変数名 | 説明 |
---|---|
lxca_user | LXCA に接続するユーザー名 |
lxca_password | ユーザーのパスワード |
lxca_url | LXCA に接続するための URL |
ロール変数
以下は利用可能な変数とその説明です:
変数名 | 説明 |
---|---|
uuid | 管理対象要素の UUID |
id | リソースの ID |
endpoint_ip | エンドポイントの IP アドレス |
user | ユーザー名 |
password | パスワード |
recovery_password | リソースの復旧用パスワード |
storedcredential_id | ストアされた認証情報の ID |
jobid | バックグラウンドジョブのジョブ ID |
mode | 設定アクションの操作モード |
lxca_action | 設定の操作 |
server | コンピュートノードの詳細 |
switch | スイッチの詳細 |
storage | ストレージの詳細 |
cmm | CMM の詳細 |
force | 設定アクションの強制フラグ |
policy_info | ポリシーの詳細 |
policy_name | ポリシーの名前 |
policy_type | ポリシーの種類 |
repo_key | リポジトリーキー |
machine_type | マシンタイプ |
scope | 操作のスコープ |
fixids | ファームウェアイメージ ID |
file_type | 設定アクションのファイルの種類 |
endpoint | 設定アクション用のターゲット管理エンドポイント |
restart | 設定アクション |
config_pattern_name | 設定パターンの名前 |
config_profile_name | 設定プロファイルの名前 |
powerdown | 電源操作 |
resetimm | IMM リセットアクション |
pattern_update_dict | カテゴリパターン情報の辞書 |
pattern_from_file | パターンデータのファイルパス |
includeSettings | 設定データを読み込むためのフラグ |
osimages_info | OS イメージに関する情報 |
osimages_dict | OS イメージに関する情報の辞書 |
files | ファイルの場所 |
update_key | ファームウェアの更新キー |
status | 管理対象要素のステータス |
uuid_list | UUID のリスト |
subcmd | 設定コマンドのサブコマンド |
サポートされるタグ
以下はサポートされているタグとその説明です:
タグ | 説明 |
---|---|
get_configpatterns | すべてのサーバーパターンを返す |
get_particular_configpattern | 名前または ID で設定パターンを取得 |
import_configpatterns | LXCA に設定パターンをインポート |
apply_configpatterns | デバイスに設定パターンを適用 |
get_configstatus | UUID によるデバイスの設定状態を取得 |
configprofiles | 設定プロファイルの操作 |
configtargets | 設定ターゲットの詳細を取得 |
manage | 発見されたデバイスに対して管理操作を実行 |
manage_status | 管理操作の完了状況を確認 |
unmanage | 管理解除操作を実行 |
unmanage_status | 管理解除操作の完了状況を確認 |
osimages | OS イメージおよび OS デプロイ操作を実行 |
updaterepo | リポジトリの更新操作 |
update_firmware | 指定したデバイスのファームウェアを更新 |
update_firmware_all | ポリシーに基づき UUID のリストでデバイスのファームウェアを更新 |
update_firmware_query_status | ファームウェア更新のステータスを確認 |
update_firmware_query_comp | 更新可能なコンポーネントのリスト |
get_managementserver_pkg | パッケージの詳細を取得 |
update_managementserver_pkg | 管理サーバーパッケージを更新 |
import_managementserver_pkg | ローカルシステムから管理サーバーをインポート |
updatepolicy | コンプライアンスポリシーの更新操作 |
get_storedcredentials | ストアされた認証情報を取得 |
create_storedcredentials | 新しいストアされた認証情報を作成 |
update_storedcredentials | 既存のストアされた認証情報を更新 |
delete_storedcredentials | ストアされた認証情報を削除 |
依存関係
Lenovo xClarity Administrator との接続。
例:プレイブック
Ansible プレイブックを実行するには、上記のタグのいずれかを選択し、タグで使用される変数を指定する必要があります。以下のコマンドを使用します:
manage
manage では以下の追加変数を使用します: user、password または storedcredential_id
ansible-playbook -e "lxca_user=USERID lxca_password=Passw0rd
lxca_url=https://10.240.29.217 endpoint_ip=10.240.72.172 user=USERID
password=CME44ibm recovery_password=CME55ibm force=True" test.yml -vvvv --tag manage
ansible-playbook -e "lxca_user=USERID lxca_password=Passw0rd
lxca_url=https://10.240.29.217 endpoint_ip=10.240.72.172 storedcredential_id=21 force=True" test.yml -vvvv --tag manage
unmanage
unmanage では以下の追加変数を使用します: endpoint_ip(IP アドレス、UUID、デバイスタイプ) デバイスタイプは以下の値を持つことができます:
- Chassis
- ThinkServer
- Storage
- Rackswitch
- Rack-Tower
ansible-playbook -e "lxca_user=USERID lxca_password=Passw0rd
lxca_url=https://10.240.29.217
endpoint_ip=10.240.72.172;46920C143355486F97C19A34ABC7D746;Chassis force=True"
test.yml -v --tag unmanage
ポリシーの更新およびファームウェアの更新
以下の追加変数がこれらのタグで使用されます。
policy_info:
- 説明:
- updatepolicy コマンドで使用され、以下の値が可能です:
- "FIRMWARE - 適用可能なファームウェアポリシーのリストを取得"
- "RESULTS - ポリシーが割り当てられたサーバーの永久的な比較結果のリスト"
- "COMPARE_RESULTS - 割り当てられたコンプライアンスポリシーに対する適合性をチェック"
- "NAMELIST - 利用可能なコンプライアンスポリシーを返す"
policy_name:
- 説明:
- updatepolicy コマンドで使用される、適用すべきポリシーの名前
policy_type:
- 説明:
- updatepolicy コマンドで使用され、適用されるポリシーの値として以下のものが使用されます:
- CMM - チャシスマネジメントモジュール
- IOSwitch - フレックススイッチ
- RACKSWITCH - ラックスイッチ
- STORAGE - Lenovo ストレージシステム
- SERVER - コンピュートノードまたはラックサーバー
uuid_list:
- 説明:
- update_all_firmware_withpolicy コマンドで使用され、リスト内の UUID にファームウェアを適用します。
- uuid_list が空の場合、ポリシーに基づくすべての更新可能なコンポーネントのファームウェアが更新されます。
- "例 ['38D9D7DBCB713C12A210E60C74A0E931','00000000000010008000542AA2D3CB00']"
mode:
- 説明:
- update_firmware、update_all_firmware_withpolicy コマンドで使用され、更新を適用するタイミングを示します。以下の値のいずれかを指定できます。
- "immediate - 選択したエンドポイントにファームウェア更新を即時に適用"
- "delayed - 選択したエンドポイントにファームウェア更新を遅延適用"
すべてのポリシーをリスト表示
----------------
ansible-playbook -e "lxca_user=USERID lxca_password=Passw0rd lxca_url=https://10.240.29.217 subcmd=list" playbooks/config/config.yml -vvvv --tag updatepolicy
適用可能なファームウェアポリシーのリストを取得
----------------
ansible-playbook -e "lxca_user=TEST lxca_password=CME44ibm lxca_url=https://10.240.29.220 subcmd=query policy_info=FIRMWARE" playbooks/config/config.yml -vvvv --tag updatepolicy
ポリシーが割り当てられたサーバーの永久的な比較結果のリストを取得
----------------
ansible-playbook -e "lxca_user=TEST lxca_password=CME44ibm lxca_url=https://10.240.29.220 subcmd=query update_policy_info=RESULTS" playbooks/config/config.yml -vvvv --tag updatepolicy
コンプライアンスポリシーに対する適合性をチェック
----------------
ansible-playbook -e "lxca_user=TEST lxca_password=CME44ibm lxca_url=https://10.240.29.220 subcmd=status uuid=EF362CF0FB4511E397AB40F2E9AF01D0 jobid=2" playbooks/config/config.yml -vvvv --tag updatepolicy
エンドポイントにポリシーを割り当て
----------------
ansible-playbook -e "lxca_user=TEST lxca_password=CME44ibm lxca_url=https://10.240.29.220 subcmd=assign policy_name=x220_imm2 policy_type=SERVER uuid=7C5E041E3CCA11E18B715CF3FC112D8A" playbooks/config/config.yml -vvvv --tag updatepolicy
ansible-playbook -e "lxca_user=TEST lxca_password=CME44ibm lxca_url=https://10.240.29.220 subcmd=status jobid=16" playbooks/config/config.yml -vvvv --tag updatepolicy
エンドポイントファームウェアの更新
================
更新可能なコンポーネントをクエリ
----------------
ansible-playbook -e "lxca_user=USERID lxca_password=Passw0rd lxca_url=https://10.240.29.217" playbooks/config/config.yml -v --tag query_update_comp
ファームウェア更新のステータスを照会
----------------
ansible-playbook -e "lxca_user=TEST lxca_password=CME44ibm lxca_url=https://10.240.29.220" playbooks/config/config.yml -vvvv --tag query_update_status
ポリシーに基づいてファームウェアを適用
----------------
ansible-playbook -e "lxca_user=TEST lxca_password=CME44ibm lxca_url=https://10.240.29.220 mode=immediate lxca_action=apply server='7C5E041E3CCA11E18B715CF3FC112D8A,IMM2 (Primary)'" playbooks/config/config.yml -vvvv --tag update_firmware
指定された更新可能なコンポーネントのポリシーに基づいてファームウェアを適用
----------------
ansible-playbook -e "lxca_user=USERID lxca_password=Passw0rd lxca_url=https://10.240.29.217 mode=immediate lxca_action=apply uuid_list=['38D9D7DBCB713C12A210E60C74A0E931','00000000000010008000542AA2D3CB00']" playbooks/config/config.yml -vvvv --tag update_all_firmware_withpolicy
すべての更新可能なコンポーネントのポリシーに基づいてファームウェアを適用
----------------
ansible-playbook -e "lxca_user=USERID lxca_password=Passw0rd lxca_url=https://10.240.29.217 mode=immediate lxca_action=apply uuid_list=[]" playbooks/config/config.yml -vvvv --tag update_all_firmware_withpolicy
ansible-playbook -e "lxca_user=USERID lxca_password=Passw0rd lxca_url=https://10.240.29.217 mode=immediate lxca_action=apply" playbooks/config/config.yml -vvvv --tag update_all_firmware_withpolicy
設定パターン、設定プロファイル、設定ターゲットの操作
以下はこのタグで使用される追加の変数です:
endpoint:
- 説明:
- configprofiles、apply_configpatterns、および get_configstatus コマンドで使用され、ノード、ラック、タワーのデバイスの UUID です。
- フレックスの場合は endpointdid です。
restart:
- 説明:
- configprofiles および apply_configpatterns コマンドで使用され、設定を有効化するタイミングを示します。以下のいずれかの値を指定できます:
- defer - IMM 設定を有効化するが、サーバーを再起動しない。
- immediate - すべての設定を有効化し、すぐにサーバーを再起動する。
- pending - サーバープロファイルを手動で有効化し、サーバーを再起動する。これは apply_configpatterns でのみ使用可能です。
- 選択肢:
- defer
- immediate
- pending
type:
- 説明:
- apply_configpatterns で使用され、選択可能な値:
- 選択肢:
- node
- rack
- tower
- flex
powerdown:
- 説明:
- configprofiles コマンドでサーバーの電源を切るために使用されます。
resetimm:
- 説明:
- configprofiles コマンドで IMM をリセットするために使用されます。
pattern_update_dict:
- 説明:
- import_configpatterns コマンドで、この変数に指定されたパターンを辞書としてインポートするために使用されます。
includeSettings:
- 説明:
- get_configpatterns コマンドで設定パターンの詳細を取得するために使用され、これを 'True' に設定します。
すべての設定パターンを取得
----------------
ansible-playbook -e "lxca_user=USERID lxca_password=Passw0rd lxca_url=https://10.240.29.217" playbooks/config/config.yml -vvvv --tag get_configpatterns
指定された ID の設定パターンを取得
----------------
ansible-playbook -e "lxca_user=USERID lxca_password=Passw0rd lxca_url=https://10.240.29.217 id=52" playbooks/config/config.yml -vvvv --tag get_particular_configpattern
指定された ID の設定パターンを includeSettings と共に取得
----------------
ansible-playbook -e "lxca_user=USERID lxca_password=Passw0rd lxca_url=https://10.240.29.217 id=52 includeSettings=True" playbooks/config/config.yml -vvvv --tag get_particular_configpattern
エンドポイントにパターンを適用
----------------
ansible-playbook -e "lxca_user=TEST lxca_password=CME44ibm lxca_url=https://10.240.29.220 id=65 endpoint=B918EDCA1B5F11E2803EBECB82710ADE restart=pending type=node" playbooks/config/config.yml -vvvv --tag apply_configpatterns
名前を使用
----------
ansible-playbook -e "lxca_user=USERID lxca_password=Passw0rd lxca_url=https://10.240.29.217 config_pattern_name=From_abcdef endpoint=B918EDCA1B5F11E2803EBECB82710ADE restart=pending type=node" playbooks/config/config.yml -vvvv --tag apply_configpatterns
SystemInfo パターンをインポート
----------------
ansible-playbook -e "lxca_user=TEST lxca_password=CME44ibm lxca_url=https://10.240.29.220 pattern_update_dict={'template_type':'SystemInfo','template':{'contact':'contact','description':'Pattern created by test API ','location':'location','name':'Learned-System_Info-99','systemName':{'autogen':'Disable','hyphenChecked':False},'type':'SystemInfo','uri':'\/config\/template\/61','userDefined':True}}" playbooks/config/config.yml -vvvv --tag import_configpatterns
ファイルからパターンをインポート
------------------------
config_pattern_import.yml ファイルにある設定パターンデータを読み込みます。
ansible-playbook -e "lxca_user=TEST lxca_password=CME44ibm lxca_url=https://10.240.29.220 pattern_file=config_pattern_import.yml pattern_from_file=true" playbooks/config/config.yml -vvvv --tag import_configpatterns
設定状況を取得
設定状況を取得
ansible-playbook -e "lxca_user=USERID lxca_password=CME44ibm lxca_url=https://10.240.29.217 endpoint=B918EDCA1B5F11E2803EBECB82710ADE" playbooks/config/config.yml -vvvv --tag get_configstatus
設定プロファイル操作
すべてのプロファイルを取得
----------------
ansible-playbook -e "lxca_user=USERID lxca_password=Passw0rd lxca_url=https://10.240.29.217 subcmd=list" playbooks/config/config.yml -v --tag configprofiles
指定された ID のプロファイルを取得
----------------
ansible-playbook -e "lxca_user=TEST lxca_password=CME44ibm lxca_url=https://10.240.29.220 subcmd=list id=69 " playbooks/config/config.yml -vvvv --tag configprofiles
ID のプロファイル名を変更
----------------
ansible-playbook -e "lxca_user=TEST lxca_password=CME44ibm lxca_url=https://10.240.29.220 subcmd=rename id=69 config_profile_name='changed name 3' " playbooks/config/config.yml -vvvv --tag configprofiles
エンドポイントのプロファイルを有効化
----------------
ansible-playbook -e "lxca_user=TEST lxca_password=CME44ibm lxca_url=https://10.240.29.220 subcmd=activate id=69 endpoint=B918EDCA1B5F11E2803EBECB82710ADE restart=immediate " playbooks/config/config.yml -vvvv --tag configprofiles
プロファイルの割り当てを解除
----------------
ansible-playbook -e "lxca_user=TEST lxca_password=CME44ibm lxca_url=https://10.240.29.220 subcmd=unassign id=69" playbooks/config/config.yml -vvvv --tag configprofiles
プロファイルを削除
----------------
ansible-playbook -e "lxca_user=TEST lxca_password=CME44ibm lxca_url=https://10.240.29.220 id=69 subcmd=delete" playbooks/config/config.yml -vvvv --tag configprofiles
リポジトリ更新コマンド
以下の追加変数がこのタグで使用されます。
machine_type:
- 説明:
- updaterepo コマンドで使用され、値は '7903' のような文字列です。
fixids:
- 説明:
- updaterepo、get_particular_managementserver_pkg、および update_managementserver_pkg コマンドで使用され、値は 'lnvgy_sw_lxca-fw-repository-pack_1-1.0.1_anyos_noarch' のような文字列です。
scope:
- 説明:
- updaterepo コマンドで使用され、可能な値は:
- all - lxca_action=refresh が指定された場合、すべてのサポートデバイスのファームウェア更新のすべてのバージョンに関する情報を返します。
- latest - lxca_action=refresh が指定された場合、すべてのサポートデバイスのファームウェア更新の最新バージョンに関する情報を返します。
- payloads - lxca_action=acquire が指定された場合、特定のファームウェア更新に関する情報を返します。
file_type:
- 説明:
- updaterepo コマンドで使用され、lxca_action=delete または lxca_action=export が指定された場合に使用されます。以下のいずれかの値を指定できます。
- all - 選択されたアップデートパッケージファイル(ペイロード、変更履歴、README、およびメタデータファイル)を削除します。
- payloads - 選択されたペイロードイメージファイルのみを削除します。
クエリ
----------------
ansible-playbook -e "lxca_user=TEST lxca_password=CME44ibm lxca_url=https://10.240.29.220 subcmd=query repo_key=importDir" playbooks/config/config.yml -vvvv --tag updaterepo
ansible-playbook -e "lxca_user=TEST lxca_password=CME44ibm lxca_url=https://10.240.29.220 subcmd=query repo_key=lastRefreshed" playbooks/config/config.yml -vvvv --tag updaterepo
ansible-playbook -e "lxca_user=TEST lxca_password=CME44ibm lxca_url=https://10.240.29.220 subcmd=query repo_key=publicKeys" playbooks/config/config.yml -vvvv --tag updaterepo
ansible-playbook -e "lxca_user=TEST lxca_password=CME44ibm lxca_url=https://10.240.29.220 subcmd=query repo_key=size" playbooks/config/config.yml -vvvv --tag updaterepo
ansible-playbook -e "lxca_user=TEST lxca_password=CME44ibm lxca_url=https://10.240.29.220 subcmd=query repo_key=supportedMts" playbooks/config/config.yml -vvvv --tag updaterepo
ansible-playbook -e "lxca_user=TEST lxca_password=CME44ibm lxca_url=https://10.240.29.220 subcmd=query repo_key=updates" playbooks/config/config.yml -vvvv --tag updaterepo
ansible-playbook -e "lxca_user=TEST lxca_password=CME44ibm lxca_url=https://10.240.29.220 subcmd=query repo_key=updatesByMt" playbooks/config/config.yml -vvvv --tag updaterepo
ansible-playbook -e "lxca_user=TEST lxca_password=CME44ibm lxca_url=https://10.240.29.220 subcmd=query repo_key=updatesByMtByComp" playbooks/config/config.yml -vvvv --tag updaterepo
アクション
----------------
ansible-playbook -e "lxca_user=TEST lxca_password=CME44ibm lxca_url=https://10.240.29.220 subcmd=read lxca_action=read" playbooks/config/config.yml -vvvv --tag updaterepo
ansible-playbook -e "lxca_user=TEST lxca_password=CME44ibm lxca_url=https://10.240.29.220 subcmd=refresh lxca_action=refresh machine_type=7903" playbooks/config/config.yml -vvvv --tag updaterepo
ansible-playbook -e "lxca_user=TEST lxca_password=CME44ibm lxca_url=https://10.240.29.220 subcmd=delete lxca_action=delete machine_type=7903 file_type=payloads fixids=ibm_fw_imm2_1aoo78j-6.20_anyos_noarch" playbooks/config/config.yml -vvvv --tag updaterepo
ansible-playbook -e "lxca_user=TEST lxca_password=CME44ibm lxca_url=https://10.240.29.220 subcmd=acquire lxca_action=acquire machine_type=7903 scope=payloads fixids=ibm_fw_imm2_1aoo78j-6.20_anyos_noarch" playbooks/config/config.yml -vvvv --tag updaterepo
管理サーバー操作
以下の追加変数がこのタグで使用されます。
fixids:
- 説明:
- updaterepo、get_particular_managementserver_pkg、および update_managementserver_pkg コマンドで使用され、値は 'lnvgy_sw_lxca-fw-repository-pack_1-1.0.1_anyos_noarch' のような文字列です。
update_key:
- 説明:
- 管理サーバーコマンドで使用されるオプションは、以下の値のいずれかを指定します。
- all - すべての情報を返します。これはデフォルト値です。
- currentVersion - Lenovo xClarity Administrator の現在のバージョンを返します。
- history - 管理サーバーの更新履歴を返します。
- importDir - 管理サーバーの更新リポジトリのディレクトリを返します。
- size - リポジトリのサイズをバイト単位で返します。
- updates - すべての更新パッケージに関する情報を返します。
- updatedDate - 最後の更新が行われた日付を返します。
files:
- 説明:
- 管理サーバーコマンドでファイルを LXCA にインポートするために使用され、ファイルはカンマ区切りの文字列として指定できます。
- 例:
- '/home/naval/updates/updates/lnvgy_sw_lxca_thinksystemrepo1-1.3.2_anyos_noarch.txt, /home/naval/updates/updates/lnvgy_sw_lxca_thinksystemrepo1-1.3.2_anyos_noarch.chg, /home/naval/updates/updates/lnvgy_sw_lxca_thinksystemrepo1-1.3.2_anyos_noarch.xml'
異なるキーオプションで管理サーバーを取得
-----------------------------------------------
ansible-playbook -e "{'lxca_user':'USERID', 'lxca_password':'Passw0rd', 'lxca_url':'https://10.240.29.217', 'subcmd':'query', 'update_key':'importDir'}" playbooks/config/config.yml -vvvv --tag get_managementserver_pkg
ansible-playbook -e "{'lxca_user':'USERID', 'lxca_password':'Passw0rd', 'lxca_url':'https://10.240.29.217', 'subcmd':'query', 'update_key':'size'}" playbooks/config/config.yml -vvvv --tag get_managementserver_pkg
ansible-playbook -e "{'lxca_user':'USERID', 'lxca_password':'Passw0rd', 'lxca_url':'https://10.240.29.217', 'subcmd':'query', 'update_key':'updates'}" playbooks/config/config.yml -vvvv --tag get_managementserver_pkg
fixids に関する特定の詳細を取得
----------------------------------
ansible-playbook -e "{'lxca_user':'USERID', 'lxca_password':'Passw0rd', 'lxca_url':'https://10.240.29.217', 'subcmd':'query_fixids', 'update_key':'filetypes', 'fixids':'lnvgy_sw_lxca-fw-repository-pack_1-1.0.1_anyos_noarch'}" playbooks/config/config.yml -vvvv --tag get_particular_managementserver_pkg
ansible-playbook -e "{'lxca_user':'USERID', 'lxca_password':'Passw0rd', 'lxca_url':'https://10.240.29.217', 'subcmd':'query_fixids', 'fixids':'lnvgy_sw_lxca-fw-repository-pack_1-1.0.1_anyos_noarch','type':'readme'}" playbooks/config/config.yml -vvvv --tag get_particular_managementserver_pkg
管理サーバーの更新オプション
----------------------------------
ansible-playbook -e "{'lxca_user':'USERID', 'lxca_password':'Passw0rd', 'lxca_url':'https://10.240.29.217', 'subcmd':'refresh'}" playbooks/config/config.yml -vvvv --tag update_managementserver_pkg
ansible-playbook -e "{'lxca_user':'USERID', 'lxca_password':'Passw0rd', 'lxca_url':'https://10.240.29.217', 'fixids':'lnvgy_sw_lxca-fw-repository-pack_1-1.0.1_anyos_noarch','subcmd':'acquire'}" playbooks/config/config.yml -vvvv --tag update_managementserver_pkg
ansible-playbook -e "{'lxca_user':'USERID', 'lxca_password':'Passw0rd', 'lxca_url':'https://10.240.29.217', 'fixids':'lnvgy_sw_lxca-fw-repository-pack_1-1.0.1_anyos_noarch','subcmd':'apply'}" playbooks/config/config.yml -vvvv --tag update_managementserver_pkg
ansible-playbook -e "{'lxca_user':'USERID', 'lxca_password':'Passw0rd', 'lxca_url':'https://10.240.29.217', 'fixids':'lnvgy_sw_lxca-fw-repository-pack_1-1.0.1_anyos_noarch','subcmd':'delete'}" playbooks/config/config.yml -vvvv --tag update_managementserver_pkg
ローカルファイルを管理サーバーにインポート
--------------------------------------
ansible-playbook -e "{'lxca_user':'USERID', 'lxca_password':'Passw0rd', 'lxca_url':'https://10.240.29.217','subcmd':'import', 'files':'/home/naval/updates/updates/lnvgy_sw_lxca_thinksystemrepo1-1.3.2_anyos_noarch.txt,/home/naval/updates/updates/lnvgy_sw_lxca_thinksystemrepo1-1.3.2_anyos_noarch.chg,/home/naval/updates/updates/lnvgy_sw_lxca_thinksystemrepo1-1.3.2_anyos_noarch.xml'}" playbooks/config/config.yml -vvvv --tag import_managementserver_pkg
プレイブックファイルに対して相対的に指定されたファイル
----------------------------------------------
ansible-playbook -e "{'lxca_user':'USERID', 'lxca_password':'Passw0rd', 'lxca_url':'https://10.240.29.217','subcmd':'import', 'files':'../../files/updates/lnvgy_sw_lxca_thinksystemrepo1-1.3.2_anyos_noarch.xml'}" playbooks/config/config.yml -vvvv --tag import_managementserver_pkg
OS イメージ操作
以下の追加変数がこのタグで使用されます。
subcmd:
- 説明:
- osimage と共に使用され、以下の値を持つことができます:
- list - すべてまたは指定された OS イメージの詳細を表示
- delete - 指定された OS イメージの詳細を削除
- globalsettings - OS デプロイで使用されるグローバルな値を設定
- hostsettings - OS デプロイで使用される特定のホストの値を設定
- hostPlatforms - OS イメージのデプロイに使用される
- remoteFileServers - リモート FTP、HTTP サーバー操作に使用される
imagetype:
- 説明:
- osimage インポートのファイルの種類。
- 選択肢:
- BUNDLE
- BOOT
- DUD
- OS
- OSPROFILE
- SCRIPT
- CUSTOM_CONFIG
- UNATTENDED
osimages_dict:
- 説明:
- osimage と共に使用され、OS イメージおよび OS デプロイパラメーターを設定します。
すべての OS イメージを取得
-----------------
ansible-playbook -e "{'lxca_user':'USERID', 'lxca_password':'Passw0rd', 'lxca_url':'https://10.240.29.217', 'subcmd':'list'}" playbooks/config/config.yml -v --tag osimages
ID で OS イメージを削除
-----------------
ansible-playbook -e "{'lxca_user':'USERID', 'lxca_password':'Passw0rd', 'lxca_url':'https://10.240.197.119','subcmd':'delete','id':'20190227190109_trail.py'}" playbooks/config/config.yml -vvvv --tag osimages
OS イメージのグローバル設定を取得
-----------------
ansible-playbook -e "{'lxca_user':'USERID', 'lxca_password':'Passw0rd', 'lxca_url':'https://10.240.29.217','subcmd':'globalsettings'}" playbooks/config/config.yml -vvvv --tag osimages
OS イメージのグローバル設定を設定
-----------------
グローバル設定から詳細を取得し、変更したいパラメーターを変更します。この例では LINUX のデフォルトパスワードを設定しています。
ansible-playbook -e "{'lxca_user':'USERID', 'lxca_password':'CME44ibm', 'lxca_url':'https://10.243.9.238', 'subcmd':'globalsettings', 'osimages_dict':{'activeDirectory':{'allDomains': [],'defaultDomain':None}, 'credentials':[{'name': 'root', 'password':'Test1234', 'passwordChanged':True, 'type': 'LINUX'}, {'type': "WINDOWS", 'name': 'Administrator', password: None, 'passwordChanged': False}],'ipAssignment':'dhcpv4', 'isVLANMode': 'false', 'licenseKeys': {'win2012r1': {'dataCenterLicenseKey': '','standardLicenseKey': '',},'win2012r2':{'dataCenterLicenseKey': '', 'standardLicenseKey': ''}, 'win2016r1': {'dataCenterLicenseKey': '', 'standardLicenseKey': ''}, 'win2019r1': {'dataCenterLicenseKey': '','standardLicenseKey': ''}}}}" playbooks/config/config.yml -vvvv --tag osimages
特定のホストの設定を取得
-----------------
ansible-playbook -e "{'lxca_user':'USERID', 'lxca_password':'Passw0rd', 'lxca_url':'https://10.240.29.217','subcmd':'hostsettings'}" playbooks/config/config.yml -vvvv --tag osimages
ホストの設定を作成
ansible-playbook -e "{'lxca_user':'USERID', 'lxca_password':'Passw0rd', 'lxca_url':'https://10.240.29.217','subcmd':'hostsettings', 'osimages_dict':{\"action\": \"create\", \"hosts\": [{\"storageSettings\": {\"targetDevice\": \"localdisk\"}, \"uuid\": \"A1445C6FDBAA11E6A87F86E06E3AFFFF\", \"networkSettings\": {\"dns2\": \"\", \"dns1\": \"10.240.0.10\", \"hostname\": \"nodeundefined\", \"vlanId\": 0, \"selectedMAC\": \"AUTO\", \"gateway\": \"10.243.0.1\", \"subnetMask\": \"255.255.240.0\", \"mtu\": 1500, \"prefixLength\": 64, \"ipAddress\": \"10.243.9.79\"}}, {\"storageSettings\": {\"targetDevice\": \"localdisk\"}, \"uuid\": \"A122FB03FF4011E68D9BA32E3A66DDDD\", \"networkSettings\": {\"dns2\": \"\", \"dns1\": \"10.240.0.10\", \"hostname\": \"proton1\", \"vlanId\": 0, \"selectedMAC\": \"AUTO\", \"gateway\": \"10.243.0.1\", \"subnetMask\": \"255.255.240.0\", \"mtu\": 1500, \"prefixLength\": 64, \"ipAddress\": \"10.243.9.87\"}}]}}" playbooks/config/config.yml -vvvv --tag osimages
ホスト設定を更新
ansible-playbook -e "{'lxca_user':'USERID', 'lxca_password':'Passw0rd', 'lxca_url':'https://10.240.197.119','subcmd':'hostsettings', 'osimages_dict':{'action': 'update', 'hosts': [{'storageSettings': {'targetDevice': 'localdisk'}, 'uuid': 'A1445C6FDBAA11E6A87F86E06E3AFFFF', 'networkSettings': {'dns2': '', 'dns1': '10.240.0.10', 'hostname': 'nodeundefined', 'vlanId': 0, 'selectedMAC': 'AUTO', 'gateway': '10.243.0.1', 'subnetMask': '255.255.240.0', 'mt': 1500, 'prefixLength': 64, 'ipAddress': '10.243.9.79'}}, {'storageSettings': {'targetDevice': 'localdisk'}, 'uuid': 'A122FB03FF4011E68D9BA32E3A66DDDD', 'networkSettings': {'dns2': '', 'dns1': '10.240.0.10', 'hostname': 'proton1', 'vlanId': 0, 'selectedMAC': 'AUTO', 'gateway': '10.243.0.1', 'subnetMask': '255.255.240.0', 'mt': 1500, 'prefixLength': 64, 'ipAddress': '10.243.9.87'}}]}}" playbooks/config/config.yml -vvvv --tag osimages
ホスト設定を削除
ansible-playbook -e "{'lxca_user':'USERID', 'lxca_password':'Passw0rd', 'lxca_url':'https://10.240.29.217','subcmd':'hostsettings', 'osimages_dict':{'action': 'delete', 'uuid': 'A1445C6FDBAA11E6A87F86E06E3AFFFF'}}" playbooks/config/config.yml -vvvv --tag osimages
リモートサーバーから OS イメージファイルをインポート
ansible-playbook -e "{'lxca_user':'USERID', 'lxca_password':'Passw0rd', 'lxca_url':'https://10.240.29.217', 'osimages_imagetype_dict':{'imageType':'OS'}, 'import_dict':{'imageType':'OS','os':'rhels','imageName':'fixed','path':'iso/rhel73.iso','serverId':'1'}}" playbooks/config/config.yml -vvvv --tag import_osimages
ローカルから OS イメージスクリプトファイルをインポート
ansible-playbook -e "{'lxca_user':'USERID', 'lxca_password':'Passw0rd', 'lxca_url':'https://10.240.29.217', 'osimages_imagetype_dict':{'imageType':'SCRIPT'}, 'import_dict':{'imageType':'SCRIPT', "imageName":"trail.py", "os":"rhels", "description":"test_python_file", "file": "/home/naval/trail.py" }}" playbooks/config/config.yml -vvvv --tag import_osimages
ホストプラットフォームの詳細を取得
ansible-playbook -e "{'lxca_user':'USERID', 'lxca_password':'Passw0rd', 'lxca_url':'https://10.240.29.217','subcmd':'hostplatforms'}" playbooks/config/config.yml -vvvv --tag osimages
ノードに OS イメージをデプロイ
ansible-playbook -e "{'lxca_user':'USERID', 'lxca_password':'Passw0rd', 'lxca_url':'https://10.240.29.217','subcmd':'hostplatforms','osimages_dict':{'networkSettings':{'dns1': '10.240.0.10','dns2':'10.240.0.11','gateway':'10.240.28.1','ipAddress':'10.240.29.226','mtu':1500,'prefixLength':64,'selectedMac':'AUTO','subnetMask':'255.255.252.0','vlanId':521},'selectedImage':'rhels7.3|rhels7.3-x86_64-install-Minimal','storageSettings':{'targetDevice':'localdisk'},'uuid':'B918EDCA1B5F11E2803EBECB82710ADE'}}" playbooks/config/config.yml -vvvv --tag osimages
すべてのリモートファイルサーバーを取得
ansible-playbook -e "{'lxca_user':'USERID', 'lxca_password':'Passw0rd', 'lxca_url':'https://10.240.29.217','subcmd':'remotefileservers'}" playbooks/config/config.yml -vvvv --tag osimages
特定のリモートファイルサーバーを取得
ansible-playbook -e "{'lxca_user':'USERID', 'lxca_password':'Passw0rd', 'lxca_url':'https://10.240.29.217','subcmd':'remotefileservers', 'osimages_dict':{'id':'1'}}" playbooks/config/config.yml -vvvv --tag osimages
特定のリモートファイルサーバーを削除
ansible-playbook -e "{'lxca_user':'USERID', 'lxca_password':'Passw0rd', 'lxca_url':'https://10.240.29.217','subcmd':'remotefileservers', 'osimages_dict':{'deleteid':'2'}}" playbooks/config/config.yml -vvvv --tag osimages
リモートファイルサーバーを追加
ansible-playbook -e "{'lxca_user':'USERID', 'lxca_password':'Passw0rd', 'lxca_url':'https://10.240.29.217','subcmd':'remotefileservers', 'osimages_dict':{'displayName':'TEST99','address': '192.168.1.10','keyPassphrase': 'Passw0rd','keyType': 'RSA-2048','port': 8080,'protocol': 'HTTPS'}}" playbooks/config/config.yml -vvvv --tag osimages
-vvv は、プレイブックの実行中に何が起こっているのかを特定するのに役立つオプションの詳細コマンドです。
- name: get configtargets data from LXCA
pylxca_module:
login_user: "{{ lxca_user }}"
login_password: "{{ lxca_password }}"
auth_url: "{{ lxca_url }}"
id: "{{ id }}"
command_options: configtargets
register: rslt
tags:
configtargets
The lxca-config ansible role facilitates configuration of managed endpoiints from Lenovo xClarity Adiministrator.
ansible-galaxy install lenovo.lxca-config