redfish-ctl 1.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- redfish_ctl-1.1.0/LICENSE +21 -0
- redfish_ctl-1.1.0/MANIFEST.in +3 -0
- redfish_ctl-1.1.0/PKG-INFO +158 -0
- redfish_ctl-1.1.0/README.md +143 -0
- redfish_ctl-1.1.0/app.py +11 -0
- redfish_ctl-1.1.0/build_dist.sh +36 -0
- redfish_ctl-1.1.0/build_push.sh +9 -0
- redfish_ctl-1.1.0/clean.sh +2 -0
- redfish_ctl-1.1.0/idrac_ctl/__init__.py +18 -0
- redfish_ctl-1.1.0/idrac_ctl.py +11 -0
- redfish_ctl-1.1.0/local_install.sh +9 -0
- redfish_ctl-1.1.0/mount_media.sh +3 -0
- redfish_ctl-1.1.0/pyproject.toml +54 -0
- redfish_ctl-1.1.0/redfish_ctl/__init__.py +146 -0
- redfish_ctl-1.1.0/redfish_ctl/__main__.py +3 -0
- redfish_ctl-1.1.0/redfish_ctl/accounts/__init__.py +0 -0
- redfish_ctl-1.1.0/redfish_ctl/accounts/cmd_account_manage.py +198 -0
- redfish_ctl-1.1.0/redfish_ctl/accounts/cmd_account_sshkey.py +121 -0
- redfish_ctl-1.1.0/redfish_ctl/accounts/cmd_account_svc.py +121 -0
- redfish_ctl-1.1.0/redfish_ctl/accounts/cmd_accounts.py +84 -0
- redfish_ctl-1.1.0/redfish_ctl/accounts/cmd_privilage_registry.py +57 -0
- redfish_ctl-1.1.0/redfish_ctl/accounts/cmd_query_account.py +80 -0
- redfish_ctl-1.1.0/redfish_ctl/actions/__init__.py +0 -0
- redfish_ctl-1.1.0/redfish_ctl/actions/action_policy.py +91 -0
- redfish_ctl-1.1.0/redfish_ctl/actions/cmd_action_list.py +130 -0
- redfish_ctl-1.1.0/redfish_ctl/attribute/__init__.py +0 -0
- redfish_ctl-1.1.0/redfish_ctl/attribute/cmd_attribute.py +116 -0
- redfish_ctl-1.1.0/redfish_ctl/attribute/cmd_attribute_clear_pending.py +91 -0
- redfish_ctl-1.1.0/redfish_ctl/attribute/cmd_attribute_update.py +99 -0
- redfish_ctl-1.1.0/redfish_ctl/bios/__init__.py +0 -0
- redfish_ctl-1.1.0/redfish_ctl/bios/bios_registry.py +214 -0
- redfish_ctl-1.1.0/redfish_ctl/bios/cmd_bios.py +214 -0
- redfish_ctl-1.1.0/redfish_ctl/bios/cmd_bios_clear_pending.py +89 -0
- redfish_ctl-1.1.0/redfish_ctl/bios/cmd_bios_pending.py +89 -0
- redfish_ctl-1.1.0/redfish_ctl/bios/cmd_bios_reset_default.py +0 -0
- redfish_ctl-1.1.0/redfish_ctl/bios/cmd_bios_snapshot.py +91 -0
- redfish_ctl-1.1.0/redfish_ctl/bios/cmd_change_bios.py +380 -0
- redfish_ctl-1.1.0/redfish_ctl/bios/cmd_change_boot_order.py +202 -0
- redfish_ctl-1.1.0/redfish_ctl/boot_options/__init__.py +0 -0
- redfish_ctl-1.1.0/redfish_ctl/boot_options/cmd_boot_option_list.py +107 -0
- redfish_ctl-1.1.0/redfish_ctl/boot_options/cmd_boot_options_query.py +55 -0
- redfish_ctl-1.1.0/redfish_ctl/boot_source/__init__.py +0 -0
- redfish_ctl-1.1.0/redfish_ctl/boot_source/cmd_boot_one_shot.py +192 -0
- redfish_ctl-1.1.0/redfish_ctl/boot_source/cmd_boot_settings.py +92 -0
- redfish_ctl-1.1.0/redfish_ctl/boot_source/cmd_boot_source_get.py +110 -0
- redfish_ctl-1.1.0/redfish_ctl/boot_source/cmd_boot_source_registry.py +66 -0
- redfish_ctl-1.1.0/redfish_ctl/boot_source/cmd_boot_state.py +118 -0
- redfish_ctl-1.1.0/redfish_ctl/boot_source/cmd_clear_pending.py +83 -0
- redfish_ctl-1.1.0/redfish_ctl/boot_source/cmd_enable.py +136 -0
- redfish_ctl-1.1.0/redfish_ctl/boot_source/cmd_pending.py +95 -0
- redfish_ctl-1.1.0/redfish_ctl/boot_source/cmd_update.py +204 -0
- redfish_ctl-1.1.0/redfish_ctl/chassis/__init__.py +0 -0
- redfish_ctl-1.1.0/redfish_ctl/chassis/cmd_chasis_reset.py +125 -0
- redfish_ctl-1.1.0/redfish_ctl/chassis/cmd_chassis_query.py +93 -0
- redfish_ctl-1.1.0/redfish_ctl/chassis/cmd_update_chassis.py +137 -0
- redfish_ctl-1.1.0/redfish_ctl/cmd_boot.py +105 -0
- redfish_ctl-1.1.0/redfish_ctl/cmd_current_boot.py +84 -0
- redfish_ctl-1.1.0/redfish_ctl/cmd_exceptions.py +91 -0
- redfish_ctl-1.1.0/redfish_ctl/cmd_query.py +64 -0
- redfish_ctl-1.1.0/redfish_ctl/cmd_utils.py +136 -0
- redfish_ctl-1.1.0/redfish_ctl/cmd_wait.py +148 -0
- redfish_ctl-1.1.0/redfish_ctl/component_integrity/__init__.py +0 -0
- redfish_ctl-1.1.0/redfish_ctl/component_integrity/cmd_component_integrity.py +98 -0
- redfish_ctl-1.1.0/redfish_ctl/compute/__init__.py +0 -0
- redfish_ctl-1.1.0/redfish_ctl/compute/cmd_compute_setting.py +70 -0
- redfish_ctl-1.1.0/redfish_ctl/compute/cmd_power_state.py +194 -0
- redfish_ctl-1.1.0/redfish_ctl/compute/cmd_system_reset.py +75 -0
- redfish_ctl-1.1.0/redfish_ctl/compute/cmd_update.py +85 -0
- redfish_ctl-1.1.0/redfish_ctl/custom_argparser/__init__.py +0 -0
- redfish_ctl-1.1.0/redfish_ctl/custom_argparser/customer_argdefault.py +201 -0
- redfish_ctl-1.1.0/redfish_ctl/dell_lc/__init__.py +0 -0
- redfish_ctl-1.1.0/redfish_ctl/dell_lc/cmd_dell_lc_api.py +60 -0
- redfish_ctl-1.1.0/redfish_ctl/dell_lc/cmd_dell_lc_rs.py +59 -0
- redfish_ctl-1.1.0/redfish_ctl/dell_lc/cmd_dell_lc_services.py +67 -0
- redfish_ctl-1.1.0/redfish_ctl/delloem/__init__.py +0 -0
- redfish_ctl-1.1.0/redfish_ctl/delloem/delloem_actions.py +61 -0
- redfish_ctl-1.1.0/redfish_ctl/delloem/delloem_attach.py +102 -0
- redfish_ctl-1.1.0/redfish_ctl/delloem/delloem_attach_status.py +80 -0
- redfish_ctl-1.1.0/redfish_ctl/delloem/delloem_boot_netios.py +108 -0
- redfish_ctl-1.1.0/redfish_ctl/delloem/delloem_detach.py +67 -0
- redfish_ctl-1.1.0/redfish_ctl/delloem/delloem_disconnect.py +66 -0
- redfish_ctl-1.1.0/redfish_ctl/delloem/delloem_get_networkios.py +90 -0
- redfish_ctl-1.1.0/redfish_ctl/delloem/delloem_os_deployment.py +62 -0
- redfish_ctl-1.1.0/redfish_ctl/discover/__init__.py +28 -0
- redfish_ctl-1.1.0/redfish_ctl/discover/classifier.py +132 -0
- redfish_ctl-1.1.0/redfish_ctl/discover/cli.py +240 -0
- redfish_ctl-1.1.0/redfish_ctl/discover/scanner.py +134 -0
- redfish_ctl-1.1.0/redfish_ctl/discovery/__init__.py +0 -0
- redfish_ctl-1.1.0/redfish_ctl/discovery/cmd_bmc_scan.py +78 -0
- redfish_ctl-1.1.0/redfish_ctl/discovery/cmd_discovery.py +353 -0
- redfish_ctl-1.1.0/redfish_ctl/discovery/net_scan.py +110 -0
- redfish_ctl-1.1.0/redfish_ctl/events/__init__.py +0 -0
- redfish_ctl-1.1.0/redfish_ctl/events/cmd_event_submit_test.py +86 -0
- redfish_ctl-1.1.0/redfish_ctl/firmware/__init__.py +0 -0
- redfish_ctl-1.1.0/redfish_ctl/firmware/cmd_firmware.py +96 -0
- redfish_ctl-1.1.0/redfish_ctl/firmware/cmd_firmware_inv.py +75 -0
- redfish_ctl-1.1.0/redfish_ctl/firmware/cmd_firmware_update.py +92 -0
- redfish_ctl-1.1.0/redfish_ctl/idrac_manager.py +2272 -0
- redfish_ctl-1.1.0/redfish_ctl/idrac_shared.py +703 -0
- redfish_ctl-1.1.0/redfish_ctl/jobs/__init__.py +0 -0
- redfish_ctl-1.1.0/redfish_ctl/jobs/cmd_job_apply.py +150 -0
- redfish_ctl-1.1.0/redfish_ctl/jobs/cmd_job_del.py +72 -0
- redfish_ctl-1.1.0/redfish_ctl/jobs/cmd_job_delete_all.py +87 -0
- redfish_ctl-1.1.0/redfish_ctl/jobs/cmd_job_dell_services.py +60 -0
- redfish_ctl-1.1.0/redfish_ctl/jobs/cmd_job_get.py +76 -0
- redfish_ctl-1.1.0/redfish_ctl/jobs/cmd_job_service_update.py +36 -0
- redfish_ctl-1.1.0/redfish_ctl/jobs/cmd_job_services.py +74 -0
- redfish_ctl-1.1.0/redfish_ctl/jobs/cmd_job_watch.py +69 -0
- redfish_ctl-1.1.0/redfish_ctl/jobs/cmd_jobs.py +243 -0
- redfish_ctl-1.1.0/redfish_ctl/logs/__init__.py +0 -0
- redfish_ctl-1.1.0/redfish_ctl/logs/cmd_logs.py +117 -0
- redfish_ctl-1.1.0/redfish_ctl/manager/__init__.py +0 -0
- redfish_ctl-1.1.0/redfish_ctl/manager/cmd_console_info.py +73 -0
- redfish_ctl-1.1.0/redfish_ctl/manager/cmd_manager.py +62 -0
- redfish_ctl-1.1.0/redfish_ctl/manager/cmd_manager_reset.py +119 -0
- redfish_ctl-1.1.0/redfish_ctl/manager/cmd_manager_time.py +118 -0
- redfish_ctl-1.1.0/redfish_ctl/network/__init__.py +0 -0
- redfish_ctl-1.1.0/redfish_ctl/network/cmd_ethernet_interfaces.py +108 -0
- redfish_ctl-1.1.0/redfish_ctl/network/cmd_network_adapters.py +108 -0
- redfish_ctl-1.1.0/redfish_ctl/network/cmd_network_ports.py +95 -0
- redfish_ctl-1.1.0/redfish_ctl/oem/__init__.py +0 -0
- redfish_ctl-1.1.0/redfish_ctl/oem/cmd_oem_info.py +89 -0
- redfish_ctl-1.1.0/redfish_ctl/pci/__init__.py +0 -0
- redfish_ctl-1.1.0/redfish_ctl/pci/cmd_pci.py +148 -0
- redfish_ctl-1.1.0/redfish_ctl/ports/__init__.py +0 -0
- redfish_ctl-1.1.0/redfish_ctl/ports/cmd_nvlink_ports.py +120 -0
- redfish_ctl-1.1.0/redfish_ctl/raid/__init__.py +0 -0
- redfish_ctl-1.1.0/redfish_ctl/raid/cmd_pd_state.py +6 -0
- redfish_ctl-1.1.0/redfish_ctl/raid/cmd_raid_service.py +95 -0
- redfish_ctl-1.1.0/redfish_ctl/redfish_exceptions.py +52 -0
- redfish_ctl-1.1.0/redfish_ctl/redfish_main.py +577 -0
- redfish_ctl-1.1.0/redfish_ctl/redfish_manager.py +682 -0
- redfish_ctl-1.1.0/redfish_ctl/redfish_query.py +107 -0
- redfish_ctl-1.1.0/redfish_ctl/redfish_respond.py +214 -0
- redfish_ctl-1.1.0/redfish_ctl/redfish_respond_error.py +190 -0
- redfish_ctl-1.1.0/redfish_ctl/redfish_shared.py +111 -0
- redfish_ctl-1.1.0/redfish_ctl/redfish_task_state.py +36 -0
- redfish_ctl-1.1.0/redfish_ctl/security/__init__.py +0 -0
- redfish_ctl-1.1.0/redfish_ctl/security/cmd_secure_boot.py +104 -0
- redfish_ctl-1.1.0/redfish_ctl/sensors/__init__.py +0 -0
- redfish_ctl-1.1.0/redfish_ctl/sensors/cmd_sensors.py +105 -0
- redfish_ctl-1.1.0/redfish_ctl/serial_console/__init__.py +0 -0
- redfish_ctl-1.1.0/redfish_ctl/serial_console/cmd_serial_console.py +177 -0
- redfish_ctl-1.1.0/redfish_ctl/storage/__init__.py +0 -0
- redfish_ctl-1.1.0/redfish_ctl/storage/cmd_convert_none_raid.py +117 -0
- redfish_ctl-1.1.0/redfish_ctl/storage/cmd_convert_to_raid.py +120 -0
- redfish_ctl-1.1.0/redfish_ctl/storage/cmd_drives.py +98 -0
- redfish_ctl-1.1.0/redfish_ctl/storage/cmd_storage_controllers.py +138 -0
- redfish_ctl-1.1.0/redfish_ctl/storage/cmd_storage_get.py +115 -0
- redfish_ctl-1.1.0/redfish_ctl/storage/cmd_storage_list.py +65 -0
- redfish_ctl-1.1.0/redfish_ctl/system/__init__.py +0 -0
- redfish_ctl-1.1.0/redfish_ctl/system/cmd_system.py +129 -0
- redfish_ctl-1.1.0/redfish_ctl/system/cmd_system_config.py +142 -0
- redfish_ctl-1.1.0/redfish_ctl/system/cmd_system_import.py +169 -0
- redfish_ctl-1.1.0/redfish_ctl/system/cmd_system_one_time_boot.py +151 -0
- redfish_ctl-1.1.0/redfish_ctl/system/util.py +0 -0
- redfish_ctl-1.1.0/redfish_ctl/tasks/__init__.py +0 -0
- redfish_ctl-1.1.0/redfish_ctl/tasks/cmd_task_svc.py +59 -0
- redfish_ctl-1.1.0/redfish_ctl/tasks/cmd_task_watch.py +93 -0
- redfish_ctl-1.1.0/redfish_ctl/tasks/cmd_tasks_get.py +72 -0
- redfish_ctl-1.1.0/redfish_ctl/tasks/cmd_tasks_list.py +67 -0
- redfish_ctl-1.1.0/redfish_ctl/telemetry/__init__.py +0 -0
- redfish_ctl-1.1.0/redfish_ctl/telemetry/cmd_exporter.py +216 -0
- redfish_ctl-1.1.0/redfish_ctl/telemetry/cmd_metric_definitions.py +86 -0
- redfish_ctl-1.1.0/redfish_ctl/telemetry/cmd_metric_reports.py +97 -0
- redfish_ctl-1.1.0/redfish_ctl/telemetry/cmd_telemetry_triggers.py +75 -0
- redfish_ctl-1.1.0/redfish_ctl/telemetry/exporter.py +570 -0
- redfish_ctl-1.1.0/redfish_ctl/vendors/__init__.py +21 -0
- redfish_ctl-1.1.0/redfish_ctl/vendors/base.py +63 -0
- redfish_ctl-1.1.0/redfish_ctl/vendors/dell/__init__.py +0 -0
- redfish_ctl-1.1.0/redfish_ctl/vendors/dell/capabilities.py +40 -0
- redfish_ctl-1.1.0/redfish_ctl/vendors/hpe/__init__.py +0 -0
- redfish_ctl-1.1.0/redfish_ctl/vendors/hpe/capabilities.py +18 -0
- redfish_ctl-1.1.0/redfish_ctl/vendors/supermicro/__init__.py +0 -0
- redfish_ctl-1.1.0/redfish_ctl/vendors/supermicro/capabilities.py +30 -0
- redfish_ctl-1.1.0/redfish_ctl/version.py +1 -0
- redfish_ctl-1.1.0/redfish_ctl/virtual_media/__init__.py +0 -0
- redfish_ctl-1.1.0/redfish_ctl/virtual_media/cmd_smc_virtual_media.py +147 -0
- redfish_ctl-1.1.0/redfish_ctl/virtual_media/cmd_virtual_media_eject.py +122 -0
- redfish_ctl-1.1.0/redfish_ctl/virtual_media/cmd_virtual_media_get.py +133 -0
- redfish_ctl-1.1.0/redfish_ctl/virtual_media/cmd_virtual_media_insert.py +236 -0
- redfish_ctl-1.1.0/redfish_ctl/volumes/__init__.py +0 -0
- redfish_ctl-1.1.0/redfish_ctl/volumes/cmd_initilize.py +79 -0
- redfish_ctl-1.1.0/redfish_ctl/volumes/cmd_virtual_disk.py +118 -0
- redfish_ctl-1.1.0/redfish_ctl/volumes/cmd_volumes.py +65 -0
- redfish_ctl-1.1.0/redfish_ctl.egg-info/PKG-INFO +158 -0
- redfish_ctl-1.1.0/redfish_ctl.egg-info/SOURCES.txt +192 -0
- redfish_ctl-1.1.0/redfish_ctl.egg-info/dependency_links.txt +1 -0
- redfish_ctl-1.1.0/redfish_ctl.egg-info/entry_points.txt +4 -0
- redfish_ctl-1.1.0/redfish_ctl.egg-info/requires.txt +19 -0
- redfish_ctl-1.1.0/redfish_ctl.egg-info/top_level.txt +2 -0
- redfish_ctl-1.1.0/run_unit.sh +4 -0
- redfish_ctl-1.1.0/setup.cfg +4 -0
- redfish_ctl-1.1.0/setup.py +55 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2023 Mustafa Bayramov
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: redfish_ctl
|
|
3
|
+
Version: 1.1.0
|
|
4
|
+
Summary: Standalone command line tool to interact with Dell iDRAC and other BMCs via the Redfish REST API.
|
|
5
|
+
Home-page: https://github.com/spyroot/redfish_ctl
|
|
6
|
+
Author: Mustafa Bayramov
|
|
7
|
+
Author-email: spyroot@gmail.com
|
|
8
|
+
License: MIT
|
|
9
|
+
Requires-Python: >=3.10
|
|
10
|
+
Description-Content-Type: text/markdown
|
|
11
|
+
Provides-Extra: dev
|
|
12
|
+
Provides-Extra: schema
|
|
13
|
+
Provides-Extra: tui
|
|
14
|
+
License-File: LICENSE
|
|
15
|
+
|
|
16
|
+
# redfish_ctl
|
|
17
|
+
|
|
18
|
+
`redfish_ctl` is a standalone command-line tool I built to drive server BMCs entirely through the
|
|
19
|
+
Redfish REST API — no web UI, no vendor GUI. It wraps 100+ subcommands behind one consistent CLI
|
|
20
|
+
with JSON or YAML output (`--yaml`, and save-to-file), both synchronous and asynchronous calls,
|
|
21
|
+
optional server-side `$expand` on large collection reads, and a read-first, guarded-write model
|
|
22
|
+
(mutating commands preview with `--dry_run` and require `--confirm`). It is vendor-neutral by design — Dell iDRAC,
|
|
23
|
+
Supermicro (including GB300 / Grace-Blackwell and X10), HPE iLO, and generic DMTF Redfish — built on
|
|
24
|
+
a product-neutral Redfish client with the Dell/iDRAC specifics layered on top.
|
|
25
|
+
|
|
26
|
+
What it does across the whole server lifecycle:
|
|
27
|
+
|
|
28
|
+
- **Inventory & health** — system, chassis, manager, processors, memory, PCI, storage, drives,
|
|
29
|
+
network adapters/ports, NVLink ports, ethernet interfaces, and firmware inventory.
|
|
30
|
+
- **BIOS** — read and stage attributes, pending management, the attribute registry, transactional
|
|
31
|
+
snapshots/restore points for rollback, and curated tuning profiles (low-latency, Dell
|
|
32
|
+
System/Workload, Intel, AMD).
|
|
33
|
+
- **Boot** — boot order, one-time boot (UEFI or Legacy), boot sources, and next-boot inference.
|
|
34
|
+
- **Power & reset** — vendor-neutral host reset / power-cycle (discovers `ComputerSystem.Reset`),
|
|
35
|
+
chassis reset, manager reboot, and a guarded `system-reset`.
|
|
36
|
+
- **Storage & RAID** — controllers, drives, volumes, the RAID service, RAID/non-RAID conversion,
|
|
37
|
+
and volume initialize.
|
|
38
|
+
- **Virtual media & OS provisioning** — mount/eject ISOs, one-shot ISO boot, Supermicro OEM
|
|
39
|
+
virtual media (CfgCD), and Dell OEM network-ISO boot.
|
|
40
|
+
- **Serial console & SOL** — report and enable host BIOS serial redirection together with the BMC
|
|
41
|
+
Serial-over-LAN service, in one step, vendor-neutrally.
|
|
42
|
+
- **Sensors & telemetry** — read every chassis sensor and TelemetryService report/definition, plus
|
|
43
|
+
an out-of-band exporter that streams BMC metrics — including GB300 GPU, NVLink, thermal, and power
|
|
44
|
+
— to Prometheus, SignalFx, and Splunk Observability.
|
|
45
|
+
- **Firmware** — inventory and guarded `UpdateService` SimpleUpdate.
|
|
46
|
+
- **Accounts & security** — create/update/delete accounts, SSH-key import, the account and privilege
|
|
47
|
+
services, Secure Boot, and SPDM component-integrity attestation.
|
|
48
|
+
- **Jobs & tasks** — Dell Lifecycle Controller jobs and the standard Redfish Job/Task services,
|
|
49
|
+
with watch/apply/delete.
|
|
50
|
+
- **Config, logs & events** — system config export/import, system and manager logs (SEL), test
|
|
51
|
+
events, the BMC clock, and a `wait` that blocks until the BMC answers after a reboot.
|
|
52
|
+
- **Discovery** — scan a subnet for BMCs, classify their vendor, and crawl a Redfish tree.
|
|
53
|
+
|
|
54
|
+
> The tool was renamed from `idrac_ctl` to `redfish_ctl`. `idrac_ctl` still works as a
|
|
55
|
+
> backward-compatible alias — the `idrac_ctl` command, `import idrac_ctl`, and the legacy
|
|
56
|
+
> `IDRAC_IP`/`IDRAC_USERNAME`/`IDRAC_PASSWORD`/`IDRAC_PORT` env vars all keep working.
|
|
57
|
+
|
|
58
|
+
Author: Mus <spyroot@gmail.com>
|
|
59
|
+
|
|
60
|
+
## Install
|
|
61
|
+
|
|
62
|
+
Use Python 3.10 or newer.
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
python -m pip install redfish_ctl
|
|
66
|
+
redfish_ctl --version
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
For local development, use the checked-in conda environment:
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
git clone https://github.com/spyroot/redfish_ctl.git
|
|
73
|
+
cd redfish_ctl
|
|
74
|
+
conda env create -f environment.yml
|
|
75
|
+
conda activate redfish_ctl
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
## Connect
|
|
79
|
+
|
|
80
|
+
The CLI reads these environment variables in `redfish_main.py`, so I set them once per shell:
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
export REDFISH_IP=10.0.0.42
|
|
84
|
+
export REDFISH_USERNAME=root
|
|
85
|
+
export REDFISH_PASSWORD='your-password'
|
|
86
|
+
export REDFISH_PORT=443
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
BMCs usually ship self-signed certificates. TLS verification is off by default; use `--verify-ssl`
|
|
90
|
+
only when the BMC has a certificate chain you trust.
|
|
91
|
+
|
|
92
|
+
## First Safe Read
|
|
93
|
+
|
|
94
|
+
Start with the host ComputerSystem:
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
redfish_ctl system
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
A healthy response includes `data.Id`, `data.Name`, and usually `data.PowerState`. If you have `jq`
|
|
101
|
+
installed, this is a compact smoke check:
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
redfish_ctl --nocolor system | jq '.data | {Id, Name, PowerState}'
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
## Common Reads
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
redfish_ctl manager
|
|
111
|
+
redfish_ctl chassis
|
|
112
|
+
redfish_ctl sensors
|
|
113
|
+
redfish_ctl firmware_inventory
|
|
114
|
+
redfish_ctl bios --filter ProcCStates,SysMemSize
|
|
115
|
+
redfish_ctl storage-list
|
|
116
|
+
redfish_ctl get_vm
|
|
117
|
+
redfish_ctl logs
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
`sensors`, defined in `redfish_ctl/sensors/cmd_sensors.py`, follows Chassis sensor links and returns
|
|
121
|
+
temperature, power, fan, and voltage readings with units. `discovery`, defined in
|
|
122
|
+
`redfish_ctl/discovery/cmd_discovery.py`, is the heavier crawl that records what a BMC exposes.
|
|
123
|
+
|
|
124
|
+
## Vendor Reach
|
|
125
|
+
|
|
126
|
+
Dell iDRAC is the main control target. Supermicro GB300, HPE iLO, and generic DMTF Redfish trees are
|
|
127
|
+
covered by offline fixture corpora, with HPE also covered by the opt-in emulator canary in
|
|
128
|
+
`examples/hpe_ilo_canary.sh`. The current support matrix is in [Vendors](docs/vendors.md).
|
|
129
|
+
|
|
130
|
+
## Mutating Commands
|
|
131
|
+
|
|
132
|
+
Some commands change real hardware: power, BIOS, boot order, storage conversion, virtual media,
|
|
133
|
+
firmware update, and manager reset. I always read current state first, preview when the command has
|
|
134
|
+
`--show` or `--dry_run`, then verify after the job or task completes.
|
|
135
|
+
|
|
136
|
+
```bash
|
|
137
|
+
redfish_ctl system-reset --reset_type GracefulRestart --dry_run
|
|
138
|
+
redfish_ctl bios-change --from_spec specs/realtime.opt.spec.json on-reset --show
|
|
139
|
+
redfish_ctl firmware-update --image_uri https://example.invalid/firmware.exe --dry_run
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
Use `--confirm` only when you mean to perform a guarded action such as `system-reset` or
|
|
143
|
+
`firmware-update`.
|
|
144
|
+
|
|
145
|
+
## More Docs
|
|
146
|
+
|
|
147
|
+
- [Command reference](docs/commands.md) - registered subcommands and safe workflow patterns.
|
|
148
|
+
- [Examples](examples/README.md) - one-line index of every script under `examples/`.
|
|
149
|
+
- [BIOS profiles](docs/bios-profiles.md) - low-latency, Dell System Profile, custom, Intel, and AMD
|
|
150
|
+
profile examples.
|
|
151
|
+
- [Vendors](docs/vendors.md) - Dell, Supermicro, HPE, and generic Redfish support.
|
|
152
|
+
- [Testing](docs/testing.md) - offline mock tests, vendor corpora, emulator tests, and live-test safety.
|
|
153
|
+
- [Architecture](docs/architecture.md) - Redfish core, iDRAC layer, command registration, and known debt.
|
|
154
|
+
- [Telemetry exporter](docs/telemetry-exporter.md) - BMC metrics for Prometheus and SignalFx.
|
|
155
|
+
- [Telemetry metrics](docs/telemetry-metrics.md) - GB300 MetricReport/MetricReportDefinition reference catalog.
|
|
156
|
+
- [Releasing](docs/releasing.md) - local verification, package build, PyPI upload, and tagging.
|
|
157
|
+
- [Fleet proxy design](docs/redfish-proxy.md) - planned service/controller shape for fleet management.
|
|
158
|
+
- [Scaling and benchmarks](docs/scaling-and-benchmarks.md) - planned concurrency engine and benchmark goals.
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
# redfish_ctl
|
|
2
|
+
|
|
3
|
+
`redfish_ctl` is a standalone command-line tool I built to drive server BMCs entirely through the
|
|
4
|
+
Redfish REST API — no web UI, no vendor GUI. It wraps 100+ subcommands behind one consistent CLI
|
|
5
|
+
with JSON or YAML output (`--yaml`, and save-to-file), both synchronous and asynchronous calls,
|
|
6
|
+
optional server-side `$expand` on large collection reads, and a read-first, guarded-write model
|
|
7
|
+
(mutating commands preview with `--dry_run` and require `--confirm`). It is vendor-neutral by design — Dell iDRAC,
|
|
8
|
+
Supermicro (including GB300 / Grace-Blackwell and X10), HPE iLO, and generic DMTF Redfish — built on
|
|
9
|
+
a product-neutral Redfish client with the Dell/iDRAC specifics layered on top.
|
|
10
|
+
|
|
11
|
+
What it does across the whole server lifecycle:
|
|
12
|
+
|
|
13
|
+
- **Inventory & health** — system, chassis, manager, processors, memory, PCI, storage, drives,
|
|
14
|
+
network adapters/ports, NVLink ports, ethernet interfaces, and firmware inventory.
|
|
15
|
+
- **BIOS** — read and stage attributes, pending management, the attribute registry, transactional
|
|
16
|
+
snapshots/restore points for rollback, and curated tuning profiles (low-latency, Dell
|
|
17
|
+
System/Workload, Intel, AMD).
|
|
18
|
+
- **Boot** — boot order, one-time boot (UEFI or Legacy), boot sources, and next-boot inference.
|
|
19
|
+
- **Power & reset** — vendor-neutral host reset / power-cycle (discovers `ComputerSystem.Reset`),
|
|
20
|
+
chassis reset, manager reboot, and a guarded `system-reset`.
|
|
21
|
+
- **Storage & RAID** — controllers, drives, volumes, the RAID service, RAID/non-RAID conversion,
|
|
22
|
+
and volume initialize.
|
|
23
|
+
- **Virtual media & OS provisioning** — mount/eject ISOs, one-shot ISO boot, Supermicro OEM
|
|
24
|
+
virtual media (CfgCD), and Dell OEM network-ISO boot.
|
|
25
|
+
- **Serial console & SOL** — report and enable host BIOS serial redirection together with the BMC
|
|
26
|
+
Serial-over-LAN service, in one step, vendor-neutrally.
|
|
27
|
+
- **Sensors & telemetry** — read every chassis sensor and TelemetryService report/definition, plus
|
|
28
|
+
an out-of-band exporter that streams BMC metrics — including GB300 GPU, NVLink, thermal, and power
|
|
29
|
+
— to Prometheus, SignalFx, and Splunk Observability.
|
|
30
|
+
- **Firmware** — inventory and guarded `UpdateService` SimpleUpdate.
|
|
31
|
+
- **Accounts & security** — create/update/delete accounts, SSH-key import, the account and privilege
|
|
32
|
+
services, Secure Boot, and SPDM component-integrity attestation.
|
|
33
|
+
- **Jobs & tasks** — Dell Lifecycle Controller jobs and the standard Redfish Job/Task services,
|
|
34
|
+
with watch/apply/delete.
|
|
35
|
+
- **Config, logs & events** — system config export/import, system and manager logs (SEL), test
|
|
36
|
+
events, the BMC clock, and a `wait` that blocks until the BMC answers after a reboot.
|
|
37
|
+
- **Discovery** — scan a subnet for BMCs, classify their vendor, and crawl a Redfish tree.
|
|
38
|
+
|
|
39
|
+
> The tool was renamed from `idrac_ctl` to `redfish_ctl`. `idrac_ctl` still works as a
|
|
40
|
+
> backward-compatible alias — the `idrac_ctl` command, `import idrac_ctl`, and the legacy
|
|
41
|
+
> `IDRAC_IP`/`IDRAC_USERNAME`/`IDRAC_PASSWORD`/`IDRAC_PORT` env vars all keep working.
|
|
42
|
+
|
|
43
|
+
Author: Mus <spyroot@gmail.com>
|
|
44
|
+
|
|
45
|
+
## Install
|
|
46
|
+
|
|
47
|
+
Use Python 3.10 or newer.
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
python -m pip install redfish_ctl
|
|
51
|
+
redfish_ctl --version
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
For local development, use the checked-in conda environment:
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
git clone https://github.com/spyroot/redfish_ctl.git
|
|
58
|
+
cd redfish_ctl
|
|
59
|
+
conda env create -f environment.yml
|
|
60
|
+
conda activate redfish_ctl
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## Connect
|
|
64
|
+
|
|
65
|
+
The CLI reads these environment variables in `redfish_main.py`, so I set them once per shell:
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
export REDFISH_IP=10.0.0.42
|
|
69
|
+
export REDFISH_USERNAME=root
|
|
70
|
+
export REDFISH_PASSWORD='your-password'
|
|
71
|
+
export REDFISH_PORT=443
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
BMCs usually ship self-signed certificates. TLS verification is off by default; use `--verify-ssl`
|
|
75
|
+
only when the BMC has a certificate chain you trust.
|
|
76
|
+
|
|
77
|
+
## First Safe Read
|
|
78
|
+
|
|
79
|
+
Start with the host ComputerSystem:
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
redfish_ctl system
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
A healthy response includes `data.Id`, `data.Name`, and usually `data.PowerState`. If you have `jq`
|
|
86
|
+
installed, this is a compact smoke check:
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
redfish_ctl --nocolor system | jq '.data | {Id, Name, PowerState}'
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
## Common Reads
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
redfish_ctl manager
|
|
96
|
+
redfish_ctl chassis
|
|
97
|
+
redfish_ctl sensors
|
|
98
|
+
redfish_ctl firmware_inventory
|
|
99
|
+
redfish_ctl bios --filter ProcCStates,SysMemSize
|
|
100
|
+
redfish_ctl storage-list
|
|
101
|
+
redfish_ctl get_vm
|
|
102
|
+
redfish_ctl logs
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
`sensors`, defined in `redfish_ctl/sensors/cmd_sensors.py`, follows Chassis sensor links and returns
|
|
106
|
+
temperature, power, fan, and voltage readings with units. `discovery`, defined in
|
|
107
|
+
`redfish_ctl/discovery/cmd_discovery.py`, is the heavier crawl that records what a BMC exposes.
|
|
108
|
+
|
|
109
|
+
## Vendor Reach
|
|
110
|
+
|
|
111
|
+
Dell iDRAC is the main control target. Supermicro GB300, HPE iLO, and generic DMTF Redfish trees are
|
|
112
|
+
covered by offline fixture corpora, with HPE also covered by the opt-in emulator canary in
|
|
113
|
+
`examples/hpe_ilo_canary.sh`. The current support matrix is in [Vendors](docs/vendors.md).
|
|
114
|
+
|
|
115
|
+
## Mutating Commands
|
|
116
|
+
|
|
117
|
+
Some commands change real hardware: power, BIOS, boot order, storage conversion, virtual media,
|
|
118
|
+
firmware update, and manager reset. I always read current state first, preview when the command has
|
|
119
|
+
`--show` or `--dry_run`, then verify after the job or task completes.
|
|
120
|
+
|
|
121
|
+
```bash
|
|
122
|
+
redfish_ctl system-reset --reset_type GracefulRestart --dry_run
|
|
123
|
+
redfish_ctl bios-change --from_spec specs/realtime.opt.spec.json on-reset --show
|
|
124
|
+
redfish_ctl firmware-update --image_uri https://example.invalid/firmware.exe --dry_run
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
Use `--confirm` only when you mean to perform a guarded action such as `system-reset` or
|
|
128
|
+
`firmware-update`.
|
|
129
|
+
|
|
130
|
+
## More Docs
|
|
131
|
+
|
|
132
|
+
- [Command reference](docs/commands.md) - registered subcommands and safe workflow patterns.
|
|
133
|
+
- [Examples](examples/README.md) - one-line index of every script under `examples/`.
|
|
134
|
+
- [BIOS profiles](docs/bios-profiles.md) - low-latency, Dell System Profile, custom, Intel, and AMD
|
|
135
|
+
profile examples.
|
|
136
|
+
- [Vendors](docs/vendors.md) - Dell, Supermicro, HPE, and generic Redfish support.
|
|
137
|
+
- [Testing](docs/testing.md) - offline mock tests, vendor corpora, emulator tests, and live-test safety.
|
|
138
|
+
- [Architecture](docs/architecture.md) - Redfish core, iDRAC layer, command registration, and known debt.
|
|
139
|
+
- [Telemetry exporter](docs/telemetry-exporter.md) - BMC metrics for Prometheus and SignalFx.
|
|
140
|
+
- [Telemetry metrics](docs/telemetry-metrics.md) - GB300 MetricReport/MetricReportDefinition reference catalog.
|
|
141
|
+
- [Releasing](docs/releasing.md) - local verification, package build, PyPI upload, and tagging.
|
|
142
|
+
- [Fleet proxy design](docs/redfish-proxy.md) - planned service/controller shape for fleet management.
|
|
143
|
+
- [Scaling and benchmarks](docs/scaling-and-benchmarks.md) - planned concurrency engine and benchmark goals.
|
redfish_ctl-1.1.0/app.py
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
#
|
|
3
|
+
# Build (and optionally publish) the redfish_ctl distribution.
|
|
4
|
+
#
|
|
5
|
+
# Safe by default: builds sdist + wheel and runs `twine check`, but does NOT
|
|
6
|
+
# upload. Publishing to PyPI is irreversible (versions are immutable), so the
|
|
7
|
+
# upload only happens when you pass --upload explicitly.
|
|
8
|
+
#
|
|
9
|
+
# ./build_dist.sh # build + verify into dist/ (no upload)
|
|
10
|
+
# ./build_dist.sh --upload # build + verify + twine upload dist/*
|
|
11
|
+
#
|
|
12
|
+
# The version stamped on the artifact comes from redfish_ctl/version.py (the
|
|
13
|
+
# single source of truth the CLI also reports via --version).
|
|
14
|
+
set -euo pipefail
|
|
15
|
+
|
|
16
|
+
UPLOAD=0
|
|
17
|
+
[[ "${1:-}" == "--upload" ]] && UPLOAD=1
|
|
18
|
+
|
|
19
|
+
VERSION="$(python setup.py --version)"
|
|
20
|
+
echo ">> redfish_ctl version: ${VERSION}"
|
|
21
|
+
|
|
22
|
+
# Start from a clean dist/ so we never upload a stale artifact.
|
|
23
|
+
rm -rf dist build ./*.egg-info
|
|
24
|
+
python setup.py sdist bdist_wheel
|
|
25
|
+
python -m twine check dist/*
|
|
26
|
+
|
|
27
|
+
echo ">> Built and verified:"
|
|
28
|
+
ls -1 dist/
|
|
29
|
+
|
|
30
|
+
if [[ "${UPLOAD}" -eq 1 ]]; then
|
|
31
|
+
echo ">> Uploading to PyPI (irreversible)..."
|
|
32
|
+
python -m twine upload dist/*
|
|
33
|
+
echo ">> Uploaded redfish_ctl ${VERSION}. Tag the release: git tag v${VERSION} && git push origin v${VERSION}"
|
|
34
|
+
else
|
|
35
|
+
echo ">> Not uploaded. Re-run with --upload to publish, e.g.: ./build_dist.sh --upload"
|
|
36
|
+
fi
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"""idrac_ctl — backward-compatible alias for the redfish_ctl package.
|
|
2
|
+
|
|
3
|
+
The tool was renamed ``idrac_ctl`` -> ``redfish_ctl``. This shim keeps
|
|
4
|
+
``import idrac_ctl`` and ``from idrac_ctl.<submodule> import ...`` working (resolving
|
|
5
|
+
to the same objects as ``redfish_ctl``) for existing callers. New code should import
|
|
6
|
+
``redfish_ctl``. See .internal/REDFISH_CTL_RENAME_PLAN.md.
|
|
7
|
+
"""
|
|
8
|
+
import importlib
|
|
9
|
+
import sys
|
|
10
|
+
|
|
11
|
+
# Import the real package (registers the whole command tree via __init_subclass__),
|
|
12
|
+
# then alias it and every submodule under the legacy idrac_ctl name using the SAME
|
|
13
|
+
# module objects, so identities hold across both names.
|
|
14
|
+
_real = importlib.import_module("redfish_ctl")
|
|
15
|
+
|
|
16
|
+
for _name, _mod in list(sys.modules.items()):
|
|
17
|
+
if _name == "redfish_ctl" or _name.startswith("redfish_ctl."):
|
|
18
|
+
sys.modules["idrac_ctl" + _name[len("redfish_ctl"):]] = _mod
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"""Main entry for redfish_ctl
|
|
2
|
+
|
|
3
|
+
The main interface consumed is iDRAC Manager class.
|
|
4
|
+
Each command registered dynamically and dispatch to respected execute method
|
|
5
|
+
by invoking request from IDRAC Manager.
|
|
6
|
+
|
|
7
|
+
Author Mus spyroot@gmail.com
|
|
8
|
+
"""
|
|
9
|
+
from redfish_ctl.redfish_main import redfish_main_ctl
|
|
10
|
+
if __name__ == "__main__":
|
|
11
|
+
redfish_main_ctl()
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# Tooling configuration for redfish_ctl.
|
|
2
|
+
#
|
|
3
|
+
# Packaging metadata still lives in setup.py (name, version, entry_points).
|
|
4
|
+
# This file only adds the build backend and the lint/type/test tool config so
|
|
5
|
+
# the two do not declare project metadata twice.
|
|
6
|
+
|
|
7
|
+
[build-system]
|
|
8
|
+
requires = ["setuptools>=67.0.0", "wheel"]
|
|
9
|
+
build-backend = "setuptools.build_meta"
|
|
10
|
+
|
|
11
|
+
[tool.ruff]
|
|
12
|
+
# redfish_ctl targets Python 3.10+ (see setup.py python_requires).
|
|
13
|
+
target-version = "py310"
|
|
14
|
+
line-length = 100
|
|
15
|
+
extend-exclude = ["build", "dist", "venv", ".venv"]
|
|
16
|
+
|
|
17
|
+
[tool.ruff.lint]
|
|
18
|
+
# F = pyflakes (catches the duplicate/unused imports cleaned up in this change),
|
|
19
|
+
# E/W = pycodestyle, I = import sorting.
|
|
20
|
+
select = ["F", "E", "W", "I"]
|
|
21
|
+
# E501 (line length) is noisy on this legacy tree; enforce it gradually.
|
|
22
|
+
ignore = ["E501"]
|
|
23
|
+
|
|
24
|
+
[tool.coverage.run]
|
|
25
|
+
source = ["redfish_ctl"]
|
|
26
|
+
omit = ["redfish_ctl/json_responses/*", "*/tests/*"]
|
|
27
|
+
|
|
28
|
+
[tool.coverage.report]
|
|
29
|
+
show_missing = true
|
|
30
|
+
|
|
31
|
+
[tool.mypy]
|
|
32
|
+
python_version = "3.10"
|
|
33
|
+
# The tree is only partially typed today; start lenient and tighten per-module.
|
|
34
|
+
ignore_missing_imports = true
|
|
35
|
+
warn_unused_ignores = true
|
|
36
|
+
warn_redundant_casts = true
|
|
37
|
+
check_untyped_defs = false
|
|
38
|
+
|
|
39
|
+
[tool.pytest.ini_options]
|
|
40
|
+
testpaths = ["tests"]
|
|
41
|
+
# Collect only the test_*.py convention (skips stray *_test.py scratch files).
|
|
42
|
+
python_files = ["test_*.py"]
|
|
43
|
+
# Make the repo root importable so `import redfish_ctl` resolves to the source
|
|
44
|
+
# tree regardless of how pytest is launched.
|
|
45
|
+
pythonpath = ["."]
|
|
46
|
+
# Tests that need a reachable iDRAC must be marked @pytest.mark.live; they are
|
|
47
|
+
# skipped automatically by tests/conftest.py unless IDRAC_IP is set.
|
|
48
|
+
markers = [
|
|
49
|
+
"live: integration test that requires a reachable iDRAC (set IDRAC_IP to run)",
|
|
50
|
+
"schema: validates fixtures against DMTF Redfish schemas (run tools/fetch_schemas.sh first)",
|
|
51
|
+
]
|
|
52
|
+
filterwarnings = [
|
|
53
|
+
"ignore:Unverified HTTPS request",
|
|
54
|
+
]
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
# ruff: noqa: F403, I001
|
|
2
|
+
# from bios import BiosQuery
|
|
3
|
+
# from hardware import HardwareInventorQuery
|
|
4
|
+
from .redfish_shared import *
|
|
5
|
+
|
|
6
|
+
from .system.cmd_system import *
|
|
7
|
+
from .system.cmd_system_config import *
|
|
8
|
+
from .system.cmd_system_import import *
|
|
9
|
+
#
|
|
10
|
+
from .cmd_boot import *
|
|
11
|
+
from .dell_lc.cmd_dell_lc_api import *
|
|
12
|
+
from .dell_lc.cmd_dell_lc_rs import *
|
|
13
|
+
from .dell_lc.cmd_dell_lc_services import *
|
|
14
|
+
#
|
|
15
|
+
# compute
|
|
16
|
+
from .compute.cmd_power_state import *
|
|
17
|
+
from .compute.cmd_compute_setting import *
|
|
18
|
+
|
|
19
|
+
from .idrac_shared import *
|
|
20
|
+
from .raid.cmd_raid_service import *
|
|
21
|
+
#
|
|
22
|
+
# bios commands
|
|
23
|
+
from .bios.cmd_bios import *
|
|
24
|
+
from .bios.cmd_bios_clear_pending import *
|
|
25
|
+
from .bios.cmd_bios_pending import *
|
|
26
|
+
from .bios.cmd_change_boot_order import *
|
|
27
|
+
from .bios.bios_registry import *
|
|
28
|
+
from .bios.cmd_change_bios import *
|
|
29
|
+
from .bios.cmd_bios_snapshot import *
|
|
30
|
+
from .bios.cmd_bios_reset_default import *
|
|
31
|
+
#
|
|
32
|
+
from .attribute.cmd_attribute import *
|
|
33
|
+
from .attribute.cmd_attribute_clear_pending import *
|
|
34
|
+
from .attribute.cmd_attribute_update import *
|
|
35
|
+
#
|
|
36
|
+
#
|
|
37
|
+
# # jobs command
|
|
38
|
+
from .jobs.cmd_jobs import *
|
|
39
|
+
from .jobs.cmd_job_get import *
|
|
40
|
+
from .jobs.cmd_job_services import *
|
|
41
|
+
from .jobs.cmd_job_watch import *
|
|
42
|
+
from .jobs.cmd_job_del import *
|
|
43
|
+
from .jobs.cmd_job_dell_services import *
|
|
44
|
+
from .jobs.cmd_job_delete_all import *
|
|
45
|
+
from .jobs.cmd_job_apply import *
|
|
46
|
+
#
|
|
47
|
+
# # firmwares cmds
|
|
48
|
+
from .firmware.cmd_firmware import *
|
|
49
|
+
from .firmware.cmd_firmware_inv import *
|
|
50
|
+
|
|
51
|
+
from .pci.cmd_pci import *
|
|
52
|
+
|
|
53
|
+
# manager cmds
|
|
54
|
+
from .manager.cmd_manager import *
|
|
55
|
+
from .manager.cmd_manager_reset import *
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
# virtual medial cmds
|
|
59
|
+
from .virtual_media.cmd_virtual_media_get import *
|
|
60
|
+
from .virtual_media.cmd_virtual_media_insert import *
|
|
61
|
+
from .virtual_media.cmd_virtual_media_eject import *
|
|
62
|
+
from .virtual_media.cmd_smc_virtual_media import *
|
|
63
|
+
from .cmd_current_boot import *
|
|
64
|
+
|
|
65
|
+
from .cmd_query import *
|
|
66
|
+
from .cmd_wait import *
|
|
67
|
+
|
|
68
|
+
# storage
|
|
69
|
+
from .storage.cmd_storage_controllers import *
|
|
70
|
+
from .storage.cmd_storage_list import *
|
|
71
|
+
from .storage.cmd_storage_get import *
|
|
72
|
+
from .storage.cmd_drives import *
|
|
73
|
+
from .storage.cmd_convert_none_raid import *
|
|
74
|
+
from .storage.cmd_convert_to_raid import *
|
|
75
|
+
|
|
76
|
+
# chassis cmd
|
|
77
|
+
from .chassis.cmd_chassis_query import *
|
|
78
|
+
from .chassis.cmd_chasis_reset import *
|
|
79
|
+
from .sensors.cmd_sensors import *
|
|
80
|
+
from .telemetry.cmd_metric_reports import *
|
|
81
|
+
from .telemetry.cmd_metric_definitions import *
|
|
82
|
+
from .telemetry.cmd_exporter import *
|
|
83
|
+
from .component_integrity.cmd_component_integrity import *
|
|
84
|
+
from .network.cmd_network_adapters import *
|
|
85
|
+
from .ports.cmd_nvlink_ports import *
|
|
86
|
+
from .actions.cmd_action_list import *
|
|
87
|
+
from .events.cmd_event_submit_test import *
|
|
88
|
+
from .compute.cmd_system_reset import *
|
|
89
|
+
from .logs.cmd_logs import *
|
|
90
|
+
from .network.cmd_ethernet_interfaces import *
|
|
91
|
+
from .security.cmd_secure_boot import *
|
|
92
|
+
from .firmware.cmd_firmware_update import *
|
|
93
|
+
from .telemetry.cmd_telemetry_triggers import *
|
|
94
|
+
from .network.cmd_network_ports import *
|
|
95
|
+
from .oem.cmd_oem_info import *
|
|
96
|
+
from .manager.cmd_console_info import *
|
|
97
|
+
from .serial_console.cmd_serial_console import *
|
|
98
|
+
from .manager.cmd_manager_time import *
|
|
99
|
+
from .chassis.cmd_chassis_query import *
|
|
100
|
+
|
|
101
|
+
# dell oem attach
|
|
102
|
+
from .delloem.delloem_attach_status import *
|
|
103
|
+
from .delloem.delloem_actions import *
|
|
104
|
+
from .delloem.delloem_attach import *
|
|
105
|
+
from .delloem.delloem_detach import *
|
|
106
|
+
from .delloem.delloem_disconnect import *
|
|
107
|
+
from .delloem.delloem_get_networkios import *
|
|
108
|
+
from .delloem.delloem_boot_netios import *
|
|
109
|
+
from .delloem.delloem_os_deployment import *
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
# tasks
|
|
113
|
+
from .tasks.cmd_tasks_list import *
|
|
114
|
+
from .tasks.cmd_tasks_get import *
|
|
115
|
+
from .tasks.cmd_task_watch import *
|
|
116
|
+
|
|
117
|
+
from .volumes.cmd_initilize import *
|
|
118
|
+
from .volumes.cmd_volumes import *
|
|
119
|
+
from .volumes.cmd_virtual_disk import *
|
|
120
|
+
|
|
121
|
+
# boot options
|
|
122
|
+
from .boot_options.cmd_boot_option_list import *
|
|
123
|
+
from .boot_options.cmd_boot_options_query import *
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
# boot sources
|
|
127
|
+
from .boot_source.cmd_boot_one_shot import *
|
|
128
|
+
from .boot_source.cmd_boot_settings import *
|
|
129
|
+
from .boot_source.cmd_boot_source_get import *
|
|
130
|
+
from .boot_source.cmd_clear_pending import *
|
|
131
|
+
from .boot_source.cmd_pending import *
|
|
132
|
+
from .boot_source.cmd_enable import *
|
|
133
|
+
from .boot_source.cmd_update import *
|
|
134
|
+
from .boot_source.cmd_boot_source_registry import *
|
|
135
|
+
from .boot_source.cmd_boot_state import *
|
|
136
|
+
|
|
137
|
+
# account
|
|
138
|
+
from .accounts.cmd_accounts import *
|
|
139
|
+
from .accounts.cmd_account_manage import *
|
|
140
|
+
from .accounts.cmd_account_sshkey import *
|
|
141
|
+
from .accounts.cmd_query_account import *
|
|
142
|
+
from .accounts.cmd_account_svc import *
|
|
143
|
+
from .accounts.cmd_privilage_registry import *
|
|
144
|
+
|
|
145
|
+
from .discovery.cmd_discovery import *
|
|
146
|
+
from .discovery.cmd_bmc_scan import *
|
|
File without changes
|