ユーザー指定のハードウェアコンポーネントのサーバーファームウェアを更新するためにCLIで作業しています。SoftLayer createFirmwareUpdateTransactionが私の入力を無視しているようです
def update_firmware(client, fqdn, ipmi=False, raid_controller=False,
bios=False, hard_drive=False):
"""Update firmware on selected components."""
machine_summary = get_machine_summary(client, fqdn)
try:
hardware_mgr = SoftLayer.managers.hardware.HardwareManager(client)
hardware_mgr.update_firmware(machine_summary["id"], ipmi,
raid_controller, bios, hard_drive)
except SoftLayer.exceptions.SoftLayerAPIError as e:
LOG.warn("SoftLayer API Error: %s", e)
私が午前問題は関係なく、ユーザーが提供するものの入力、トランザクションが完了するまでに約1時間を要していることである:ここでは私が働いている機能です。これは、すべてのコンポーネント値にFalseを渡す場合も含まれます。 SoftLayer独自のCLIを使用してこの動作を再現することもできます:
slcli call-api --id $id Hardware_Server createFirmwareUpdateTransaction 0 0 0 0
ここで間違っていることを明確にするのに役立つ人はいますか?私のslcliバージョンはv5.2.0です。私はまた、私の関数でFalse/Trueの代わりに0/1を渡してみました。個々のハードウェアでファームウェアを更新するにはどうすればよいですか?過去に、私は特定の部分でこれを行うことを検討している理由の例として、RAIDコントローラのバッファオーバーフローバグに関する問題がありました。
APIドキュメントを参照:https://softlayer.github.io/python/update_firmware/