/kind bug
It might be my misunderstanding, but deleting a node doesn't make sense. The machine actuator has a client to the management cluster, but, unless I'm misunderstanding what 'node' means here, it has no way to delete the node object from the target cluster. What node object is cluster-api trying to delete? I'm specifically referencing https://github.com/kubernetes-sigs/cluster-api/blob/master/pkg/controller/machine/machine_controller.go#L277 this code.
Perhaps it's special code only meant to manage nodes on the management cluster and the provider must manage removal of nodes from target cluster?
The assumption in the code you linked is that there is only one cluster, performing the roles of management cluster and workload cluster, together. With the work that @vincepri has been doing to support remote node references, this will need to be adjusted. And that's what he's done in #1052 馃槃 (not merged yet)
/assign @vincepri
/milestone v1alpha2
/priority important-soon
/area machine
/lifecycle active
haha trust @vincepri to solve my problems before I know I have them