Skip to content

Commit

Permalink
Merge pull request #484 from dtantsur/troubleshooting
Browse files Browse the repository at this point in the history
User guide: troubleshooting: describe the issue with forced deletion
  • Loading branch information
metal3-io-bot authored Nov 15, 2024
2 parents bd0ed7b + 4009c74 commit cd2a734
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 0 deletions.
1 change: 1 addition & 0 deletions docs/user-guide/src/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
- [External Inspection](bmo/external_inspection.md)
- [Live ISO](bmo/live-iso.md)
- [Status Annotation](bmo/status_annotation.md)
- [Troubleshooting FAQ](bmo/troubleshooting.md)
- [Ironic in Metal3](ironic/introduction.md)
- [Install Ironic](ironic/ironic_installation.md)
- [Ironic python agent](ironic/ironic-python-agent.md)
Expand Down
32 changes: 32 additions & 0 deletions docs/user-guide/src/bmo/troubleshooting.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Troubleshooting FAQ

## Host is stuck in cleaning, how do I delete it?

First and foremost, avoid using forced deletion, otherwise you'll have [a
conflict](#mac-address-conflict-on-registration). If you don't care about disks
being [cleaned](automated_cleaning.md), you can edit the BareMetalHost resource
and disable cleaning:

```yaml
spec:
automatedCleaningMode: disabled
```
Alternatively, you can wait for 3 cleaning retries to finish. After that, the
host will be deleted. If you do care about cleaning, you need to figure out why
it does not finish.
## MAC address conflict on registration
If you force deletion of a host after registration, BareMetal Operator will not
be able to delete the corresponding record from Ironic. If you try to enroll
the same host again, you will see the following error:
```text
Normal RegistrationError 4m36s metal3-baremetal-controller MAC address 11:22:33:44:55:66 conflicts with existing node namespace~name
```

Currently, the only way to get rid of this error is to re-create the Ironic's
internal database. If your deployment uses SQLite (the default), it is enough
to restart the pod with Ironic. If you use MariaDB, you need to restart its
pod, clearing any persistent volumes.

0 comments on commit cd2a734

Please sign in to comment.