con un clic
sapcc-baremetal
// Bare metal node operations via Ironic. Triggers: baremetal, bare metal, ironic, node, provision state, hardware, physical server. NOT for: virtual servers (use sapcc-compute/Nova).
// Bare metal node operations via Ironic. Triggers: baremetal, bare metal, ironic, node, provision state, hardware, physical server. NOT for: virtual servers (use sapcc-compute/Nova).
Audit trail investigation on SAP Converged Cloud using Hermes. Triggers: audit, who changed, what happened, hermes, events, compliance, CADF, activity log, trace action, who did, what was done, event history
Autoscaling operations via Castellum. Triggers: autoscaling, castellum, resize, scaling, threshold, auto-resize, capacity management. NOT for: manual quota changes (use sapcc-quota/Limes).
Manage compute instances on SAP Converged Cloud. Covers server lifecycle, flavor selection, status transitions, and cross-service correlation with networking and storage. Use when: listing VMs, checking server status, debugging instance issues, performing server actions (start/stop/reboot), selecting flavors, or investigating why a server won't start. NOT for container workloads (use sapcc-registry) or bare metal.
Archer endpoint service management for private network connectivity in SAP Converged Cloud. Triggers: endpoint service, private link, archer, private connectivity, service endpoint, internal access, cross-project access
DNS zone and recordset operations via Designate. Triggers: dns, zone, recordset, domain, designate. NOT for: network ports, floating IPs (use sapcc-networking).
Email service operations via Cronus. Triggers: email, cronus, smtp, template, email usage, sending. NOT for: monitoring alerts (use sapcc-metrics/Maia).
| name | sapcc-baremetal |
| description | Bare metal node operations via Ironic. Triggers: baremetal, bare metal, ironic, node, provision state, hardware, physical server. NOT for: virtual servers (use sapcc-compute/Nova). |
| version | 1.0.0 |
| metadata | {"service":["ironic"],"task":["manage","inspect","debug"],"persona":["platform-engineer","operator"]} |
Inspect baremetal nodes: list nodes, check provision/power states, understand maintenance status and driver configuration.
| Tool | Purpose | Key Parameters |
|---|---|---|
ironic_list_nodes | List baremetal nodes | provision_state, maintenance (true/false), driver, resource_class, instance_uuid, fault, owner |
ironic_get_node | Full node detail (sensitive fields excluded) | node_id (required, UUID or name) |
ironic_list_node_ports | List NICs for a node | node_id (required) |
ironic_list_allocations | List node allocations | node_id, resource_class |
ironic_list_portgroups | List port groups (bonded NICs) | node_id |
| Tool | Purpose | Key Parameters |
|---|---|---|
ironic_list_chassis† | List baremetal chassis | (none) |
ironic_node_power_state†* | Change node power state | node_id (required), target (required: power on/power off/rebooting), confirmed |
node_id accepts both UUID and human-readable names safelypower on, power off, rebooting accepted as targetsconfirmed=truedestructive-action-gate hook blocks ironic_node_power_state until user approvesSensitive fields are redacted. The MCP tool intentionally omits driver_info, driver_internal_info, instance_info, and properties from ironic_get_node responses. These may contain BMC credentials (IPMI passwords, Redfish secrets). Do not tell users these fields are accessible.
maintenance filter is a string "true", not a boolean. Pass maintenance="true" as a string value. There is no "false" filter — omit the parameter to see all nodes regardless of maintenance status.
provision_state vs power_state. provision_state is the lifecycle state (available, deploying, active, error). power_state is the physical state (power on, power off). A node can be active provision but power off if manually shut down.
"available" means ready for deployment. In Ironic, available does not mean "has capacity" — it means the node is enrolled, inspected, cleaned, and ready to receive a workload. active means already deployed.
instance_uuid links to Nova. When a node is in active state, instance_uuid shows which Nova server is running on it. Use this to cross-reference with nova_get_server.
node_id accepts UUID or name. Unlike most OpenStack tools that require UUIDs, ironic_get_node accepts either the node UUID or its human-readable name.
last_error contains deployment failure details. When provision_state=error, the last_error field in the get response describes what went wrong (e.g., timeout during deploy, cleaning failure, network boot failure).
ironic_list_nodes with provision_state=available — show nodes ready for workloads.resource_class if you need a specific hardware profile.maintenance=false in results — maintenance nodes cannot be deployed to.ironic_list_nodes with provision_state=error — find all error nodes.ironic_get_node with node_id=<uuid> — check last_error for the failure reason.maintenance and maintenance_reason — the node may have been put in maintenance due to the error.fault field for categorized fault information.ironic_list_nodes — scan results for instance_uuid matching your server UUID.ironic_get_node and check instance_uuid.| Need | Service | Tool |
|---|---|---|
| VM running on this node | Nova | nova_get_server(<instance_uuid>) |
| Who modified node state | Hermes | hermes_list_events(target_type=node) |
| Compute quota (includes baremetal flavors) | Limes | limes_get_project_quota(service=compute) |
| Network ports attached to node | Neutron | neutron_list_ports |