The alarms table in the database doesn't have a foreign key reference to the ipinterface table because it has the legacy-style nodeid/ipaddr/serviceid tuple as a composite foreign key. Therefore it is difficult to make a delete on ipinterface or ifservices cascade into alarms.
We'll need to update the alarm model to make this work.
Scenario:
An interface is removed from a node. It then shows up as down in OpenNMS. An admin user deletes the interface from the node via the webUI.
Any corresponding alarms tied to that interface (such as "interface down") will remain. They should be removed when the interface is deleted.